Last active
March 27, 2024 02:35
-
-
Save mohamad-supangat/0be9a1a49b4c110c1e4b330d5a0b33f8 to your computer and use it in GitHub Desktop.
odoo report xml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<div class="page" style="margin: 0px !important; padding: 0px !important; font-size:13px!important; color: black!important"> | |
<div class="oe_structure" /> | |
<div class="row justify-content-end"> | |
<div> | |
<div class="d-inline" t-if="env.context.get('proforma', False) or is_pro_forma"> | |
<h4 class="border border-dark rounded p-2">Proforma Invoice</h4> | |
</div> | |
<!--INVOICE DP--> | |
<div class="d-inline" t-elif="env.context.get('proforma', False) or is_pro_forma_invoice_dp"> | |
<h4 class="border border-dark rounded p-2">Invoice</h4> | |
</div> | |
<!--INVOICE DP DIGINEXT--> | |
<div class="d-inline" t-elif="env.context.get('diginext', False) or is_pro_forma_invoice_dp_diginext"> | |
<h4 class="border border-dark rounded p-2">Invoice</h4> | |
</div> | |
<div class="d-inline" t-elif="env.context.get('invoice', False) or is_invoice"> | |
<h4 class="border border-dark rounded p-2">Invoice</h4> | |
</div> | |
<div class="d-inline" t-else=""> | |
<h4 t-if="doc.state not in ['draft','sent']" class="border border-dark rounded p-2">Sales | |
Order </h4> | |
<h4 t-if="doc.state in ['draft','sent']" class="border border-dark rounded p-2"> Sales | |
Quotation </h4> | |
</div> | |
</div> | |
</div> | |
<div class="row mt-3"> | |
<div class="col-5"> | |
<div class="border border-dark rounded p-2"> | |
<div t-if="doc.partner_shipping_id == doc.partner_invoice_id"> | |
<div style="margin-bottom: 10px">Invoice address:</div> | |
<div t-if="doc.partner_invoice_id.is_company == 0"> | |
<div t-if="doc.partner_invoice_id.parent_id"> | |
<strong t-field="doc.partner_invoice_id.parent_id" /> | |
</div> | |
<strong t-field="doc.partner_invoice_id.title" /> | |
<strong t-field="doc.partner_invoice_id.name" /> | |
, | |
</div> | |
<div t-if="doc.partner_invoice_id.is_company == 1"> | |
<strong t-field="doc.partner_invoice_id.name" /> | |
</div> | |
<div t-field="doc.partner_invoice_id" t-options='{"widget": "contact", "fields": ["address", "phone", "fax"], "no_marker": true}' /> | |
<p t-if="doc.partner_id.vat"> | |
VAT: | |
<span t-field="doc.partner_id.vat" /> | |
</p> | |
</div> | |
<t t-if="doc.partner_shipping_id != doc.partner_invoice_id"> | |
<div> | |
<div style="margin-bottom: 10px">Invoice address:</div> | |
<div t-if="doc.partner_invoice_id.is_company == 0"> | |
<div t-if="doc.partner_invoice_id.parent_id"> | |
<strong t-field="doc.partner_invoice_id.parent_id" /> | |
</div> | |
<strong t-field="doc.partner_invoice_id.title" /> | |
<strong t-field="doc.partner_invoice_id.name" /> | |
, | |
</div> | |
<div t-if="doc.partner_invoice_id.is_company == 1"> | |
<strong t-field="doc.partner_invoice_id.name" /> | |
</div> | |
<div t-field="doc.partner_invoice_id" t-options='{"widget": "contact", "fields": ["address", "phone", "fax"], "no_marker": true}' /> | |
<p t-if="doc.partner_id.vat"> | |
VAT: | |
<span t-field="doc.partner_id.vat" /> | |
</p> | |
</div> | |
<!-- SHIPPING ADDRESS HANYA ADA DI DELIVERY ORDER | |
<div> | |
<div style="margin-bottom: 10px">Shipping address:</div> | |
<div t-if="doc.partner_shipping_id.is_company == 0"> | |
<div t-if="doc.partner_shipping_id.parent_id"> | |
<strong t-field="doc.partner_shipping_id.parent_id" /> | |
</div> | |
<strong t-field="doc.partner_shipping_id.title" /> | |
<strong t-field="doc.partner_shipping_id.name" /> | |
, | |
</div> | |
<div t-if="doc.partner_shipping_id.is_company == 1"> | |
<strong t-field="doc.partner_shipping_id.name" /> | |
</div> | |
<div t-field="doc.partner_shipping_id" t-options='{"widget": "contact", "fields": ["address", | |
"phone", "fax"], "no_marker": true}' /> | |
<p t-if="doc.partner_id.vat"> | |
VAT: | |
<span t-field="doc.partner_id.vat" /> | |
</p> | |
</div> | |
--> | |
</t> | |
</div> | |
</div> | |
<div class="col-7"> | |
<div class="row"> | |
<div class="col-6"> | |
<div t-if="doc.state not in ['draft','sent']"> | |
<span>SO Date</span> | |
<br /> | |
<strong t-field="doc.date_order" t-options='{"format": "dd MMM yyyy"}' /> | |
<br /> | |
<p /> | |
</div> | |
<div t-if="doc.state in ['draft','sent'] and doc.date_order"> | |
<span>Quote Date</span> | |
<br /> | |
<strong t-field="doc.date_order" t-options='{"format": "dd MMM yyyy"}' /> | |
<br /> | |
<p /> | |
</div> | |
<div t-if="doc.state in ['draft','sent']"> | |
<t t-if="doc.validity_date"> | |
<span>Valid Until</span> | |
<br /> | |
<strong t-field="doc.validity_date" t-options='{"format": "dd MMM yyyy"}' /> | |
<br /> | |
<p /> | |
</t> | |
</div> | |
<div t-if="doc.state not in ['draft','sent']"> | |
<span>Salesperson</span> | |
<br /> | |
<strong t-field="doc.user_id.name" /> | |
<br /> | |
<p /> | |
</div> | |
</div> | |
<div class="col-6"> | |
<div t-if="doc.state not in ['draft','sent']"> | |
<span>Invoice No.</span> | |
<br /> | |
<strong t-field="doc.name" /> | |
<br /> | |
<p /> | |
</div> | |
<!-- PENAMBAHAN KOLOM SHIP VIA --> | |
<div t-if="doc.state not in ['draft','sent']"> | |
<span>Ship Via.</span> | |
<br /> | |
<strong t-field="doc.carrier_id" /> | |
<br /> | |
<p /> | |
</div> | |
<div t-if="doc.state in ['draft','sent']"> | |
<span>Quote No.</span> | |
<br /> | |
<strong t-field="doc.name" /> | |
<br /> | |
<p /> | |
</div> | |
<!-- QUOTE NO DINONAKTIFKAN KARENA MEMBAWA DATA DARI INQUIRY | |
<div t-if="doc.state not in ['draft','sent']"> | |
<span>Quote No.</span> | |
<br /> | |
<strong t-field="doc.origin" /> | |
<br /> | |
<p /> | |
</div> | |
--> | |
<div t-if="doc.state not in ['draft','sent'] and doc.client_order_ref"> | |
<span>Customer Ref</span> | |
<br /> | |
<strong t-field="doc.client_order_ref" /> | |
<br /> | |
<p /> | |
</div> | |
</div> | |
</div> | |
<div class="row" t-if="doc.state in ['draft','sent']"> | |
<div class="col-6"> | |
<div> | |
<span>Salesperson</span> | |
<br /> | |
<strong t-field="doc.user_id.name" /> | |
<br /> | |
</div> | |
<div> | |
<span>Email</span> | |
<br /> | |
<strong t-field="doc.user_id.email" /> | |
<br /> | |
</div> | |
</div> | |
<div class="col-6" style="padding-right: 0px"> | |
<div> | |
<span>Phone</span> | |
<br /> | |
<strong t-field="doc.user_id.phone" /> | |
<br /> | |
</div> | |
<div> | |
<span>Website</span> | |
<br /> | |
<strong t-field="doc.user_id.website" /> | |
<br /> | |
</div> | |
</div> | |
</div> | |
</div> | |
</div> | |
<table class="table table-sm o_main_table mt-3"> | |
<thead style="display: table-row-group; color: #000!important"> | |
<tr> | |
<th>Item</th> | |
<th>Description</th> | |
<th class="text-center">Qty</th> | |
<!-- <th t-if="(env.context.get('diginext', False) or is_diginext)">WTY</th> --> | |
<th class="text-right">Unit Price</th> | |
<th name="th_discount" class="text-right" groups="product.group_discount_per_so_line"> | |
<span>Disc.%</span> | |
</th> | |
<th class="text-right">Taxes</th> | |
<th class="text-right" colspan="2">Amount</th> | |
</tr> | |
</thead> | |
<tbody class="sale_tbody"> | |
<tr t-foreach="doc.order_line" t-as="l"> | |
<t t-if="l.is_delivery != True and l.is_handling_cost != True"> | |
<td> | |
<span t-field="l.product_id.name" /> | |
</td> | |
<td> | |
<span t-field="l.name" /> | |
</td> | |
<td class="text-center"> | |
<span t-esc="int(l.product_uom_qty)" /> | |
</td> | |
<td class="text-right"> | |
<span t-esc="'{:,.2f}'.format(l.price_unit)" /> | |
</td> | |
<td class="text-right" groups="product.group_discount_per_so_line"> | |
<span t-esc="round(l.discount, 2)" /> | |
</td> | |
<td name="td_taxes" class="text-right"> | |
<span t-esc="', '.join(map(lambda x: (x.name), l.tax_id))" /> | |
</td> | |
<td class="text-right"> | |
<span t-esc="'{:,.2f}'.format(l.price_subtotal)" /> | |
</td> | |
</t> | |
</tr> | |
</tbody> | |
</table> | |
<div class="row"> | |
<div class="col-8"> | |
<div class="row"> | |
<div class="col-12" style=" | |
border: 1px solid black; | |
padding: 5px 8px; | |
margin: 5px 0px; | |
border-radius: 5px; | |
font-size: 13px; | |
min-height: 75px; | |
"> | |
<strong>Description</strong> | |
<p> | |
<strong t-field="doc.note" /> | |
</p> | |
</div> | |
</div> | |
</div> | |
<div class="col-4 pull-right"> | |
<table class="table table-sm"> | |
<tr class="border-black"> | |
<td> | |
<span>Total Without Taxes</span> | |
</td> | |
<td class="text-right"> | |
<span t-field="doc.currency_id.symbol" /> | |
</td> | |
<td class="text-right"> | |
<span t-esc="'{:,.2f}'.format(doc.amount_untaxed)" /> | |
</td> | |
</tr> | |
<tr> | |
<td>Taxes</td> | |
<td class="text-right"> | |
<span t-field="doc.currency_id.symbol" /> | |
</td> | |
<td class="text-right"> | |
<span t-esc="'{:,.2f}'.format(doc.amount_tax)" /> | |
</td> | |
</tr> | |
<tr class="border-black"> | |
<td> | |
<strong>Total</strong> | |
</td> | |
<td class="text-right"> | |
<strong t-field="doc.currency_id.symbol" /> | |
</td> | |
<td class="text-right"> | |
<strong t-esc="'{:,.2f}'.format(doc.amount_total)" /> | |
</td> | |
</tr> | |
<tr class="border-black" t-if="(env.context.get('proforma', False) or is_pro_forma and (doc.proforma_invoice_value != doc.amount_total))"> | |
<td> | |
<strong t-esc="doc.proforma_invoice_label"></strong> | |
</td> | |
<td class="text-right"> | |
<strong t-field="doc.currency_id.symbol" /> | |
</td> | |
<td class="text-right"> | |
<strong t-esc="'{:,.2f}'.format(doc.proforma_invoice_value)" /> | |
</td> | |
</tr> | |
<!-- INVOICE DP --> | |
<tr class="border-black" t-if="(env.context.get('proforma', False) or is_pro_forma_invoice_dp and (doc.proforma_invoice_value != doc.amount_total))"> | |
<td> | |
<strong t-esc="doc.proforma_invoice_label"></strong> | |
</td> | |
<td class="text-right"> | |
<strong t-field="doc.currency_id.symbol" /> | |
</td> | |
<td class="text-right"> | |
<strong t-esc="'{:,.2f}'.format(doc.proforma_invoice_value)" /> | |
</td> | |
</tr> | |
<tr class="border-black" t-if="env.context.get('invoice_full', False) or is_invoice_full "> | |
<td> | |
<strong>Pelunasan</strong> | |
</td> | |
<td class="text-right"> | |
<strong t-field="doc.currency_id.symbol" /> | |
</td> | |
<td class="text-right"> | |
<strong t-esc="'{:,.2f}'.format(doc.amount_total - doc.total_downpayment)" /> | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<!-- REMARKS --> | |
<div class="row" t-if="not (env.context.get('jasaukur', False) or is_jasaukur)"> | |
<div class="col-12" style=" | |
border: 1px solid black; | |
padding: 5px 8px; | |
margin: 5px 0px; | |
border-radius: 5px; | |
font-size: 13px; | |
"> | |
<strong>Remarks</strong> | |
<table> | |
<tr t-if="env.context.get('diginext', False) and not (env.context.get('jasaukur', False) or is_jasaukur)"> | |
<td style="white-space: nowrap" valign="top">Payment Term </td> | |
<td valign="top"> | |
: | |
</td> | |
<td valign="top"> | |
<span t-field="doc.payment_term_id" /> | |
</td> | |
</tr> | |
<tr t-if="not (env.context.get('jasaukur', False) or is_jasaukur or is_diginext)"> | |
<td style="white-space: nowrap" valign="top">Payment Term </td> | |
<td valign="top"> | |
: | |
</td> | |
<td valign="top"> | |
<span t-field="doc.payment_term_id" /> | |
</td> | |
</tr> | |
<tr t-if="(env.context.get('diginext', False) or is_diginext)"> | |
<td style="white-space: nowrap" valign="top">Payment Term </td> | |
<td valign="top"> | |
: | |
</td> | |
<td valign="top"> | |
Down Payment 50%, Full Payment dilakukan pada tahapan User Acceptance Test (UAT) | |
</td> | |
</tr> | |
<tr t-if="env.context.get('diginext', False) and not (env.context.get('jasaukur', False) or is_jasaukur)"> | |
<td valign="top">Estimated Delivery </td> | |
<td valign="top"> | |
: | |
</td> | |
<td valign="top"> | |
Untuk produk ready, dikirimkan maksimal 2 hari setelah pelunasan | |
<br></br> | |
Untuk produk indent, dikirimkan sesuai masa indent yang tercantum terhitung dari | |
pembayaran DP | |
</td> | |
</tr> | |
<tr t-if="not (env.context.get('jasaukur', False) or is_jasaukur or is_diginext)"> | |
<td valign="top">Estimated Delivery </td> | |
<td valign="top"> | |
: | |
</td> | |
<td valign="top"> | |
Untuk produk ready, dikirimkan maksimal 2 hari setelah pelunasan | |
<br></br> | |
Untuk produk indent, dikirimkan sesuai masa indent yang tercantum terhitung dari | |
pembayaran DP | |
</td> | |
</tr> | |
<tr t-if="env.context.get('diginext', False) and not (env.context.get('jasaukur', False) or is_jasaukur)"> | |
<td valign="top">WTY (Warranty) </td> | |
<td valign="top"> | |
: | |
</td> | |
<td valign="top"> | |
<div> | |
Garansi service berlaku 1x dalam jangka waktu yang tercantum pada kolom WTY | |
</div> | |
<div t-field="doc.warranties_replace_text" /> | |
<div>(garansi replace berlaku hanya jika ada kesalahan atau kerusakan dari | |
pabrik/cacat produksi pabrik)</div> | |
</td> | |
</tr> | |
<tr t-if="not (env.context.get('jasaukur', False) or is_jasaukur or is_diginext)"> | |
<td valign="top">WTY (Warranty) </td> | |
<td valign="top"> | |
: | |
</td> | |
<td valign="top"> | |
<div> | |
Garansi service berlaku 1x dalam jangka waktu yang tercantum pada kolom WTY | |
</div> | |
<div t-field="doc.warranties_replace_text" /> | |
<div>(garansi replace berlaku hanya jika ada kesalahan atau kerusakan dari | |
pabrik/cacat produksi pabrik)</div> | |
</td> | |
</tr> | |
<tr t-if="(env.context.get('diginext', False) or is_diginext)"> | |
<td valign="top">WTY (Warranty) </td> | |
<td valign="top"> | |
: | |
</td> | |
<td valign="top"> | |
Garansi meliputi Helpdesk Support, Error dan Bug Fixing selama 3 (tiga) bulan berlaku setelah Serah Terima Asset. | |
<br></br> | |
Untuk layanan Helpdesk Support tersedia setiap hari Senin - Jumat Pukul 09.00 s.d 16.00 WIB | |
<br></br> | |
*) Garansi hanya berlaku untuk Jasa Pembuatan Aplikasi Berbasis Website dan Jasa Pembuatan Website | |
</td> | |
</tr> | |
</table> | |
</div> | |
</div> | |
<div class="row"> | |
<div class="col-6" style=" | |
border: 1px solid black; | |
padding: 5px 8px; | |
margin: 5px 0px; | |
border-radius: 5px; | |
font-size: 13px; | |
"> | |
<strong>Bank Information</strong> | |
<br /> | |
CV. Java Multi Mandiri KCU Purwokerto a/C : | |
<br /> | |
<ul style="padding-left: 20px"> | |
<li>BCA 046-167-4070</li> | |
<li>MANDIRI 180-00-3657222-2</li> | |
<li>BNI 0-5758-01234</li> | |
</ul> | |
</div> | |
</div> | |
<div t-if="doc.state in ['draft','sent'] and not (env.context.get('jasaukur', False) or is_jasaukur or is_diginext)" class="row"> | |
<div class="col-12" style=" | |
border: 1px solid black; | |
padding: 5px 8px; | |
margin: 5px 0px; | |
border-radius: 5px; | |
font-size: 13px; | |
"> | |
<strong>General Conditions</strong> | |
<ul style="padding-left: 20px"> | |
<li> | |
Please state this quotation and the goods code in customer's purchase | |
order | |
</li> | |
<li> | |
Submission of Purchase Orders shall be deemed as a complete acceptance | |
of this terms and conditions | |
</li> | |
<li>Purchase Order is valid after signed and stamped by our manager</li> | |
<li> | |
Down Payment received is non refundable in case of order cancellation | |
</li> | |
<li> | |
Any changes to the purchase order should be upon prior approval by us | |
</li> | |
<li> | |
The goods remain in our warehouse within one month after our readiness | |
notification date will not be our responsibility, unless agreed | |
separately | |
</li> | |
<li> | |
Any bank costs occured in relation with the payment should be bored by | |
customer | |
</li> | |
<li> | |
In case any differences between the issued purchase order and this | |
quotation, customer agrees that the terms and condition shall be valid | |
</li> | |
</ul> | |
</div> | |
</div> | |
<div t-if="doc.state not in ['draft','sent']"> | |
<div class="row my-5"> | |
<div class="col-6 text-center"> | |
From and on behalf of CV. Java Multi Mandiri | |
</div> | |
<div class="col-6 text-center"> | |
<span t-esc="user.name" /> | |
</div> | |
</div> | |
<div class="col-12 text-center mt64" style="font-size: 12px"> | |
*This document is generated by system. No Signature required | |
</div> | |
</div> | |
</div> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment