add new module of template
28
bi_professional_reports_templates/LICENSE
Executable file
@@ -0,0 +1,28 @@
|
||||
Odoo Proprietary License v1.0
|
||||
|
||||
This software and associated files (the "Software") may only be used (executed,
|
||||
modified, executed after modifications) if you have purchased a valid license
|
||||
from the authors, typically via Odoo Apps, or if you have received a written
|
||||
agreement from the authors of the Software (see the COPYRIGHT file).
|
||||
|
||||
You may develop Odoo modules that use the Software as a library (typically
|
||||
by depending on it, importing it and using its resources), but without copying
|
||||
any source code or material from the Software. You may distribute those
|
||||
modules under the license of your choice, provided that this license is
|
||||
compatible with the terms of the Odoo Proprietary License (For example:
|
||||
LGPL, MIT, or proprietary licenses similar to this one).
|
||||
|
||||
It is forbidden to publish, distribute, sublicense, or sell copies of the Software
|
||||
or modified copies of the Software.
|
||||
|
||||
The above copyright notice and this permission notice must be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
|
||||
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
|
||||
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||
DEALINGS IN THE SOFTWARE.
|
||||
|
||||
5
bi_professional_reports_templates/__init__.py
Normal file
@@ -0,0 +1,5 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Part of BrowseInfo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
from . import res_company
|
||||
|
||||
54
bi_professional_reports_templates/__manifest__.py
Normal file
@@ -0,0 +1,54 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Part of BrowseInfo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
{
|
||||
'name': 'Odoo Professional Report Templates',
|
||||
'version': '13.0.0.0',
|
||||
'summary': 'Easily Customizable Report Template for Quotation/SO/Sales, Invoice, Picking/Delivery Order,RFQ/PO/Purchases',
|
||||
'category': 'Tools',
|
||||
'description': """
|
||||
Customize report, customize pdf report, customize template report, Customize Sales Order report,Customize Purchase Order report, Customize invoice report, Customize delivery Order report, Accounting Reports, Easy reports, Flexible report,Fancy Report template.
|
||||
|
||||
""",
|
||||
'license':'OPL-1',
|
||||
'author': 'BrowseInfo',
|
||||
'live_test_url':'https://youtu.be/_aihFWW4a5E',
|
||||
'website': 'http://www.browseinfo.in',
|
||||
'depends': ['base', 'account', 'sale', 'purchase', 'stock', 'sale_stock', 'base_vat','sale_management','purchase_stock'],
|
||||
'data': [
|
||||
|
||||
"res_company.xml",
|
||||
|
||||
"invoice_report/fency_report_account.xml",
|
||||
"invoice_report/fency_report_invoice.xml",
|
||||
"invoice_report/report_invoice_classic.xml",
|
||||
"invoice_report/report_invoice_modern.xml",
|
||||
"invoice_report/report_invoice_odoo_standard.xml",
|
||||
|
||||
"delivery_report/stock_report_classic.xml",
|
||||
"delivery_report/fency_report_deliveryslip.xml",
|
||||
"delivery_report/modern_report_deliveryslip.xml",
|
||||
"delivery_report/odoo_standard_report_deliveryslip.xml",
|
||||
"delivery_report/report_deliveryslip_classic.xml",
|
||||
|
||||
|
||||
"purchase_report/classic_report_purchaseorder.xml",
|
||||
"purchase_report/classic_report_purchasequotation.xml",
|
||||
"purchase_report/fency_report_purchaseorder.xml",
|
||||
"purchase_report/fency_report_purchasequotation.xml",
|
||||
"purchase_report/modern_report_purchaseorder.xml",
|
||||
"purchase_report/modern_report_purchasequotation.xml",
|
||||
"purchase_report/odoo_standard_report_purchaseorder.xml",
|
||||
"purchase_report/odoo_standard_report_purchasequotation.xml",
|
||||
|
||||
"sale_report/classic_report_saleorder.xml",
|
||||
"sale_report/fency_report_saleorder.xml",
|
||||
"sale_report/modern_report_saleorder.xml",
|
||||
"sale_report/odoo_standard_report_saleorder.xml",
|
||||
],
|
||||
'demo': [],
|
||||
'test': [],
|
||||
'installable': True,
|
||||
'auto_install': False,
|
||||
"images":['static/description/Banner.png'],
|
||||
}
|
||||
@@ -0,0 +1,232 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<data>
|
||||
<template id="fency_report_deliveryslip_document">
|
||||
<t t-if="o and 'company_id' in o">
|
||||
<t t-set="company" t-value="o.company_id"></t>
|
||||
</t>
|
||||
<t t-if="not o or not 'company_id' in o">
|
||||
<t t-set="company" t-value="res_company"></t>
|
||||
</t>
|
||||
<div class="header">
|
||||
<div class="row mt32 mb32">
|
||||
<div class="col-6">
|
||||
<img t-if="company.logo" t-att-src="'data:image/png;base64,%s' % to_text(company.logo)"
|
||||
style="max-height: 50px;"/>
|
||||
</div>
|
||||
<div class="col-6 text-right" style="font:12px lucida-console,sans-serif !important;">
|
||||
<span t-field="company.partner_id"/>
|
||||
<br/>
|
||||
<span t-field="company.partner_id.street"/>
|
||||
<br/>
|
||||
<span t-field="company.partner_id.street2"/>
|
||||
<br/>
|
||||
<span t-field="company.partner_id.city"/>
|
||||
<br/>
|
||||
<span t-field="company.partner_id.country_id"/>
|
||||
<br/>
|
||||
<span t-field="company.partner_id.vat"/>
|
||||
<br/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<t t-call="web.external_layout">
|
||||
<t t-set="o" t-value="o.with_context({'lang':o.partner_id.lang})"/>
|
||||
<div class="page">
|
||||
<div class="oe_structure"/>
|
||||
<div class="row">
|
||||
<div class="col-6" style="font:15px lucida-console,sans-serif !important;">
|
||||
<span style="background-color:#3498DB;">Customer Address</span>
|
||||
<br/>
|
||||
<span t-field="o.partner_id"/>
|
||||
<br/>
|
||||
<span t-field="o.partner_id.street"/>
|
||||
<br/>
|
||||
<span t-field="o.partner_id.street2"/>
|
||||
<br/>
|
||||
<span t-field="o.partner_id.city"/>
|
||||
<br/>
|
||||
<span t-field="o.partner_id.state_id"/>
|
||||
<br/>
|
||||
<span t-field="o.partner_id.country_id"/>
|
||||
<br/>
|
||||
<span t-field="o.partner_id.vat"/>
|
||||
<br/>
|
||||
</div>
|
||||
|
||||
<div class="col-6 text-right" style="font:15px lucida-console,sans-serif !important; ">
|
||||
<span style="background-color:#3498DB;">Delivery Address</span>
|
||||
<div t-if="o.move_lines and o.move_lines[0].partner_id and o.move_lines[0].partner_id.id != o.partner_id.id">
|
||||
<div>
|
||||
<div t-field="o.move_lines[0].partner_id"
|
||||
t-field-options='{"widget": "contact", "fields": ["address", "name", "phone", "fax"], "no_marker": true}'/>
|
||||
<div t-field="o.move_lines[0].partner_id.street"/>
|
||||
<span t-field="o.move_lines[0].partner_id.street2"/>
|
||||
<br/>
|
||||
<span t-field="o.move_lines[0].partner_id.city"/>
|
||||
<br/>
|
||||
<span t-field="o.move_lines[0].partner_id.country_id"/>
|
||||
<br/>
|
||||
<span t-field="o.move_lines[0].partner_id.zip"/>
|
||||
<br/>
|
||||
<div t-field="o.move_lines[0].partner_id.vat"/>
|
||||
</div>
|
||||
</div>
|
||||
<div t-if="(o.move_lines and o.move_lines[0].partner_id and o.move_lines[0].partner_id.id == o.partner_id.id) or o.move_lines and not o.move_lines[0].partner_id">
|
||||
<span t-field="o.partner_id"/>
|
||||
<br/>
|
||||
<span t-field="o.partner_id.street"/>
|
||||
<br/>
|
||||
<span t-field="o.partner_id.street2"/>
|
||||
<br/>
|
||||
<span t-field="o.partner_id.city"/>
|
||||
<br/>
|
||||
<span t-field="o.partner_id.state_id"/>
|
||||
<br/>
|
||||
<span t-field="o.partner_id.country_id"/>
|
||||
<br/>
|
||||
<span t-field="o.partner_id.vat"/>
|
||||
<br/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-4"/>
|
||||
<div class="col-8 text-right"
|
||||
style="font:15px lucida-console,sans-serif !important; background-color: #3498DB; ">
|
||||
<h2>
|
||||
<span>
|
||||
<font color="#fff">Delivery Note #</font>
|
||||
<span style="color:#FFF !important;" t-field="o.name"/>
|
||||
</span>
|
||||
<br/>
|
||||
</h2>
|
||||
<div>
|
||||
<div class="col-5">
|
||||
<div>
|
||||
<font color="#fff">Origin:</font>
|
||||
</div>
|
||||
<div style="color:#FFF !important;" t-field="o.picking_type_id"/>
|
||||
</div>
|
||||
<div class="col-4">
|
||||
<div>
|
||||
<div>
|
||||
<font color="#fff">Scheduled Date:</font>
|
||||
</div>
|
||||
<div style="color:#FFF !important;" t-field="o.scheduled_date"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<br/>
|
||||
|
||||
<table class="table table-sm" style="padding-top=50px; padding-bottom=50px;"
|
||||
t-if="not o.move_line_ids">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="background-color:#3498DB !important;color:#FFF !important;">Product</th>
|
||||
<th style="background-color:#3498DB !important;color:#FFF !important;">Ordered
|
||||
Quantity
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr t-foreach="o.move_lines" t-as="move">
|
||||
<td>
|
||||
<span t-field="move.product_id"/>
|
||||
</td>
|
||||
<td>
|
||||
<span t-field="move.product_qty"/>
|
||||
<span t-field="move.product_uom"/>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<table class="table table-sm" style="padding-top=50px;" t-if="o.move_line_ids">
|
||||
<t t-set="has_serial_number" t-value="o.move_line_ids.mapped('lot_id')"
|
||||
groups="stock.group_production_lot"/>
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="background-color:#3498DB !important;color:#FFF !important;">Product</th>
|
||||
<th style="background-color:#3498DB !important;color:#FFF !important;" name="lot_serial"
|
||||
t-if="has_serial_number">
|
||||
Lot/Serial Number
|
||||
</th>
|
||||
<th style="background-color:#3498DB !important;color:#FFF !important;">Ordered
|
||||
Quantity
|
||||
</th>
|
||||
<th t-if="any([move_line.state == 'done' for move_line in o.move_line_ids])"
|
||||
style="background-color:#3498DB !important;color:#FFF !important;">
|
||||
Delivered Quantity
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr t-foreach="o.move_line_ids" t-as="move_line">
|
||||
<td>
|
||||
<span t-field="move_line.product_id"/>
|
||||
<p t-if="o.picking_type_code == 'outgoing'">
|
||||
<span t-field="move_line.product_id.description_pickingout"/>
|
||||
</p>
|
||||
<p t-if="o.picking_type_code == 'incoming'">
|
||||
<span t-field="move_line.product_id.description_pickingin"/>
|
||||
</p>
|
||||
<t t-if="not move_line.product_id and move_line.package_id">
|
||||
<span t-field="move_line.package_id"/>
|
||||
</t>
|
||||
</td>
|
||||
<t t-if="has_serial_number">
|
||||
<td>
|
||||
<table width="100%">
|
||||
<tr>
|
||||
<td>
|
||||
<span t-field="move_line.lot_id"/>
|
||||
<t t-if="not move_line.lot_id">
|
||||
<span t-field="move_line.lot_name"/>
|
||||
</t>
|
||||
</td>
|
||||
<td name="lot_qty">
|
||||
<t t-if="move_line.product_qty">
|
||||
<span t-field="move_line.product_qty"/>
|
||||
</t>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</t>
|
||||
<td class="text-center">
|
||||
<span t-field="move_line.package_id"/>
|
||||
<span t-if="move_line.package_id">:</span>
|
||||
<span t-field="move_line.product_qty"/>
|
||||
<span t-field="move_line.product_uom_id"/>
|
||||
</td>
|
||||
<td class="text-right" t-if="move_line.state == 'done'">
|
||||
<t t-if="move_line.product_qty != move_line.qty_done">
|
||||
<t t-set="backorder" t-value="True"/>
|
||||
</t>
|
||||
<span t-field="move_line.qty_done"/>
|
||||
<span t-field="move_line.product_uom_id"/>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p t-if="o.backorder_id">
|
||||
This shipment is a backorder of<t t-esc="o.backorder_id.name"/>.
|
||||
</p>
|
||||
<p>
|
||||
<t t-if="backorder">
|
||||
All items couldn't be shipped, the remaining ones will be shipped as soon as they become
|
||||
available.
|
||||
</t>
|
||||
</p>
|
||||
|
||||
</div>
|
||||
|
||||
</t>
|
||||
</template>
|
||||
|
||||
</data>
|
||||
</odoo>
|
||||
@@ -0,0 +1,247 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<data>
|
||||
<template id="modern_report_deliveryslip_document">
|
||||
<t t-if="o and 'company_id' in o">
|
||||
<t t-set="company" t-value="o.company_id"></t>
|
||||
</t>
|
||||
<t t-if="not o or not 'company_id' in o">
|
||||
<t t-set="company" t-value="res_company"></t>
|
||||
</t>
|
||||
<div class="header">
|
||||
<div class="row mt32 mb32">
|
||||
<div class="col-6">
|
||||
<img t-if="company.logo" t-att-src="'data:image/png;base64,%s' % to_text(company.logo)"
|
||||
style="max-height: 50px;"/>
|
||||
</div>
|
||||
<div class="col-6 text-right" style="font:12px lucida-console,sans-serif !important;">
|
||||
<span t-field="company.partner_id"/>
|
||||
<br/>
|
||||
<span t-field="company.partner_id.street"/>
|
||||
<br/>
|
||||
<span t-field="company.partner_id.street2"/>
|
||||
<br/>
|
||||
<span t-field="company.partner_id.city"/>
|
||||
<br/>
|
||||
<span t-field="company.partner_id.country_id"/>
|
||||
<br/>
|
||||
<span t-field="company.partner_id.vat"/>
|
||||
<br/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<t t-call="web.external_layout">
|
||||
<t t-set="o" t-value="o.with_context({'lang':o.partner_id.lang})"/>
|
||||
<div class="page">
|
||||
<div class="oe_structure"/>
|
||||
|
||||
<table class="table table-sm" style=" table-layout:fixed;">
|
||||
<thead>
|
||||
<tr>
|
||||
<th width="30px"
|
||||
style="background-color:#893b74 !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; ">
|
||||
Customer Address
|
||||
</th>
|
||||
<th width="30px"
|
||||
style="background-color:#893b74 !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; ">
|
||||
Contact Address
|
||||
</th>
|
||||
<th width="20px"
|
||||
style="background-color:#893b74 !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; ">
|
||||
Origin
|
||||
</th>
|
||||
<th width="20px"
|
||||
style="background-color:#893b74 !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; ">
|
||||
Scheduled Date
|
||||
</th>
|
||||
<th width="20px"
|
||||
style="background-color:#893b74 !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; ">
|
||||
Delevery #
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="border: 1px !important; border-style: solid !important; border-color: #fff !important;">
|
||||
<div t-field="o.partner_id"/>
|
||||
<t t-if="o.partner_id.street">
|
||||
<t t-esc="o.partner_id.street"/>
|
||||
</t>
|
||||
<br/>
|
||||
<t t-if="o.partner_id.street2">
|
||||
<t t-esc="o.partner_id.street2"/>
|
||||
</t>
|
||||
<br/>
|
||||
<t t-if="o.partner_id.city">
|
||||
<t t-esc="o.partner_id.city"/>
|
||||
</t>
|
||||
<br/>
|
||||
<t t-if="o.partner_id.state_id.name">
|
||||
<t t-esc="o.partner_id.state_id.name"/>
|
||||
</t>
|
||||
<br/>
|
||||
<t t-if="o.partner_id.country_id.name">
|
||||
<t t-esc="o.partner_id.country_id.name"/>
|
||||
</t>
|
||||
<br/>
|
||||
<t t-if="o.partner_id.zip">
|
||||
<t t-esc="o.partner_id.zip"/>
|
||||
</t>
|
||||
<br/>
|
||||
<div t-field="o.partner_id.vat"/>
|
||||
</td>
|
||||
<td style="border: 1px !important; border-style: solid !important; border-color: #fff !important;">
|
||||
<div t-if="o.move_lines and o.move_lines[0].partner_id and o.move_lines[0].partner_id.id != o.partner_id.id">
|
||||
<div>
|
||||
<div t-field="o.partner_id"/>
|
||||
<div t-field="o.partner_id.street"/>
|
||||
<span t-field="o.partner_id.street2"/>
|
||||
<br/>
|
||||
<span t-field="o.partner_id.city"/>
|
||||
<br/>
|
||||
<span t-field="o.partner_id.state_id"/>
|
||||
<br/>
|
||||
<span t-field="o.partner_id.country_id"/>
|
||||
<br/>
|
||||
<span t-field="o.partner_id.zip"/>
|
||||
<br/>
|
||||
<div t-field="o.partner_id.vat"/>
|
||||
</div>
|
||||
</div>
|
||||
<div t-if="(o.move_lines and o.move_lines[0].partner_id and o.move_lines[0].partner_id.id == o.partner_id.id) or o.move_lines and not o.move_lines[0].partner_id">
|
||||
<div t-field="o.partner_id"/>
|
||||
<div t-field="o.partner_id.street"/>
|
||||
<span t-field="o.partner_id.street2"/>
|
||||
<br/>
|
||||
<span t-field="o.partner_id.city"/>
|
||||
<br/>
|
||||
<span t-field="o.partner_id.state_id"/>
|
||||
<br/>
|
||||
<span t-field="o.partner_id.country_id"/>
|
||||
<br/>
|
||||
<span t-field="o.partner_id.zip"/>
|
||||
<br/>
|
||||
<div t-field="o.partner_id.vat"/>
|
||||
</div>
|
||||
</td>
|
||||
<td style="border: 1px !important; border-style: solid !important; border-color: #fff !important;">
|
||||
<div t-field="o.picking_type_id"/>
|
||||
</td>
|
||||
<td style="border: 1px !important; border-style: solid !important; border-color: #fff !important;">
|
||||
<b>
|
||||
<div t-field="o.scheduled_date"/>
|
||||
</b>
|
||||
</td>
|
||||
<td style="border: 1px !important; border-style: solid !important; border-color: #fff !important;">
|
||||
<b>
|
||||
<div t-field="o.name"/>
|
||||
</b>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<table class="table table-sm" t-if="not o.move_line_ids">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="background-color:#893b74 !important;color:#FFF !important;">
|
||||
<strong>Product</strong>
|
||||
</th>
|
||||
<th style="background-color:#893b74 !important;color:#FFF !important;">
|
||||
<strong>Ordered Quantity</strong>
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr t-foreach="o.move_lines" t-as="move">
|
||||
<td>
|
||||
<span t-field="move.product_id"/>
|
||||
</td>
|
||||
<td>
|
||||
<span t-field="move.product_qty"/>
|
||||
<span t-field="move.product_uom"/>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<table class="table table-sm" t-if="o.move_line_ids">
|
||||
<t t-set="has_serial_number" t-value="o.move_line_ids.mapped('lot_id')"
|
||||
groups="stock.group_production_lot"/>
|
||||
<thead style=" background-color: #893b74;">
|
||||
<tr>
|
||||
<th style="background-color:#893b74 !important;color:#FFF !important;">
|
||||
<strong>Product</strong>
|
||||
</th>
|
||||
<th style="background-color:#893b74 !important;color:#FFF !important;" name="lot_serial"
|
||||
t-if="has_serial_number">
|
||||
Lot/Serial Number
|
||||
</th>
|
||||
<th style="background-color:#893b74 !important;color:#FFF !important;"
|
||||
class="text-center">
|
||||
<strong>Ordered Quantity</strong>
|
||||
</th>
|
||||
<th style="background-color:#893b74 !important;color:#FFF !important;"
|
||||
t-if="any([move_line.state == 'done' for move_line in o.move_line_ids])"
|
||||
class="text-right">
|
||||
<strong>Delivered Quantity</strong>
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr t-foreach="o.move_line_ids" t-as="move_line">
|
||||
<td>
|
||||
<span t-field="move_line.product_id"/>
|
||||
<p t-if="o.picking_type_code == 'outgoing'">
|
||||
<span t-field="move_line.product_id.description_pickingout"/>
|
||||
</p>
|
||||
<p t-if="o.picking_type_code == 'incoming'">
|
||||
<span t-field="move_line.product_id.description_pickingin"/>
|
||||
</p>
|
||||
<t t-if="not move_line.product_id and move_line.package_id">
|
||||
<span t-field="move_line.package_id"/>
|
||||
</t>
|
||||
</td>
|
||||
<t t-if="has_serial_number">
|
||||
<td>
|
||||
<table width="100%">
|
||||
<tr>
|
||||
<td>
|
||||
<span t-field="move_line.lot_id"/>
|
||||
<t t-if="not move_line.lot_id">
|
||||
<span t-field="move_line.lot_name"/>
|
||||
</t>
|
||||
</td>
|
||||
<td name="lot_qty">
|
||||
<t t-if="move_line.product_qty">
|
||||
<span t-field="move_line.product_qty"/>
|
||||
</t>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</t>
|
||||
<td class="text-center">
|
||||
<span t-field="move_line.package_id"/>
|
||||
<span t-if="move_line.package_id">:</span>
|
||||
<span t-field="move_line.product_qty"/>
|
||||
<span t-field="move_line.product_uom_id"/>
|
||||
</td>
|
||||
<td class="text-right" t-if="move_line.state == 'done'">
|
||||
<t t-if="move_line.product_qty != move_line.qty_done">
|
||||
<t t-set="backorder" t-value="True"/>
|
||||
</t>
|
||||
<span t-field="move_line.qty_done"/>
|
||||
<span t-field="move_line.product_uom_id"/>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
</div>
|
||||
|
||||
</t>
|
||||
</template>
|
||||
|
||||
</data>
|
||||
</odoo>
|
||||
@@ -0,0 +1,237 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<data>
|
||||
<template id="odoo_std_report_deliveryslip_document">
|
||||
<t t-if="o and 'company_id' in o">
|
||||
<t t-set="company" t-value="o.company_id"></t>
|
||||
</t>
|
||||
<t t-if="not o or not 'company_id' in o">
|
||||
<t t-set="company" t-value="res_company"></t>
|
||||
</t>
|
||||
<div class="header">
|
||||
<div class="row mt32 mb32">
|
||||
<div class="col-6">
|
||||
<img t-if="company.logo" t-att-src="'data:image/png;base64,%s' % to_text(company.logo)"
|
||||
style="max-height: 50px;"/>
|
||||
</div>
|
||||
<div class="col-6 text-right" style="font:12px lucida-console,sans-serif !important;">
|
||||
<span t-field="company.partner_id"/>
|
||||
<br/>
|
||||
<span t-field="company.partner_id.street"/>
|
||||
<br/>
|
||||
<span t-field="company.partner_id.street2"/>
|
||||
<br/>
|
||||
<span t-field="company.partner_id.city"/>
|
||||
<br/>
|
||||
<span t-field="company.partner_id.country_id"/>
|
||||
<br/>
|
||||
<span t-field="company.partner_id.vat"/>
|
||||
<br/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<t t-call="web.external_layout">
|
||||
<t t-set="o" t-value="o.with_context({'lang':o.partner_id.lang})"/>
|
||||
<div class="page">
|
||||
<div class="oe_structure"/>
|
||||
<div class="row">
|
||||
<div class="col-6" style="font:15px lucida-console,sans-serif !important;">
|
||||
<span style="background-color:#893b74; color:#FFF; font:20px lucida-console,sans-serif !important;">
|
||||
Customer Address
|
||||
</span>
|
||||
<br/>
|
||||
<span t-field="o.partner_id"/>
|
||||
<br/>
|
||||
<span t-field="o.partner_id.street"/>
|
||||
<br/>
|
||||
<span t-field="o.partner_id.street2"/>
|
||||
<br/>
|
||||
<span t-field="o.partner_id.city"/>
|
||||
<br/>
|
||||
<span t-field="o.partner_id.state_id"/>
|
||||
<br/>
|
||||
<span t-field="o.partner_id.country_id"/>
|
||||
<br/>
|
||||
<span t-field="o.partner_id.vat"/>
|
||||
<br/>
|
||||
</div>
|
||||
|
||||
<div class="col-6 text-right" style="font:15px lucida-console,sans-serif !important; ">
|
||||
<span style="background-color:#893b74; color:#FFF; font:20px lucida-console,sans-serif !important;">
|
||||
Delivery Address
|
||||
</span>
|
||||
<div t-if="o.move_lines and o.move_lines[0].partner_id and o.move_lines[0].partner_id.id != o.partner_id.id">
|
||||
<div>
|
||||
<span t-field="o.partner_id"/>
|
||||
<br/>
|
||||
<span t-field="o.partner_id.street"/>
|
||||
<br/>
|
||||
<span t-field="o.partner_id.street2"/>
|
||||
<br/>
|
||||
<span t-field="o.partner_id.city"/>
|
||||
<br/>
|
||||
<span t-field="o.partner_id.state_id"/>
|
||||
<br/>
|
||||
<span t-field="o.partner_id.country_id"/>
|
||||
<br/>
|
||||
<span t-field="o.partner_id.vat"/>
|
||||
<br/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div t-if="(o.move_lines and o.move_lines[0].partner_id and o.move_lines[0].partner_id.id == o.partner_id.id) or o.move_lines and not o.move_lines[0].partner_id">
|
||||
<span t-field="o.partner_id"/>
|
||||
<br/>
|
||||
<span t-field="o.partner_id.street"/>
|
||||
<br/>
|
||||
<span t-field="o.partner_id.street2"/>
|
||||
<br/>
|
||||
<span t-field="o.partner_id.city"/>
|
||||
<br/>
|
||||
<span t-field="o.partner_id.state_id"/>
|
||||
<br/>
|
||||
<span t-field="o.partner_id.country_id"/>
|
||||
<br/>
|
||||
<span t-field="o.partner_id.vat"/>
|
||||
<br/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-4"/>
|
||||
<div class="col-8 text-right"
|
||||
style="font:15px lucida-console,sans-serif !important; background-color: #893b74; ">
|
||||
<h2>
|
||||
<span>
|
||||
<font color="#fff">Delivery Note #</font>
|
||||
<span style="color:#FFF !important;" t-field="o.name"/>
|
||||
</span>
|
||||
<br/>
|
||||
</h2>
|
||||
<div>
|
||||
<div class="col-5 text-left">
|
||||
<div>
|
||||
<font color="#fff">Origin:</font>
|
||||
</div>
|
||||
<div style="color:#FFF !important;" t-field="o.picking_type_id"/>
|
||||
</div>
|
||||
<br/>
|
||||
<div class="col-3 text-left">
|
||||
<div>
|
||||
<font color="#fff">Scheduled Date:</font>
|
||||
</div>
|
||||
<div style="color:#FFF !important;" t-field="o.scheduled_date"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<br/>
|
||||
|
||||
<table class="table table-sm" style="padding-top=50px; padding-bottom=50px;"
|
||||
t-if="not o.move_line_ids">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="background-color:#893b74 !important;color:#FFF !important;">Product</th>
|
||||
<th style="background-color:#893b74 !important;color:#FFF !important;">Ordered
|
||||
Quantity
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr t-foreach="o.move_lines" t-as="move">
|
||||
<td>
|
||||
<span t-field="move.product_id"/>
|
||||
</td>
|
||||
<td>
|
||||
<span t-field="move.product_qty"/>
|
||||
<span t-field="move.product_uom"/>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<table class="table table-sm" style="padding-top=50px;" t-if="o.move_line_ids">
|
||||
<t t-set="has_serial_number" t-value="o.move_line_ids.mapped('lot_id')"
|
||||
groups="stock.group_production_lot"/>
|
||||
<thead style=" background-color: #893b74;">
|
||||
<tr>
|
||||
<th style="background-color:#893b74 !important;color:#FFF !important;">Product</th>
|
||||
<th style="background-color:#893b74 !important;color:#FFF !important;" name="lot_serial"
|
||||
t-if="has_serial_number">
|
||||
Lot/Serial Number
|
||||
</th>
|
||||
<th style="background-color:#893b74 !important;color:#FFF !important;"
|
||||
class="text-center">Ordered Quantity
|
||||
</th>
|
||||
<th style="background-color:#893b74 !important;color:#FFF !important;"
|
||||
t-if="any([move_line.state == 'done' for move_line in o.move_line_ids])"
|
||||
class="text-right">
|
||||
Delivered Quantity
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr t-foreach="o.move_line_ids" t-as="move_line">
|
||||
<td>
|
||||
<span t-field="move_line.product_id"/>
|
||||
<p t-if="o.picking_type_code == 'outgoing'">
|
||||
<span t-field="move_line.product_id.description_pickingout"/>
|
||||
</p>
|
||||
<p t-if="o.picking_type_code == 'incoming'">
|
||||
<span t-field="move_line.product_id.description_pickingin"/>
|
||||
</p>
|
||||
<t t-if="not move_line.product_id and move_line.package_id">
|
||||
<span t-field="move_line.package_id"/>
|
||||
</t>
|
||||
</td>
|
||||
<t t-if="has_serial_number">
|
||||
<td>
|
||||
<table width="100%">
|
||||
<tr>
|
||||
<td>
|
||||
<span t-field="move_line.lot_id"/>
|
||||
<t t-if="not move_line.lot_id">
|
||||
<span t-field="move_line.lot_name"/>
|
||||
</t>
|
||||
</td>
|
||||
<td name="lot_qty">
|
||||
<t t-if="move_line.product_qty">
|
||||
<span t-field="move_line.product_qty"/>
|
||||
</t>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</t>
|
||||
<td class="text-center">
|
||||
<span t-field="move_line.package_id"/>
|
||||
<span t-if="move_line.package_id">:</span>
|
||||
<span t-field="move_line.product_qty"/>
|
||||
<span t-field="move_line.product_uom_id"/>
|
||||
</td>
|
||||
<td class="text-right" t-if="move_line.state == 'done'">
|
||||
<t t-if="move_line.product_qty != move_line.qty_done">
|
||||
<t t-set="backorder" t-value="True"/>
|
||||
</t>
|
||||
<span t-field="move_line.qty_done"/>
|
||||
<span t-field="move_line.product_uom_id"/>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p t-if="o.backorder_id">
|
||||
This shipment is a backorder of<t t-esc="o.backorder_id.name"/>.
|
||||
</p>
|
||||
<p>
|
||||
<t t-if="backorder">
|
||||
All items couldn't be shipped, the remaining ones will be shipped as soon as they become
|
||||
available.
|
||||
</t>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
</t>
|
||||
</template>
|
||||
</data>
|
||||
</odoo>
|
||||
@@ -0,0 +1,295 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<data>
|
||||
<template id="classic_report_deliveryslip_document">
|
||||
<t t-if="o and 'company_id' in o">
|
||||
<t t-set="company" t-value="o.company_id"></t>
|
||||
</t>
|
||||
<t t-if="not o or not 'company_id' in o">
|
||||
<t t-set="company" t-value="res_company"></t>
|
||||
</t>
|
||||
<div class="header">
|
||||
<div class="row mt32 mb32">
|
||||
<div class="col-6">
|
||||
<img t-if="company.logo" t-att-src="'data:image/png;base64,%s' % to_text(company.logo)"
|
||||
style="max-height: 50px;"/>
|
||||
</div>
|
||||
<div class="col-6 text-right" style="font:12px lucida-console,sans-serif !important;">
|
||||
<span t-field="company.partner_id"/>
|
||||
<br/>
|
||||
<span t-field="company.partner_id.street"/>
|
||||
<br/>
|
||||
<span t-field="company.partner_id.street2"/>
|
||||
<br/>
|
||||
<span t-field="company.partner_id.city"/>
|
||||
<br/>
|
||||
<span t-field="company.partner_id.country_id"/>
|
||||
<br/>
|
||||
<span t-field="company.partner_id.vat"/>
|
||||
<br/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<t t-call="web.external_layout">
|
||||
<t t-set="o" t-value="o.with_context({'lang':o.partner_id.lang})"/>
|
||||
<div class="page">
|
||||
<div class="oe_structure"/>
|
||||
|
||||
<table class="table table-sm" style=" table-layout:fixed;">
|
||||
<thead>
|
||||
<tr>
|
||||
<th width="30px"
|
||||
style="background-color:#3498DB !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; ">
|
||||
Customer Address
|
||||
</th>
|
||||
<th width="30px"
|
||||
style="background-color:#3498DB !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; ">
|
||||
Contact Address
|
||||
</th>
|
||||
<th width="20px"
|
||||
style="background-color:#3498DB !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; ">
|
||||
Origin
|
||||
</th>
|
||||
<th width="20px"
|
||||
style="background-color:#3498DB !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; ">
|
||||
Scheduled Date
|
||||
</th>
|
||||
<th width="20px"
|
||||
style="background-color:#3498DB !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; ">
|
||||
Delevery #
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="border: 1px !important; border-style: solid !important; border-color: #fff !important;">
|
||||
<div t-field="o.partner_id"/>
|
||||
<t t-if="o.partner_id.street">
|
||||
<t t-esc="o.partner_id.street"/>
|
||||
</t>
|
||||
<br/>
|
||||
<t t-if="o.partner_id.street2">
|
||||
<t t-esc="o.partner_id.street2"/>
|
||||
</t>
|
||||
<br/>
|
||||
<t t-if="o.partner_id.city">
|
||||
<t t-esc="o.partner_id.city"/>
|
||||
</t>
|
||||
<br/>
|
||||
<t t-if="o.partner_id.state_id.name">
|
||||
<t t-esc="o.partner_id.state_id.name"/>
|
||||
</t>
|
||||
<br/>
|
||||
<t t-if="o.partner_id.country_id.name">
|
||||
<t t-esc="o.partner_id.country_id.name"/>
|
||||
</t>
|
||||
<br/>
|
||||
<t t-if="o.partner_id.zip">
|
||||
<t t-esc="o.partner_id.zip"/>
|
||||
</t>
|
||||
<br/>
|
||||
<div t-field="o.partner_id.vat"/>
|
||||
</td>
|
||||
|
||||
<td style="border: 1px !important; border-style: solid !important; border-color: #fff !important;">
|
||||
<div t-if="o.move_lines and o.move_lines[0].partner_id and o.move_lines[0].partner_id.id != o.partner_id.id">
|
||||
<div>
|
||||
<div t-field="o.move_lines[0].partner_id"/>
|
||||
<t t-if="o.move_lines[0].partner_id.street">
|
||||
<t t-esc="o.move_lines[0].partner_id.street"/>
|
||||
</t>
|
||||
<br/>
|
||||
<t t-if="o.move_lines[0].partner_id.street2">
|
||||
<t t-esc="o.move_lines[0].partner_id.street2"/>
|
||||
</t>
|
||||
<br/>
|
||||
<t t-if="o.move_lines[0].partner_id.city">
|
||||
<t t-esc="o.move_lines[0].partner_id.city"/>
|
||||
</t>
|
||||
<br/>
|
||||
<t t-if="o.move_lines[0].partner_id.state_id.name">
|
||||
<t t-esc="o.move_lines[0].partner_id.state_id.name"/>
|
||||
</t>
|
||||
<br/>
|
||||
<t t-if="o.move_lines[0].partner_id.country_id.name">
|
||||
<t t-esc="o.move_lines[0].partner_id.country_id.name"/>
|
||||
</t>
|
||||
<br/>
|
||||
<t t-if="o.move_lines[0].partner_id.zip">
|
||||
<t t-esc="o.move_lines[0].partner_id.zip"/>
|
||||
</t>
|
||||
<br/>
|
||||
</div>
|
||||
<div t-field="o.move_lines[0].partner_id.vat"/>
|
||||
</div>
|
||||
|
||||
<div t-if="(o.move_lines and o.move_lines[0].partner_id and o.move_lines[0].partner_id.id == o.partner_id.id) or o.move_lines and not o.move_lines[0].partner_id">
|
||||
<div t-field="o.partner_id"/>
|
||||
<t t-if="o.partner_id.street">
|
||||
<t t-esc="o.partner_id.street"/>
|
||||
</t>
|
||||
<br/>
|
||||
<t t-if="o.partner_id.street2">
|
||||
<t t-esc="o.partner_id.street2"/>
|
||||
</t>
|
||||
<br/>
|
||||
<t t-if="o.partner_id.city">
|
||||
<t t-esc="o.partner_id.city"/>
|
||||
</t>
|
||||
<br/>
|
||||
<t t-if="o.partner_id.state_id.name">
|
||||
<t t-esc="o.partner_id.state_id.name"/>
|
||||
</t>
|
||||
<br/>
|
||||
<t t-if="o.partner_id.country_id.name">
|
||||
<t t-esc="o.partner_id.country_id.name"/>
|
||||
</t>
|
||||
<br/>
|
||||
<t t-if="o.partner_id.zip">
|
||||
<t t-esc="o.partner_id.zip"/>
|
||||
</t>
|
||||
<br/>
|
||||
<div t-field="o.partner_id.vat"/>
|
||||
</div>
|
||||
</td>
|
||||
<td style="border: 1px !important; border-style: solid !important; border-color: #fff !important;">
|
||||
<div t-field="o.picking_type_id"/>
|
||||
</td>
|
||||
<td style="border: 1px !important; border-style: solid !important; border-color: #fff !important;">
|
||||
<b>
|
||||
<div t-field="o.scheduled_date"/>
|
||||
</b>
|
||||
</td>
|
||||
<td style="border: 1px !important; border-style: solid !important; border-color: #fff !important;">
|
||||
<b>
|
||||
<div t-field="o.name"/>
|
||||
</b>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<table class="table table-sm" t-if="not o.move_line_ids">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="background-color:#3498DB !important;color:#FFF !important;">Product</th>
|
||||
<th style="background-color:#3498DB !important;color:#FFF !important;">Ordered
|
||||
Quantity
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr t-foreach="o.move_lines" t-as="move">
|
||||
<td>
|
||||
<span t-field="move.product_id"/>
|
||||
</td>
|
||||
<td>
|
||||
<span t-field="move.product_qty"/>
|
||||
<span t-field="move.product_uom"/>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<table class="table table-sm" t-if="o.move_line_ids">
|
||||
<t t-set="has_serial_number" t-value="o.move_line_ids.mapped('lot_id')"
|
||||
groups="stock.group_production_lot"/>
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="background-color:#3498DB !important;color:#FFF !important;">Product</th>
|
||||
<th style="background-color:#3498DB !important;color:#FFF !important;" name="lot_serial"
|
||||
t-if="has_serial_number">
|
||||
Lot/Serial Number
|
||||
</th>
|
||||
<th style="background-color:#3498DB !important;color:#FFF !important;"
|
||||
class="text-center">Ordered Quantity
|
||||
</th>
|
||||
<th style="background-color:#3498DB !important;color:#FFF !important;"
|
||||
t-if="any([move_line.state == 'done' for move_line in o.move_line_ids])"
|
||||
class="text-right">
|
||||
Delivered Quantity
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr t-foreach="o.move_line_ids" t-as="move_line">
|
||||
<td>
|
||||
<span t-field="move_line.product_id"/>
|
||||
<p t-if="o.picking_type_code == 'outgoing'">
|
||||
<span t-field="move_line.product_id.description_pickingout"/>
|
||||
</p>
|
||||
<p t-if="o.picking_type_code == 'incoming'">
|
||||
<span t-field="move_line.product_id.description_pickingin"/>
|
||||
</p>
|
||||
<t t-if="not move_line.product_id and move_line.package_id">
|
||||
<span t-field="move_line.package_id"/>
|
||||
</t>
|
||||
</td>
|
||||
<t t-if="has_serial_number">
|
||||
<td>
|
||||
<table width="100%">
|
||||
<tr>
|
||||
<td>
|
||||
<span t-field="move_line.lot_id"/>
|
||||
<t t-if="not move_line.lot_id">
|
||||
<span t-field="move_line.lot_name"/>
|
||||
</t>
|
||||
</td>
|
||||
<td name="lot_qty">
|
||||
<t t-if="move_line.product_qty">
|
||||
<span t-field="move_line.product_qty"/>
|
||||
</t>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</t>
|
||||
<td class="text-center">
|
||||
<span t-field="move_line.package_id"/>
|
||||
<span t-if="move_line.package_id">:</span>
|
||||
<span t-field="move_line.product_qty"/>
|
||||
<span t-field="move_line.product_uom_id"/>
|
||||
</td>
|
||||
<td class="text-right" t-if="move_line.state == 'done'">
|
||||
<t t-if="move_line.product_qty != move_line.qty_done">
|
||||
<t t-set="backorder" t-value="True"/>
|
||||
</t>
|
||||
<span t-field="move_line.qty_done"/>
|
||||
<span t-field="move_line.product_uom_id"/>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
</div>
|
||||
|
||||
</t>
|
||||
</template>
|
||||
|
||||
<template id="report_deliveryslip" inherit_id="stock.report_deliveryslip">
|
||||
<xpath expr="//t[@t-call='stock.report_delivery_document']" position='replace'>
|
||||
|
||||
<t t-call="web.html_container">
|
||||
<t t-foreach="docs" t-as="o">
|
||||
<t t-if="o.company_id.stock_template == 'classic'">
|
||||
<t t-call="bi_professional_reports_templates.classic_report_deliveryslip_document"
|
||||
t-lang="o.partner_id.lang"/>
|
||||
</t>
|
||||
<t t-if="o.company_id.stock_template == 'fency'">
|
||||
<t t-call="bi_professional_reports_templates.fency_report_deliveryslip_document"
|
||||
t-lang="o.partner_id.lang"/>
|
||||
</t>
|
||||
<t t-if="o.company_id.stock_template == 'modern'">
|
||||
<t t-call="bi_professional_reports_templates.modern_report_deliveryslip_document"
|
||||
t-lang="o.partner_id.lang"/>
|
||||
</t>
|
||||
<t t-if="o.company_id.stock_template == 'odoo_standard'">
|
||||
<t t-call="bi_professional_reports_templates.odoo_std_report_deliveryslip_document"
|
||||
t-lang="o.partner_id.lang"/>
|
||||
</t>
|
||||
</t>
|
||||
</t>
|
||||
</xpath>
|
||||
</template>
|
||||
</data>
|
||||
</odoo>
|
||||
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<data>
|
||||
|
||||
</data>
|
||||
</odoo>
|
||||
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<data>
|
||||
|
||||
|
||||
</data>
|
||||
</odoo>
|
||||
@@ -0,0 +1,304 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<data>
|
||||
<template id="fency_report_invoice_document">
|
||||
<t t-if="o and 'company_id' in o">
|
||||
<t t-set="company" t-value="o.company_id"></t>
|
||||
</t>
|
||||
<t t-if="not o or not 'company_id' in o">
|
||||
<t t-set="company" t-value="res_company"></t>
|
||||
</t>
|
||||
<div class="header">
|
||||
<div class="row mt32 mb32">
|
||||
<div class="col-6">
|
||||
<img t-if="company.logo" t-att-src="'data:image/png;base64,%s' % to_text(company.logo)"
|
||||
style="max-height: 50px;"/>
|
||||
</div>
|
||||
<div class="col-6 text-right" style="font:12px lucida-console,sans-serif !important;">
|
||||
<span t-field="company.partner_id"/>
|
||||
<br/>
|
||||
<span t-field="company.partner_id.street"/>
|
||||
<br/>
|
||||
<span t-field="company.partner_id.street2"/>
|
||||
<br/>
|
||||
<span t-field="company.partner_id.city"/>
|
||||
<br/>
|
||||
<span t-field="company.partner_id.country_id"/>
|
||||
<br/>
|
||||
<span t-field="company.partner_id.vat"/>
|
||||
<br/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<t t-call="web.external_layout">
|
||||
<t t-set="o" t-value="o.with_context({'lang':o.partner_id.lang})"/>
|
||||
<div class="page">
|
||||
|
||||
<div style=" background-color: #3498DB;">
|
||||
<h2>
|
||||
<span t-if="o.type == 'out_invoice' and (o.state == 'draft' or o.state == 'posted')">
|
||||
<font color="#fff">Invoice</font>
|
||||
</span>
|
||||
<span t-if="o.type == 'out_invoice' and o.state == 'proforma2'">
|
||||
<font color="#fff">PRO-FORMA</font>
|
||||
</span>
|
||||
<span t-if="o.type == 'out_invoice' and o.state == 'draft'">
|
||||
<font color="#fff">Draft Invoice</font>
|
||||
</span>
|
||||
<span t-if="o.type == 'out_invoice' and o.state == 'cancel'">
|
||||
<font color="#fff">Cancelled Invoice</font>
|
||||
</span>
|
||||
<span t-if="o.type == 'out_refund'">
|
||||
<font color="#fff">Refund</font>
|
||||
</span>
|
||||
<span t-if="o.type == 'in_refund'">
|
||||
<font color="#fff">Vendor Refund</font>
|
||||
</span>
|
||||
<span t-if="o.type == 'in_invoice'">
|
||||
<font color="#fff">Vendor Bill</font>
|
||||
</span>
|
||||
<font color="#fff">
|
||||
<span t-field="o.name"/>
|
||||
</font>
|
||||
</h2>
|
||||
|
||||
<div class="row mt32 mb32">
|
||||
|
||||
<div class="col-3" t-if="o.invoice_date">
|
||||
<font color="#fff">
|
||||
<strong>Invoice Date:</strong>
|
||||
<p t-field="o.invoice_date"/>
|
||||
</font>
|
||||
</div>
|
||||
|
||||
<div class="col-3"
|
||||
t-if="o.invoice_date_due and o.type == 'out_invoice' and (o.state == 'draft' or o.state == 'posted')">
|
||||
<font color="#fff">
|
||||
<strong>Due Date:</strong>
|
||||
<p t-field="o.invoice_date_due"/>
|
||||
</font>
|
||||
</div>
|
||||
<div class="col-3" t-if="o.invoice_payment_term_id">
|
||||
<font color="#fff">
|
||||
<strong>Payment Term:</strong>
|
||||
<p t-field="o.invoice_payment_term_id"/>
|
||||
</font>
|
||||
</div>
|
||||
|
||||
<div class="col-3" t-if="o.user_id">
|
||||
<font color="#fff">
|
||||
<strong>SalesPerson:</strong>
|
||||
<p t-field="o.user_id"/>
|
||||
</font>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div style="padding-top:20px;">
|
||||
<div class="col-3" style="font:15px lucida-console,sans-serif !important;">
|
||||
<strong>Customer Address</strong>
|
||||
<br/>
|
||||
<span style="color:#3498DB !important;" t-field="o.partner_id"/>
|
||||
<br/>
|
||||
<span style="color:gray !important;" t-field="o.partner_id.street"/>
|
||||
<br/>
|
||||
<span style="color:gray !important;" t-field="o.partner_id.street2"/>
|
||||
<br/>
|
||||
<span style="color:gray !important;" t-field="o.partner_id.city"/>
|
||||
<br/>
|
||||
<span style="color:gray !important;" t-field="o.partner_id.country_id"/>
|
||||
<br/>
|
||||
<span style="color:gray !important;" t-field="o.partner_id.vat"/>
|
||||
<br/>
|
||||
</div>
|
||||
<div style="padding-top:20px;"></div>
|
||||
<!-- Is there a discount on at least one line? -->
|
||||
<t t-set="display_discount" t-value="any([l.discount for l in o.invoice_line_ids])"/>
|
||||
|
||||
<table class="table table-sm">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="background-color:#3498DB !important;color:#FFF !important;">Description
|
||||
</th>
|
||||
<th class="text-right"
|
||||
style="background-color:#3498DB !important;color:#FFF !important;">Quantity
|
||||
</th>
|
||||
<th class="text-right"
|
||||
style="background-color:#3498DB !important;color:#FFF !important;">Unit Price
|
||||
</th>
|
||||
<th t-if="display_discount" class="text-right"
|
||||
groups="sale.group_discount_per_so_line"
|
||||
style="background-color:#3498DB !important;color:#FFF !important;">Disc.(%)
|
||||
</th>
|
||||
<th class="text-right"
|
||||
style="background-color:#3498DB !important;color:#FFF !important;">Taxes
|
||||
</th>
|
||||
<th class="text-right"
|
||||
style="background-color:#3498DB !important;color:#FFF !important;">Price
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="invoice_tbody">
|
||||
<tr t-foreach="o.invoice_line_ids" t-as="l">
|
||||
<td>
|
||||
<span t-field="l.name"/>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<span t-field="l.quantity"/>
|
||||
<span t-field="l.uom_id" groups="product.group_uom"/>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<span t-field="l.price_unit"/>
|
||||
</td>
|
||||
<td t-if="display_discount" class="text-right"
|
||||
groups="sale.group_discount_per_so_line">
|
||||
<span t-field="l.discount"/>
|
||||
</td>
|
||||
<td>
|
||||
<span t-esc="', '.join(map(lambda x: (x.description or x.name), l.tax_ids))"/>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<span t-field="l.price_subtotal"
|
||||
t-field-options='{"widget": "monetary", "display_currency": "o.currency_id"}'/>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<div class="col-4 pull-right">
|
||||
<table class="table table-condensed">
|
||||
<tr class="border-black">
|
||||
<td>
|
||||
<strong>Subtotal</strong>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<span t-field="o.amount_untaxed"
|
||||
t-field-options='{"widget": "monetary", "display_currency": "o.currency_id"}'/>
|
||||
</td>
|
||||
</tr>
|
||||
<t t-foreach="o.amount_by_group" t-as="amount_by_group">
|
||||
<tr>
|
||||
<td><span t-esc="amount_by_group[0]"/></td>
|
||||
<td class="text-right">
|
||||
<span t-esc="amount_by_group[1]"/>
|
||||
</td>
|
||||
</tr>
|
||||
</t>
|
||||
<tr class="border-black">
|
||||
<td>
|
||||
<strong>Total</strong>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<span t-field="o.amount_total"
|
||||
t-field-options='{"widget": "monetary", "display_currency": "o.currency_id"}'/>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div style="padding-top:50px;">
|
||||
</div>
|
||||
<p t-if="o.narration">
|
||||
<strong>Comment:</strong>
|
||||
<span t-field="o.narration"/>
|
||||
</p>
|
||||
<p t-if="o.paypal_chk">
|
||||
<strong style="color:#3498DB !important;">Paypal Account Details</strong>
|
||||
<br/>
|
||||
<span>Paypal Id :</span>
|
||||
<span style="color:gray !important;" t-field="o.paypal_id"/>
|
||||
</p>
|
||||
<p t-if="o.paypal_chk == False">
|
||||
<strong style="color:#3498DB !important;">Bank Account Details</strong>
|
||||
<br/>
|
||||
<span>Account Id :</span>
|
||||
<span style="color:gray !important;" t-field="o.company_id.bank_account_id.acc_number"/>
|
||||
<br/>
|
||||
<span>Bank Name :</span>
|
||||
<span style="color:gray !important;" t-field="o.company_id.bank_account_id.bank_id.name"/>
|
||||
<br/>
|
||||
<span>Branch Name/Address :</span>
|
||||
<span style="color:gray !important;" t-field="o.company_id.bank_account_id.branch_name"/>
|
||||
<br/>
|
||||
<span style="color:gray !important;" t-field="o.company_id.bank_account_id.street"/>
|
||||
<br/>
|
||||
<span style="color:gray !important;" t-field="o.company_id.bank_account_id.street2"/>
|
||||
<span>,</span>
|
||||
<span style="color:gray !important;" t-field="o.company_id.bank_account_id.city"/>
|
||||
<span>,</span>
|
||||
<span style="color:gray !important;" t-field="o.company_id.bank_account_id.zip"/>
|
||||
<br/>
|
||||
<span style="color:gray !important;" t-field="o.company_id.bank_account_id.state_id"/>
|
||||
<span>,</span>
|
||||
<span style="color:gray !important;" t-field="o.company_id.bank_account_id.country_id"/>
|
||||
<br/>
|
||||
<span>Swift Code :</span>
|
||||
<span style="color:gray !important;" t-field="o.company_id.bank_account_id.swift_code"/>
|
||||
<br/>
|
||||
<span>IFSC Code :</span>
|
||||
<span style="color:gray !important;" t-field="o.company_id.bank_account_id.ifsc"/>
|
||||
<br/>
|
||||
|
||||
</p>
|
||||
<p t-if="o.fiscal_position_id.note">
|
||||
<strong>Fiscal Position Remark:</strong>
|
||||
<span t-field="o.fiscal_position_id.note"/>
|
||||
</p>
|
||||
</div>
|
||||
</t>
|
||||
</template>
|
||||
|
||||
<template id="report_invoice" inherit_id="account.report_invoice_with_payments">
|
||||
<xpath expr="//t[@t-call='account.report_invoice_document_with_payments']" position="replace">
|
||||
<t t-call="web.html_container">
|
||||
<t t-foreach="docs" t-as="o">
|
||||
<t t-if="o.company_id.account_template == 'fency' ">
|
||||
<t t-call="bi_professional_reports_templates.fency_report_invoice_document"
|
||||
t-lang="o.partner_id.lang"/>
|
||||
</t>
|
||||
<t t-if="o.company_id.account_template == 'classic' ">
|
||||
<t t-call="bi_professional_reports_templates.classic_report_invoice_document"
|
||||
t-lang="o.partner_id.lang"/>
|
||||
</t>
|
||||
<t t-if="o.company_id.account_template == 'modern' ">
|
||||
<t t-call="bi_professional_reports_templates.modern_report_invoice_document"
|
||||
t-lang="o.partner_id.lang"/>
|
||||
</t>
|
||||
<t t-if="o.company_id.account_template == 'odoo_standard' ">
|
||||
<t t-call="bi_professional_reports_templates.odoo_std_report_invoice_document"
|
||||
t-lang="o.partner_id.lang"/>
|
||||
</t>
|
||||
</t>
|
||||
</t>
|
||||
</xpath>
|
||||
</template>
|
||||
|
||||
<template id="report_invoices" inherit_id="account.report_invoice">
|
||||
|
||||
<xpath expr="//t[@t-call='account.report_invoice_document']" position="replace">
|
||||
<t t-call="web.html_container">
|
||||
<t t-foreach="docs" t-as="o">
|
||||
<t t-if="o.company_id.account_template == 'fency' ">
|
||||
<t t-call="bi_professional_reports_templates.fency_report_invoice_document"
|
||||
t-lang="o.partner_id.lang"/>
|
||||
</t>
|
||||
<t t-if="o.company_id.account_template == 'classic' ">
|
||||
<t t-call="bi_professional_reports_templates.classic_report_invoice_document"
|
||||
t-lang="o.partner_id.lang"/>
|
||||
</t>
|
||||
<t t-if="o.company_id.account_template == 'modern' ">
|
||||
<t t-call="bi_professional_reports_templates.modern_report_invoice_document"
|
||||
t-lang="o.partner_id.lang"/>
|
||||
</t>
|
||||
<t t-if="o.company_id.account_template == 'odoo_standard' ">
|
||||
<t t-call="bi_professional_reports_templates.odoo_std_report_invoice_document"
|
||||
t-lang="o.partner_id.lang"/>
|
||||
</t>
|
||||
</t>
|
||||
</t>
|
||||
</xpath>
|
||||
</template>
|
||||
|
||||
</data>
|
||||
</odoo>
|
||||
@@ -0,0 +1,322 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<data>
|
||||
<template id="classic_report_invoice_document">
|
||||
<t t-if="o and 'company_id' in o">
|
||||
<t t-set="company" t-value="o.company_id"></t>
|
||||
</t>
|
||||
<t t-if="not o or not 'company_id' in o">
|
||||
<t t-set="company" t-value="res_company"></t>
|
||||
</t>
|
||||
<div class="header">
|
||||
<div class="row mt32 mb32">
|
||||
<div class="col-6">
|
||||
<img t-if="company.logo" t-att-src="'data:image/png;base64,%s' % to_text(company.logo)"
|
||||
style="max-height: 50px;"/>
|
||||
</div>
|
||||
<div class="col-6 text-right" style="font:12px lucida-console,sans-serif !important;">
|
||||
<span t-field="company.partner_id"/>
|
||||
<br/>
|
||||
<span t-field="company.partner_id.street"/>
|
||||
<br/>
|
||||
<span t-field="company.partner_id.street2"/>
|
||||
<br/>
|
||||
<span t-field="company.partner_id.city"/>
|
||||
<br/>
|
||||
<span t-field="company.partner_id.country_id"/>
|
||||
<br/>
|
||||
<span t-field="company.partner_id.vat"/>
|
||||
<br/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<t t-call="web.external_layout">
|
||||
<t t-set="o" t-value="o.with_context({'lang':o.partner_id.lang})"/>
|
||||
<div class="page">
|
||||
<div class="oe_structure"/>
|
||||
<div>
|
||||
<table class="table table-sm" style=" table-layout:fixed;">
|
||||
<thead>
|
||||
<tr>
|
||||
<th width="30px"
|
||||
style="background-color:#3498DB !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; ">
|
||||
Customer
|
||||
</th>
|
||||
<th width="30px"
|
||||
style="background-color:#3498DB !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; ">
|
||||
Delivery Address
|
||||
</th>
|
||||
<th width="20px"
|
||||
style="background-color:#3498DB !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; ">
|
||||
Reference/Description
|
||||
</th>
|
||||
<th width="20px"
|
||||
style="background-color:#3498DB !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; ">
|
||||
Invoice #
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="border: 1px !important; border-style: solid !important; border-color: #fff !important;">
|
||||
<div t-field="o.partner_id"/>
|
||||
<t t-if="o.partner_id.street">
|
||||
<t t-esc="o.partner_id.street"/>
|
||||
</t>
|
||||
<br/>
|
||||
<t t-if="o.partner_id.street2">
|
||||
<t t-esc="o.partner_id.street2"/>
|
||||
</t>
|
||||
<br/>
|
||||
<t t-if="o.partner_id.city">
|
||||
<t t-esc="o.partner_id.city"/>
|
||||
</t>
|
||||
<br/>
|
||||
<t t-if="o.partner_id.state_id.name">
|
||||
<t t-esc="o.partner_id.state_id.name"/>
|
||||
</t>
|
||||
<br/>
|
||||
<t t-if="o.partner_id.country_id.name">
|
||||
<t t-esc="o.partner_id.country_id.name"/>
|
||||
</t>
|
||||
<br/>
|
||||
<t t-if="o.partner_id.zip">
|
||||
<t t-esc="o.partner_id.zip"/>
|
||||
</t>
|
||||
<br/>
|
||||
<div t-field="o.partner_id.vat"/>
|
||||
</td>
|
||||
<td style="border: 1px !important; border-style: solid !important; border-color: #fff !important;">
|
||||
<div t-field="o.partner_shipping_id"/>
|
||||
<t t-if="o.partner_id.street">
|
||||
<t t-esc="o.partner_shipping_id.street"/>
|
||||
</t>
|
||||
<br/>
|
||||
<t t-if="o.partner_shipping_id.street2">
|
||||
<t t-esc="o.partner_shipping_id.street2"/>
|
||||
</t>
|
||||
<br/>
|
||||
<t t-if="o.partner_shipping_id.city">
|
||||
<t t-esc="o.partner_shipping_id.city"/>
|
||||
</t>
|
||||
<br/>
|
||||
<t t-if="o.partner_shipping_id.state_id.name">
|
||||
<t t-esc="o.partner_shipping_id.state_id.name"/>
|
||||
</t>
|
||||
<br/>
|
||||
<t t-if="o.partner_shipping_id.country_id.name">
|
||||
<t t-esc="o.partner_shipping_id.country_id.name"/>
|
||||
</t>
|
||||
<br/>
|
||||
<t t-if="o.partner_shipping_id.zip">
|
||||
<t t-esc="o.partner_shipping_id.zip"/>
|
||||
</t>
|
||||
<br/>
|
||||
<div t-field="o.partner_shipping_id.vat"/>
|
||||
</td>
|
||||
<td style="border: 1px !important; border-style: solid !important; border-color: #fff !important;">
|
||||
<div t-field="o.name"/>
|
||||
</td>
|
||||
<td style="border: 1px !important; border-style: solid !important; border-color: #fff !important;">
|
||||
<div t-if="o.type == 'out_invoice' and o.state == 'proforma2'">PRO-FORMA</div>
|
||||
<div t-if="o.type == 'out_invoice' and o.state == 'draft'">Draft Invoice</div>
|
||||
<br/>
|
||||
<b>
|
||||
<div t-field="o.name"/>
|
||||
</b>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<table class="table table-sm" style=" table-layout:fixed; padding-top=20px;">
|
||||
<thead>
|
||||
<tr>
|
||||
<th width="30px"
|
||||
style="background-color:#3498DB !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; ">
|
||||
Invoice Date
|
||||
</th>
|
||||
<th width="30px"
|
||||
style="background-color:#3498DB !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; ">
|
||||
Due Date
|
||||
</th>
|
||||
<th width="20px"
|
||||
style="background-color:#3498DB !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; ">
|
||||
Payment Term
|
||||
</th>
|
||||
<th width="20px"
|
||||
style="background-color:#3498DB !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; ">
|
||||
SalesPerson
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="border: 1px !important; border-style: solid !important; border-color: #fff !important;">
|
||||
<div t-field="o.invoice_date"/>
|
||||
</td>
|
||||
<td style="border: 1px !important; border-style: solid !important; border-color: #fff !important;">
|
||||
<div t-field="o.invoice_date_due"/>
|
||||
</td>
|
||||
<td style="border: 1px !important; border-style: solid !important; border-color: #fff !important;">
|
||||
<div t-field="o.invoice_payment_term_id"/>
|
||||
</td>
|
||||
<td style="border: 1px !important; border-style: solid !important; border-color: #fff !important;">
|
||||
<div t-field="o.user_id"/>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<div style="padding-top:20px;"></div>
|
||||
<!-- Is there a discount on at least one line? -->
|
||||
<t t-set="display_discount" t-value="any([l.discount for l in o.invoice_line_ids])"/>
|
||||
|
||||
<table class="table table-sm">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="background-color:#3498DB !important;color:#FFF !important;">Description
|
||||
</th>
|
||||
<th style="background-color:#3498DB !important;color:#FFF !important;">Quantity</th>
|
||||
<th style="background-color:#3498DB !important;color:#FFF !important;">Unit Price
|
||||
</th>
|
||||
<th style="background-color:#3498DB !important;color:#FFF !important;"
|
||||
t-if="display_discount" class="text-right"
|
||||
groups="sale.group_discount_per_so_line">Disc.(%)
|
||||
</th>
|
||||
<th style="background-color:#3498DB !important;color:#FFF !important;">Taxes</th>
|
||||
<th style="background-color:#3498DB !important;color:#FFF !important;">Price</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="invoice_tbody">
|
||||
<tr t-foreach="o.invoice_line_ids" t-as="l">
|
||||
<td>
|
||||
<span t-field="l.name"/>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<span t-field="l.quantity"/>
|
||||
<span t-field="l.uom_id" groups="product.group_uom"/>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<span t-field="l.price_unit"/>
|
||||
</td>
|
||||
<td t-if="display_discount" class="text-right"
|
||||
groups="sale.group_discount_per_so_line">
|
||||
<span t-field="l.discount"/>
|
||||
</td>
|
||||
<td>
|
||||
<span t-esc="', '.join(map(lambda x: (x.description or x.name), l.tax_ids))"/>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<span t-field="l.price_subtotal"
|
||||
t-field-options='{"widget": "monetary", "display_currency": "o.currency_id"}'/>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div>
|
||||
<div class="col-6 pull-right">
|
||||
<table class="table table-condensed">
|
||||
<tr class="border-black">
|
||||
<td>
|
||||
<strong>Subtotal</strong>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<span t-field="o.amount_untaxed"
|
||||
t-field-options='{"widget": "monetary", "display_currency": "o.currency_id"}'/>
|
||||
</td>
|
||||
</tr>
|
||||
<t t-foreach="o.amount_by_group" t-as="amount_by_group">
|
||||
<tr>
|
||||
<td><span t-esc="amount_by_group[0]"/></td>
|
||||
<td class="text-right">
|
||||
<span t-esc="amount_by_group[1]"/>
|
||||
</td>
|
||||
</tr>
|
||||
</t>
|
||||
<tr class="border-black" style=" background-color: #3498DB; color:#fff !important;">
|
||||
<td>
|
||||
<strong>Total</strong>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<span t-field="o.amount_total"
|
||||
t-field-options='{"widget": "monetary", "display_currency": "o.currency_id"}'/>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<br/>
|
||||
<br/>
|
||||
<br/>
|
||||
<div style="padding-top:50px;">
|
||||
</div>
|
||||
<p t-if="o.narration">
|
||||
<strong>Comment:</strong>
|
||||
<span t-field="o.narration"/>
|
||||
</p>
|
||||
<p t-if="o.paypal_chk">
|
||||
<div style="background-color: #3498DB;">
|
||||
<strong style="color:#fff !important;">Paypal Account Details</strong>
|
||||
<br/>
|
||||
<span>
|
||||
<font color="#fff">Paypal Id :</font>
|
||||
</span>
|
||||
<span style="color:#fff !important;" t-field="o.paypal_id"/>
|
||||
</div>
|
||||
</p>
|
||||
<p t-if="o.paypal_chk == False">
|
||||
<div style="background-color: #3498DB;">
|
||||
<strong style="color:#fff !important;">Bank Account Details</strong>
|
||||
<br/>
|
||||
<span>
|
||||
<font color="#fff">Account Id :</font>
|
||||
</span>
|
||||
<span style="color:#fff !important;" t-field="o.company_id.bank_account_id.acc_number"/>
|
||||
<br/>
|
||||
<span>
|
||||
<font color="#fff">Bank Name :</font>
|
||||
</span>
|
||||
<span style="color:#fff !important;" t-field="o.company_id.bank_account_id.bank_id.name"/>
|
||||
<br/>
|
||||
<span>
|
||||
<font color="#fff">Branch Name/Address :</font>
|
||||
</span>
|
||||
<span style="color:#fff !important;" t-field="o.company_id.bank_account_id.branch_name"/>
|
||||
<br/>
|
||||
<span style="color:#fff !important;" t-field="o.company_id.bank_account_id.street"/>
|
||||
<br/>
|
||||
<span style="color:#fff !important;" t-field="o.company_id.bank_account_id.street2"/>
|
||||
<span style="color:#fff !important;">,</span>
|
||||
<span style="color:#fff !important;" t-field="o.company_id.bank_account_id.city"/>
|
||||
<span style="color:#fff !important;">,</span>
|
||||
<span style="color:#fff !important;" t-field="o.company_id.bank_account_id.zip"/>
|
||||
<br/>
|
||||
<span style="color:#fff !important;" t-field="o.company_id.bank_account_id.state_id"/>
|
||||
<span style="color:#fff !important;">,</span>
|
||||
<span style="color:#fff !important;" t-field="o.company_id.bank_account_id.country_id"/>
|
||||
<br/>
|
||||
<span>
|
||||
<font color="#fff">Swift Code :</font>
|
||||
</span>
|
||||
<span style="color:#fff !important;" t-field="o.company_id.bank_account_id.swift_code"/>
|
||||
<br/>
|
||||
<span>
|
||||
<font color="#fff">IFSC Code :</font>
|
||||
</span>
|
||||
<span style="color:#fff !important;" t-field="o.company_id.bank_account_id.ifsc"/>
|
||||
<br/>
|
||||
</div>
|
||||
</p>
|
||||
<p t-if="o.fiscal_position_id.note">
|
||||
<strong>Fiscal Position Remark:</strong>
|
||||
<span t-field="o.fiscal_position_id.note"/>
|
||||
</p>
|
||||
</div>
|
||||
</t>
|
||||
</template>
|
||||
|
||||
</data>
|
||||
</odoo>
|
||||
@@ -0,0 +1,236 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<data>
|
||||
<template id="modern_report_invoice_document">
|
||||
<t t-if="o and 'company_id' in o">
|
||||
<t t-set="company" t-value="o.company_id"></t>
|
||||
</t>
|
||||
<t t-if="not o or not 'company_id' in o">
|
||||
<t t-set="company" t-value="res_company"></t>
|
||||
</t>
|
||||
<div class="header">
|
||||
<div class="row mt32 mb32">
|
||||
<div class="col-6">
|
||||
<img t-if="company.logo" t-att-src="'data:image/png;base64,%s' % to_text(company.logo)" style="max-height: 50px;" />
|
||||
</div>
|
||||
<div class="col-6 text-right" style="font:12px lucida-console,sans-serif !important;">
|
||||
<span t-field="company.partner_id" />
|
||||
<br/>
|
||||
<span t-field="company.partner_id.street" />
|
||||
<br/>
|
||||
<span t-field="company.partner_id.street2" />
|
||||
<br/>
|
||||
<span t-field="company.partner_id.city" />
|
||||
<br/>
|
||||
<span t-field="company.partner_id.country_id" />
|
||||
<br/>
|
||||
<span t-field="company.partner_id.vat" />
|
||||
<br/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<t t-call="web.external_layout">
|
||||
<t t-set="o" t-value="o.with_context({'lang':o.partner_id.lang})" />
|
||||
<div class="page">
|
||||
<div class="oe_structure"/>
|
||||
<div>
|
||||
<table class="table table-sm" style=" table-layout:fixed;" >
|
||||
<thead>
|
||||
<tr>
|
||||
<th width="30px" style="background-color:#893b74 !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; ">Customer</th>
|
||||
<th width="30px" style="background-color:#893b74 !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; ">Delivery Address</th>
|
||||
<th width="20px" style="background-color:#893b74 !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; ">Reference/Description</th>
|
||||
<th width="20px" style="background-color:#893b74 !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; ">Invoice #</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="border: 1px !important; border-style: solid !important; border-color: #fff !important;">
|
||||
<div t-field="o.partner_id"/>
|
||||
<t t-if="o.partner_id.street">
|
||||
<t t-esc="o.partner_id.street"/>
|
||||
</t><br/>
|
||||
<t t-if="o.partner_id.street2">
|
||||
<t t-esc="o.partner_id.street2"/>
|
||||
</t><br/>
|
||||
<t t-if="o.partner_id.city">
|
||||
<t t-esc="o.partner_id.city"/>
|
||||
</t><br/>
|
||||
<t t-if="o.partner_id.state_id.name">
|
||||
<t t-esc="o.partner_id.state_id.name"/>
|
||||
</t><br/>
|
||||
<t t-if="o.partner_id.country_id.name">
|
||||
<t t-esc="o.partner_id.country_id.name"/>
|
||||
</t><br/>
|
||||
<t t-if="o.partner_id.zip">
|
||||
<t t-esc="o.partner_id.zip"/>
|
||||
</t><br/>
|
||||
<div t-field="o.partner_id.vat"/>
|
||||
</td>
|
||||
<td style="border: 1px !important; border-style: solid !important; border-color: #fff !important;">
|
||||
<div t-field="o.partner_shipping_id"/>
|
||||
<t t-if="o.partner_id.street">
|
||||
<t t-esc="o.partner_shipping_id.street"/>
|
||||
</t><br/>
|
||||
<t t-if="o.partner_shipping_id.street2">
|
||||
<t t-esc="o.partner_shipping_id.street2"/>
|
||||
</t><br/>
|
||||
<t t-if="o.partner_shipping_id.city">
|
||||
<t t-esc="o.partner_shipping_id.city"/>
|
||||
</t><br/>
|
||||
<t t-if="o.partner_shipping_id.state_id.name">
|
||||
<t t-esc="o.partner_shipping_id.state_id.name"/>
|
||||
</t><br/>
|
||||
<t t-if="o.partner_shipping_id.country_id.name">
|
||||
<t t-esc="o.partner_shipping_id.country_id.name"/>
|
||||
</t><br/>
|
||||
<t t-if="o.partner_shipping_id.zip">
|
||||
<t t-esc="o.partner_shipping_id.zip"/>
|
||||
</t><br/>
|
||||
<div t-field="o.partner_shipping_id.vat"/>
|
||||
</td>
|
||||
<td style="border: 1px !important; border-style: solid !important; border-color: #fff !important;">
|
||||
<div t-field="o.name"/>
|
||||
</td>
|
||||
<td style="border: 1px !important; border-style: solid !important; border-color: #fff !important;">
|
||||
<div t-if="o.type == 'out_invoice' and o.state == 'proforma2'">PRO-FORMA</div>
|
||||
<div t-if="o.type == 'out_invoice' and o.state == 'draft'"> Draft Invoice </div>
|
||||
<br/>
|
||||
<b><div t-field="o.name"/></b>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<table class="table table-sm" style=" table-layout:fixed; padding-top=20px;" >
|
||||
<thead>
|
||||
<tr>
|
||||
<th width="30px" style="background-color:#893b74 !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; ">Invoice Date</th>
|
||||
<th width="30px" style="background-color:#893b74 !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; ">Due Date</th>
|
||||
<th width="20px" style="background-color:#893b74 !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; ">Payment Term</th>
|
||||
<th width="20px" style="background-color:#893b74 !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; ">SalesPerson</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="border: 1px !important; border-style: solid !important; border-color: #fff !important;">
|
||||
<div t-field="o.invoice_date"/>
|
||||
</td>
|
||||
<td style="border: 1px !important; border-style: solid !important; border-color: #fff !important;">
|
||||
<div t-field="o.invoice_date_due"/>
|
||||
</td>
|
||||
<td style="border: 1px !important; border-style: solid !important; border-color: #fff !important;">
|
||||
<div t-field="o.invoice_payment_term_id"/>
|
||||
</td>
|
||||
<td style="border: 1px !important; border-style: solid !important; border-color: #fff !important;">
|
||||
<div t-field="o.user_id"/>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<div style="padding-top:20px;"></div>
|
||||
<!-- Is there a discount on at least one line? -->
|
||||
<t t-set="display_discount" t-value="any([l.discount for l in o.invoice_line_ids])"/>
|
||||
|
||||
<table class="table table-sm">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="border: 1px !important; border-style: solid !important; border-color: #fff !important;">Description</th>
|
||||
<th style="border: 1px !important; border-style: solid !important; border-color: #fff !important;">Quantity </th>
|
||||
<th style="border: 1px !important; border-style: solid !important; border-color: #fff !important;">Unit Price</th>
|
||||
<th style="border: 1px !important; border-style: solid !important; border-color: #fff !important;" t-if="display_discount" class="text-right" groups="sale.group_discount_per_so_line">Disc.(%)</th>
|
||||
<th style="border: 1px !important; border-style: solid !important; border-color: #fff !important;">Taxes</th>
|
||||
<th style="border: 1px !important; border-style: solid !important; border-color: #fff !important;">Price</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="invoice_tbody">
|
||||
<tr t-foreach="o.invoice_line_ids" t-as="l">
|
||||
<td><span t-field="l.name"/></td>
|
||||
<td class="text-right">
|
||||
<span t-field="l.quantity"/>
|
||||
<span t-field="l.uom_id" groups="product.group_uom"/>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<span t-field="l.price_unit"/>
|
||||
</td>
|
||||
<td t-if="display_discount" class="text-right" groups="sale.group_discount_per_so_line">
|
||||
<span t-field="l.discount"/>
|
||||
</td>
|
||||
<td>
|
||||
<span t-esc="', '.join(map(lambda x: (x.description or x.name), l.tax_ids))"/>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<span t-field="l.price_subtotal"
|
||||
t-field-options='{"widget": "monetary", "display_currency": "o.currency_id"}'/>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div>
|
||||
<div class="col-4 pull-right">
|
||||
<table class="table table-sm">
|
||||
<tr class="border-black">
|
||||
<td><strong>Subtotal</strong></td>
|
||||
<td class="text-right">
|
||||
<span t-field="o.amount_untaxed" t-field-options='{"widget": "monetary", "display_currency": "o.currency_id"}'/>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<t t-foreach="o.amount_by_group" t-as="amount_by_group">
|
||||
<tr>
|
||||
<td><span t-esc="amount_by_group[0]"/></td>
|
||||
<td class="text-right">
|
||||
<span t-esc="amount_by_group[1]"/>
|
||||
</td>
|
||||
</tr>
|
||||
</t>
|
||||
<tr class="border-black" >
|
||||
<td style=" background-color: #893b74; color:#fff !important;"><strong>Total</strong></td>
|
||||
<td style=" background-color: #893b74; color:#fff !important;" class="text-right">
|
||||
<span t-field="o.amount_total" t-field-options='{"widget": "monetary", "display_currency": "o.currency_id"}'/>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<br/><br/><br/>
|
||||
<div style="padding-top:50px;">
|
||||
</div>
|
||||
<p t-if="o.narration">
|
||||
<strong>Comment:</strong>
|
||||
<span t-field="o.narration"/>
|
||||
</p>
|
||||
<p t-if="o.paypal_chk">
|
||||
<div style="background-color: #893b74;">
|
||||
<strong style="color:#fff !important;">Paypal Account Details</strong><br/>
|
||||
<span><font color="#fff">Paypal Id :</font> </span><span style="color:#fff !important;" t-field="o.paypal_id"/>
|
||||
</div>
|
||||
</p>
|
||||
<p t-if="o.paypal_chk == False">
|
||||
<div style="background-color: #893b74;">
|
||||
<strong style="color:#fff !important;">Bank Account Details</strong><br/>
|
||||
<span><font color="#fff">Account Id :</font> </span><span style="color:#fff !important;" t-field="o.company_id.bank_account_id.acc_number"/><br/>
|
||||
<span><font color="#fff">Bank Name :</font> </span><span style="color:#fff !important;" t-field="o.company_id.bank_account_id.bank_id.name"/><br/>
|
||||
<span><font color="#fff">Branch Name/Address :</font> </span><span style="color:#fff !important;" t-field="o.company_id.bank_account_id.branch_name"/><br/>
|
||||
<span style="color:#fff !important;" t-field="o.company_id.bank_account_id.street"/><br/>
|
||||
<span style="color:#fff !important;" t-field="o.company_id.bank_account_id.street2"/><span style="color:#fff !important;">,</span>
|
||||
<span style="color:#fff !important;" t-field="o.company_id.bank_account_id.city"/><span style="color:#fff !important;">,</span>
|
||||
<span style="color:#fff !important;" t-field="o.company_id.bank_account_id.zip"/><br/>
|
||||
<span style="color:#fff !important;" t-field="o.company_id.bank_account_id.state_id"/><span style="color:#fff !important;">,</span><span style="color:#fff !important;" t-field="o.company_id.bank_account_id.country_id"/><br/>
|
||||
<span><font color="#fff">Swift Code :</font> </span><span style="color:#fff !important;" t-field="o.company_id.bank_account_id.swift_code"/><br/>
|
||||
<span><font color="#fff">IFSC Code : </font></span><span style="color:#fff !important;" t-field="o.company_id.bank_account_id.ifsc"/><br/>
|
||||
</div>
|
||||
</p>
|
||||
<p t-if="o.fiscal_position_id.note">
|
||||
<strong>Fiscal Position Remark:</strong>
|
||||
<span t-field="o.fiscal_position_id.note"/>
|
||||
</p>
|
||||
</div>
|
||||
</t>
|
||||
</template>
|
||||
|
||||
|
||||
</data>
|
||||
</odoo>
|
||||
@@ -0,0 +1,179 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<data>
|
||||
<template id="odoo_std_report_invoice_document">
|
||||
<t t-if="o and 'company_id' in o">
|
||||
<t t-set="company" t-value="o.company_id"></t>
|
||||
</t>
|
||||
<t t-if="not o or not 'company_id' in o">
|
||||
<t t-set="company" t-value="res_company"></t>
|
||||
</t>
|
||||
<div class="header">
|
||||
<div class="row mt32 mb32">
|
||||
<div class="col-6">
|
||||
<img t-if="company.logo" t-att-src="'data:image/png;base64,%s' % to_text(company.logo)" style="max-height: 50px;" />
|
||||
</div>
|
||||
<div class="col-6 text-right" style="font:12px lucida-console,sans-serif !important;">
|
||||
<span t-field="company.partner_id" />
|
||||
<br/>
|
||||
<span t-field="company.partner_id.street" />
|
||||
<br/>
|
||||
<span t-field="company.partner_id.street2" />
|
||||
<br/>
|
||||
<span t-field="company.partner_id.city" />
|
||||
<br/>
|
||||
<span t-field="company.partner_id.country_id" />
|
||||
<br/>
|
||||
<span t-field="company.partner_id.vat" />
|
||||
<br/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<t t-call="web.external_layout">
|
||||
<t t-set="o" t-value="o.with_context({'lang':o.partner_id.lang})" />
|
||||
<div class="page">
|
||||
<div class="row" style="padding-top:20px;">
|
||||
<div class="col-3" style="font:15px lucida-console,sans-serif !important;" >
|
||||
<span style="color:#893b74 !important;" t-field="o.partner_id" /><br/>
|
||||
<span style="color:gray !important;" t-field="o.partner_id.street" /><br/>
|
||||
<span style="color:gray !important;" t-field="o.partner_id.street2" /><br/>
|
||||
<span style="color:gray !important;" t-field="o.partner_id.city" /><br/>
|
||||
<span style="color:gray !important;" t-field="o.partner_id.state_id" /><br/>
|
||||
<span style="color:gray !important;" t-field="o.partner_id.country_id" /><br/>
|
||||
<span style="color:gray !important;" t-field="o.partner_id.vat" /><br/>
|
||||
</div>
|
||||
<div class="col-3" />
|
||||
|
||||
<div class="col-6" style="font:15px lucida-console,sans-serif !important; background-color: #893b74;" >
|
||||
<h2>
|
||||
<span t-if="o.type == 'out_invoice' and (o.state == 'draft' or o.state == 'posted')"><font color="#fff">Invoice</font></span>
|
||||
<span t-if="o.type == 'out_invoice' and o.state == 'proforma2'"><font color="#fff">PRO-FORMA</font></span>
|
||||
<span t-if="o.type == 'out_invoice' and o.state == 'draft'"><font color="#fff">Draft Invoice</font></span>
|
||||
<span t-if="o.type == 'out_invoice' and o.state == 'cancel'"><font color="#fff">Cancelled Invoice</font></span>
|
||||
<span t-if="o.type == 'out_refund'"><font color="#fff">Refund</font></span>
|
||||
<span t-if="o.type == 'in_refund'"><font color="#fff">Vendor Refund</font></span>
|
||||
<span t-if="o.type == 'in_invoice'"><font color="#fff">Vendor Bill</font></span>
|
||||
<font color="#fff"><span t-field="o.name"/></font>
|
||||
</h2>
|
||||
<div t-if="o.invoice_date">
|
||||
<font color="#fff">
|
||||
<strong>Invoice Date:</strong><p t-field="o.invoice_date"/></font>
|
||||
</div>
|
||||
<div t-if="o.name">
|
||||
<font color="#fff">
|
||||
<strong>Invoice Date:</strong> <p t-field="o.name"/></font>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div style="padding-top:20px;"></div>
|
||||
<!-- Is there a discount on at least one line? -->
|
||||
<t t-set="display_discount" t-value="any([l.discount for l in o.invoice_line_ids])"/>
|
||||
|
||||
<table class="table table-sm">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="background-color:#893b74 !important;color:#FFF !important;">Description</th>
|
||||
<th style="background-color:#893b74 !important;color:#FFF !important;">Quantity </th>
|
||||
<th style="background-color:#893b74 !important;color:#FFF !important;">Unit Price</th>
|
||||
<th style="background-color:#893b74 !important;color:#FFF !important;" t-if="display_discount" class="text-right" groups="sale.group_discount_per_so_line">Disc.(%)</th>
|
||||
<th style="background-color:#893b74 !important;color:#FFF !important;">Taxes</th>
|
||||
<th style="background-color:#893b74 !important;color:#FFF !important;">Price</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="invoice_tbody">
|
||||
<tr t-foreach="o.invoice_line_ids" t-as="l">
|
||||
<td><span t-field="l.name"/></td>
|
||||
<td class="text-right">
|
||||
<span t-field="l.quantity"/>
|
||||
<span t-field="l.uom_id" groups="product.group_uom"/>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<span t-field="l.price_unit"/>
|
||||
</td>
|
||||
<td t-if="display_discount" class="text-right" groups="sale.group_discount_per_so_line">
|
||||
<span t-field="l.discount"/>
|
||||
</td>
|
||||
<td>
|
||||
<span t-esc="', '.join(map(lambda x: (x.description or x.name), l.tax_ids))"/>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<span t-field="l.price_subtotal"
|
||||
t-field-options='{"widget": "monetary", "display_currency": "o.currency_id"}'/>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<div>
|
||||
<div class="col-4 pull-right">
|
||||
<table class="table table-condensed">
|
||||
<tr class="border-black">
|
||||
<td><strong>Subtotal</strong></td>
|
||||
<td class="text-right">
|
||||
<span t-field="o.amount_untaxed" t-field-options='{"widget": "monetary", "display_currency": "o.currency_id"}'/>
|
||||
</td>
|
||||
</tr>
|
||||
<t t-foreach="o.amount_by_group" t-as="amount_by_group">
|
||||
<tr>
|
||||
<td><span t-esc="amount_by_group[0]"/></td>
|
||||
<td class="text-right">
|
||||
<span t-esc="amount_by_group[1]"/>
|
||||
</td>
|
||||
</tr>
|
||||
</t>
|
||||
<tr class="border-black">
|
||||
<td><strong>Total</strong></td>
|
||||
<td class="text-right">
|
||||
<span t-field="o.amount_total" t-field-options='{"widget": "monetary", "display_currency": "o.currency_id"}'/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="border-black">
|
||||
<td><strong>Amount Due</strong></td>
|
||||
<td class="text-right">
|
||||
<span t-field="o.amount_residual" t-field-options='{"widget": "monetary", "display_currency": "o.currency_id"}'/>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<br/><br/><br/><br/><br/>
|
||||
<div style="padding-top:50px;">
|
||||
</div>
|
||||
<div style=" background-color: #893b74; color:#fff !important; font:15px lucida-console,sans-serif !important; ">
|
||||
<p t-if="o.narration">
|
||||
<strong><span>Comments:</span> </strong> <span t-field="o.narraction" />
|
||||
</p>
|
||||
</div>
|
||||
<div class="oe_structure"/>
|
||||
<div>
|
||||
<div class="col-xs-6" style=" background-color: #893b74; color:#fff !important; font:15px lucida-console,sans-serif !important; " t-if="o.paypal_chk">
|
||||
<strong >Paypal Account Details</strong><br/>
|
||||
<span>Paypal Id : </span><span t-field="o.paypal_id"/>
|
||||
</div>
|
||||
<div class="col-xs-6" style=" background-color: #893b74; color:#fff !important; font:15px lucida-console,sans-serif !important; " t-if="o.paypal_chk == False">
|
||||
<strong >Bank Account Details</strong><br/>
|
||||
<span>Account Id : </span><span t-field="o.company_id.bank_account_id.acc_number"/><br/>
|
||||
<span>Bank Name : </span><span t-field="o.company_id.bank_account_id.bank_id.name"/><br/>
|
||||
<span>Branch Name/Address : </span><span t-field="o.company_id.bank_account_id.branch_name"/><br/>
|
||||
<span t-field="o.company_id.bank_account_id.street"/><br/>
|
||||
<span t-field="o.company_id.bank_account_id.street2"/><span>,</span>
|
||||
<span t-field="o.company_id.bank_account_id.city"/><span>,</span>
|
||||
<span t-field="o.company_id.bank_account_id.zip"/><br/>
|
||||
<span t-field="o.company_id.bank_account_id.state_id"/><span>,</span><span t-field="o.company_id.bank_account_id.country_id"/><br/>
|
||||
<span>Swift Code : </span><span t-field="o.company_id.bank_account_id.swift_code"/><br/>
|
||||
<span>IFSC Code : </span><span t-field="o.company_id.bank_account_id.ifsc"/><br/>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<p t-if="o.fiscal_position_id.note">
|
||||
<strong>Fiscal Position Remark:</strong>
|
||||
<span t-field="o.fiscal_position_id.note"/>
|
||||
</p>
|
||||
|
||||
</div>
|
||||
</t>
|
||||
</template>
|
||||
|
||||
|
||||
</data>
|
||||
</odoo>
|
||||
@@ -0,0 +1,219 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<data>
|
||||
<template id="classic_report_purchaseorder_document">
|
||||
<t t-if="o and 'company_id' in o">
|
||||
<t t-set="company" t-value="o.company_id"></t>
|
||||
</t>
|
||||
<t t-if="not o or not 'company_id' in o">
|
||||
<t t-set="company" t-value="res_company"></t>
|
||||
</t>
|
||||
<div class="header">
|
||||
<div class="row mt32 mb32">
|
||||
<div class="col-6">
|
||||
<img t-if="company.logo" t-att-src="'data:image/png;base64,%s' % to_text(company.logo)" style="max-height: 50px;" />
|
||||
</div>
|
||||
<div class="col-6 text-right" style="font:12px lucida-console,sans-serif !important;">
|
||||
<span t-field="company.partner_id" />
|
||||
<br/>
|
||||
<span t-field="company.partner_id.street" />
|
||||
<br/>
|
||||
<span t-field="company.partner_id.street2" />
|
||||
<br/>
|
||||
<span t-field="company.partner_id.city" />
|
||||
<br/>
|
||||
<span t-field="company.partner_id.country_id" />
|
||||
<br/>
|
||||
<span t-field="company.partner_id.vat" />
|
||||
<br/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<t t-call="web.external_layout">
|
||||
<t t-set="o" t-value="o.with_context({'lang':o.partner_id.lang})"/>
|
||||
<div class="page">
|
||||
<div class="oe_structure"/>
|
||||
|
||||
<table class="table table-sm" style=" table-layout:fixed;" >
|
||||
<thead>
|
||||
<tr>
|
||||
<th width="30px" style="background-color:#3498DB !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; ">Vendor</th>
|
||||
<th width="30px" style="background-color:#3498DB !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; ">Shipping Address</th>
|
||||
<th width="20px" style="background-color:#3498DB !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; ">Reference/Description</th>
|
||||
<th t-if="o.state != 'draft'" width="20px" style="background-color:#3498DB !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; ">Purchase Order #</th>
|
||||
<th t-if="o.state == 'draft'" width="20px" style="background-color:#3498DB !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; ">Request for Quotation #</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="border: 1px !important; border-style: solid !important; border-color: #fff !important;">
|
||||
<div t-field="o.partner_id"/>
|
||||
<t t-if="o.partner_id.street">
|
||||
<t t-esc="o.partner_id.street"/>
|
||||
</t><br/>
|
||||
<t t-if="o.partner_id.street2">
|
||||
<t t-esc="o.partner_id.street2"/>
|
||||
</t><br/>
|
||||
<t t-if="o.partner_id.city">
|
||||
<t t-esc="o.partner_id.city"/>
|
||||
</t><br/>
|
||||
<t t-if="o.partner_id.state_id.name">
|
||||
<t t-esc="o.partner_id.state_id.name"/>
|
||||
</t><br/>
|
||||
<t t-if="o.partner_id.country_id.name">
|
||||
<t t-esc="o.partner_id.country_id.name"/>
|
||||
</t><br/>
|
||||
<t t-if="o.partner_id.zip">
|
||||
<t t-esc="o.partner_id.zip"/>
|
||||
</t><br/>
|
||||
<div t-field="o.partner_id.vat"/>
|
||||
</td>
|
||||
<td style="border: 1px !important; border-style: solid !important; border-color: #fff !important;">
|
||||
<div t-if="o.dest_address_id">
|
||||
<div t-field="o.dest_address_id"
|
||||
t-field-options='{"widget": "contact", "fields": ["address", "name", "phone", "fax"], "no_marker": true, "phone_icons": true}'/>
|
||||
<div t-field="o.partner_id.vat"/>
|
||||
</div>
|
||||
|
||||
<div t-if="not o.dest_address_id and o.picking_type_id and o.picking_type_id.warehouse_id">
|
||||
<span t-field="o.picking_type_id.warehouse_id.name"/>
|
||||
<div t-field="o.picking_type_id.warehouse_id.partner_id"
|
||||
t-field-options='{"widget": "contact", "fields": ["address", "phone", "fax"], "no_marker": true, "phone_icons": true}'/>
|
||||
<div t-field="o.partner_id.vat"/>
|
||||
</div>
|
||||
</td>
|
||||
<td style="border: 1px !important; border-style: solid !important; border-color: #fff !important;">
|
||||
<div t-field="o.partner_ref"/>
|
||||
</td>
|
||||
<td style="border: 1px !important; border-style: solid !important; border-color: #fff !important;">
|
||||
<b><div t-field="o.name"/></b>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<table class="table table-sm" style=" table-layout:fixed; padding-top=20px;" >
|
||||
<thead>
|
||||
<tr>
|
||||
<th width="30px" style="background-color:#3498DB !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; ">Order Date</th>
|
||||
<th width="30px" style="background-color:#3498DB !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; ">Scheduled Date</th>
|
||||
<th width="20px" style="background-color:#3498DB !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; ">Approval Date</th>
|
||||
<th width="20px" style="background-color:#3498DB !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; ">Payment Term</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="border: 1px !important; border-style: solid !important; border-color: #fff !important;">
|
||||
<div t-field="o.date_order"/>
|
||||
</td>
|
||||
<td style="border: 1px !important; border-style: solid !important; border-color: #fff !important;">
|
||||
<div t-field="o.date_planned"/>
|
||||
</td>
|
||||
<td style="border: 1px !important; border-style: solid !important; border-color: #fff !important;">
|
||||
<div t-field="o.date_approve"/>
|
||||
</td>
|
||||
<td style="border: 1px !important; border-style: solid !important; border-color: #fff !important;">
|
||||
<div t-field="o.payment_term_id"/>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<table class="table table-sm">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="background-color:#3498DB !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; "><strong>Description</strong></th>
|
||||
<th style="background-color:#3498DB !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; "><strong>Taxes</strong></th>
|
||||
<th class="text-center" style="background-color:#3498DB !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; "><strong>Date Req.</strong></th>
|
||||
<th class="text-right" style="background-color:#3498DB !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; "><strong>Qty</strong></th>
|
||||
<th class="text-right" style="background-color:#3498DB !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; "><strong>Unit Price</strong></th>
|
||||
<th class="text-right" style="background-color:#3498DB !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; "><strong>Net Price</strong></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr t-foreach="o.order_line" t-as="line">
|
||||
<td>
|
||||
<span t-field="line.name"/>
|
||||
</td>
|
||||
<td>
|
||||
<span t-esc="', '.join(map(lambda x: x.name, line.taxes_id))"/>
|
||||
</td>
|
||||
<td class="text-center">
|
||||
<span t-field="line.date_planned"/>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<span t-field="line.product_qty"/>
|
||||
<span t-field="line.product_uom.name" groups="product.group_uom"/>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<span t-field="line.price_unit"/>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<span t-field="line.price_subtotal"
|
||||
t-field-options='{"widget": "monetary", "display_currency": "o.currency_id"}'/>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
<div class="col-xs-4 pull-right">
|
||||
<table class="table table-condensed">
|
||||
<tr class="border-black">
|
||||
<td><strong>Total Without Taxes</strong></td>
|
||||
<td class="text-right">
|
||||
<span t-field="o.amount_untaxed"
|
||||
t-field-options='{"widget": "monetary", "display_currency": "o.currency_id"}'/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Taxes</td>
|
||||
<td class="text-right">
|
||||
<span t-field="o.amount_tax"
|
||||
t-field-options='{"widget": "monetary", "display_currency": "o.currency_id"}'/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr style=" background-color: #3498DB;" class="border-black">
|
||||
<td><strong>Total</strong></td>
|
||||
<td class="text-right">
|
||||
<span t-field="o.amount_total"
|
||||
t-field-options='{"widget": "monetary", "display_currency": "o.currency_id"}'/>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<br/><br/><br/><br/><br/><br/><br/>
|
||||
<div style=" background-color: #3498DB; color:#fff !important; font:15px lucida-console,sans-serif !important; ">
|
||||
<p t-if="o.notes">
|
||||
<strong><span>Note:</span> </strong> <span t-field="o.notes" />
|
||||
</p>
|
||||
</div>
|
||||
<div class="oe_structure"/>
|
||||
</div>
|
||||
</t>
|
||||
</template>
|
||||
|
||||
<template id="report_purchaseorder" inherit_id="purchase.report_purchaseorder_document">
|
||||
|
||||
<xpath expr="//t[@t-call='web.external_layout']" position="replace">
|
||||
<t t-call="web.html_container">
|
||||
<t t-foreach="docs" t-as="o">
|
||||
<t t-if="o.company_id.purchase_template == 'classic'">
|
||||
<t t-call="bi_professional_reports_templates.classic_report_purchaseorder_document" t-lang="o.partner_id.lang"/>
|
||||
</t>
|
||||
<t t-if="o.company_id.purchase_template == 'fency'">
|
||||
<t t-call="bi_professional_reports_templates.fency_report_purchaseorder_document" t-lang="o.partner_id.lang"/>
|
||||
</t>
|
||||
<t t-if="o.company_id.purchase_template == 'modern'">
|
||||
<t t-call="bi_professional_reports_templates.modern_report_purchaseorder_document" t-lang="o.partner_id.lang"/>
|
||||
</t>
|
||||
<t t-if="o.company_id.purchase_template =='odoo_standard'">
|
||||
<t t-call="bi_professional_reports_templates.odoo_standard_report_purchaseorder_document" t-lang="o.partner_id.lang"/>
|
||||
</t>
|
||||
</t>
|
||||
</t>
|
||||
</xpath>
|
||||
</template>
|
||||
</data>
|
||||
</odoo>
|
||||
@@ -0,0 +1,222 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<data>
|
||||
<template id="classic_report_purchasequotation_document">
|
||||
<t t-if="o and 'company_id' in o">
|
||||
<t t-set="company" t-value="o.company_id"></t>
|
||||
</t>
|
||||
<t t-if="not o or not 'company_id' in o">
|
||||
<t t-set="company" t-value="res_company"></t>
|
||||
</t>
|
||||
<div class="header">
|
||||
<div class="row mt32 mb32">
|
||||
<div class="col-6">
|
||||
<img t-if="company.logo" t-att-src="'data:image/png;base64,%s' % to_text(company.logo)" style="max-height: 50px;" />
|
||||
</div>
|
||||
<div class="col-6 text-right" style="font:12px lucida-console,sans-serif !important;">
|
||||
<span t-field="company.partner_id" />
|
||||
<br/>
|
||||
<span t-field="company.partner_id.street" />
|
||||
<br/>
|
||||
<span t-field="company.partner_id.street2" />
|
||||
<br/>
|
||||
<span t-field="company.partner_id.city" />
|
||||
<br/>
|
||||
<span t-field="company.partner_id.country_id" />
|
||||
<br/>
|
||||
<span t-field="company.partner_id.vat" />
|
||||
<br/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<t t-call="web.html_container"/>
|
||||
<t t-call="web.external_layout">
|
||||
<t t-set="o" t-value="o.with_context({'lang':o.partner_id.lang})"/>
|
||||
<div class="page">
|
||||
<div class="oe_structure"/>
|
||||
|
||||
<table class="table table-sm" style=" table-layout:fixed;" >
|
||||
<thead>
|
||||
<tr>
|
||||
<th width="30px" style="background-color:#3498DB !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; ">Vendor</th>
|
||||
<th width="30px" style="background-color:#3498DB !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; ">Shipping Address</th>
|
||||
<th width="20px" style="background-color:#3498DB !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; ">Reference/Description</th>
|
||||
<th t-if="o.state != 'draft'" width="20px" style="background-color:#3498DB !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; ">Purchase Order #</th>
|
||||
<th t-if="o.state == 'draft'" width="20px" style="background-color:#3498DB !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; ">Request for Quotation #</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="border: 1px !important; border-style: solid !important; border-color: #fff !important;">
|
||||
<div t-field="o.partner_id"/>
|
||||
<t t-if="o.partner_id.street">
|
||||
<t t-esc="o.partner_id.street"/>
|
||||
</t><br/>
|
||||
<t t-if="o.partner_id.street2">
|
||||
<t t-esc="o.partner_id.street2"/>
|
||||
</t><br/>
|
||||
<t t-if="o.partner_id.city">
|
||||
<t t-esc="o.partner_id.city"/>
|
||||
</t><br/>
|
||||
<t t-if="o.partner_id.state_id.name">
|
||||
<t t-esc="o.partner_id.state_id.name"/>
|
||||
</t><br/>
|
||||
<t t-if="o.partner_id.country_id.name">
|
||||
<t t-esc="o.partner_id.country_id.name"/>
|
||||
</t><br/>
|
||||
<t t-if="o.partner_id.zip">
|
||||
<t t-esc="o.partner_id.zip"/>
|
||||
</t><br/>
|
||||
<div t-field="o.partner_id.vat"/>
|
||||
</td>
|
||||
|
||||
<td style="border: 1px !important; border-style: solid !important; border-color: #fff !important;">
|
||||
<div t-if="o.dest_address_id">
|
||||
<div t-field="o.dest_address_id"
|
||||
t-field-options='{"widget": "contact", "fields": ["address", "name", "phone", "fax"], "no_marker": true, "phone_icons": true}'/>
|
||||
<div t-field="o.partner_id.vat"/>
|
||||
</div>
|
||||
|
||||
<div t-if="not o.dest_address_id and o.picking_type_id and o.picking_type_id.warehouse_id">
|
||||
<span t-field="o.picking_type_id.warehouse_id.name"/>
|
||||
<div t-field="o.picking_type_id.warehouse_id.partner_id"
|
||||
t-field-options='{"widget": "contact", "fields": ["address", "phone", "fax"], "no_marker": true, "phone_icons": true}'/>
|
||||
<div t-field="o.partner_id.vat"/>
|
||||
</div>
|
||||
</td>
|
||||
|
||||
<td style="border: 1px !important; border-style: solid !important; border-color: #fff !important;">
|
||||
<div t-field="o.partner_ref"/>
|
||||
</td>
|
||||
|
||||
<td style="border: 1px !important; border-style: solid !important; border-color: #fff !important;">
|
||||
<b><div t-field="o.name"/></b>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<table class="table table-sm" style=" table-layout:fixed; padding-top=20px;" >
|
||||
<thead>
|
||||
<tr>
|
||||
<th width="30px" style="background-color:#3498DB !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; ">Order Date</th>
|
||||
<th width="30px" style="background-color:#3498DB !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; ">Scheduled Date</th>
|
||||
<th width="20px" style="background-color:#3498DB !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; ">Approval Date</th>
|
||||
<th width="20px" style="background-color:#3498DB !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; ">Payment Term</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="border: 1px !important; border-style: solid !important; border-color: #fff !important;">
|
||||
<div t-field="o.date_order"/>
|
||||
</td>
|
||||
<td style="border: 1px !important; border-style: solid !important; border-color: #fff !important;">
|
||||
<div t-field="o.date_planned"/>
|
||||
</td>
|
||||
<td style="border: 1px !important; border-style: solid !important; border-color: #fff !important;">
|
||||
<div t-field="o.date_approve"/>
|
||||
</td>
|
||||
<td style="border: 1px !important; border-style: solid !important; border-color: #fff !important;">
|
||||
<div t-field="o.payment_term_id"/>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<table class="table table-sm">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="background-color:#3498DB !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; "><strong>Description</strong></th>
|
||||
<th style="background-color:#3498DB !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; "><strong>Taxes</strong></th>
|
||||
<th class="text-center" style="background-color:#3498DB !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; "><strong>Date Req.</strong></th>
|
||||
<th class="text-right" style="background-color:#3498DB !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; "><strong>Qty</strong></th>
|
||||
<th class="text-right" style="background-color:#3498DB !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; "><strong>Unit Price</strong></th>
|
||||
<th class="text-right" style="background-color:#3498DB !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; "><strong>Net Price</strong></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr t-foreach="o.order_line" t-as="line">
|
||||
<td>
|
||||
<span t-field="line.name"/>
|
||||
</td>
|
||||
<td>
|
||||
<span t-esc="', '.join(map(lambda x: x.name, line.taxes_id))"/>
|
||||
</td>
|
||||
<td class="text-center">
|
||||
<span t-field="line.date_planned"/>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<span t-field="line.product_qty"/>
|
||||
<span t-field="line.product_uom.name" groups="product.group_uom"/>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<span t-field="line.price_unit"/>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<span t-field="line.price_subtotal"
|
||||
t-field-options='{"widget": "monetary", "display_currency": "o.currency_id"}'/>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
<div class="col-xs-4 pull-right">
|
||||
<table class="table table-condensed">
|
||||
<tr class="border-black">
|
||||
<td><strong>Total Without Taxes</strong></td>
|
||||
<td class="text-right">
|
||||
<span t-field="o.amount_untaxed"
|
||||
t-field-options='{"widget": "monetary", "display_currency": "o.currency_id"}'/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Taxes</td>
|
||||
<td class="text-right">
|
||||
<span t-field="o.amount_tax"
|
||||
t-field-options='{"widget": "monetary", "display_currency": "o.currency_id"}'/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr style=" background-color: #3498DB;" class="border-black">
|
||||
<td><strong>Total</strong></td>
|
||||
<td class="text-right">
|
||||
<span t-field="o.amount_total"
|
||||
t-field-options='{"widget": "monetary", "display_currency": "o.currency_id"}'/>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<br/><br/><br/><br/><br/><br/><br/><br/>
|
||||
<div style=" background-color: #3498DB; color:#fff !important; font:15px lucida-console,sans-serif !important; ">
|
||||
<p t-if="o.notes">
|
||||
<strong><span>Note:</span> </strong> <span t-field="o.notes" />
|
||||
</p>
|
||||
</div>
|
||||
<div class="oe_structure"/>
|
||||
</div>
|
||||
</t>
|
||||
</template>
|
||||
|
||||
<template id="report_purchasequotation" inherit_id="purchase.report_purchasequotation">
|
||||
<xpath expr="//t[@t-call='purchase.report_purchasequotation_document']" position="replace">
|
||||
<t t-call="web.html_container">
|
||||
<t t-foreach="docs" t-as="o">
|
||||
<t t-if="o.company_id.purchase_template == 'classic'">
|
||||
<t t-call="bi_professional_reports_templates.classic_report_purchasequotation_document" t-lang="o.partner_id.lang"/>
|
||||
</t>
|
||||
<t t-if="o.company_id.purchase_template == 'modern'">
|
||||
<t t-call="bi_professional_reports_templates.modern_report_purchasequotation_document" t-lang="o.partner_id.lang"/>
|
||||
</t>
|
||||
<t t-if="o.company_id.purchase_template == 'odoo_standard'">
|
||||
<t t-call="bi_professional_reports_templates.odoo_std_report_purchasequotation_document" t-lang="o.partner_id.lang"/>
|
||||
</t>
|
||||
<t t-if="o.company_id.purchase_template == 'fency'">
|
||||
<t t-call="bi_professional_reports_templates.fency_report_purchasequotation_document" t-lang="o.partner_id.lang"/>
|
||||
</t>
|
||||
</t>
|
||||
</t>
|
||||
</xpath>
|
||||
</template>
|
||||
</data>
|
||||
</odoo>
|
||||
|
||||
@@ -0,0 +1,144 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<data>
|
||||
<template id="fency_report_purchaseorder_document">
|
||||
<t t-if="o and 'company_id' in o">
|
||||
<t t-set="company" t-value="o.company_id"></t>
|
||||
</t>
|
||||
<t t-if="not o or not 'company_id' in o">
|
||||
<t t-set="company" t-value="res_company"></t>
|
||||
</t>
|
||||
<div class="header">
|
||||
<div class="row mt32 mb32">
|
||||
<div class="col-6">
|
||||
<img t-if="company.logo" t-att-src="'data:image/png;base64,%s' % to_text(company.logo)" style="max-height: 50px;" />
|
||||
</div>
|
||||
<div class="col-6 text-right" style="font:12px lucida-console,sans-serif !important;">
|
||||
<span t-field="company.partner_id" />
|
||||
<br/>
|
||||
<span t-field="company.partner_id.street" />
|
||||
<br/>
|
||||
<span t-field="company.partner_id.street2" />
|
||||
<br/>
|
||||
<span t-field="company.partner_id.city" />
|
||||
<br/>
|
||||
<span t-field="company.partner_id.country_id" />
|
||||
<br/>
|
||||
<span t-field="company.partner_id.vat" />
|
||||
<br/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<t t-call="web.external_layout">
|
||||
<t t-set="o" t-value="o.with_context({'lang':o.partner_id.lang})"/>
|
||||
<div class="page">
|
||||
<div class="oe_structure"/>
|
||||
<h2 style=" background-color: #3498DB;"><font color="#fff">Purchase Order:<span t-field="o.name"/></font></h2>
|
||||
<div class="row">
|
||||
<div class="col-6 ">
|
||||
<strong style="color:gray !important;">Vendor address:</strong><br/>
|
||||
<span style="color:#3498DB !important;" t-field="o.partner_id" /><br/>
|
||||
<span t-if="o.partner_id.street" t-field="o.partner_id.street" /><br t-if="o.partner_id.street"/>
|
||||
<span t-if="o.partner_id.street2" t-field="o.partner_id.street2" /><br t-if="o.partner_id.street2"/>
|
||||
<span t-if="o.partner_id.city" t-field="o.partner_id.city" /><br t-if="o.partner_id.city"/>
|
||||
<span t-if="o.partner_id.state_id" t-field="o.partner_id.state_id" /><br/>
|
||||
<span t-if="o.partner_id.country_id" t-field="o.partner_id.country_id" /><br t-if="o.partner_id.country_id"/>
|
||||
<span t-if="o.partner_id.vat" t-field="o.partner_id.vat"/><br/>
|
||||
</div>
|
||||
|
||||
<div class="col-6 text-left">
|
||||
<strong style="color:gray !important;">Shipping address:</strong>
|
||||
<div t-if="o.dest_address_id">
|
||||
<div t-field="o.dest_address_id"
|
||||
t-field-options='{"widget": "contact", "fields": ["address", "name", "phone", "fax"], "no_marker": true, "phone_icons": true}'/>
|
||||
<div t-field="o.dest_address_id.vat"/>
|
||||
</div>
|
||||
<div t-if="not o.dest_address_id and o.picking_type_id.warehouse_id">
|
||||
<span t-field="o.picking_type_id.warehouse_id.name"/>
|
||||
<div t-field="o.picking_type_id.warehouse_id.partner_id"
|
||||
t-field-options='{"widget": "contact", "fields": ["address", "phone", "fax"], "no_marker": true, "phone_icons": true}'/>
|
||||
<div t-field="o.picking_type_id.warehouse_id.partner_id.vat"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<table class="table table-sm">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="background-color:#3498DB !important;color:#FFF !important;">Description</th>
|
||||
<th style="background-color:#3498DB !important;color:#FFF !important;">Taxes</th>
|
||||
<th style="background-color:#3498DB !important;color:#FFF !important;">Date Req.</th>
|
||||
<th style="background-color:#3498DB !important;color:#FFF !important;">Qty</th>
|
||||
<th style="background-color:#3498DB !important;color:#FFF !important;">Unit Price</th>
|
||||
<th style="background-color:#3498DB !important;color:#FFF !important;">Net Price</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr t-foreach="o.order_line" t-as="line">
|
||||
<td>
|
||||
<span t-field="line.name"/>
|
||||
</td>
|
||||
<td>
|
||||
<span t-esc="', '.join(map(lambda x: x.name, line.taxes_id))"/>
|
||||
</td>
|
||||
<td class="text-center">
|
||||
<span t-field="line.date_planned"/>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<span t-field="line.product_qty"/>
|
||||
<span t-field="line.product_uom.name" />
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<span t-field="line.price_unit"/>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<span t-field="line.price_subtotal"
|
||||
t-field-options='{"widget": "monetary", "display_currency": "o.currency_id"}'/>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<div class="col-xs-4 pull-right">
|
||||
<table class="table table-condensed">
|
||||
<tr class="border-black">
|
||||
<td><strong>Total Without Taxes</strong></td>
|
||||
<td class="text-right">
|
||||
<span t-field="o.amount_untaxed"
|
||||
t-field-options='{"widget": "monetary", "display_currency": "o.currency_id"}'/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Taxes</td>
|
||||
<td class="text-right">
|
||||
<span t-field="o.amount_tax"
|
||||
t-field-options='{"widget": "monetary", "display_currency": "o.currency_id"}'/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr style=" background-color: #3498DB;" class="border-black">
|
||||
<td><strong>Total</strong></td>
|
||||
<td class="text-right">
|
||||
<span t-field="o.amount_total"
|
||||
t-field-options='{"widget": "monetary", "display_currency": "o.currency_id"}'/>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<br/><br/><br/><br/><br/><br/><br/><br/>
|
||||
<div style=" background-color: #3498DB; color:#fff !important; font:15px lucida-console,sans-serif !important; ">
|
||||
<p t-if="o.notes">
|
||||
<strong><span>Note:</span> </strong> <span t-field="o.notes" />
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="oe_structure"/>
|
||||
</div>
|
||||
</t>
|
||||
</template>
|
||||
</data>
|
||||
</odoo>
|
||||
|
||||
@@ -0,0 +1,106 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<data>
|
||||
<template id="fency_report_purchasequotation_document">
|
||||
<t t-if="o and 'company_id' in o">
|
||||
<t t-set="company" t-value="o.company_id"></t>
|
||||
</t>
|
||||
<t t-if="not o or not 'company_id' in o">
|
||||
<t t-set="company" t-value="res_company"></t>
|
||||
</t>
|
||||
<div class="header">
|
||||
<div class="row mt32 mb32">
|
||||
<div class="col-6">
|
||||
<img t-if="company.logo" t-att-src="'data:image/png;base64,%s' % to_text(company.logo)" style="max-height: 50px;" />
|
||||
</div>
|
||||
<div class="col-6 text-right" style="font:12px lucida-console,sans-serif !important;">
|
||||
<span t-field="company.partner_id" />
|
||||
<br/>
|
||||
<span t-field="company.partner_id.street" />
|
||||
<br/>
|
||||
<span t-field="company.partner_id.street2" />
|
||||
<br/>
|
||||
<span t-field="company.partner_id.city" />
|
||||
<br/>
|
||||
<span t-field="company.partner_id.country_id" />
|
||||
<br/>
|
||||
<span t-field="company.partner_id.vat" />
|
||||
<br/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<t t-call="web.html_container"/>
|
||||
<t t-call="web.external_layout">
|
||||
<t t-set="o" t-value="o.with_context({'lang':o.partner_id.lang})"/>
|
||||
<div class="page">
|
||||
<div class="oe_structure"/>
|
||||
<h2 style=" background-color: #3498DB;"><font color="#fff">Request for Quotation <span t-field="o.name"/></font></h2>
|
||||
<div class="row mt32 mb32">
|
||||
<div class="col-6 ">
|
||||
<strong style="color:gray !important;">Vendor address:</strong><br/>
|
||||
<span style="color:#3498DB !important;" t-field="o.partner_id" /><br/>
|
||||
<span t-if="o.partner_id.street" t-field="o.partner_id.street" /><br/>
|
||||
<span t-if="o.partner_id.street2" t-field="o.partner_id.street2" /><br/>
|
||||
<span t-if="o.partner_id.city" t-field="o.partner_id.city" /><br/>
|
||||
<span t-if="o.partner_id.state_id" t-field="o.partner_id.state_id" /><br/>
|
||||
<span t-if="o.partner_id.country_id" t-field="o.partner_id.country_id" /><br/>
|
||||
<span t-if="o.partner_id.country_id" t-field="o.partner_id.vat" />
|
||||
</div>
|
||||
<div class="col-6 text-right">
|
||||
<strong style="color:gray !important;">Shipping address:</strong>
|
||||
<div t-if="o.dest_address_id">
|
||||
<div t-field="o.dest_address_id"
|
||||
t-field-options='{"widget": "contact", "fields": ["address", "name", "phone", "fax"], "no_marker": true, "phone_icons": true}'/>
|
||||
<div t-field="o.dest_address_id.vat"/>
|
||||
</div>
|
||||
<div t-if="not o.dest_address_id and o.picking_type_id.warehouse_id">
|
||||
<span t-field="o.picking_type_id.warehouse_id.name"/>
|
||||
<div t-field="o.picking_type_id.warehouse_id.partner_id"
|
||||
t-field-options='{"widget": "contact", "fields": ["address", "phone", "fax"], "no_marker": true, "phone_icons": true}'/>
|
||||
|
||||
<div t-field="o.picking_type_id.warehouse_id.partner_id.vat"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<table class="table table-sm">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="background-color:#3498DB !important;color:#FFF !important;">Description</th>
|
||||
<th style="background-color:#3498DB !important;color:#FFF !important;" class="text-center">Expected Date</th>
|
||||
<th style="background-color:#3498DB !important;color:#FFF !important;" class="text-right">Qty</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr t-foreach="o.order_line" t-as="order_line">
|
||||
<td>
|
||||
<span t-field="order_line.name"/>
|
||||
</td>
|
||||
<td class="text-center">
|
||||
<span t-field="order_line.date_planned"/>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<span t-field="order_line.product_qty"/>
|
||||
<span t-field="order_line.product_uom" groups="product.group_uom"/>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<div style=" background-color: #3498DB; color:#fff !important; font:15px lucida-console,sans-serif !important; ">
|
||||
<p t-if="o.notes">
|
||||
<strong><span>Note:</span> </strong> <span t-field="o.notes" />
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="oe_structure"/>
|
||||
</div>
|
||||
</t>
|
||||
</template>
|
||||
|
||||
</data>
|
||||
</odoo>
|
||||
|
||||
@@ -0,0 +1,199 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<data>
|
||||
<template id="modern_report_purchaseorder_document">
|
||||
<t t-if="o and 'company_id' in o">
|
||||
<t t-set="company" t-value="o.company_id"></t>
|
||||
</t>
|
||||
<t t-if="not o or not 'company_id' in o">
|
||||
<t t-set="company" t-value="res_company"></t>
|
||||
</t>
|
||||
<div class="header">
|
||||
<div class="row mt32 mb32">
|
||||
<div class="col-6">
|
||||
<img t-if="company.logo" t-att-src="'data:image/png;base64,%s' % to_text(company.logo)" style="max-height: 50px;" />
|
||||
</div>
|
||||
<div class="col-6 text-right" style="font:12px lucida-console,sans-serif !important;">
|
||||
<span t-field="company.partner_id" />
|
||||
<br/>
|
||||
<span t-field="company.partner_id.street" />
|
||||
<br/>
|
||||
<span t-field="company.partner_id.street2" />
|
||||
<br/>
|
||||
<span t-field="company.partner_id.city" />
|
||||
<br/>
|
||||
<span t-field="company.partner_id.country_id" />
|
||||
<br/>
|
||||
<span t-field="company.partner_id.vat" />
|
||||
<br/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<t t-call="web.html_container"/>
|
||||
<t t-call="web.external_layout">
|
||||
<t t-set="o" t-value="o.with_context({'lang':o.partner_id.lang})"/>
|
||||
<div class="page">
|
||||
|
||||
<div class="oe_structure"/>
|
||||
<div>
|
||||
<table class="table table-sm" style=" table-layout:fixed;" >
|
||||
<thead>
|
||||
<tr>
|
||||
<th width="30px" style="background-color:#893b74 !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; ">Vendor</th>
|
||||
<th width="30px" style="background-color:#893b74 !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; ">Shipping Address</th>
|
||||
<th width="20px" style="background-color:#893b74 !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; ">Reference/Description</th>
|
||||
<th t-if="o.state != 'draft'" width="20px" style="background-color:#893b74 !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; ">Purchase Order #</th>
|
||||
<th t-if="o.state == 'draft'" width="20px" style="background-color:#893b74 !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; ">Request for Quotation #</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="border: 1px !important; border-style: solid !important; border-color: #fff !important;">
|
||||
<div t-field="o.partner_id"/>
|
||||
<t t-if="o.partner_id.street">
|
||||
<t t-esc="o.partner_id.street"/>
|
||||
</t><br/>
|
||||
<t t-if="o.partner_id.street2">
|
||||
<t t-esc="o.partner_id.street2"/>
|
||||
</t><br/>
|
||||
<t t-if="o.partner_id.city">
|
||||
<t t-esc="o.partner_id.city"/>
|
||||
</t><br/>
|
||||
<t t-if="o.partner_id.state_id.name">
|
||||
<t t-esc="o.partner_id.state_id.name"/>
|
||||
</t><br/>
|
||||
<t t-if="o.partner_id.country_id.name">
|
||||
<t t-esc="o.partner_id.country_id.name"/>
|
||||
</t><br/>
|
||||
<t t-if="o.partner_id.zip">
|
||||
<t t-esc="o.partner_id.zip"/>
|
||||
</t><br/>
|
||||
<div t-field="o.partner_id.vat"/>
|
||||
</td>
|
||||
<td style="border: 1px !important; border-style: solid !important; border-color: #fff !important;">
|
||||
<div t-if="o.dest_address_id">
|
||||
<div t-field="o.dest_address_id"
|
||||
t-field-options='{"widget": "contact", "fields": ["address", "name", "phone", "fax"], "no_marker": true, "phone_icons": true}'/>
|
||||
<div t-field="o.dest_address_id.vat"/>
|
||||
</div>
|
||||
|
||||
<div t-if="not o.dest_address_id and o.picking_type_id and o.picking_type_id.warehouse_id">
|
||||
<span t-field="o.picking_type_id.warehouse_id.name"/>
|
||||
<div t-field="o.picking_type_id.warehouse_id.partner_id"
|
||||
t-field-options='{"widget": "contact", "fields": ["address", "phone", "fax"], "no_marker": true, "phone_icons": true}'/>
|
||||
<div t-field="o.picking_type_id.warehouse_id.partner_id.vat"/>
|
||||
</div>
|
||||
</td>
|
||||
<td style="border: 1px !important; border-style: solid !important; border-color: #fff !important;">
|
||||
<div t-field="o.partner_ref"/>
|
||||
</td>
|
||||
<td style="border: 1px !important; border-style: solid !important; border-color: #fff !important;">
|
||||
<b><div t-field="o.name"/></b>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<table class="table table-sm" style=" table-layout:fixed; padding-top=20px;" >
|
||||
<thead>
|
||||
<tr>
|
||||
<th width="30px" style="background-color:#893b74 !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; ">Order Date</th>
|
||||
<th width="30px" style="background-color:#893b74 !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; ">Scheduled Date</th>
|
||||
<th width="20px" style="background-color:#893b74 !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; ">Approval Date</th>
|
||||
<th width="20px" style="background-color:#893b74 !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; ">Payment Term</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="border: 1px !important; border-style: solid !important; border-color: #fff !important;">
|
||||
<div t-field="o.date_order"/>
|
||||
</td>
|
||||
<td style="border: 1px !important; border-style: solid !important; border-color: #fff !important;">
|
||||
<div t-field="o.date_planned"/>
|
||||
</td>
|
||||
<td style="border: 1px !important; border-style: solid !important; border-color: #fff !important;">
|
||||
<div t-field="o.date_approve"/>
|
||||
</td>
|
||||
<td style="border: 1px !important; border-style: solid !important; border-color: #fff !important;">
|
||||
<div t-field="o.payment_term_id"/>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
<table class="table table-sm">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="background-color:#893b74 !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; "><strong>Description</strong></th>
|
||||
<th style="background-color:#893b74 !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; "><strong>Taxes</strong></th>
|
||||
<th class="text-center" style="background-color:#893b74 !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; "><strong>Date Req.</strong></th>
|
||||
<th class="text-right" style="background-color:#893b74 !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; "><strong>Qty</strong></th>
|
||||
<th class="text-right" style="background-color:#893b74 !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; "><strong>Unit Price</strong></th>
|
||||
<th class="text-right" style="background-color:#893b74 !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; "><strong>Net Price</strong></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr t-foreach="o.order_line" t-as="line">
|
||||
<td>
|
||||
<span t-field="line.name"/>
|
||||
</td>
|
||||
<td>
|
||||
<span t-esc="', '.join(map(lambda x: x.name, line.taxes_id))"/>
|
||||
</td>
|
||||
<td class="text-center">
|
||||
<span t-field="line.date_planned"/>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<span t-field="line.product_qty"/>
|
||||
<span t-field="line.product_uom.name" groups="product.group_uom"/>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<span t-field="line.price_unit"/>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<span t-field="line.price_subtotal"
|
||||
t-field-options='{"widget": "monetary", "display_currency": "o.currency_id"}'/>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="col-xs-4 pull-right">
|
||||
<table class="table table-sm">
|
||||
<tr class="border-black">
|
||||
<td><strong>Total Without Taxes</strong></td>
|
||||
<td class="text-right">
|
||||
<span t-field="o.amount_untaxed"
|
||||
t-field-options='{"widget": "monetary", "display_currency": "o.currency_id"}'/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Taxes</td>
|
||||
<td class="text-right">
|
||||
<span t-field="o.amount_tax"
|
||||
t-field-options='{"widget": "monetary", "display_currency": "o.currency_id"}'/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr style=" background-color: #893b74;" class="border-black">
|
||||
<td><strong>Total</strong></td>
|
||||
<td class="text-right">
|
||||
<span t-field="o.amount_total"
|
||||
t-field-options='{"widget": "monetary", "display_currency": "o.currency_id"}'/>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<br/><br/><br/><br/><br/><br/><br/><br/>
|
||||
<div style=" background-color: #893b74; color:#fff !important; font:15px lucida-console,sans-serif !important; ">
|
||||
<p t-if="o.notes">
|
||||
<strong><font color="#FFF"><span>Note:</span> </font></strong> <font color="#FFF"><span t-field="o.notes" /></font>
|
||||
</p>
|
||||
</div>
|
||||
<div class="oe_structure"/>
|
||||
</div>
|
||||
</t>
|
||||
</template>
|
||||
</data>
|
||||
</odoo>
|
||||
@@ -0,0 +1,154 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<data>
|
||||
<template id="modern_report_purchasequotation_document">
|
||||
<t t-if="o and 'company_id' in o">
|
||||
<t t-set="company" t-value="o.company_id"></t>
|
||||
</t>
|
||||
<t t-if="not o or not 'company_id' in o">
|
||||
<t t-set="company" t-value="res_company"></t>
|
||||
</t>
|
||||
<div class="header">
|
||||
<div class="row mt32 mb32">
|
||||
<div class="col-6">
|
||||
<img t-if="company.logo" t-att-src="'data:image/png;base64,%s' % to_text(company.logo)" style="max-height: 50px;" />
|
||||
</div>
|
||||
<div class="col-6 text-right" style="font:12px lucida-console,sans-serif !important;">
|
||||
<span t-field="company.partner_id" />
|
||||
<br/>
|
||||
<span t-field="company.partner_id.street" />
|
||||
<br/>
|
||||
<span t-field="company.partner_id.street2" />
|
||||
<br/>
|
||||
<span t-field="company.partner_id.city" />
|
||||
<br/>
|
||||
<span t-field="company.partner_id.country_id" />
|
||||
<br/>
|
||||
<span t-field="company.partner_id.vat" />
|
||||
<br/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<t t-call="web.html_container"/>
|
||||
<t t-call="web.external_layout">
|
||||
<t t-set="o" t-value="o.with_context({'lang':o.partner_id.lang})"/>
|
||||
<div class="page">
|
||||
<div class="oe_structure"/>
|
||||
|
||||
<table class="table table-sm" style=" table-layout:fixed;" >
|
||||
<thead style=" background-color: #893b74;">
|
||||
<tr>
|
||||
<th width="30px" style="background-color:#893b74 !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; ">Vendor</th>
|
||||
<th width="30px" style="background-color:#893b74 !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; ">Shipping Address</th>
|
||||
<th width="20px" style="background-color:#893b74 !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; ">Reference/Description</th>
|
||||
<th width="20px" style="background-color:#893b74 !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; ">Request For Quatation #</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="border: 1px !important; border-style: solid !important; border-color: #fff !important;">
|
||||
<div t-field="o.partner_id"/>
|
||||
<t t-if="o.partner_id.street">
|
||||
<t t-esc="o.partner_id.street"/>
|
||||
</t><br/>
|
||||
<t t-if="o.partner_id.street2">
|
||||
<t t-esc="o.partner_id.street2"/>
|
||||
</t><br/>
|
||||
<t t-if="o.partner_id.city">
|
||||
<t t-esc="o.partner_id.city"/>
|
||||
</t><br/>
|
||||
<t t-if="o.partner_id.state_id.name">
|
||||
<t t-esc="o.partner_id.state_id.name"/>
|
||||
</t><br/>
|
||||
<t t-if="o.partner_id.country_id.name">
|
||||
<t t-esc="o.partner_id.country_id.name"/>
|
||||
</t><br/>
|
||||
<t t-if="o.partner_id.zip">
|
||||
<t t-esc="o.partner_id.zip"/>
|
||||
</t><br/>
|
||||
<div t-field="o.partner_id.vat"/>
|
||||
</td>
|
||||
<td style="border: 1px !important; border-style: solid !important; border-color: #fff !important;">
|
||||
<div t-if="o.dest_address_id">
|
||||
<div t-field="o.dest_address_id"
|
||||
t-field-options='{"widget": "contact", "fields": ["address", "name", "phone", "fax"], "no_marker": true, "phone_icons": true}'/>
|
||||
<div t-field="o.dest_address_id.vat"/>
|
||||
</div>
|
||||
<div t-if="not o.dest_address_id and o.picking_type_id.warehouse_id">
|
||||
<span t-field="o.picking_type_id.warehouse_id.name"/>
|
||||
<div t-field="o.picking_type_id.warehouse_id.partner_id"
|
||||
t-field-options='{"widget": "contact", "fields": ["address", "phone", "fax"], "no_marker": true, "phone_icons": true}'/>
|
||||
<div t-field="o.picking_type_id.warehouse_id.partner_id.vat"/>
|
||||
</div>
|
||||
</td>
|
||||
<td style="border: 1px !important; border-style: solid !important; border-color: #fff !important;">
|
||||
</td>
|
||||
<td style="border: 1px !important; border-style: solid !important; border-color: #fff !important;">
|
||||
<b><div t-field="o.name"/></b>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<table class="table table-sm" style=" table-layout:fixed; padding-top=20px;" >
|
||||
<thead style=" background-color: #893b74;">
|
||||
<tr>
|
||||
<th width="30px" style="background-color:#893b74 !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; ">Order Date</th>
|
||||
<th width="30px" style="background-color:#893b74 !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; ">Scheduled Date</th>
|
||||
<th width="20px" style="background-color:#893b74 !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; ">Approval Date</th>
|
||||
<th width="20px" style="background-color:#893b74 !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; ">Payment Term</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="border: 1px !important; border-style: solid !important; border-color: #fff !important;">
|
||||
<div t-field="o.date_order"/>
|
||||
</td>
|
||||
<td style="border: 1px !important; border-style: solid !important; border-color: #fff !important;">
|
||||
<div t-field="o.date_planned"/>
|
||||
</td>
|
||||
<td style="border: 1px !important; border-style: solid !important; border-color: #fff !important;">
|
||||
<div t-field="o.date_approve"/>
|
||||
</td>
|
||||
<td style="border: 1px !important; border-style: solid !important; border-color: #fff !important;">
|
||||
<div t-field="o.payment_term_id"/>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
<table class="table table-sm">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="background-color:#893b74 !important;color:#FFF !important;">Description</th>
|
||||
<th style="background-color:#893b74 !important;color:#FFF !important;" class="text-center">Expected Date</th>
|
||||
<th style="background-color:#893b74 !important;color:#FFF !important;" class="text-right">Qty</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr t-foreach="o.order_line" t-as="order_line">
|
||||
<td>
|
||||
<span t-field="order_line.name"/>
|
||||
</td>
|
||||
<td class="text-center">
|
||||
<span t-field="order_line.date_planned"/>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<span t-field="order_line.product_qty"/>
|
||||
<span t-field="order_line.product_uom" groups="product.group_uom"/>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<p style=" background-color: #893b74;" t-field="o.notes" />
|
||||
|
||||
<div class="oe_structure"/>
|
||||
</div>
|
||||
</t>
|
||||
</template>
|
||||
|
||||
</data>
|
||||
</odoo>
|
||||
|
||||
@@ -0,0 +1,143 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<data>
|
||||
<template id="odoo_standard_report_purchaseorder_document">
|
||||
<t t-if="o and 'company_id' in o">
|
||||
<t t-set="company" t-value="o.company_id"></t>
|
||||
</t>
|
||||
<t t-if="not o or not 'company_id' in o">
|
||||
<t t-set="company" t-value="res_company"></t>
|
||||
</t>
|
||||
<div class="header">
|
||||
<div class="row mt32 mb32">
|
||||
<div class="col-6">
|
||||
<img t-if="company.logo" t-att-src="'data:image/png;base64,%s' % to_text(company.logo)" style="max-height: 50px;" />
|
||||
</div>
|
||||
<div class="col-6 text-right" style="font:12px lucida-console,sans-serif !important;">
|
||||
<span t-field="company.partner_id" />
|
||||
<br/>
|
||||
<span t-field="company.partner_id.street" />
|
||||
<br/>
|
||||
<span t-field="company.partner_id.street2" />
|
||||
<br/>
|
||||
<span t-field="company.partner_id.city" />
|
||||
<br/>
|
||||
<span t-field="company.partner_id.country_id" />
|
||||
<br/>
|
||||
<span t-field="company.partner_id.vat" />
|
||||
<br/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<t t-call="web.external_layout">
|
||||
<t t-set="o" t-value="o.with_context({'lang':o.partner_id.lang})"/>
|
||||
<div class="page">
|
||||
<div class="oe_structure"/>
|
||||
<h2 style=" background-color: #893b74;"><font color="#fff">Request for Quotation <span t-field="o.name"/></font></h2>
|
||||
<div class="row mt32 mb32">
|
||||
<div class="col-xs-6 ">
|
||||
<strong style="color:gray !important;">Vendor address:</strong><br/>
|
||||
<span style="color:#893b74 !important;" t-field="o.partner_id" /><br/>
|
||||
<t t-if="o.partner_id.street">
|
||||
<t t-esc="o.partner_id.street"/>
|
||||
</t><br/>
|
||||
<t t-if="o.partner_id.street2">
|
||||
<t t-esc="o.partner_id.street2"/>
|
||||
</t><br/>
|
||||
<t t-if="o.partner_id.city">
|
||||
<t t-esc="o.partner_id.city"/>
|
||||
</t><br/>
|
||||
<t t-if="o.partner_id.state_id.name">
|
||||
<t t-esc="o.partner_id.state_id.name"/>
|
||||
</t><br/>
|
||||
<t t-if="o.partner_id.country_id.name">
|
||||
<t t-esc="o.partner_id.country_id.name"/>
|
||||
</t><br/>
|
||||
<t t-if="o.partner_id.zip">
|
||||
<t t-esc="o.partner_id.zip"/>
|
||||
</t><br/>
|
||||
<div t-field="o.partner_id.vat"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<table class="table table-sm">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="background-color:#893b74 !important;color:#FFF !important;">Description</th>
|
||||
<th style="background-color:#893b74 !important;color:#FFF !important;" class="text-center">Taxes</th>
|
||||
<th style="background-color:#893b74 !important;color:#FFF !important;" class="text-center">Date Req.</th>
|
||||
<th style="background-color:#893b74 !important;color:#FFF !important;" class="text-center">Qty</th>
|
||||
<th style="background-color:#893b74 !important;color:#FFF !important;" class="text-center">Unit Price</th>
|
||||
<th style="background-color:#893b74 !important;color:#FFF !important;" class="text-right">Net Price</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr t-foreach="o.order_line" t-as="line">
|
||||
<td>
|
||||
<span t-field="line.name"/>
|
||||
</td>
|
||||
<td>
|
||||
<span t-esc="', '.join(map(lambda x: x.name, line.taxes_id))"/>
|
||||
</td>
|
||||
<td class="text-center">
|
||||
<span t-field="line.date_planned"/>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<span t-field="line.product_qty"/>
|
||||
<span t-field="line.product_uom.name" groups="product.group_uom"/>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<span t-field="line.price_unit"/>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<span t-field="line.price_subtotal"
|
||||
t-field-options='{"widget": "monetary", "display_currency": "o.currency_id"}'/>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div >
|
||||
<div class="col-xs-4 pull-right">
|
||||
<table class="table table-condensed">
|
||||
<tr class="border-black">
|
||||
<td><strong>Total Without Taxes</strong></td>
|
||||
<td class="text-right">
|
||||
<span t-field="o.amount_untaxed"
|
||||
t-field-options='{"widget": "monetary", "display_currency": "o.currency_id"}'/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Taxes</td>
|
||||
<td class="text-right">
|
||||
<span t-field="o.amount_tax"
|
||||
t-field-options='{"widget": "monetary", "display_currency": "o.currency_id"}'/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="background-color:#893b74 !important;color:#FFF !important;"><strong>Total</strong></td>
|
||||
<td style="background-color:#893b74 !important;color:#FFF !important;" class="text-right">
|
||||
<span t-field="o.amount_total"
|
||||
t-field-options='{"widget": "monetary", "display_currency": "o.currency_id"}'/>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<br/><br/><br/><br/><br/><br/><br/><br/>
|
||||
<div style=" background-color: #893b74; color:#fff !important; font:15px lucida-console,sans-serif !important; ">
|
||||
<p t-if="o.notes">
|
||||
<strong><span>Note:</span> </strong> <span t-field="o.notes" />
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="oe_structure"/>
|
||||
</div>
|
||||
</t>
|
||||
</template>
|
||||
|
||||
</data>
|
||||
</odoo>
|
||||
|
||||
@@ -0,0 +1,103 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<data>
|
||||
<template id="odoo_std_report_purchasequotation_document">
|
||||
<t t-if="o and 'company_id' in o">
|
||||
<t t-set="company" t-value="o.company_id"></t>
|
||||
</t>
|
||||
<t t-if="not o or not 'company_id' in o">
|
||||
<t t-set="company" t-value="res_company"></t>
|
||||
</t>
|
||||
<div class="header">
|
||||
<div class="row mt32 mb32">
|
||||
<div class="col-6">
|
||||
<img t-if="company.logo" t-att-src="'data:image/png;base64,%s' % to_text(company.logo)" style="max-height: 50px;" />
|
||||
</div>
|
||||
<div class="col-6 text-right" style="font:12px lucida-console,sans-serif !important;">
|
||||
<span t-field="company.partner_id" />
|
||||
<br/>
|
||||
<span t-field="company.partner_id.street" />
|
||||
<br/>
|
||||
<span t-field="company.partner_id.street2" />
|
||||
<br/>
|
||||
<span t-field="company.partner_id.city" />
|
||||
<br/>
|
||||
<span t-field="company.partner_id.country_id" />
|
||||
<br/>
|
||||
<span t-field="company.partner_id.vat" />
|
||||
<br/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<t t-call="web.external_layout">
|
||||
<t t-set="o" t-value="o.with_context({'lang':o.partner_id.lang})"/>
|
||||
<div class="page">
|
||||
<div class="oe_structure"/>
|
||||
<h2 style=" background-color: #893b74;"><font color="#fff">Request for Quotation <span t-field="o.name"/></font></h2>
|
||||
<div class="row mt32 mb32">
|
||||
<div class="col-xs-6 ">
|
||||
<strong style="color:gray !important;">Vendor address:</strong><br/>
|
||||
<span style="color:#893b74 !important;" t-field="o.partner_id" /><br/>
|
||||
<t t-if="o.partner_id.street">
|
||||
<t t-esc="o.partner_id.street"/>
|
||||
</t><br/>
|
||||
<t t-if="o.partner_id.street2">
|
||||
<t t-esc="o.partner_id.street2"/>
|
||||
</t><br/>
|
||||
<t t-if="o.partner_id.city">
|
||||
<t t-esc="o.partner_id.city"/>
|
||||
</t><br/>
|
||||
<t t-if="o.partner_id.state_id.name">
|
||||
<t t-esc="o.partner_id.state_id.name"/>
|
||||
</t><br/>
|
||||
<t t-if="o.partner_id.country_id.name">
|
||||
<t t-esc="o.partner_id.country_id.name"/>
|
||||
</t><br/>
|
||||
<t t-if="o.partner_id.zip">
|
||||
<t t-esc="o.partner_id.zip"/>
|
||||
</t><br/>
|
||||
<div t-field="o.partner_id.vat"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<table class="table table-sm">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="background-color:#893b74 !important;color:#FFF !important;">Description</th>
|
||||
<th style="background-color:#893b74 !important;color:#FFF !important;" class="text-center">Expected Date</th>
|
||||
<th style="background-color:#893b74 !important;color:#FFF !important;" class="text-right">Qty</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr t-foreach="o.order_line" t-as="order_line">
|
||||
<td>
|
||||
<span t-field="order_line.name"/>
|
||||
</td>
|
||||
<td class="text-center">
|
||||
<span t-field="order_line.date_planned"/>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<span t-field="order_line.product_qty"/>
|
||||
<span t-field="order_line.product_uom" groups="product.group_uom"/>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<div style=" background-color: #893b74; color:#fff !important; font:15px lucida-console,sans-serif !important; ">
|
||||
<p t-if="o.notes">
|
||||
<strong><span>Note:</span> </strong> <span t-field="o.notes" />
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="oe_structure"/>
|
||||
</div>
|
||||
</t>
|
||||
</template>
|
||||
|
||||
</data>
|
||||
</odoo>
|
||||
|
||||
85
bi_professional_reports_templates/res_company.py
Normal file
@@ -0,0 +1,85 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Part of BrowseInfo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
from odoo import models, fields, api, _
|
||||
|
||||
class res_company(models.Model):
|
||||
_inherit = "res.company"
|
||||
|
||||
sale_template = fields.Selection([
|
||||
('fency', 'Fency'),
|
||||
('classic', 'Classic'),
|
||||
('modern', 'Modern'),
|
||||
('odoo_standard', 'Odoo Standard'),
|
||||
], 'Sale')
|
||||
purchase_template = fields.Selection([
|
||||
('fency', 'Fency'),
|
||||
('classic', 'Classic'),
|
||||
('modern', 'Modern'),
|
||||
('odoo_standard', 'Odoo Stan/home/sanjay/odoo-12.0/custom_addons/custom_wizard/modeldard'),
|
||||
], 'Purchase')
|
||||
stock_template = fields.Selection([
|
||||
('fency', 'Fency'),
|
||||
('classic', 'Classic'),
|
||||
('modern', 'Modern'),
|
||||
('odoo_standard', 'Odoo Standard'),
|
||||
], 'Stock')
|
||||
account_template = fields.Selection([
|
||||
('fency', 'Fency'),
|
||||
('classic', 'Classic'),
|
||||
('modern', 'Modern'),
|
||||
('odoo_standard', 'Odoo Standard'),
|
||||
], 'Account')
|
||||
|
||||
|
||||
class account_invoice(models.Model):
|
||||
_inherit = "account.move"
|
||||
|
||||
paypal_chk = fields.Boolean("Paypal")
|
||||
paypal_id = fields.Char("Paypal Id")
|
||||
|
||||
|
||||
def invoice_print(self):
|
||||
""" Print the invoice and mark it as sent, so that we can see more
|
||||
easily the next step of the workflow
|
||||
"""
|
||||
self.ensure_one()
|
||||
self.sent = True
|
||||
return self.env.ref('bi_professional_reports_templates.custom_account_invoices').report_action(self)
|
||||
|
||||
|
||||
class res_company(models.Model):
|
||||
_inherit = "res.company"
|
||||
|
||||
bank_account_id = fields.Many2one('res.partner.bank', 'Bank Account')
|
||||
|
||||
class res_partner_bank(models.Model):
|
||||
_inherit = "res.partner.bank"
|
||||
|
||||
street = fields.Char('Street')
|
||||
street2 = fields.Char('Street2')
|
||||
zip = fields.Char('Zip', size=24, change_default=True)
|
||||
city = fields.Char('City')
|
||||
state_id = fields.Many2one("res.country.state", 'State')
|
||||
country_id = fields.Many2one('res.country', 'Country')
|
||||
swift_code = fields.Char('Swift Code')
|
||||
ifsc = fields.Char('IFSC')
|
||||
branch_name = fields.Char('Branch Name')
|
||||
|
||||
|
||||
class sale_order(models.Model):
|
||||
_inherit = 'sale.order'
|
||||
|
||||
|
||||
def print_quotation(self):
|
||||
self.filtered(lambda s: s.state == 'draft').write({'state': 'sent'})
|
||||
return self.env.ref('bi_professional_reports_templates.custom_report_sale_order').report_action(self)
|
||||
|
||||
|
||||
class PurchaseOrder(models.Model):
|
||||
_inherit = "purchase.order"
|
||||
|
||||
def print_quotation(self):
|
||||
self.write({'state': "sent"})
|
||||
return self.env.ref('bi_professional_reports_templates.custom_report_purchase_quotation').report_action(self)
|
||||
|
||||
70
bi_professional_reports_templates/res_company.xml
Normal file
@@ -0,0 +1,70 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<data>
|
||||
|
||||
<record id="res_company_custom_inherit_form_view" model="ir.ui.view">
|
||||
<field name="name">res_company_inherit.inherit_form_view</field>
|
||||
<field name="model">res.company</field>
|
||||
<field name="inherit_id" ref="base.view_company_form" />
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<field name="parent_id" position="after">
|
||||
<group colspan="2" col="2">
|
||||
<field name="sale_template"/>
|
||||
<field name="purchase_template"/>
|
||||
<field name="account_template"/>
|
||||
<field name="stock_template"/>
|
||||
</group>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
<record id="account_invoice_inherit_form_view" model="ir.ui.view">
|
||||
<field name="name">account_invoice_inherit.inherit_form_view</field>
|
||||
<field name="model">account.move</field>
|
||||
<field name="inherit_id" ref="account.view_move_form" />
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<field name="invoice_payment_term_id" position='after'>
|
||||
<field name="paypal_chk"/>
|
||||
<field name="paypal_id" attrs="{'invisible': [('paypal_chk','!=',True)],'required': [['paypal_chk', '=', True]]}"/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="res_company_inherit_form_view" model="ir.ui.view">
|
||||
<field name="name">res_company_inherit.inherit_form_view</field>
|
||||
<field name="model">res.company</field>
|
||||
<field name="inherit_id" ref="base.view_company_form" />
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<field name="parent_id" position="before">
|
||||
<field name="bank_account_id"/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="res_partner_bank_inherit_form_view" model="ir.ui.view">
|
||||
<field name="name">res_partner_bank_inherit.inherit_form_view</field>
|
||||
<field name="model">res.partner.bank</field>
|
||||
<field name="inherit_id" ref="base.view_partner_bank_form" />
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<field name="company_id" position="after">
|
||||
<field name="branch_name" />
|
||||
<label for="street" string="Address"/>
|
||||
<div class="o_address_format">
|
||||
<field name="street" placeholder="Street..." class="o_address_street" />
|
||||
<field name="street2" placeholder="Street 2..." class="o_address_street"/>
|
||||
<field name="city" placeholder="City" class="o_address_city" />
|
||||
<field name="state_id" class="o_address_state" placeholder="State" />
|
||||
<field name="zip" placeholder="ZIP" class="o_address_zip" />
|
||||
<field name="country_id" placeholder="Country" class="o_address_country"/>
|
||||
</div>
|
||||
<field name="swift_code" />
|
||||
<field name="ifsc" />
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</odoo>
|
||||
@@ -0,0 +1,212 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<data>
|
||||
|
||||
<template id="classic_report_saleorder_document">
|
||||
<t t-if="o and 'company_id' in o">
|
||||
<t t-set="company" t-value="o.company_id"></t>
|
||||
</t>
|
||||
<t t-if="not o or not 'company_id' in o">
|
||||
<t t-set="company" t-value="res_company"></t>
|
||||
</t>
|
||||
<div class="header">
|
||||
<div class="row mt32 mb32">
|
||||
<div class="col-6">
|
||||
<img t-if="company.logo" t-att-src="'data:image/png;base64,%s' % to_text(company.logo)" style="max-height: 50px;" />
|
||||
</div>
|
||||
<div class="col-6 text-right" style="font:12px lucida-console,sans-serif !important;">
|
||||
<span t-field="company.partner_id" />
|
||||
<br/>
|
||||
<span t-field="company.partner_id.street" />
|
||||
<br/>
|
||||
<span t-field="company.partner_id.street2" />
|
||||
<br/>
|
||||
<span t-field="company.partner_id.city" />
|
||||
<br/>
|
||||
<span t-field="company.partner_id.country_id" />
|
||||
<br/>
|
||||
<span t-field="company.partner_id.vat" />
|
||||
<br/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<t t-call="web.external_layout">
|
||||
<t t-set="doc" t-value="doc.with_context({'lang':zh_CN})" />
|
||||
<div class="page">
|
||||
<div class="oe_structure"/>
|
||||
<div >
|
||||
<table class="table table-sm" style=" table-layout:fixed;" >
|
||||
<thead>
|
||||
<tr>
|
||||
<th width="30px" style="background-color:#3498DB !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; ">Customer Address</th>
|
||||
<th width="30px" style="background-color:#3498DB !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; ">Invoicing and Shipping Address</th>
|
||||
<th width="20px" style="background-color:#3498DB !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; ">Quotation Date</th>
|
||||
<th width="20px" style="background-color:#3498DB !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; ">Quotation #</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="sale_tbody">
|
||||
<tr>
|
||||
<td style="border: 1px !important; border-style: solid !important; border-color: #fff !important;">
|
||||
<div t-field="doc.partner_id"/>
|
||||
<t t-if="doc.partner_id.street">
|
||||
<t t-esc="doc.partner_id.street"/>
|
||||
</t><br/>
|
||||
<t t-if="doc.partner_id.street2">
|
||||
<t t-esc="doc.partner_id.street2"/>
|
||||
</t><br/>
|
||||
<t t-if="doc.partner_id.city">
|
||||
<t t-esc="doc.partner_id.city"/>
|
||||
</t><br/>
|
||||
<t t-if="doc.partner_id.state_id.name">
|
||||
<t t-esc="doc.partner_id.state_id.name"/>
|
||||
</t><br/>
|
||||
<t t-if="doc.partner_id.country_id.name">
|
||||
<t t-esc="doc.partner_id.country_id.name"/>
|
||||
</t><br/>
|
||||
<t t-if="doc.partner_id.zip">
|
||||
<t t-esc="doc.partner_id.zip"/>
|
||||
</t><br/>
|
||||
<div t-field="doc.partner_id.vat"/>
|
||||
</td>
|
||||
|
||||
<td style="border: 1px !important; border-style: solid !important; border-color: #fff !important;">
|
||||
<div t-field="doc.partner_invoice_id"/>
|
||||
<t t-if="doc.partner_invoice_id.street">
|
||||
<t t-esc="doc.partner_invoice_id.street"/>
|
||||
</t><br/>
|
||||
<t t-if="doc.partner_invoice_id.street2">
|
||||
<t t-esc="doc.partner_invoice_id.street2"/>
|
||||
</t><br/>
|
||||
<t t-if="doc.partner_invoice_id.city">
|
||||
<t t-esc="doc.partner_invoice_id.city"/>
|
||||
</t>
|
||||
<t t-if="doc.partner_invoice_id.state_id">
|
||||
<t t-esc="doc.partner_invoice_id.state_id.name"/>
|
||||
</t><br/>
|
||||
<t t-if="doc.partner_invoice_id.country_id">
|
||||
<t t-esc="doc.partner_invoice_id.country_id.name"/>
|
||||
</t><br/>
|
||||
<t t-if="doc.partner_invoice_id.zip">
|
||||
<t t-esc="doc.partner_invoice_id.zip"/>
|
||||
</t><br/>
|
||||
<div t-field="doc.partner_invoice_id.vat"/>
|
||||
</td>
|
||||
<td style="border: 1px !important; border-style: solid !important; border-color: #fff !important;">
|
||||
<span t-field="doc.date_order"/>
|
||||
</td>
|
||||
<td style="border: 1px !important; border-style: solid !important; border-color: #fff !important;">
|
||||
<strong><span t-field="doc.name"/></strong>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<!-- Is there a discount on at least one line? -->
|
||||
<t t-set="display_discount" t-value="any([l.discount for l in doc.order_line])"/>
|
||||
|
||||
<table class="table table-sm">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="background-color:#3498DB !important;color:#FFF !important;">Description</th>
|
||||
<th style="background-color:#3498DB !important;color:#FFF !important;" class="text-right">Quantity</th>
|
||||
<th style="background-color:#3498DB !important;color:#FFF !important;" class="text-right">Unit Price</th>
|
||||
<th style="background-color:#3498DB !important;color:#FFF !important;" t-if="display_discount" class="text-right" groups="sale.group_discount_per_so_line">Disc.(%)</th>
|
||||
<th style="background-color:#3498DB !important;color:#FFF !important;" class="text-right">Taxes</th>
|
||||
<th style="background-color:#3498DB !important;color:#FFF !important;" class="text-right">Price</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="sale_tbody">
|
||||
<t t-foreach="doc.order_line" t-as="l">
|
||||
<tr t-if="l.product_uom_qty">
|
||||
<td>
|
||||
<span t-field="l.name"/>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<span t-field="l.product_uom_qty"/>
|
||||
<span groups="product.group_uom" t-field="l.product_uom"/>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<span t-field="l.price_unit"/>
|
||||
</td>
|
||||
<td t-if="display_discount" class="text-right" groups="sale.group_discount_per_so_line">
|
||||
<span t-field="l.discount"/>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<span t-esc="', '.join(map(lambda x: (x.description or x.name), l.tax_id))"/>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<span t-field="l.price_subtotal"
|
||||
t-field-options='{"widget": "monetary", "display_currency": "doc.pricelist_id.currency_id"}'/>
|
||||
</td>
|
||||
</tr>
|
||||
</t>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div name="total">
|
||||
<div class="col-xs-4 pull-right">
|
||||
<table class="table table-condensed">
|
||||
<tr class="border-black">
|
||||
<td><strong>Total Without Taxes</strong></td>
|
||||
<td class="text-right">
|
||||
<span t-field="doc.amount_untaxed"
|
||||
t-field-options='{"widget": "monetary", "display_currency": "doc.pricelist_id.currency_id"}'/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Taxes</td>
|
||||
<td class="text-right">
|
||||
<span t-field="doc.amount_tax"
|
||||
t-field-options='{"widget": "monetary", "display_currency": "doc.pricelist_id.currency_id"}'/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="border-black">
|
||||
<td style="background-color:#3498DB !important;color:#FFF !important;"><strong>Total</strong></td>
|
||||
<td style="background-color:#3498DB !important;color:#FFF !important;" class="text-right">
|
||||
<span t-field="doc.amount_total"
|
||||
t-field-options='{"widget": "monetary", "display_currency": "doc.pricelist_id.currency_id"}'/>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<br/><br/><br/><br/><br/><br/><br/><br/><br/>
|
||||
<div style=" background-color: #3498DB; color:#fff !important; font:15px lucida-console,sans-serif !important; ">
|
||||
<p t-if="doc.note">
|
||||
<strong><span>Note:</span> </strong> <span t-field="doc.note" />
|
||||
</p>
|
||||
</div>
|
||||
<div style=" background-color: #3498DB; color:#fff !important; font:15px lucida-console,sans-serif !important;">
|
||||
<p t-if="doc.payment_term_id ">
|
||||
<strong><div name="payment_term">Payment Term :<span t-field="doc.payment_term_id"/></div></strong>
|
||||
</p>
|
||||
</div>
|
||||
<div class="oe_structure"/>
|
||||
</div>
|
||||
</t>
|
||||
</template>
|
||||
|
||||
|
||||
<template id="custom_report_saleorder" inherit_id="sale.report_saleorder">
|
||||
<xpath expr="//t[@t-call='web.html_container']" position="replace">
|
||||
<t t-call="web.html_container">
|
||||
<t t-foreach="docs" t-as="doc">
|
||||
<t t-if="doc.company_id.sale_template == 'classic'">
|
||||
<t t-call="bi_professional_reports_templates.classic_report_saleorder_document" t-lang="doc.partner_id.lang"/>
|
||||
</t>
|
||||
<t t-if="doc.company_id.sale_template == 'fency'">
|
||||
<t t-call="bi_professional_reports_templates.fency_report_saleorder_document" t-lang="doc.partner_id.lang"/>
|
||||
</t>
|
||||
<t t-if="doc.company_id.sale_template == 'modern'">
|
||||
<t t-call="bi_professional_reports_templates.modern_report_saleorder_document" t-lang="doc.partner_id.lang"/>
|
||||
</t>
|
||||
<t t-if="doc.company_id.sale_template == 'odoo_standard'">
|
||||
<t t-call="bi_professional_reports_templates.odoo_std_report_saleorder_document" t-lang="doc.partner_id.lang"/>
|
||||
</t>
|
||||
</t>
|
||||
</t>
|
||||
</xpath>
|
||||
</template>
|
||||
</data>
|
||||
</odoo>
|
||||
@@ -0,0 +1,189 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<data>
|
||||
<template id="fency_report_saleorder_document">
|
||||
<t t-if="o and 'company_id' in o">
|
||||
<t t-set="company" t-value="o.company_id"></t>
|
||||
</t>
|
||||
<t t-if="not o or not 'company_id' in o">
|
||||
<t t-set="company" t-value="res_company"></t>
|
||||
</t>
|
||||
<div class="header">
|
||||
<div class="row mt32 mb32">
|
||||
<div class="col-6">
|
||||
<img t-if="company.logo" t-att-src="'data:image/png;base64,%s' % to_text(company.logo)" style="max-height: 50px;" />
|
||||
</div>
|
||||
<div class="col-6 text-right" style="font:12px lucida-console,sans-serif !important;">
|
||||
<span t-field="company.partner_id" />
|
||||
<br/>
|
||||
<span t-field="company.partner_id.street" />
|
||||
<br/>
|
||||
<span t-field="company.partner_id.street2" />
|
||||
<br/>
|
||||
<span t-field="company.partner_id.city" />
|
||||
<br/>
|
||||
<span t-field="company.partner_id.country_id" />
|
||||
<br/>
|
||||
<span t-field="company.partner_id.vat" />
|
||||
<br/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<t t-call="web.external_layout">
|
||||
<t t-set="o" t-value="doc.with_context({'lang':doc.partner_id.lang})" />
|
||||
<div class="page">
|
||||
<div class="oe_structure" />
|
||||
<div >
|
||||
<div style=" background-color: #3498DB;">
|
||||
<h2>
|
||||
<span ><font color="#fff">Order# </font></span>
|
||||
<font color="#fff"><span t-field="o.name"/></font>
|
||||
</h2>
|
||||
|
||||
<div class="row mt32 mb32">
|
||||
<div class="col-3">
|
||||
<font color="#fff">
|
||||
<strong>Your Reference:</strong>
|
||||
<p t-field="o.client_order_ref"/></font>
|
||||
</div>
|
||||
|
||||
<div class="col-3" t-if="o.date_order">
|
||||
<font color="#fff">
|
||||
<strong>Order Date:</strong>
|
||||
<p t-field="o.date_order"/></font>
|
||||
</div>
|
||||
|
||||
<div class="col-3" t-if="o.payment_term_id">
|
||||
<font color="#fff">
|
||||
<strong> Payment Term:</strong>
|
||||
<p t-field="o.payment_term_id"/></font>
|
||||
</div>
|
||||
|
||||
<div class="col-3" t-if="o.user_id">
|
||||
<font color="#fff">
|
||||
<strong>Sales Person:</strong>
|
||||
<p t-field="o.user_id"/></font>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row mt32 mb32">
|
||||
<div class="col-6 ">
|
||||
<strong>Customer Address:</strong><br/>
|
||||
<span t-field="o.partner_id" /><br/>
|
||||
<span t-if="o.partner_id.street"
|
||||
t-field="o.partner_id.street" /><br/>
|
||||
<span t-if="o.partner_id.street2"
|
||||
t-field="o.partner_id.street2" /><br/>
|
||||
<span t-if="o.partner_id.city" t-field="o.partner_id.city" /><br/>
|
||||
<span t-if="o.partner_id.state_id"
|
||||
t-field="o.partner_id.state_id" />
|
||||
<br/>
|
||||
<span t-if="o.partner_id.country_id" t-field="o.partner_id.country_id" />
|
||||
<br/>
|
||||
<span t-if="o.partner_id.zip" t-field="o.partner_id.zip" />
|
||||
</div>
|
||||
<div class="col-6 text-right">
|
||||
<strong>Shipping Address:</strong><br/>
|
||||
<span t-field="o.partner_shipping_id" />
|
||||
<br/>
|
||||
<span t-field="o.partner_shipping_id.street" />
|
||||
<br/>
|
||||
<span t-field="o.partner_shipping_id.street2" />
|
||||
<br/>
|
||||
<span t-field="o.partner_shipping_id.city" />
|
||||
<br/>
|
||||
<span t-field="o.partner_shipping_id.state_id" />
|
||||
<br/>
|
||||
<span t-field="o.partner_shipping_id.country_id" />
|
||||
<br/>
|
||||
<span t-field="o.partner_shipping_id.zip" />
|
||||
<br/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Is there a discount on at least one line? -->
|
||||
<t t-set="display_discount" t-value="any([l.discount for l in o.order_line])" />
|
||||
|
||||
<table class="table table-sm">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="background-color:#3498DB !important;color:#FFF !important;">Description</th>
|
||||
<th class="text-right" style="background-color:#3498DB !important;color:#FFF !important;">Quantity</th>
|
||||
<th class="text-right" style="background-color:#3498DB !important;color:#FFF !important;">Unit Price</th>
|
||||
<th t-if="display_discount" class="text-right" groups="sale.group_discount_per_so_line" style="background-color:#3498DB !important;color:#FFF !important;">Disc.(%)</th>
|
||||
<th class="text-right" style="background-color:#3498DB !important;color:#FFF !important;">Taxes</th>
|
||||
<th class="text-right" style="background-color:#3498DB !important;color:#FFF !important;">Price</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="sale_tbody">
|
||||
<t t-foreach="doc.order_line" t-as="l">
|
||||
<tr t-if="l.product_uom_qty">
|
||||
<td>
|
||||
<span t-field="l.name" />
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<span t-field="l.product_uom_qty" />
|
||||
<span groups="product.group_uom" t-field="l.product_uom" />
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<span t-field="l.price_unit" />
|
||||
</td>
|
||||
<td t-if="display_discount" class="text-right" groups="sale.group_discount_per_so_line">
|
||||
<span t-field="l.discount" />
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<span t-esc="', '.join(map(lambda x: (x.description or x.name), l.tax_id))" />
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<span t-field="l.price_subtotal" t-field-options='{"widget": "monetary", "display_currency": "doc.pricelist_id.currency_id"}' />
|
||||
</td>
|
||||
</tr>
|
||||
</t>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div name="total">
|
||||
<div class="col-4 pull-right">
|
||||
<table class="table table-condensed">
|
||||
<tr class="border-black">
|
||||
<td><strong>Total Without Taxes</strong></td>
|
||||
<td class="text-right">
|
||||
<span t-field="doc.amount_untaxed" t-field-options='{"widget": "monetary", "display_currency": "doc.pricelist_id.currency_id"}' />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Taxes</td>
|
||||
<td class="text-right">
|
||||
<span t-field="doc.amount_tax" t-field-options='{"widget": "monetary", "display_currency": "doc.pricelist_id.currency_id"}' />
|
||||
</td>
|
||||
</tr>
|
||||
<tr >
|
||||
<td style="background-color:#3498DB !important;color:#FFF !important;"><strong>Total</strong></td>
|
||||
<td class="text-right" style="background-color:#3498DB !important;color:#FFF !important;">
|
||||
<span t-field="doc.amount_total" t-field-options='{"widget": "monetary", "display_currency": "doc.pricelist_id.currency_id"}' />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<br/><br/><br/><br/><br/><br/><br/><br/>
|
||||
<div style=" background-color: #3498DB; color:#fff !important; font:15px lucida-console,sans-serif !important; ">
|
||||
<p t-if="doc.note">
|
||||
<strong><span>Note:</span> </strong> <span t-field="doc.note" />
|
||||
</p>
|
||||
</div>
|
||||
<div style=" background-color: #3498DB; color:#fff !important; font:15px lucida-console,sans-serif !important;">
|
||||
<p t-if="doc.payment_term_id ">
|
||||
<strong> <span>Payment Term :</span></strong><span t-field="doc.payment_term_id" />
|
||||
</p>
|
||||
</div>
|
||||
<div class="oe_structure" />
|
||||
</div>
|
||||
</t>
|
||||
</template>
|
||||
|
||||
|
||||
</data>
|
||||
</odoo>
|
||||
@@ -0,0 +1,190 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<data>
|
||||
<template id="modern_report_saleorder_document">
|
||||
<t t-if="o and 'company_id' in o">
|
||||
<t t-set="company" t-value="o.company_id"></t>
|
||||
</t>
|
||||
<t t-if="not o or not 'company_id' in o">
|
||||
<t t-set="company" t-value="res_company"></t>
|
||||
</t>
|
||||
<div class="header">
|
||||
<div class="row mt32 mb32">
|
||||
<div class="col-6">
|
||||
<img t-if="company.logo" t-att-src="'data:image/png;base64,%s' % to_text(company.logo)" style="max-height: 50px;" />
|
||||
</div>
|
||||
<div class="col-6 text-right" style="font:12px lucida-console,sans-serif !important;">
|
||||
<span t-field="company.partner_id" />
|
||||
<br/>
|
||||
<span t-field="company.partner_id.street" />
|
||||
<br/>
|
||||
<span t-field="company.partner_id.street2" />
|
||||
<br/>
|
||||
<span t-field="company.partner_id.city" />
|
||||
<br/>
|
||||
<span t-field="company.partner_id.country_id" />
|
||||
<br/>
|
||||
<span t-field="company.partner_id.vat" />
|
||||
<br/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<t t-call="web.external_layout">
|
||||
<t t-set="doc" t-value="doc.with_context({'lang':doc.partner_id.lang})" />
|
||||
<div class="page">
|
||||
<div class="oe_structure"/>
|
||||
|
||||
<table class="table table-sm" style=" table-layout:fixed;" >
|
||||
<thead>
|
||||
<tr>
|
||||
<th width="30px" style="background-color:#893b74 !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; ">Customer</th>
|
||||
<th width="30px" style="background-color:#893b74 !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; ">Invoicing and shipping address</th>
|
||||
<th width="20px" style="background-color:#893b74 !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; ">Quotation Date</th>
|
||||
<th width="20px" style="background-color:#893b74 !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; ">Quotation #</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="sale_tbody">
|
||||
<tr>
|
||||
<td style="border: 1px !important; border-style: solid !important; border-color: #fff !important;">
|
||||
<div t-field="doc.partner_id"/>
|
||||
<t t-if="doc.partner_id.street">
|
||||
<t t-esc="doc.partner_id.street"/>
|
||||
</t><br/>
|
||||
<t t-if="doc.partner_id.street2">
|
||||
<t t-esc="doc.partner_id.street2"/>
|
||||
</t><br/>
|
||||
<t t-if="doc.partner_id.city">
|
||||
<t t-esc="doc.partner_id.city"/>
|
||||
</t><br/>
|
||||
<t t-if="doc.partner_id.state_id.name">
|
||||
<t t-esc="doc.partner_id.state_id.name"/>
|
||||
</t><br/>
|
||||
<t t-if="doc.partner_id.country_id.name">
|
||||
<t t-esc="doc.partner_id.country_id.name"/>
|
||||
</t><br/>
|
||||
<t t-if="doc.partner_id.zip">
|
||||
<t t-esc="doc.partner_id.zip"/>
|
||||
</t><br/>
|
||||
<div t-field="doc.partner_id.vat"/>
|
||||
</td>
|
||||
<td style="border: 1px !important; border-style: solid !important; border-color: #fff !important;">
|
||||
<div t-field="doc.partner_invoice_id"/>
|
||||
<t t-if="doc.partner_invoice_id.street">
|
||||
<t t-esc="doc.partner_invoice_id.street"/>
|
||||
</t><br/>
|
||||
<t t-if="doc.partner_invoice_id.street2">
|
||||
<t t-esc="doc.partner_invoice_id.street2"/>
|
||||
</t><br/>
|
||||
<t t-if="doc.partner_invoice_id.city">
|
||||
<t t-esc="doc.partner_invoice_id.city"/>
|
||||
</t>
|
||||
<t t-if="doc.partner_invoice_id.state_id">
|
||||
<t t-esc="doc.partner_invoice_id.state_id.name"/>
|
||||
</t><br/>
|
||||
<t t-if="doc.partner_invoice_id.country_id">
|
||||
<t t-esc="doc.partner_invoice_id.country_id.name"/>
|
||||
</t><br/>
|
||||
<t t-if="doc.partner_invoice_id.zip">
|
||||
<t t-esc="doc.partner_invoice_id.zip"/>
|
||||
</t><br/>
|
||||
<div t-field="doc.partner_invoice_id.vat"/>
|
||||
</td>
|
||||
<td style="border: 1px !important; border-style: solid !important; border-color: #fff !important;">
|
||||
<span t-field="doc.date_order"/>
|
||||
</td>
|
||||
<td style="border: 1px !important; border-style: solid !important; border-color: #fff !important;">
|
||||
<strong><span t-field="doc.name"/></strong>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<!-- Is there a discount on at least one line? -->
|
||||
<t t-set="display_discount" t-value="any([l.discount for l in doc.order_line])"/>
|
||||
|
||||
<table class="table table-sm">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="background-color:#893b74 !important;color:#FFF !important;">Description</th>
|
||||
<th style="background-color:#893b74 !important;color:#FFF !important;" class="text-right">Quantity</th>
|
||||
<th style="background-color:#893b74 !important;color:#FFF !important;" class="text-right">Unit Price</th>
|
||||
<th style="background-color:#893b74 !important;color:#FFF !important;" t-if="display_discount" class="text-right" groups="sale.group_discount_per_so_line">Disc.(%)</th>
|
||||
<th style="background-color:#893b74 !important;color:#FFF !important;" class="text-right">Taxes</th>
|
||||
<th style="background-color:#893b74 !important;color:#FFF !important;" class="text-right">Price</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="sale_tbody">
|
||||
<t t-foreach="doc.order_line" t-as="l">
|
||||
<tr t-if="l.product_uom_qty">
|
||||
<td>
|
||||
<span t-field="l.name"/>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<span t-field="l.product_uom_qty"/>
|
||||
<span groups="product.group_uom" t-field="l.product_uom"/>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<span t-field="l.price_unit"/>
|
||||
</td>
|
||||
<td t-if="display_discount" class="text-right" groups="sale.group_discount_per_so_line">
|
||||
<span t-field="l.discount"/>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<span t-esc="', '.join(map(lambda x: (x.description or x.name), l.tax_id))"/>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<span t-field="l.price_subtotal"
|
||||
t-field-options='{"widget": "monetary", "display_currency": "doc.pricelist_id.currency_id"}'/>
|
||||
</td>
|
||||
</tr>
|
||||
</t>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
<div name="total">
|
||||
<div class="col-xs-4 pull-right">
|
||||
<table class="table table-condensed">
|
||||
<tr class="border-black">
|
||||
<td><strong>Total Without Taxes</strong></td>
|
||||
<td class="text-right">
|
||||
<span t-field="doc.amount_untaxed"
|
||||
t-field-options='{"widget": "monetary", "display_currency": "doc.pricelist_id.currency_id"}'/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Taxes</td>
|
||||
<td class="text-right">
|
||||
<span t-field="doc.amount_tax"
|
||||
t-field-options='{"widget": "monetary", "display_currency": "doc.pricelist_id.currency_id"}'/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="border-black">
|
||||
<td style="background-color:#893b74 !important;color:#FFF !important;"><strong>Total</strong></td>
|
||||
<td style="background-color:#893b74 !important;color:#FFF !important;" class="text-right">
|
||||
<span t-field="doc.amount_total"
|
||||
t-field-options='{"widget": "monetary", "display_currency": "doc.pricelist_id.currency_id"}'/>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<br/><br/><br/><br/><br/><br/><br/><br/>
|
||||
<div style=" background-color: #893b74; color:#fff !important; font:15px lucida-console,sans-serif !important; ">
|
||||
<p t-if="doc.note">
|
||||
<strong><span>Note:</span> </strong> <span t-field="doc.note" />
|
||||
</p>
|
||||
</div>
|
||||
<div style=" background-color: #893b74; color:#fff !important; font:15px lucida-console,sans-serif !important;">
|
||||
<p t-if="doc.payment_term_id ">
|
||||
<strong> <span>Payment Term :</span></strong><span t-field="doc.payment_term_id"/>
|
||||
</p>
|
||||
</div>
|
||||
<div class="oe_structure"/>
|
||||
</div>
|
||||
</t>
|
||||
</template>
|
||||
|
||||
|
||||
</data>
|
||||
</odoo>
|
||||
@@ -0,0 +1,208 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<data>
|
||||
<template id="odoo_std_report_saleorder_document">
|
||||
<t t-if="o and 'company_id' in o">
|
||||
<t t-set="company" t-value="o.company_id"></t>
|
||||
</t>
|
||||
<t t-if="not o or not 'company_id' in o">
|
||||
<t t-set="company" t-value="res_company"></t>
|
||||
</t>
|
||||
<div class="header">
|
||||
<div class="row mt32 mb32">
|
||||
<div class="col-6">
|
||||
<img t-if="company.logo" t-att-src="'data:image/png;base64,%s' % to_text(company.logo)" style="max-height: 50px;" />
|
||||
</div>
|
||||
<div class="col-6 text-right" style="font:12px lucida-console,sans-serif !important;">
|
||||
<span t-field="company.partner_id" />
|
||||
<br/>
|
||||
<span t-field="company.partner_id.street" />
|
||||
<br/>
|
||||
<span t-field="company.partner_id.street2" />
|
||||
<br/>
|
||||
<span t-field="company.partner_id.city" />
|
||||
<br/>
|
||||
<span t-field="company.partner_id.country_id" />
|
||||
<br/>
|
||||
<span t-field="company.partner_id.vat" />
|
||||
<br/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<t t-call="web.external_layout">
|
||||
<t t-set="doc" t-value="doc.with_context({'lang':doc.partner_id.lang})" />
|
||||
<div class="page">
|
||||
<div class="oe_structure"/>
|
||||
<div style=" background-color: #893b74;">
|
||||
<h2>
|
||||
<span ><font color="#fff">Order# </font></span>
|
||||
<font color="#fff"><span t-field="doc.name"/></font>
|
||||
</h2>
|
||||
|
||||
<!-- <div class="row mt32 mb32">
|
||||
<div class="col-xs-3" >
|
||||
<font color="#fff">
|
||||
<strong>Your Reference:</strong>
|
||||
<p t-field="doc.client_order_ref"/></font>
|
||||
</div>
|
||||
|
||||
<div class="col-xs-3" t-if="doc.date_order">
|
||||
<font color="#fff">
|
||||
<strong>Order Date:</strong>
|
||||
<p t-field="doc.date_order"/></font>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="col-xs-3" t-if="doc.payment_term_id">
|
||||
<font color="#fff">
|
||||
<strong> Payment Term:</strong>
|
||||
<p t-field="doc.payment_term_id"/></font>
|
||||
</div>
|
||||
|
||||
<div class="col-xs-3" t-if="doc.user_id">
|
||||
<font color="#fff">
|
||||
<strong>SalesPerson:</strong>
|
||||
<p t-field="doc.user_id"/></font>
|
||||
</div>
|
||||
</div> -->
|
||||
<table class="table table-sm" style=" table-layout:fixed; padding-top=20px;" >
|
||||
<thead>
|
||||
<tr>
|
||||
<th width="30px" style="background-color:#893b74 !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; ">Your Reference:</th>
|
||||
<th width="30px" style="background-color:#893b74 !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; ">Order Date:</th>
|
||||
<th width="20px" style="background-color:#893b74 !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; ">Payment Term</th>
|
||||
<th width="20px" style="background-color:#893b74 !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; ">SalesPerson</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="border: 1px !important; border-style: solid !important; border-color: #fff !important;">
|
||||
<div t-field="doc.client_order_ref"/>
|
||||
</td>
|
||||
<td style="border: 1px !important; border-style: solid !important; border-color: #fff !important;">
|
||||
<div t-field="doc.date_order"/>
|
||||
</td>
|
||||
<td style="border: 1px !important; border-style: solid !important; border-color: #fff !important;">
|
||||
<div t-field="doc.payment_term_id"/>
|
||||
</td>
|
||||
<td style="border: 1px !important; border-style: solid !important; border-color: #fff !important;">
|
||||
<div t-field="doc.user_id"/>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div>
|
||||
<strong>Invoicing And Shipping Address</strong>
|
||||
<div t-field="doc.partner_invoice_id"/>
|
||||
<t t-if="doc.partner_invoice_id.street">
|
||||
<t t-esc="doc.partner_invoice_id.street"/>
|
||||
</t><br/>
|
||||
<t t-if="doc.partner_invoice_id.street2">
|
||||
<t t-esc="doc.partner_invoice_id.street2"/>
|
||||
</t><br/>
|
||||
<t t-if="doc.partner_invoice_id.city">
|
||||
<t t-esc="doc.partner_invoice_id.city"/>
|
||||
</t>
|
||||
<t t-if="doc.partner_invoice_id.state_id">
|
||||
<t t-esc="doc.partner_invoice_id.state_id.name"/>
|
||||
</t><br/>
|
||||
<t t-if="doc.partner_invoice_id.country_id">
|
||||
<t t-esc="doc.partner_invoice_id.country_id.name"/>
|
||||
</t><br/>
|
||||
<t t-if="doc.partner_invoice_id.zip">
|
||||
<t t-esc="doc.partner_invoice_id.zip"/>
|
||||
</t><br/>
|
||||
<div t-field="doc.partner_invoice_id.vat"/>
|
||||
</div>
|
||||
|
||||
<!-- Is there a discount on at least one line? -->
|
||||
<t t-set="display_discount" t-value="any([l.discount for l in doc.order_line])"/>
|
||||
|
||||
<table class="table table-sm">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="background-color:#893b74 !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; ">Description</th>
|
||||
<th style="background-color:#893b74 !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; " class="text-right">Quantity</th>
|
||||
<th style="background-color:#893b74 !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; " class="text-right">Unit Price</th>
|
||||
<th style="background-color:#893b74 !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; " t-if="display_discount" class="text-right" groups="sale.group_discount_per_so_line">Disc.(%)</th>
|
||||
<th style="background-color:#893b74 !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; " class="text-right">Taxes</th>
|
||||
<th style="background-color:#893b74 !important;border: 1px !important; border-style: solid !important; border-color: #fff; color:#fff !important; " class="text-right">Price</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="sale_tbody">
|
||||
<t t-foreach="doc.order_line" t-as="l">
|
||||
<tr t-if="l.product_uom_qty">
|
||||
<td>
|
||||
<span t-field="l.name"/>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<span t-field="l.product_uom_qty"/>
|
||||
<span groups="product.group_uom" t-field="l.product_uom"/>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<span t-field="l.price_unit"/>
|
||||
</td>
|
||||
<td t-if="display_discount" class="text-right" groups="sale.group_discount_per_so_line">
|
||||
<span t-field="l.discount"/>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<span t-esc="', '.join(map(lambda x: (x.description or x.name), l.tax_id))"/>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<span t-field="l.price_subtotal"
|
||||
t-field-options='{"widget": "monetary", "display_currency": "doc.pricelist_id.currency_id"}'/>
|
||||
</td>
|
||||
</tr>
|
||||
</t>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
<div name="total">
|
||||
<div class="col-xs-4 pull-right">
|
||||
<table class="table table-condensed">
|
||||
<tr class="border-black">
|
||||
<td><strong>Total Without Taxes</strong></td>
|
||||
<td class="text-right">
|
||||
<span t-field="doc.amount_untaxed"
|
||||
t-field-options='{"widget": "monetary", "display_currency": "doc.pricelist_id.currency_id"}'/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Taxes</td>
|
||||
<td class="text-right">
|
||||
<span t-field="doc.amount_tax"
|
||||
t-field-options='{"widget": "monetary", "display_currency": "doc.pricelist_id.currency_id"}'/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="border-black">
|
||||
<td style="background-color:#893b74 !important;color:#FFF !important;"><strong>Total</strong></td>
|
||||
<td style="background-color:#893b74 !important;color:#FFF !important;" class="text-right">
|
||||
<span t-field="doc.amount_total"
|
||||
t-field-options='{"widget": "monetary", "display_currency": "doc.pricelist_id.currency_id"}'/>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<br/><br/><br/><br/><br/><br/><br/><br/>
|
||||
<div style=" background-color: #893b74; color:#fff !important; font:15px lucida-console,sans-serif !important; ">
|
||||
<p t-if="doc.note">
|
||||
<strong><span>Note:</span> </strong> <span t-field="doc.note" />
|
||||
</p>
|
||||
</div>
|
||||
<div style=" background-color: #893b74; color:#fff !important; font:15px lucida-console,sans-serif !important;">
|
||||
<p t-if="doc.payment_term_id ">
|
||||
<strong> <span>Payment Term :</span></strong><span t-field="doc.payment_term_id"/>
|
||||
</p>
|
||||
</div>
|
||||
<div class="oe_structure"/>
|
||||
</div>
|
||||
</t>
|
||||
</template>
|
||||
|
||||
|
||||
</data>
|
||||
</odoo>
|
||||
BIN
bi_professional_reports_templates/static/description/Banner.png
Normal file
|
After Width: | Height: | Size: 331 KiB |
BIN
bi_professional_reports_templates/static/description/bi_logo.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 82 KiB |
|
After Width: | Height: | Size: 82 KiB |
|
After Width: | Height: | Size: 81 KiB |
|
After Width: | Height: | Size: 81 KiB |
|
After Width: | Height: | Size: 79 KiB |
|
After Width: | Height: | Size: 88 KiB |
|
After Width: | Height: | Size: 81 KiB |
|
After Width: | Height: | Size: 91 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 48 KiB |
|
After Width: | Height: | Size: 29 KiB |
|
After Width: | Height: | Size: 51 KiB |
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 36 KiB |
BIN
bi_professional_reports_templates/static/description/email.png
Normal file
|
After Width: | Height: | Size: 81 KiB |
|
After Width: | Height: | Size: 8.1 KiB |
|
After Width: | Height: | Size: 6.5 KiB |
|
After Width: | Height: | Size: 6.3 KiB |
|
After Width: | Height: | Size: 6.5 KiB |
|
After Width: | Height: | Size: 28 KiB |
|
After Width: | Height: | Size: 112 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 41 KiB |
BIN
bi_professional_reports_templates/static/description/icon.png
Normal file
|
After Width: | Height: | Size: 222 KiB |
486
bi_professional_reports_templates/static/description/index.html
Normal file
@@ -0,0 +1,486 @@
|
||||
<section class="oe_container lead mt64">
|
||||
<div>
|
||||
<div class="col-md-12 mt16" style="padding:0;">
|
||||
<div class="col-md-12" style="padding:0;">
|
||||
<div class="panel-group mb0 mt0" role="tablist" id="priceAccordeon" style="padding:0;">
|
||||
<div class="panel-heading mb0 mt0 collapsed" role="tab" data-toggle="collapse" data-parent="#priceAccordeon" data-target="#priceAccordeon_area" aria-expanded="false" style="margin-left:0;padding:0 0 2px 0;text-align:right;">
|
||||
<strong>
|
||||
<div style="background-color:#875A7B;color:white;padding:5px;margin-bottom:3px;text-align:center;border-radius:5px;white-space:nowrap;display: inline-block;">
|
||||
<strong style="color:white;">
|
||||
Supported :
|
||||
</strong>
|
||||
</div>
|
||||
<div style="background-color:#875A7B;color:white;padding:5px;margin-bottom:3px;text-align:center;border-radius:5px;white-space:nowrap;display: inline-block;">
|
||||
<strong style="color:white;" title="The tool is compatible with the Odoo Enterprise version">
|
||||
<i class="fa fa-check" style="margin-left:4px;"> </i>
|
||||
Enterprise
|
||||
</strong>
|
||||
</div>
|
||||
<div style="background-color:#875A7B;padding:5px;margin-top:3px;text-align:center;border-radius:5px;white-space:nowrap;display: inline-block;">
|
||||
<strong style="color:white;" title="The tool is compatible with the Odoo Community version">
|
||||
<i class="fa fa-check" style="margin-left:4px;"> </i>
|
||||
Community
|
||||
</strong>
|
||||
</div>
|
||||
<div style="background-color:#875A7B;color:white;padding:5px;margin-bottom:3px;text-align:center;border-radius:5px;white-space:nowrap;display: inline-block;">
|
||||
<strong style="color:white;" title="The tool might be installed to Odoo.sh if you have a linked private git repository">
|
||||
<i class="fa fa-check" style="margin-left:4px;"> </i>
|
||||
Odoo.sh
|
||||
</strong>
|
||||
</div>
|
||||
</strong>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="oe_container lead bi_title_box">
|
||||
<div >
|
||||
<div >
|
||||
<h2 class="oe_slogan bi_title" style="color:#5082c4;">
|
||||
<b> Professional Report Template </b>
|
||||
</h2>
|
||||
<p class="oe_slogan">
|
||||
Easily Customizable Report Template for Quotation/Sale Order/Sales, Invoice, Picking/Delivery Order,RFQ/Purchase Order/Purchases. We are provide various
|
||||
Professional Report Templates like A Odoo Standard PDF Report Template, Modern PDF Report Template, Fancy PDF Report Template, Classic PDF Report Template.
|
||||
<br/>Also user can able to Set the Report Template in Company Configuration.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="oe_container lead bi_features">
|
||||
<div >
|
||||
<div>
|
||||
<h3 class="oe_slogan" style="opacity:1;background: linear-gradient(to right, #86bcf2 0%, #e2f2f8 100%);padding: 10px 0px;color: ##201111;letter-spacing: 0.2em;text-transform: uppercase;text-shadow: 0.1em .04em 0.1em #7d8c88;"><b>Features</b></h3>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col" style="margin: 10px;">
|
||||
<div class="row">
|
||||
<div class="col-md-3 text-center">
|
||||
<img class="img img-responsive" style="max-width:100%;" src="features/st.png"/>
|
||||
</div>
|
||||
<div class="col-md-9">
|
||||
<h4><b> Odoo Standard PDF Report </b></h4>
|
||||
<span class="oe_slogan"> You can configure Odoo Standard template for specific report. Easily Customizable Standard Report Template for Quotation/Sale Order, Invoices, Picking/Delivery Order,RFQ/PO/Purchases. </span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col" style="margin: 10px;">
|
||||
<div class="row">
|
||||
<div class="col-md-3 text-center">
|
||||
<img class="img img-responsive" style="max-width:100%;" src="features/fc.png"/>
|
||||
</div>
|
||||
<div class="col-md-9">
|
||||
<h4><b> Fancy PDF Report </b></h4>
|
||||
<span class="oe_slogan"> You can configure Fancy template for specific report. Easily Customizable Fancy Report Template for Quotation/Sale Order, Invoices, Picking/Delivery Order,RFQ/PO/Purchases. </span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col" style="margin: 10px;">
|
||||
<div class="row">
|
||||
<div class="col-md-3 text-center">
|
||||
<img class="img img-responsive" style="max-width:100%;" src="features/m.png"/>
|
||||
</div>
|
||||
<div class="col-md-9">
|
||||
<h4><b> Modern PDF Report </b></h4>
|
||||
<span class="oe_slogan"> You can configure Modern template for specific report. Easily Customizable Modern Report Template for Quotation/Sale Order, Invoices, Picking/Delivery Order,RFQ/PO/Purchases. </span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col" style="margin: 10px;">
|
||||
<div class="row">
|
||||
<div class="col-md-3 text-center">
|
||||
<img class="img img-responsive" style="max-width:100%;" src="features/cl.png"/>
|
||||
</div>
|
||||
<div class="col-md-9">
|
||||
<h4><b> Classic PDF Report </b></h4>
|
||||
<span class="oe_slogan"> You can configure Classic template for specific report. Easily Customizable Classic Report Template for Quotation/Sale Order, Invoices, Picking/Delivery Order,RFQ/PO/Purchases. </span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col" style="margin: 10px;">
|
||||
<div class="row">
|
||||
<div class="col-md-3 text-center">
|
||||
<img class="img img-responsive" style="max-width:100%;" src="features/it.png"/>
|
||||
</div>
|
||||
<div class="col-md-9">
|
||||
<h4><b> Individual Template For Each Company </b></h4>
|
||||
<span class="oe_slogan"> User can select template for particular company. </span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col" style="margin: 10px;">
|
||||
<div class="row">
|
||||
<div class="col-md-3 text-center">
|
||||
<img class="img img-responsive" style="max-width:100%;" src="features/all.png"/>
|
||||
</div>
|
||||
<div class="col-md-9">
|
||||
<h4><b> Useful for All type of Industries </b></h4>
|
||||
<span class="oe_slogan"> As this module is the very useful for all type of Industries. You can contact us for any Query regarding this Module. </span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col" style="margin: 10px;">
|
||||
<div class="row">
|
||||
<div class="col-md-3 text-center">
|
||||
<img class="img img-responsive" style="max-width:100%;" src="features/user.png"/>
|
||||
</div>
|
||||
<div class="col-md-9">
|
||||
<h4><b> User Configuration </b></h4>
|
||||
<span class="oe_slogan"> User can easily company configuration for various Templates Report. </span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col" style="margin: 10px;">
|
||||
<div class="row">
|
||||
<div class="col-md-3 text-center">
|
||||
<img class="img img-responsive" style="max-width:100%;" src="features/mail.png"/>
|
||||
</div>
|
||||
<div class="col-md-9">
|
||||
<h4><b> Send Mail </b></h4>
|
||||
<span class="oe_slogan"> User can easily Send Mail of various Templates Report. </span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="oe_container lead mt64">
|
||||
<div >
|
||||
<div class="oe_slogan oe_spaced text-center">
|
||||
<a class="btn mt8 mr8" title="Request Demo" style="background-color: #2875aa;color: #FFFFFF !important;font-size: 20px;font-weight: bold;border-radius: 7px;" href="https://browseinfo.in/demo-request/" target="_blank"> Demo Request </a>
|
||||
<a class="btn mt8 ml8" title="Video Tutorial" style="background-color: #2875aa;color: #FFFFFF !important;font-size: 20px;font-weight: bold;border-radius: 7px;" href="https://youtu.be/_aihFWW4a5E" target="_blank"> Video Tutorial</a>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="oe_container lead">
|
||||
<div>
|
||||
<div>
|
||||
<p class="oe_slogan" style="color: #49a3fe;font-size: 35px;font-style: italic;font-weight:bolder;"> How to use this module </p>
|
||||
<p class="oe_slogan" style="color: #49a3fe;font-size: 35px;font-style: italic;font-weight:bolder;"> You Can Goto > Settings > Companies </p>
|
||||
<p class="oe_slogan" style="color: #49a3fe;font-size: 35px;font-style: italic;font-weight:bolder;"> You can set the Template in company Configuration.<br/> you can set the template and set bank account information, Tax id, Company Registry number. </p>
|
||||
<br/>
|
||||
<img class="img-border img-responsive thumbnail mb16" style="border: 3px solid black;" src="main.png">
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="oe_container lead">
|
||||
<div>
|
||||
<div>
|
||||
<p class="oe_slogan" style="color: #49a3fe;font-size: 35px;font-style: italic;font-weight:bolder;"> Print Report </p>
|
||||
<p class="oe_slogan" style="color: #49a3fe;font-size: 35px;font-style: italic;font-weight:bolder;"> User can easily Print Various Template Report. </p>
|
||||
<br/>
|
||||
<img class="img-border img-responsive thumbnail mb16" style="border: 3px solid black;" src="print.png">
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="oe_container lead">
|
||||
<div>
|
||||
<div>
|
||||
<p class="oe_slogan" style="color: #49a3fe;font-size: 35px;font-style: italic;font-weight:bolder;"> Send Mail </p>
|
||||
<p class="oe_slogan" style="color: #49a3fe;font-size: 35px;font-style: italic;font-weight:bolder;"> User can easily Send Mail of Various Template Report. </p>
|
||||
<br/>
|
||||
<img class="img-border img-responsive thumbnail mb16" style="border: 3px solid black;" src="email.png">
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="oe_container lead">
|
||||
<div>
|
||||
<div>
|
||||
<p class="oe_slogan" style="color: #49a3fe;font-size: 35px;font-style: italic;font-weight:bolder;"> Fancy Report Template </p>
|
||||
<p class="oe_slogan" style="color: #49a3fe;font-size: 35px;font-style: italic;font-weight:bolder;"> Sale Order Fancy Report. </p>
|
||||
<br/>
|
||||
<img class="img-border img-responsive thumbnail mb16" style="border: 3px solid black;" src="quotation_fency.png">
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="oe_container lead">
|
||||
<div>
|
||||
<div>
|
||||
<p class="oe_slogan" style="color: #49a3fe;font-size: 35px;font-style: italic;font-weight:bolder;"> Delivery Order Fancy Report. </p>
|
||||
<br/>
|
||||
<img class="img-border img-responsive thumbnail mb16" style="border: 3px solid black;" src="delivery_fency.png">
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="oe_container lead">
|
||||
<div>
|
||||
<div>
|
||||
<p class="oe_slogan" style="color: #49a3fe;font-size: 35px;font-style: italic;font-weight:bolder;"> Purchase Order Fancy Report. </p>
|
||||
<br/>
|
||||
<img class="img-border img-responsive thumbnail mb16" style="border: 3px solid black;" src="rfq_fency.png">
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="oe_container lead">
|
||||
<div>
|
||||
<div>
|
||||
<p class="oe_slogan" style="color: #49a3fe;font-size: 35px;font-style: italic;font-weight:bolder;"> Invoice Fancy Report. </p>
|
||||
<br/>
|
||||
<img class="img-border img-responsive thumbnail mb16" style="border: 3px solid black;" src="cust_inv_fency.png">
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="oe_container lead">
|
||||
<div>
|
||||
<div>
|
||||
<p class="oe_slogan" style="color: #49a3fe;font-size: 35px;font-style: italic;font-weight:bolder;"> Classic Report Template </p>
|
||||
<p class="oe_slogan" style="color: #49a3fe;font-size: 35px;font-style: italic;font-weight:bolder;"> Sale Order Classic Report. </p>
|
||||
<br/>
|
||||
<img class="img-border img-responsive thumbnail mb16" style="border: 3px solid black;" src="quotation_classic.png">
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="oe_container lead">
|
||||
<div>
|
||||
<div>
|
||||
<p class="oe_slogan" style="color: #49a3fe;font-size: 35px;font-style: italic;font-weight:bolder;"> Delivery Order Classic Report. </p>
|
||||
<br/>
|
||||
<img class="img-border img-responsive thumbnail mb16" style="border: 3px solid black;" src="delivery_classic.png">
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="oe_container lead">
|
||||
<div>
|
||||
<div>
|
||||
<p class="oe_slogan" style="color: #49a3fe;font-size: 35px;font-style: italic;font-weight:bolder;"> Purchase Order Classic Report. </p>
|
||||
<br/>
|
||||
<img class="img-border img-responsive thumbnail mb16" style="border: 3px solid black;" src="rfq_classic.png">
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="oe_container lead">
|
||||
<div>
|
||||
<div>
|
||||
<p class="oe_slogan" style="color: #49a3fe;font-size: 35px;font-style: italic;font-weight:bolder;"> Invoice Classic Report. </p>
|
||||
<br/>
|
||||
<img class="img-border img-responsive thumbnail mb16" style="border: 3px solid black;" src="cust_invoice_classic.png">
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="oe_container lead">
|
||||
<div>
|
||||
<div>
|
||||
<p class="oe_slogan" style="color: #49a3fe;font-size: 35px;font-style: italic;font-weight:bolder;"> Modern Report Template </p>
|
||||
<p class="oe_slogan" style="color: #49a3fe;font-size: 35px;font-style: italic;font-weight:bolder;"> Sale Order Modern Report. </p>
|
||||
<br/>
|
||||
<img class="img-border img-responsive thumbnail mb16" style="border: 3px solid black;" src="quotation_modern.png">
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="oe_container lead">
|
||||
<div>
|
||||
<div>
|
||||
<p class="oe_slogan" style="color: #49a3fe;font-size: 35px;font-style: italic;font-weight:bolder;"> Delivery Order Modern Report. </p>
|
||||
<br/>
|
||||
<img class="img-border img-responsive thumbnail mb16" style="border: 3px solid black;" src="delivery_modern.png">
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="oe_container lead">
|
||||
<div>
|
||||
<div>
|
||||
<p class="oe_slogan" style="color: #49a3fe;font-size: 35px;font-style: italic;font-weight:bolder;"> Purchase Order Modern Report. </p>
|
||||
<br/>
|
||||
<img class="img-border img-responsive thumbnail mb16" style="border: 3px solid black;" src="rfq_modern.png">
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="oe_container lead">
|
||||
<div>
|
||||
<div>
|
||||
<p class="oe_slogan" style="color: #49a3fe;font-size: 35px;font-style: italic;font-weight:bolder;"> Invoice Modern Report. </p>
|
||||
<br/>
|
||||
<img class="img-border img-responsive thumbnail mb16" style="border: 3px solid black;" src="cust_in_modern.png">
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="oe_container lead">
|
||||
<div>
|
||||
<div>
|
||||
<p class="oe_slogan" style="color: #49a3fe;font-size: 35px;font-style: italic;font-weight:bolder;"> Odoo Standard Template </p>
|
||||
<p class="oe_slogan" style="color: #49a3fe;font-size: 35px;font-style: italic;font-weight:bolder;"> Sale Order Standard Report. </p>
|
||||
<br/>
|
||||
<img class="img-border img-responsive thumbnail mb16" style="border: 3px solid black;" src="quotation_odoo.png">
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="oe_container lead">
|
||||
<div>
|
||||
<div>
|
||||
<p class="oe_slogan" style="color: #49a3fe;font-size: 35px;font-style: italic;font-weight:bolder;"> Delivery Order Standard Report. </p>
|
||||
<br/>
|
||||
<img class="img-border img-responsive thumbnail mb16" style="border: 3px solid black;" src="delivery_odoo.png">
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="oe_container lead">
|
||||
<div>
|
||||
<div>
|
||||
<p class="oe_slogan" style="color: #49a3fe;font-size: 35px;font-style: italic;font-weight:bolder;"> Purchase Order Standard Report. </p>
|
||||
<br/>
|
||||
<img class="img-border img-responsive thumbnail mb16" style="border: 3px solid black;" src="rfq_odoo.png">
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="oe_container lead">
|
||||
<div>
|
||||
<div>
|
||||
<p class="oe_slogan" style="color: #49a3fe;font-size: 35px;font-style: italic;font-weight:bolder;"> Invoice Standard Report. </p>
|
||||
<br/>
|
||||
<img class="img-border img-responsive thumbnail mb16" style="border: 3px solid black;" src="cust_invoice_odoo.png">
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="oe_container lead">
|
||||
<div>
|
||||
<div>
|
||||
<p class="oe_slogan" style="color: #49a3fe;font-size: 35px;font-style: italic;font-weight:bolder;"> Now also available in spanish. </p>
|
||||
<br/>
|
||||
<img class="img-border img-responsive thumbnail mb16" style="border: 3px solid black;" src="prt_translate.png">
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="oe_container oe_dark" style="min-width: 110%;margin-left: -5%;">
|
||||
<div>
|
||||
<div class="row">
|
||||
<div class="col-sm-4" style="margin: auto;">
|
||||
<p class="oe_slogan" style="font-size: 35px;color: #5082c4;font-style: italic;font-weight: bold;">Apps May You Like</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row col-sm-12" style="margin-left: 1%;padding: 1% 8%;">
|
||||
<div class="col-sm-4" style="padding: 5px;padding-right: 10px;">
|
||||
<a href="https://apps.odoo.com/apps/modules/13.0/bi_financial_excel_reports/">
|
||||
<img class="img img-responsive" src="related/bi_financial_excel_reports.png" style="width: 100%;"/>
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-sm-4" style="padding: 5px;padding-right: 10px;">
|
||||
<a href="https://apps.odoo.com/apps/modules/13.0/bi_inventory_valuation_reports/">
|
||||
<img class="img img-responsive" src="related/bi_inventory_valuation_reports.png" style="width: 100%;"/>
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-sm-4" style="padding: 5px;padding-right: 10px;">
|
||||
<a href="https://apps.odoo.com/apps/modules/13.0/outstanding_report/">
|
||||
<img class="img img-responsive" src="related/outstanding_report.png" style="width: 100%;"/>
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-sm-4" style="padding: 5px;padding-right: 10px;">
|
||||
<a href="https://apps.odoo.com/apps/modules/13.0/bi_stock_rotation_report/">
|
||||
<img class="img img-responsive" src="related/bi_stock_rotation_report.png" style="width: 100%;"/>
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-sm-4" style="padding: 5px;padding-right: 10px;">
|
||||
<a href="https://apps.odoo.com/apps/modules/13.0/bi_inventory_report/">
|
||||
<img class="img img-responsive" src="related/bi_inventory_report.png" style="width: 100%;"/>
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-sm-4" style="padding: 5px;padding-right: 10px;">
|
||||
<a href="https://apps.odoo.com/apps/modules/13.0/bi_sale_margin_report/">
|
||||
<img class="img img-responsive" src="related/bi_sale_margin_report.png" style="width: 100%;"/>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="oe_container oe_dark" style="min-width: 110%;margin-left: -5%;">
|
||||
<div>
|
||||
<div class="row">
|
||||
<div class="col-sm-4" style="margin: auto;">
|
||||
<p class="oe_slogan" style="font-size: 35px;color: #5082c4;font-style: italic;font-weight: bold;">Most Demanded Apps</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row col-sm-12" style="margin-left: 1%;padding: 1% 8%;">
|
||||
<div class="col-sm-4" style="padding: 5px;padding-right: 10px;">
|
||||
<a href="https://apps.odoo.com/apps/modules/13.0/pos_orders_all/">
|
||||
<img class="img img-responsive" src="demanded/all_in_one_pos.png" style="width: 100%;"/>
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-sm-4" style="padding: 5px;padding-right: 10px;">
|
||||
<a href="https://apps.odoo.com/apps/modules/13.0/bi_customer_overdue_statement/">
|
||||
<img class="img img-responsive" src="demanded/customer_overdue.png" style="width: 100%;"/>
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-sm-4" style="padding: 5px;padding-right: 10px;">
|
||||
<a href="https://apps.odoo.com/apps/modules/13.0/generic_excel_reports/">
|
||||
<img class="img img-responsive" src="demanded/generic_excel_reports.png" style="width: 100%;"/>
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-sm-4" style="padding: 5px;padding-right: 10px;">
|
||||
<a href="https://apps.odoo.com/apps/modules/13.0/sales_commission_generic/">
|
||||
<img class="img img-responsive" src="demanded/sale_commision.png" style="width: 100%;"/>
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-sm-4" style="padding: 5px;padding-right: 10px;">
|
||||
<a href="https://apps.odoo.com/apps/modules/13.0/bi_generic_import/">
|
||||
<img class="img img-responsive" src="demanded/bi_generic_import.png" style="width: 100%;"/>
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-sm-4" style="padding: 5px;padding-right: 10px;">
|
||||
<a href="https://apps.odoo.com/apps/modules/13.0/branch/">
|
||||
<img class="img img-responsive" src="demanded/branch.png" style="width: 100%;"/>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="oe_container">
|
||||
<div >
|
||||
<div >
|
||||
<h2 class="oe_slogan">Free Support</h2>
|
||||
<h3 class="oe_slogan" style="font-size: 21px; color: #000000 !important;">You will get 90 Days free support incase any bugs or issue (Except data recovery).</h3>
|
||||
<p class="oe_slogan" style="font-size: 18px; ">
|
||||
At BrowseInfo we offer end to end solution for Odoo services. Which includes analysis & consultation on the workflows and integration part. Please note that You're not allowed to distribute this module after purchase! Incase of any question regarding this module feel free to email us on <a href="mailto:sales@browseinfo.in">sales@browseinfo.in</a> or raise a ticket on support.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="oe_container lead">
|
||||
<div >
|
||||
<div >
|
||||
<div class="img img-responsive text-center">
|
||||
<a href="http://www.browseinfo.in" target="new" style="display: grid;">
|
||||
<img src="bi_logo.png" style="margin: auto;max-width: 350px;">
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="oe_slogan oe_spaced text-center">
|
||||
<a class="btn mt8" title="Website" style="background-color: #3497db;color: #FFFFFF !important;font-size: 20px;font-weight: bold;" href="https://browseinfo.in/" target="_blank"> Website </a>
|
||||
<a class="btn mt8" title="Email on Support" style="background-color: #3497db;color: #FFFFFF !important;font-size: 20px;font-weight: bold;" href="https://browseinfo.in/request-support/" target="_blank"> Support Request </a>
|
||||
<a class="btn mt8" title="Request New Features now !" style="background-color: #3497db;color: #FFFFFF !important;font-size: 20px;font-weight: bold;" href="https://browseinfo.in/our-services/" target="_blank">Services</a>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
BIN
bi_professional_reports_templates/static/description/main.png
Normal file
|
After Width: | Height: | Size: 67 KiB |
BIN
bi_professional_reports_templates/static/description/print.png
Normal file
|
After Width: | Height: | Size: 91 KiB |
|
After Width: | Height: | Size: 28 KiB |
|
After Width: | Height: | Size: 94 KiB |
|
After Width: | Height: | Size: 101 KiB |
|
After Width: | Height: | Size: 95 KiB |
|
After Width: | Height: | Size: 102 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 6.7 KiB |
|
After Width: | Height: | Size: 110 KiB |
|
After Width: | Height: | Size: 97 KiB |
|
After Width: | Height: | Size: 112 KiB |
|
After Width: | Height: | Size: 98 KiB |