@ -0,0 +1,40 @@ |
|||
Invoice multi level approval |
|||
============================ |
|||
* Enables the option for adding multiple approvals to the invoice documents |
|||
|
|||
Installation |
|||
============ |
|||
- www.odoo.com/documentation/13.0/setup/install.html |
|||
- Install our custom addon |
|||
|
|||
License |
|||
------- |
|||
GNU AFFERO GENERAL PUBLIC LICENSE, Version 3 (AGPLv3) |
|||
(http://www.gnu.org/licenses/agpl.html) |
|||
|
|||
Company |
|||
------- |
|||
* `Cybrosys Techno Solutions <https://cybrosys.com/>`__ |
|||
|
|||
Credits |
|||
------- |
|||
* Developer: |
|||
Sayooj A O |
|||
|
|||
Contacts |
|||
-------- |
|||
* Mail Contact : odoo@cybrosys.com |
|||
|
|||
Bug Tracker |
|||
----------- |
|||
Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. |
|||
|
|||
Maintainer |
|||
========== |
|||
This module is maintained by Cybrosys Technologies. |
|||
|
|||
For support and more information, please visit https://www.cybrosys.com |
|||
|
|||
Further information |
|||
=================== |
|||
HTML Description: `<static/description/index.html>`__ |
@ -0,0 +1,22 @@ |
|||
# -*- coding: utf-8 -*- |
|||
############################################################################# |
|||
# |
|||
# Cybrosys Technologies Pvt. Ltd. |
|||
# |
|||
# Copyright (C) 2020-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). |
|||
# Author: Sayooj A O(<https://www.cybrosys.com>) |
|||
# |
|||
# You can modify it under the terms of the GNU AFFERO |
|||
# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. |
|||
# |
|||
# This program is distributed in the hope that it will be useful, |
|||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. |
|||
# |
|||
# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE |
|||
# (AGPL v3) along with this program. |
|||
# If not, see <http://www.gnu.org/licenses/>. |
|||
# |
|||
############################################################################# |
|||
from . import models |
@ -0,0 +1,46 @@ |
|||
# -*- coding: utf-8 -*- |
|||
############################################################################# |
|||
# |
|||
# Cybrosys Technologies Pvt. Ltd. |
|||
# |
|||
# Copyright (C) 2020-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). |
|||
# Author: Sayooj A O(<https://www.cybrosys.com>) |
|||
# |
|||
# You can modify it under the terms of the GNU AFFERO |
|||
# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. |
|||
# |
|||
# This program is distributed in the hope that it will be useful, |
|||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. |
|||
# |
|||
# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE |
|||
# (AGPL v3) along with this program. |
|||
# If not, see <http://www.gnu.org/licenses/>. |
|||
# |
|||
############################################################################# |
|||
{ |
|||
'name': "Invoice Multi level Approval", |
|||
'version': '13.0.1.0.0', |
|||
'summary': """This module add the multiple approval option for invoice, |
|||
bill,refund and credit notes.""", |
|||
'description': """This module add the multiple approval option for invoice, |
|||
bill,refund and credit notes.""", |
|||
'category': 'Accounting', |
|||
'author': 'Cybrosys Techno Solutions', |
|||
'company': 'Cybrosys Techno Solutions', |
|||
'maintainer': 'Cybrosys Techno Solutions', |
|||
'website': "https://www.cybrosys.com", |
|||
'depends': ['account'], |
|||
'data': [ |
|||
'data/data.xml', |
|||
'security/groups.xml', |
|||
'security/ir.model.access.csv', |
|||
'views/invoice_approval_view.xml', |
|||
'views/account_move_inherited.xml', |
|||
], |
|||
'license': "AGPL-3", |
|||
'images': ['static/description/banner.png'], |
|||
'installable': True, |
|||
'application': True, |
|||
} |
@ -0,0 +1,9 @@ |
|||
<?xml version="1.0" encoding="UTF-8" ?> |
|||
<odoo> |
|||
<data noupdate="1"> |
|||
<record id="default_invoice_multi_approval_config" model="invoice.approval"> |
|||
<field name="approve_customer_invoice">True</field> |
|||
<field name="approve_vendor_bill">True</field> |
|||
</record> |
|||
</data> |
|||
</odoo> |
@ -0,0 +1,6 @@ |
|||
## Module <invoice_multi_approval> |
|||
|
|||
#### 14.02.2020 |
|||
#### Version 13.0.1.0.0 |
|||
##### ADD |
|||
- Initial commit |
@ -0,0 +1,23 @@ |
|||
# -*- coding: utf-8 -*- |
|||
############################################################################# |
|||
# |
|||
# Cybrosys Technologies Pvt. Ltd. |
|||
# |
|||
# Copyright (C) 2020-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). |
|||
# Author: Sayooj A O(<https://www.cybrosys.com>) |
|||
# |
|||
# You can modify it under the terms of the GNU AFFERO |
|||
# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. |
|||
# |
|||
# This program is distributed in the hope that it will be useful, |
|||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. |
|||
# |
|||
# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE |
|||
# (AGPL v3) along with this program. |
|||
# If not, see <http://www.gnu.org/licenses/>. |
|||
# |
|||
############################################################################# |
|||
from . import account_move |
|||
from . import invoice_approval |
@ -0,0 +1,135 @@ |
|||
# -*- coding: utf-8 -*- |
|||
############################################################################# |
|||
# |
|||
# Cybrosys Technologies Pvt. Ltd. |
|||
# |
|||
# Copyright (C) 2020-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). |
|||
# Author: Sayooj A O(<https://www.cybrosys.com>) |
|||
# |
|||
# You can modify it under the terms of the GNU AFFERO |
|||
# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. |
|||
# |
|||
# This program is distributed in the hope that it will be useful, |
|||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. |
|||
# |
|||
# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE |
|||
# (AGPL v3) along with this program. |
|||
# If not, see <http://www.gnu.org/licenses/>. |
|||
# |
|||
############################################################################# |
|||
from odoo import api, fields, models |
|||
|
|||
|
|||
class AccountMove(models.Model): |
|||
_inherit = 'account.move' |
|||
|
|||
approval_ids = fields.One2many('approval.line', 'move_id') |
|||
document_fully_approved = fields.Boolean(compute='_compute_document_fully_approved') |
|||
check_approve_ability = fields.Boolean(compute='_compute_check_approve_ability') |
|||
is_approved = fields.Boolean(compute='_compute_is_approved') |
|||
page_visibility = fields.Boolean(compute='_compute_page_visibility') |
|||
|
|||
@api.depends('approval_ids') |
|||
def _compute_page_visibility(self): |
|||
"""Compute function for making the approval page visible/invisible""" |
|||
if self.approval_ids: |
|||
self.page_visibility = True |
|||
else: |
|||
self.page_visibility = False |
|||
|
|||
@api.onchange('partner_id') |
|||
def _onchange_partner_id(self): |
|||
"""This is the onchange function of the partner which loads the |
|||
persons for the approval to the approver table of the account.move""" |
|||
res = super(AccountMove, self)._onchange_partner_id() |
|||
invoice_approval_id = self.env['invoice.approval'].search([]) |
|||
self.approval_ids = None |
|||
if invoice_approval_id.approve_customer_invoice and self.type == 'out_invoice': |
|||
for user in invoice_approval_id.invoice_approver_ids: |
|||
vals = { |
|||
'approver_id': user.id |
|||
} |
|||
self.approval_ids |= self.approval_ids.new(vals) |
|||
elif invoice_approval_id.approve_vendor_bill and self.type == 'in_invoice': |
|||
for user in invoice_approval_id.bill_approver_ids: |
|||
vals = { |
|||
'approver_id': user.id |
|||
} |
|||
self.approval_ids |= self.approval_ids.new(vals) |
|||
elif invoice_approval_id.approve_customer_credit and self.type == 'out_refund': |
|||
for user in invoice_approval_id.cust_credit_approver_ids: |
|||
vals = { |
|||
'approver_id': user.id |
|||
} |
|||
self.approval_ids |= self.approval_ids.new(vals) |
|||
elif invoice_approval_id.approve_vendor_credit and self.type == 'in_refund': |
|||
for user in invoice_approval_id.vend_credit_approver_ids: |
|||
vals = { |
|||
'approver_id': user.id |
|||
} |
|||
self.approval_ids |= self.approval_ids.new(vals) |
|||
return res |
|||
|
|||
@api.depends('approval_ids.approver_id') |
|||
def _compute_check_approve_ability(self): |
|||
"""This is the compute function which check the current |
|||
logged in user is eligible or not for approving the document""" |
|||
current_user = self.env.uid |
|||
approvers_list = [] |
|||
for approver in self.approval_ids: |
|||
approvers_list.append(approver.approver_id.id) |
|||
if current_user in approvers_list: |
|||
self.check_approve_ability = True |
|||
else: |
|||
self.check_approve_ability = False |
|||
|
|||
def invoice_approve(self): |
|||
"""This is the function of the approve button also |
|||
updates the approval table values according to the |
|||
approval of the users""" |
|||
self.ensure_one() |
|||
current_user = self.env.uid |
|||
for approval_id in self.approval_ids: |
|||
if current_user == approval_id.approver_id.id: |
|||
approval_id.update({'approval_status': True}) |
|||
|
|||
def _compute_is_approved(self): |
|||
"""In this compute function we are verifying whether the document |
|||
is approved/not approved by the current logged in user""" |
|||
current_user = self.env.uid |
|||
if self.invoice_line_ids and self.approval_ids: |
|||
for approval_id in self.approval_ids: |
|||
if current_user == approval_id.approver_id.id: |
|||
if approval_id.approval_status: |
|||
self.is_approved = True |
|||
break |
|||
else: |
|||
self.is_approved = False |
|||
else: |
|||
self.is_approved = False |
|||
else: |
|||
self.is_approved = False |
|||
|
|||
@api.depends('approval_ids') |
|||
def _compute_document_fully_approved(self): |
|||
"""This is the compute function which verifies whether |
|||
the document is completely approved or not""" |
|||
length_approval_ids = len(self.approval_ids) |
|||
approval_ids = self.approval_ids |
|||
approve_lines = approval_ids.filtered(lambda item: item.approval_status) |
|||
length_approve_lines = len(approve_lines) |
|||
if length_approval_ids == length_approve_lines: |
|||
self.document_fully_approved = True |
|||
else: |
|||
self.document_fully_approved = False |
|||
|
|||
|
|||
class ApprovalLine(models.Model): |
|||
_name = 'approval.line' |
|||
_description = 'Approval line in Move' |
|||
|
|||
move_id = fields.Many2one('account.move') |
|||
approver_id = fields.Many2one('res.users', string='Approver') |
|||
approval_status = fields.Boolean(string='Status') |
@ -0,0 +1,59 @@ |
|||
# -*- coding: utf-8 -*- |
|||
############################################################################# |
|||
# |
|||
# Cybrosys Technologies Pvt. Ltd. |
|||
# |
|||
# Copyright (C) 2020-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). |
|||
# Author: Sayooj A O(<https://www.cybrosys.com>) |
|||
# |
|||
# You can modify it under the terms of the GNU AFFERO |
|||
# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. |
|||
# |
|||
# This program is distributed in the hope that it will be useful, |
|||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. |
|||
# |
|||
# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE |
|||
# (AGPL v3) along with this program. |
|||
# If not, see <http://www.gnu.org/licenses/>. |
|||
# |
|||
############################################################################# |
|||
from odoo import fields, models |
|||
|
|||
|
|||
class InvoiceApproval(models.Model): |
|||
_name = 'invoice.approval' |
|||
_rec_name = 'name' |
|||
_inherit = ['mail.thread', 'mail.activity.mixin'] |
|||
_description = 'Invoice Approval' |
|||
|
|||
name = fields.Char(default='Approval Configuration') |
|||
approve_customer_invoice = fields.Boolean(string="Approval on Customer Invoice", |
|||
help='Enable this field for adding the approvals for the customer invoice') |
|||
invoice_approver_ids = fields.Many2many('res.users', 'invoice_id', string='Invoice Approver', domain=lambda self: [ |
|||
('groups_id', 'in', self.env.ref('invoice_multi_approval.group_approver').id)], |
|||
help='In this field you can add the approvers for the customer invoice') |
|||
approve_vendor_bill = fields.Boolean(string="Approval on Vendor Bill", |
|||
help='Enable this field for adding the approvals for the Vendor bill') |
|||
bill_approver_ids = fields.Many2many('res.users', 'bill_id', string='Bill Approver', domain=lambda self: [ |
|||
('groups_id', 'in', self.env.ref('invoice_multi_approval.group_approver').id)], |
|||
help='In this field you can add the approvers for the Vendor bill') |
|||
approve_customer_credit = fields.Boolean(string='Approval on Customer Refund', |
|||
help='Enable this field for adding the approvals for the customer credit note') |
|||
cust_credit_approver_ids = fields.Many2many('res.users', 'cust_credit_id', string='Customer Credit Note Approver', |
|||
domain=lambda self: [ |
|||
('groups_id', 'in', |
|||
self.env.ref('invoice_multi_approval.group_approver').id)], |
|||
help='In this field you can add the approvers for the Customer credit note') |
|||
approve_vendor_credit = fields.Boolean(string='Approval on Vendor Refund', |
|||
help='Enable this field for adding the approvals for the Vendor credit note') |
|||
vend_credit_approver_ids = fields.Many2many('res.users', 'vend_credit_id', string='Vendor Credit Note Approver', |
|||
domain=lambda self: [ |
|||
('groups_id', 'in', |
|||
self.env.ref('invoice_multi_approval.group_approver').id)], |
|||
help='In this field you can add the approvers for the Vendor credit note') |
|||
|
|||
def apply_configuration(self): |
|||
"""Function for applying the approval configuration""" |
|||
return True |
@ -0,0 +1,31 @@ |
|||
<?xml version="1.0" encoding="UTF-8" ?> |
|||
<odoo> |
|||
<data noupdate="1"> |
|||
<record model="ir.module.category" id="group_invoice_multi_approval"> |
|||
<field name="name">Invoice Approval</field> |
|||
<field name="description">Access to the invoice approval menu</field> |
|||
<field name="sequence">3</field> |
|||
</record> |
|||
<record id="group_approver" model="res.groups"> |
|||
<field name="name">Approvers</field> |
|||
<field name="category_id" ref="invoice_multi_approval.group_invoice_multi_approval"/> |
|||
</record> |
|||
<record id="group_approve_manager" model="res.groups"> |
|||
<field name="name">Approve Manager</field> |
|||
<field name="category_id" ref="invoice_multi_approval.group_invoice_multi_approval"/> |
|||
<field name="implied_ids" |
|||
eval="[(4, ref('invoice_multi_approval.group_approver'))]"/> |
|||
</record> |
|||
<record id="account.group_account_manager" model="res.groups"> |
|||
<field name="name">Billing Administrator</field> |
|||
<field name="category_id" ref="base.module_category_accounting_accounting"/> |
|||
<field name="implied_ids" |
|||
eval="[(4, ref('account.group_account_invoice')), (4, ref('invoice_multi_approval.group_approve_manager'))]"/> |
|||
</record> |
|||
<record id="account.group_account_invoice" model="res.groups"> |
|||
<field name="name">Billing</field> |
|||
<field name="category_id" ref="base.module_category_accounting_accounting"/> |
|||
<field name="implied_ids" eval="[(4, ref('base.group_user')),(4, ref('account.group_account_invoice'))]"/> |
|||
</record> |
|||
</data> |
|||
</odoo> |
|
After Width: | Height: | Size: 86 KiB |
After Width: | Height: | Size: 19 KiB |
After Width: | Height: | Size: 32 KiB |
After Width: | Height: | Size: 138 KiB |
After Width: | Height: | Size: 88 KiB |
After Width: | Height: | Size: 127 KiB |
After Width: | Height: | Size: 151 KiB |
After Width: | Height: | Size: 87 KiB |
After Width: | Height: | Size: 93 KiB |
After Width: | Height: | Size: 15 KiB |
After Width: | Height: | Size: 51 KiB |
After Width: | Height: | Size: 93 KiB |
After Width: | Height: | Size: 176 KiB |
After Width: | Height: | Size: 69 KiB |
After Width: | Height: | Size: 48 KiB |
After Width: | Height: | Size: 62 KiB |
@ -0,0 +1,542 @@ |
|||
<div class="row" |
|||
style="margin: 0;position: relative;color: #000;background-position: center;background: #ffffff;border-bottom: 1px solid #e4e4e4;text-align: center; margin: auto; display: flex;justify-content: center;"> |
|||
<a href="https://www.cybrosys.com/" target="_blank"><img src="images/cybrosys.png" |
|||
style=" width: 293px; padding: 1rem 0rem; margin: auto" |
|||
alt="cybrosys-logo"></a></div> |
|||
<div class="row" |
|||
style="margin:75px 0;position: relative;color: #000;background-position: center;background: #ffffff;border-bottom: 1px solid #e4e4e4; padding-bottom: 30px;"> |
|||
<div class="col-md-7 col-sm-12 col-xs-12" style="padding: 0px"> |
|||
<div style=" margin: 0 0 0px;padding: 20px 0 10;font-size: 23px;line-height: 35px;font-weight: 400;color: #000;border-top: 1px solid rgba(255,255,255,0.1);border-bottom: 1px solid rgba(255,255,255,0.11);text-align: left;"> |
|||
<h1 style="font-size: 39px;font-weight: 600;margin: 0px !important;">Invoice Multi Level Approval</h1> |
|||
<h3 style="font-size: 21px;margin-top: 8px;position: relative;">Module add the multiple approval option for |
|||
invoice,bill,refund and credit notes.</h3> |
|||
</div> |
|||
<h2 style="font-weight: 600;font-size: 1.8rem;margin-top: 15px;">Key Highlights</h2> |
|||
<ul style=" padding: 0 1px; list-style: none; "> |
|||
<li style="display: flex;align-items: center;padding: 8px 0;font-size: 18px;"><img src="images/checked.png" |
|||
style=" width: 22px; margin-right: 6px; " |
|||
alt="check">Configuration |
|||
panel for approval settings. |
|||
</li> |
|||
<li style="display: flex;align-items: center;padding: 8px 0;font-size: 18px;"><img src="images/checked.png" |
|||
style=" width: 22px; margin-right: 6px; " |
|||
alt="check">Document can |
|||
only validate when all approvals are completed. |
|||
</li> |
|||
<li style="display: flex;align-items: center;padding: 8px 0;font-size: 18px;"><img src="images/checked.png" |
|||
style=" width: 22px; margin-right: 6px; " |
|||
alt="check">Approval |
|||
Option can be enabled/disabled from the configuration panel. |
|||
</li> |
|||
</ul> |
|||
</div> |
|||
<div class="col-md-5 col-sm-12 col-xs-12"><img src="images/approval.png" class="img-responsive" |
|||
alt=""></div> |
|||
</div> |
|||
<div> |
|||
<section class="oe_container" style="padding: 1rem 0rem 1rem; background-color: #ffffff !important;"> |
|||
<div class="row py-4 px-3"> |
|||
<div class="w-100" style="padding-top:30px;padding-bottom:45px;border-radius: 10px;"> |
|||
<ul role="tablist" class="nav nav-pills justify-content-center" data-tabs="tabs" id="pills-tab" |
|||
style="border: none;background: unset;"> |
|||
<li class="nav-item mr-1 mb-3" |
|||
style="font-size: 1.05rem;font-weight: 400;transition: all .15s ease;color: #d31c22;background-color: #d31c22;box-shadow: 0 4px 6px rgba(50,50,93,.11), 0 1px 3px rgba(0,0,0,.08);border: 0;font-family: 'Open Sans',sans-serif;width: 140px;border-radius: 0.30rem;"> |
|||
<a id="pills-home-tab" data-toggle="pill" href="#pills-home" role="tab" |
|||
aria-controls="pills-home" aria-selected="true" class="nav-link active show" style="color: #000000;line-height: 33px;border: 0;border-radius: .25rem;font-weight: 400;text-align: center; |
|||
color: #fff;">Overview </a></li> |
|||
<li class="nav-item mr-1 mb-3" |
|||
style="font-size: 1.05rem;font-weight: 400;transition: all .15s ease;color: #d31c22;background-color: #d31c22;box-shadow: 0 4px 6px rgba(50,50,93,.11), 0 1px 3px rgba(0,0,0,.08);border: 0;font-family: 'Open Sans',sans-serif;width: 140px;border-radius: 0.30rem;"> |
|||
<a id="pills-home-tab" data-toggle="pill" href="#pills-home1" role="tab" |
|||
aria-controls="pills-home" aria-selected="true" class="nav-link " style="color: #000000;line-height: 33px;border: 0;border-radius: .25rem;font-weight: 400; text-align: center; |
|||
color: #fff;">Features </a></li> |
|||
<li class="nav-item mr-1 mb-3" |
|||
style="font-size: 1.05rem;font-weight: 400;transition: all .15s ease;color: #ffffff;background-color: #d31c22;box-shadow: 0 4px 6px rgba(50,50,93,.11), 0 1px 3px rgba(0,0,0,.08);border: 0;font-family: 'Open Sans',sans-serif;width: 140px;border-radius: 0.30rem;"> |
|||
<a class="nav-link" id="pills-profile-tab" data-toggle="pill" href="#pills-profile" role="tab" |
|||
aria-controls="pills-profile" aria-selected="false" style="color: #000000;line-height: 33px;border: 0;border-radius: .25rem;font-weight: 400; text-align: center; |
|||
color: #fff;">Screenshots </a></li> |
|||
</ul> |
|||
<div class="tab-content" id="pills-tabContent" |
|||
style="padding-top: 30px; padding-bottom: 30px; padding: 30px;"> |
|||
<div class="px-3 pt-1 tab-pane fade active show" id="pills-home" role="tabpanel" aria-labelledby=" |
|||
pills-home-tab"> |
|||
<!-- Overview--> |
|||
<h2 style="font-weight: 600;text-align: center;width: 100%;">Overview</h2> |
|||
<hr style="margin-top: 0px;margin-bottom: 2%;border: 0;text-align: center;border-top: 3px solid #d21c22;width: 5%;"> |
|||
<h3 class="oe_slogan" |
|||
style="text-align: center;font-size: 19px;width: 100%;margin: 0;margin-top: 14px;color: #000 !important;opacity: 1 !important;line-height: 31px;font-weight: 400;letter-spacing: .5px;margin-bottom: 21px;"> |
|||
The module allows to assign the users for the approval process in the invoice documents and |
|||
the document can be posted only after the approval process completed. |
|||
</h3> |
|||
</div> |
|||
<div class="px-3 pt-1 tab-pane fade " id="pills-home1" role="tabpanel" aria-labelledby=" |
|||
pills-home-tab"> |
|||
<!-- feature tab--> |
|||
<h2 style="font-weight: 600;text-align: center;width: 100%;">Configuration panel for approval |
|||
settings.</h2> |
|||
<hr style="margin-top: 0px;margin-bottom: 2%;border: 0;text-align: center;border-top: 3px solid #d21c22;width: 5%;"> |
|||
<ul> |
|||
<li class="mb8" |
|||
style="font-family: Roboto;color: #000;list-style-type: square;font-size: 19px;line-height: 50px; background-color: #3a34380d;padding-left: 20px;border-radius: 7px;list-style: none;"> |
|||
<img src="images/checked.png" style=" width: 22px; margin-right: 6px; " alt="check">Add |
|||
salesperson's signature in Sales documents. |
|||
</li> |
|||
<li class="mb8" |
|||
style="font-family: Roboto;color: #000;list-style-type: square;font-size: 19px;line-height: 50px; background-color: #3a34380d;padding-left: 20px;border-radius: 7px;list-style: none;"> |
|||
<img src="images/checked.png" style=" width: 22px; margin-right: 6px; " alt="check">Document |
|||
can only validate when all approvals are completed. |
|||
</li> |
|||
<li class="mb8" |
|||
style="font-family: Roboto;color: #000;list-style-type: square;font-size: 19px;line-height: 50px; background-color: #3a34380d;padding-left: 20px;border-radius: 7px;list-style: none;"> |
|||
<img src="images/checked.png" style=" width: 22px; margin-right: 6px; " alt="check">Approval |
|||
Option can be enabled/disabled from the configuration panel. |
|||
</li> |
|||
</ul> |
|||
</div> |
|||
<!-- Screenshot tab--> |
|||
<div class="px-3 tab-pane fade" id="pills-profile" role="tabpanel" |
|||
aria-labelledby="pills-profile-tab"> |
|||
<div class="tab-pane"> |
|||
<h2 style="font-weight: 600;text-align: center;width: 100%;">Screenshots</h2> |
|||
<hr style="margin-top: 0px;margin-bottom: 2%;border: 0;text-align: center;border-top: 3px solid #d21c22;width: 5%;"> |
|||
<div> |
|||
<section class="oe_container"> |
|||
<div id="demo" class="row carousel slide mb32" data-ride="carousel"> |
|||
<div class="carousel-inner"> |
|||
<div class="carousel-item active" style="min-height: 0px;"> |
|||
<div class="col-xs-12 col-sm-12 col-md-12 mb16 mt16" |
|||
style="float: left;"> |
|||
<h3 class="alert" |
|||
style="font-weight:400;color: #091E42;background: #fff;text-align: left;border-radius: 0; font-size: 18px;"> |
|||
<img src="images/checked.png" |
|||
style=" width: 22px; margin-right: 6px; " alt="check">There |
|||
are two security groups present "Approval User" and "Approval |
|||
Manager". |
|||
</h3> |
|||
<div style=""><img class="img img-responsive center-block" |
|||
style="border-top-left-radius: 10px;border-top-right-radius: 10px;" |
|||
src="images/invoice_approval_01.png"></div> |
|||
</div> |
|||
</div> |
|||
<div class="carousel-item" style="min-height: 0px;"> |
|||
<div class="col-xs-12 col-sm-12 col-md-12 mb16 mt16" |
|||
style="float: left;"> |
|||
<h3 class="alert" |
|||
style="font-weight:400;color: #091E42;background: #fff;text-align: left;border-radius: 0; font-size: 18px;"> |
|||
<img src="images/checked.png" |
|||
style=" width: 22px; margin-right: 6px; " alt="check">There will be a menu for configuring the approval settings. |
|||
</h3> |
|||
<div style=""><img class="img img-responsive center-block" |
|||
style="border-top-left-radius: 10px;border-top-right-radius: 10px;" |
|||
src="images/invoice_approval_02.png"></div> |
|||
</div> |
|||
</div> |
|||
<div class="carousel-item" style="min-height: 0px;"> |
|||
<div class="col-xs-12 col-sm-12 col-md-12 mb16 mt16" |
|||
style="float: left;"> |
|||
<h3 class="alert" |
|||
style="font-weight:400;color: #091E42;background: #fff;text-align: left;border-radius: 0; font-size: 18px;"> |
|||
<img src="images/checked.png" |
|||
style=" width: 22px; margin-right: 6px; " alt="check">This |
|||
is the configuration panel of approval.From here we can set the |
|||
approvers for the corresponding documents</h3> |
|||
<div style=""><img class="img img-responsive center-block" |
|||
style="border-top-left-radius: 10px;border-top-right-radius: 10px;" |
|||
src="images/invoice_approval_03.png"></div> |
|||
</div> |
|||
</div> |
|||
|
|||
|
|||
<div class="carousel-item" style="min-height: 0px;"> |
|||
<div class="col-xs-12 col-sm-12 col-md-12 mb16 mt16" |
|||
style="float: left;"> |
|||
<h3 class="mb32 alert" |
|||
style="font-weight:400;color: #091E42;background: #fff;text-align: left;border-radius: 0; font-size: 18px; "> |
|||
<img src="images/checked.png" |
|||
style=" width: 22px; margin-right: 6px; " alt="check">There |
|||
is a approval tab inside the documents from which we can see the |
|||
progress of the approval process and the list of persons |
|||
included.</h3> |
|||
<div style=""><img class="img img-responsive center-block" |
|||
style="border-top-left-radius: 10px;border-top-right-radius: 10px;" |
|||
src="images/invoice_approval_04.png"></div> |
|||
</div> |
|||
</div> |
|||
|
|||
|
|||
<div class="carousel-item" style="min-height: 0px;"> |
|||
<div class="col-xs-12 col-sm-12 col-md-12 mb16 mt16" |
|||
style="float: left;"> |
|||
<h3 class="mb32 alert" |
|||
style="font-weight:400;color: #091E42;background: #fff;text-align: left;border-radius: 0; font-size: 18px; "> |
|||
<img src="images/checked.png" |
|||
style=" width: 22px; margin-right: 6px; " alt="check">There |
|||
will a button "Approve" for the users who are included in the |
|||
list. |
|||
</h3> |
|||
<div style=""><img class="img img-responsive center-block" |
|||
style="border-top-left-radius: 10px;border-top-right-radius: 10px;" |
|||
src="images/invoice_approval_05.png"></div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<a class="carousel-control-prev" href="#demo" data-slide="prev" |
|||
style="left:-25px;width: 35px;color: #000;"> <span |
|||
class="carousel-control-prev-icon"><i class="fa fa-chevron-left" |
|||
style="font-size:24px"></i></span> |
|||
</a> <a class="carousel-control-next" href="#demo" data-slide="next" |
|||
style="right:-25px;width: 35px;color: #000;"> <span |
|||
class="carousel-control-next-icon"><i class="fa fa-chevron-right" |
|||
style="font-size:24px"></i></span> |
|||
</a> |
|||
</div> |
|||
</section> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="px-2 px-lg-4 pt-3 tab-pane fade" id="pills-contact" role="tabpanel" |
|||
aria-labelledby="pills-contact-tab"> |
|||
<ul class="list-unstyled"> |
|||
</ul> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</section> |
|||
<section class="oe_container" style="padding: 2rem 3rem 1rem;"> |
|||
<h2 style="font-weight: 600;text-align: center;margin-bottom: 25px;width: 100%;">Suggested Products</h2> |
|||
<hr style="margin-top: 0px;margin-bottom: 2%;border: 0;text-align: center;border-top: 3px solid #d21c22;width: 5%;"> |
|||
<div id="demo1" class="row carousel slide" data-ride="carousel"> |
|||
<!-- The slideshow --> |
|||
<div class="carousel-inner"> |
|||
<div class="carousel-item active" style="min-height: 0px;"> |
|||
<div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16" style="float: left;"> |
|||
<a href="https://apps.odoo.com/apps/modules/13.0/product_brand_sale/" target="_blank"> |
|||
<div style="box-shadow: 0 15px 35px rgba(50, 50, 93, 0.1), 0 5px 15px rgba(0, 0, 0, 0.07);border-radius: 10px;"> |
|||
<img class="img img-responsive center-block" |
|||
style="border-top-left-radius: 10px;border-top-right-radius: 10px;" |
|||
src="images/banner_product_branding.png"></div> |
|||
</a> |
|||
</div> |
|||
<div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16" style="float: left;"> |
|||
<a href="https://apps.odoo.com/apps/modules/13.0/product_expiry_warning/" target="_blank"> |
|||
<div style="box-shadow: 0 15px 35px rgba(50, 50, 93, 0.1), 0 5px 15px rgba(0, 0, 0, 0.07);border-radius: 10px;"> |
|||
<img class="img img-responsive center-block" |
|||
style="border-top-left-radius: 10px;border-top-right-radius: 10px;" |
|||
src="images/banner_product_expiry.jpeg"></div> |
|||
</a> |
|||
</div> |
|||
<div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16" style="float: left;"> |
|||
<a href="https://apps.odoo.com/apps/modules/12.0/sale_purchase_previous_product_cost/" |
|||
target="_blank"> |
|||
<div style="box-shadow: 0 15px 35px rgba(50, 50, 93, 0.1), 0 5px 15px rgba(0, 0, 0, 0.07);border-radius: 10px;"> |
|||
<img class="img img-responsive center-block" |
|||
style="border-top-left-radius: 10px;border-top-right-radius: 10px;" |
|||
src="images/banner_previous_rates.jpeg"></div> |
|||
</a> |
|||
</div> |
|||
</div> |
|||
<div class="carousel-item" style="min-height: 0px;"> |
|||
<div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16" style="float: left;"> |
|||
<a href="https://apps.odoo.com/apps/modules/13.0/customer_sequence/" target="_blank"> |
|||
<div style="box-shadow: 0 15px 35px rgba(50, 50, 93, 0.1), 0 5px 15px rgba(0, 0, 0, 0.07);border-radius: 10px;"> |
|||
<img class="img img-responsive center-block" |
|||
style="border-top-left-radius: 10px;border-top-right-radius: 10px;" |
|||
src="images/banner_customer_sequence.jpeg"></div> |
|||
</a> |
|||
</div> |
|||
<div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16" style="float: left;"> |
|||
<a href="https://apps.odoo.com/apps/modules/12.0/barcode_scanning_sale_purchase/" |
|||
target="_blank"> |
|||
<div style="box-shadow: 0 15px 35px rgba(50, 50, 93, 0.1), 0 5px 15px rgba(0, 0, 0, 0.07);border-radius: 10px;"> |
|||
<img class="img img-responsive center-block" |
|||
style="border-top-left-radius: 10px;border-top-right-radius: 10px;" |
|||
src="images/banner_barcode_scanning.jpeg"></div> |
|||
</a> |
|||
</div> |
|||
<div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16" style="float: left;"> |
|||
<a href="https://apps.odoo.com/apps/modules/12.0/amount_currency_sale/" target="_blank"> |
|||
<div style="box-shadow: 0 15px 35px rgba(50, 50, 93, 0.1), 0 5px 15px rgba(0, 0, 0, 0.07);border-radius: 10px;"> |
|||
<img class="img img-responsive center-block" |
|||
style="border-top-left-radius: 10px;border-top-right-radius: 10px;" |
|||
src="images/banner_currency_total.png"></div> |
|||
</a> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<!-- Left and right controls --> |
|||
<a class="carousel-control-prev" href="#demo1" data-slide="prev" |
|||
style="left:-25px;width: 35px;color: #000;"> <span class="carousel-control-prev-icon"><i |
|||
class="fa fa-chevron-left" style="font-size:24px"></i></span> </a> <a class="carousel-control-next" |
|||
href="#demo1" |
|||
data-slide="next" |
|||
style="right:-25px;width: 35px;color: #000;"> |
|||
<span class="carousel-control-next-icon"><i class="fa fa-chevron-right" style="font-size:24px"></i></span> |
|||
</a> |
|||
</div> |
|||
</section> |
|||
<section class="row" style="padding: 2rem 3rem 1rem;margin:0px"> |
|||
<h2 style="font-weight: 600;margin-bottom: 20px;text-align: center;width: 100%;">Our Service</h2> |
|||
<hr style="margin-top: 0px;margin-bottom: 2%;border: 0;text-align: center;border-top: 3px solid #d21c22;width: 5%;"> |
|||
<div class="row" style=" display: flex; justify-content: center; flex-wrap: wrap;width: 100%; "> |
|||
<!-- <div style="display:flex;padding-top: 20px;justify-content: space-between;"> --> |
|||
<div class="col-md-2 col-sm-6 col-xs-12"> |
|||
<div style="width:75px;height:75px;background:#fff; border-radius:100%;margin: auto;"><a |
|||
href="https://www.cybrosys.com/odoo-customization-and-installation/" target="_blank"> <img |
|||
src="https://www.cybrosys.com/images/odoo-customization.png" |
|||
style="width: 100%;border-radius: 100%;"/> </a></div> |
|||
<h3 class="oe_slogan" |
|||
style="font-weight: 800;text-align: center;font-size: 14px;width: 100%;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;"> |
|||
<a href="https://www.cybrosys.com/odoo-customization-and-installation/" target="_blank" |
|||
style="list-style: none; color:#000; text-decoration: none; font-family: 'Montserrat',sans-serif;"> |
|||
Odoo Customization </a></h3> |
|||
</div> |
|||
<div class="col-md-2 col-sm-6 col-xs-12"> |
|||
<div style="width:75px;height:75px;background:#fff; border-radius:100%;margin: auto;"><a |
|||
href="https://www.cybrosys.com/odoo-erp-implementation/" target="_blank"> <img |
|||
src="https://www.cybrosys.com/images/odoo-erp-implementation.png" |
|||
style="width: 100%;border-radius: 100%;"/> </a></div> |
|||
<h3 class="oe_slogan" |
|||
style="font-weight: 800;text-align: center;font-size: 14px;width: 100%;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;"> |
|||
<a href="https://www.cybrosys.com/odoo-erp-implementation/" target="_blank" |
|||
style="list-style: none; color:#000; text-decoration: none; font-family: 'Montserrat',sans-serif;"> |
|||
Odoo Implementation </a></h3> |
|||
</div> |
|||
<div class="col-md-2 col-sm-6 col-xs-12"> |
|||
<div style="width:75px;height:75px;background:#fff; border-radius:100%;margin: auto;"><a |
|||
href="https://www.cybrosys.com/odoo-erp-integration/" target="_blank"> <img |
|||
src="https://www.cybrosys.com/images/odoo-erp-integration.png" |
|||
style="width: 100%;border-radius: 100%;"/> </a></div> |
|||
<h3 class="oe_slogan" |
|||
style="font-weight: 800;text-align: center;font-size: 14px;width: 100%;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;"> |
|||
<a href="https://www.cybrosys.com/odoo-erp-integration/" target="_blank" |
|||
style="list-style: none; color:#000; text-decoration: none; font-family: 'Montserrat',sans-serif;"> |
|||
Odoo Integration </a></h3> |
|||
</div> |
|||
<div class="col-md-2 col-sm-6 col-xs-12"> |
|||
<div style="width:75px;height:75px;background:#fff; border-radius:100%;margin: auto;"><a |
|||
href="https://www.cybrosys.com/odoo-erp-support/" target="_blank"> <img |
|||
src="https://www.cybrosys.com/images/odoo-erp-support.png" |
|||
style="width: 100%;border-radius: 100%;"/> </a></div> |
|||
<h3 class="oe_slogan" |
|||
style="font-weight: 800;text-align: center;font-size: 14px;width: 100%;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;"> |
|||
<a href="https://www.cybrosys.com/odoo-erp-support/" target="_blank" |
|||
style="list-style: none; color:#000; text-decoration: none; font-family: 'Montserrat',sans-serif;"> |
|||
Odoo Support</a></h3> |
|||
</div> |
|||
<div class="col-md-2 col-sm-6 col-xs-12"> |
|||
<div style="width:75px;height:75px;background:#fff; border-radius:100%;margin: auto;"><a |
|||
href="https://www.cybrosys.com/hire-odoo-developer/" target="_blank"> <img |
|||
src="https://www.cybrosys.com/images/hire-odoo-developer.png" |
|||
style="width: 100%;border-radius: 100%;"/> </a></div> |
|||
<h3 class="oe_slogan" |
|||
style="font-weight: 800;text-align: center;font-size: 14px;width: 100%;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;"> |
|||
<a href="https://www.cybrosys.com/hire-odoo-developer/" target="_blank" |
|||
style="list-style: none; color:#000; text-decoration: none; font-family: 'Montserrat',sans-serif;"> |
|||
Hire Odoo Developers</a></h3> |
|||
</a> |
|||
</div> |
|||
<!-- </div> --> |
|||
</div> |
|||
</section> |
|||
<section class="row" style="padding: 2rem 3rem 1rem;margin:0px"> |
|||
<div class="row" style="margin: 0"> |
|||
<h2 style="font-weight: 600;margin-bottom: 20px;text-align: center;width: 100%;">Our Industries</h2> |
|||
<hr style="margin-top: 0px;margin-bottom: 2%;border: 0;text-align: center;border-top: 3px solid #d21c22;width: 5%;"> |
|||
<!-- <div style="display:flex;justify-content: space-between;flex-wrap:wrap;"> --> |
|||
<div class="row" style="width: 100%"> |
|||
<div class="col-md-4 col-sm-6 col-xs-12" style=" margin-bottom: 10px; "> |
|||
<div> |
|||
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;"> |
|||
<a href="https://www.cybrosys.com/odoo/industries/best-trading-erp/" target="_blank"> <img |
|||
src="https://www.cybrosys.com/images/odoo-index-industry-1.png" alt="Odoo Industry" |
|||
style=" border-radius: 100%;width:100%;"/> </a></div> |
|||
</div> |
|||
<div style="width:70%;float:left;"> |
|||
<h3 class="oe_slogan" |
|||
style=" text-align: left;font-size: 14px;font-weight:800;width: auto;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 4px;margin-left: 16px;"> |
|||
<a href="https://www.cybrosys.com/odoo/industries/best-trading-erp/" target="_blank" |
|||
style="list-style: none; color:#000; text-decoration: none;font-family: 'Montserrat',sans-serif;"> |
|||
Trading </a></h3> |
|||
<h3 class="oe_slogan" |
|||
style=" text-align: left;font-size: 12px;width: auto;margin: 0;margin-top:5px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 5px;margin-left: 16px; font-family: 'Montserrat',sans-serif;"> |
|||
Easily procure and sell your products. </h3> |
|||
</div> |
|||
</div> |
|||
<div class="col-md-4 col-sm-6 col-xs-12" style=" margin-bottom: 10px; "> |
|||
<div> |
|||
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;"> |
|||
<a href="https://www.cybrosys.com/odoo/industries/manufacturing-erp-software/" |
|||
target="_blank"> <img src="https://www.cybrosys.com/images/odoo-index-industry-2.png" |
|||
alt="Odoo Industry" style=" border-radius: 100%;width:100%;"/> |
|||
</a></div> |
|||
</div> |
|||
<div style="width:70%;float:left;" style=" margin-bottom: 10px; "> |
|||
<h3 class="oe_slogan" |
|||
style=" text-align: left;font-size: 14px;font-weight:800;width: auto;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 4px;margin-left: 16px;"> |
|||
<a href="https://www.cybrosys.com/odoo/industries/manufacturing-erp-software/" |
|||
target="_blank" |
|||
style="list-style: none; color:#000; text-decoration: none;font-family: 'Montserrat',sans-serif;"> |
|||
Manufacturing</a></h3> |
|||
<h3 class="oe_slogan" |
|||
style=" text-align: left;font-size: 12px;width: auto;margin: 0;margin-top:5px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 5px;margin-left: 16px;font-family: 'Montserrat',sans-serif;"> |
|||
Plan, track and schedule your operations. </h3> |
|||
</div> |
|||
</div> |
|||
<div class="col-md-4 col-sm-6 col-xs-12" style=" margin-bottom: 10px; "> |
|||
<div> |
|||
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;"> |
|||
<a href="https://www.cybrosys.com/odoo/industries/restaurant-management/" target="_blank"> |
|||
<img src="https://www.cybrosys.com/images/odoo-index-industry-3.png" alt="Odoo Industry" |
|||
style=" border-radius: 100%;width:100%;"/> </a></div> |
|||
</div> |
|||
<div style="width:70%;float:left;"> |
|||
<h3 class="oe_slogan" |
|||
style=" text-align: left;font-size: 14px;font-weight:800;width: auto;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 4px;margin-left: 16px;"> |
|||
<a href="https://www.cybrosys.com/odoo/industries/restaurant-management/" target="_blank" |
|||
style="list-style: none; color:#000; text-decoration: none;font-family: 'Montserrat',sans-serif;"> |
|||
Restaurant</a></h3> |
|||
<h3 class="oe_slogan" |
|||
style=" text-align: left;font-size: 12px;width: auto;margin: 0;margin-top:5px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 5px;margin-left: 16px;font-family: 'Montserrat',sans-serif;"> |
|||
Run your bar or restaurant methodical. </h3> |
|||
</div> |
|||
</div> |
|||
<div class="col-md-4 col-sm-6 col-xs-12" style=" margin-bottom: 10px; "> |
|||
<div> |
|||
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;"> |
|||
<a href="https://www.cybrosys.com/odoo/industries/pos/" target="_blank"> <img |
|||
src="https://www.cybrosys.com/images/odoo-index-industry-4.png" alt="Odoo Industry" |
|||
style=" border-radius: 100%;width:100%;"/> </a></div> |
|||
</div> |
|||
<div style="width:70%;float:left;"> |
|||
<h3 class="oe_slogan" |
|||
style=" text-align: left;font-size: 14px;font-weight:800;width: auto;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 4px;margin-left: 16px;"> |
|||
<a href="https://www.cybrosys.com/odoo/industries/pos/" target="_blank" |
|||
style="list-style: none; color:#000; text-decoration: none;font-family: 'Montserrat',sans-serif;"> |
|||
POS</a></h3> |
|||
<h3 class="oe_slogan" |
|||
style=" text-align: left;font-size: 12px;width: auto;margin: 0;margin-top:5px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 5px;margin-left: 16px;font-family: 'Montserrat',sans-serif;"> |
|||
Easy configuring and convivial selling. </h3> |
|||
</div> |
|||
</div> |
|||
<div class="col-md-4 col-sm-6 col-xs-12" style=" margin-bottom: 10px; "> |
|||
<div> |
|||
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;"> |
|||
<a href="https://www.cybrosys.com/odoo/industries/ecommerce-website/" target="_blank"> <img |
|||
src="https://www.cybrosys.com/images/odoo-index-industry-5.png" alt="Odoo Industry" |
|||
style=" border-radius: 100%;width:100%;"/> </a></div> |
|||
</div> |
|||
<div style="width:70%;float:left;"> |
|||
<h3 class="oe_slogan" |
|||
style=" text-align: left;font-size: 14px;font-weight:800;width: auto;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 0px;margin-left: 16px;"> |
|||
<a href="https://www.cybrosys.com/odoo/industries/ecommerce-website/" target="_blank" |
|||
style="list-style: none; color:#000; text-decoration: none; font-family: 'Montserrat',sans-serif;"> |
|||
E-commerce & Website</a></h3> |
|||
<h3 class="oe_slogan" |
|||
style=" text-align: left;font-size: 12px;width: auto;margin: 0;margin-top:5px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 5px;margin-left: 16px; font-family: 'Montserrat',sans-serif;"> |
|||
Mobile friendly, awe-inspiring product pages. </h3> |
|||
</div> |
|||
</div> |
|||
<div class="col-md-4 col-sm-6 col-xs-12" style=" margin-bottom: 10px; "> |
|||
<div> |
|||
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;"> |
|||
<a href="https://www.cybrosys.com/odoo/industries/hotel-management-erp/" target="_blank"> |
|||
<img src="https://www.cybrosys.com/images/odoo-index-industry-6.png" alt="Odoo Industry" |
|||
style=" border-radius: 100%;width:100%;"/> </a></div> |
|||
</div> |
|||
<div style="width:70%;float:left;"> |
|||
<h3 class="oe_slogan" |
|||
style=" text-align: left;font-size: 14px;font-weight:800;width: auto;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 4px;margin-left: 16px;"> |
|||
<a href="https://www.cybrosys.com/odoo/industries/hotel-management-erp/" target="_blank" |
|||
style="list-style: none; color:#000; text-decoration: none; font-family: 'Montserrat',sans-serif;"> |
|||
Hotel Management</a></h3> |
|||
<h3 class="oe_slogan" |
|||
style=" text-align: left;font-size: 12px;width: auto;margin: 0;margin-top:5px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 5px;margin-left: 16px; font-family: 'Montserrat',sans-serif;"> |
|||
An all-inclusive hotel management application. </h3> |
|||
</div> |
|||
</div> |
|||
<div class="col-md-4 col-sm-6 col-xs-12" style=" margin-bottom: 10px; "> |
|||
<div> |
|||
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;"> |
|||
<a href="https://www.cybrosys.com/odoo/industries/education-erp-software/" target="_blank"> |
|||
<img src="https://www.cybrosys.com/images/odoo-index-industry-7.png" alt="Odoo Industry" |
|||
style=" border-radius: 100%;width:100%;"/> </a></div> |
|||
</div> |
|||
<div style="width:70%;float:left;"> |
|||
<h3 class="oe_slogan" |
|||
style=" text-align: left;font-size: 14px;font-weight:800;width: auto;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 4px;margin-left: 16px;"> |
|||
<a href="https://www.cybrosys.com/odoo/industries/education-erp-software/" target="_blank" |
|||
style="list-style: none; color:#000; text-decoration: none; font-family: 'Montserrat',sans-serif;"> |
|||
Education</a></h3> |
|||
<h3 class="oe_slogan" |
|||
style=" text-align: left;font-size: 12px;width: auto;margin: 0;margin-top:5px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 5px;margin-left: 16px; font-family: 'Montserrat',sans-serif;"> |
|||
A Collaborative platform for educational management. </h3> |
|||
</div> |
|||
</div> |
|||
<div class="col-md-4 col-sm-6 col-xs-12" style=" margin-bottom: 10px; "> |
|||
<div> |
|||
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;"> |
|||
<a href="https://www.cybrosys.com/odoo/industries/service-management/" target="_blank"> <img |
|||
src="https://www.cybrosys.com/images/odoo-index-industry-8.png" alt="Odoo Industry" |
|||
style=" border-radius: 100%;width:100%;"/> </a></div> |
|||
</div> |
|||
<div style="width:70%;float:left;"> |
|||
<h3 class="oe_slogan" |
|||
style=" text-align: left;font-size: 14px;font-weight:800;width: auto;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 4px;margin-left: 16px;"> |
|||
<a href="https://www.cybrosys.com/odoo/industries/service-management/" target="_blank" |
|||
style="list-style: none; color:#000; text-decoration: none; font-family: 'Montserrat',sans-serif;"> |
|||
Service Management</a></h3> |
|||
<h3 class="oe_slogan" |
|||
style=" text-align: left;font-size: 12px;width: auto;margin: 0;margin-top:5px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 5px;margin-left: 16px; font-family: 'Montserrat',sans-serif;"> |
|||
Keep track of services and invoice accordingly. </h3> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</section> |
|||
<section class="oe_container" style="padding: 0% 0% 6% 0%;"> |
|||
<center> |
|||
<div class="col-md-12" style="margin: auto !important; |
|||
width: 70%; |
|||
padding: 30px;"> |
|||
<h2 style="font-weight: 600;text-align: center;width: 100%;">Need Any Help?</h2> |
|||
<hr style="margin-top: 0px;margin-bottom: 2%;border: 0;text-align: center;border-top: 3px solid #d21c22;width: 5%;"> |
|||
<h4 style="font-size:16px;"> If you have anything to share with us based on your use of this module, please |
|||
let us know. We are ready to offer our support. </h4> |
|||
<div class="col-md-6" style="float:left; padding:20px;"> |
|||
<h4><i class="fa fa-envelope"></i>Email us </h4> |
|||
<p>odoo@cybrosys.com / info@cybrosys.com</p> |
|||
</div> |
|||
<div class="col-md-6" style="float:left; padding:20px;"> |
|||
<h4><i class="fa fa-phone"></i> Contact Us </h4> |
|||
<a href="https://www.cybrosys.com/contact/" target="_blank"> www.cybrosys.com</a> |
|||
</div> |
|||
</div> |
|||
</center> |
|||
</section> |
|||
<section class="oe_container" style="padding: 0% 0% 6% 0%;"> |
|||
<div class="oe_slogan" style="margin-bottom: 0px;"> |
|||
<div style=" display: flex; justify-content: center; flex-wrap: wrap; "> |
|||
</div> |
|||
<br> |
|||
<img src="https://www.cybrosys.com/images/logo.png" style="width: 190px; margin-bottom: 25px;margin-top: 30px;" |
|||
class="center-block"> |
|||
<div style=" display: flex; justify-content: center; flex-wrap: wrap; "><a href="https://twitter.com/cybrosys" |
|||
target="_blank"><i |
|||
class="fa fa-2x fa-twitter" |
|||
style="color:white;background: #00a0d1;width:35px;height: 35px;padding-top: 7px;font-size: 21px;margin-right: 6px;border-radius: 100%;"></i></a> |
|||
</td> |
|||
<a href="https://www.linkedin.com/company/cybrosys-technologies-pvt-ltd" target="_blank"><i |
|||
class="fa fa-2x fa-linkedin" |
|||
style="color:white;background: #31a3d6;width:35px;height: 35px;padding-top: 7px;font-size: 21px;margin-right: 6px;border-radius: 100%;"></i></a> |
|||
</td> |
|||
<a href="https://www.facebook.com/cybrosystechnologies" target="_blank"><i class="fa fa-2x fa-facebook" |
|||
style="color:white;background: #3b5998;width:35px; height: 35px;padding-top: 7px;font-size: 21px;margin-right: 6px;border-radius: 100%;"></i></a> |
|||
</td> |
|||
<a href="https://in.pinterest.com/cybrosys" target="_blank"><i class="fa fa-2x fa-pinterest" |
|||
style="color:white;background: #ac0f18;width:35px;height: 35px;padding-top: 7px;font-size: 21px;margin-right: 6px;border-radius: 100%;"></i></a> |
|||
</td> |
|||
</div> |
|||
</div> |
|||
</section> |
|||
</div> |
@ -0,0 +1,43 @@ |
|||
<?xml version="1.0" encoding="UTF-8" ?> |
|||
<odoo> |
|||
<record model="ir.ui.view" id="account_move_approval_inherited"> |
|||
<field name="name">account.move.approval.inherited</field> |
|||
<field name="model">account.move</field> |
|||
<field name="inherit_id" ref="account.view_move_form"/> |
|||
<field name="arch" type="xml"> |
|||
<xpath expr="//field[@name='invoice_user_id']" position="after"> |
|||
<field name="document_fully_approved" invisible="1"/> |
|||
<field name="check_approve_ability" invisible="1"/> |
|||
<field name="is_approved" invisible="1"/> |
|||
<field name="page_visibility" invisible="1"/> |
|||
</xpath> |
|||
<xpath expr="//button[@name='action_post']" position="before"> |
|||
<button name="invoice_approve" class="oe_highlight" |
|||
string="Approve" type="object" groups="invoice_multi_approval.group_approver,invoice_multi_approval.group_approve_manager" |
|||
attrs="{'invisible': ['|','|','|',('check_approve_ability', '!=', True),('document_fully_approved', '=', True),('is_approved','=',True),('type','not in',('in_invoice','out_invoice','in_refund','out_refund'))]}"/> |
|||
</xpath> |
|||
<xpath expr="//button[@name='action_post']" position="attributes"> |
|||
<attribute name="attrs">{'invisible': ['|',('document_fully_approved', '!=', |
|||
True),('state','=','posted')]} |
|||
</attribute> |
|||
</xpath> |
|||
<xpath expr="//page[@id='other_tab']" position="after"> |
|||
<page string="Approvals" name="approval_tab" |
|||
attrs="{'invisible': ['|',('type','not in',('in_invoice','out_invoice','in_refund','out_refund')),('page_visibility','=',False)]}"> |
|||
<group> |
|||
<field name="approval_ids" mode="tree" nolabel="1" style="pointer-events:none;"> |
|||
<tree string="Approval lines" create="0" edit="0" delete="0"> |
|||
<field name="approver_id"/> |
|||
<field name="approval_status"/> |
|||
</tree> |
|||
</field> |
|||
</group> |
|||
</page> |
|||
</xpath> |
|||
</field> |
|||
</record> |
|||
<menuitem id="approval_main_menu" name="Approvals" parent="account.menu_finance_configuration" sequence="10" |
|||
groups="group_approve_manager"/> |
|||
<menuitem id="approval_sub_menu" name="Invoice Approval" parent="approval_main_menu" |
|||
action="approval_sub_menu_action" sequence="1" groups="group_approve_manager"/> |
|||
</odoo> |
@ -0,0 +1,54 @@ |
|||
<?xml version="1.0" encoding="UTF-8" ?> |
|||
<odoo> |
|||
<data> |
|||
<record id="invoice_approval_form_view" model="ir.ui.view"> |
|||
<field name="name">invoice.approval.form.view</field> |
|||
<field name="model">invoice.approval</field> |
|||
<field name="arch" type="xml"> |
|||
<form class="oe_form_configuration"> |
|||
<header> |
|||
<button name="apply_configuration" type="object" string="Apply" class="btn-primary"/> |
|||
</header> |
|||
<sheet> |
|||
<div class="oe_title oe_read_only"> |
|||
<h1> |
|||
<field name="name"/> |
|||
</h1> |
|||
</div> |
|||
<group> |
|||
<group string="Customer Configuration"> |
|||
<field name="approve_customer_invoice"/> |
|||
<field name="invoice_approver_ids" widget="many2many_tags" |
|||
attrs="{'invisible': [('approve_customer_invoice', '=', False)],'required':[('approve_customer_invoice', '=', True)]}"/> |
|||
<field name="approve_customer_credit"/> |
|||
<field name="cust_credit_approver_ids" widget="many2many_tags" |
|||
attrs="{'invisible': [('approve_customer_credit', '=', False)],'required':[('approve_customer_credit', '=', True)]}"/> |
|||
</group> |
|||
<group string="Vendor Configuration"> |
|||
<field name="approve_vendor_bill"/> |
|||
<field name="bill_approver_ids" widget="many2many_tags" |
|||
attrs="{'invisible': [('approve_vendor_bill', '=', False)],'required':[('approve_vendor_bill', '=', True)]}"/> |
|||
<field name="approve_vendor_credit"/> |
|||
<field name="vend_credit_approver_ids" widget="many2many_tags" |
|||
attrs="{'invisible': [('approve_vendor_credit', '=', False)],'required':[('approve_vendor_credit', '=', True)]}"/> |
|||
</group> |
|||
</group> |
|||
</sheet> |
|||
<div class="oe_chatter"> |
|||
<field name="message_follower_ids" widget="mail_followers"/> |
|||
<field name="activity_ids" widget="mail_activity"/> |
|||
<field name="message_ids" widget="mail_thread" options="{'post_refresh': 'recipients'}"/> |
|||
</div> |
|||
</form> |
|||
</field> |
|||
</record> |
|||
<record id="approval_sub_menu_action" model="ir.actions.act_window"> |
|||
<field name="name">Invoice Multi Approval</field> |
|||
<field name="type">ir.actions.act_window</field> |
|||
<field name="res_model">invoice.approval</field> |
|||
<field name="res_id" ref="invoice_multi_approval.default_invoice_multi_approval_config"/> |
|||
<field name="view_mode">form</field> |
|||
<field name="target">inline</field> |
|||
</record> |
|||
</data> |
|||
</odoo> |