257 lines
12 KiB
XML
257 lines
12 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<odoo>
|
|
<!-- Main template that will be called by the action -->
|
|
<template id="report_commercial_invoice">
|
|
<t t-call="web.html_container">
|
|
<t t-foreach="docs" t-as="o">
|
|
<t t-call="commercial_invoice.report_commercial_invoice_document"/>
|
|
</t>
|
|
</t>
|
|
</template>
|
|
|
|
<!-- Document template with the actual content -->
|
|
<template id="report_commercial_invoice_document">
|
|
<t t-call="web.external_layout">
|
|
<div class="page">
|
|
<h2 class="text-center">Commercial Invoice / Facture Commerciale</h2>
|
|
|
|
<!-- Header Info -->
|
|
<table class="table table-sm table-bordered mt-4">
|
|
<tr>
|
|
<td width="33%">
|
|
<strong>Export Date / Date d'exportation:</strong>
|
|
<br/>
|
|
<span t-field="o.date"/>
|
|
</td>
|
|
<td width="33%">
|
|
<strong>Invoice # / No. de facture:</strong>
|
|
<br/>
|
|
<span t-field="o.name"/>
|
|
</td>
|
|
<td width="33%">
|
|
<strong>Related Parties / Parties liées:</strong>
|
|
<br/>
|
|
<span t-out="'Yes / Oui' if o.related_parties else 'No / Non'"></span>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<!-- Shipper/Consignee -->
|
|
<table class="table table-sm table-bordered">
|
|
<tr>
|
|
<td width="50%">
|
|
<strong>Shipper/Exporter - Expéditeur/Exportateur:</strong>
|
|
<br/>
|
|
<div t-field="o.company_id.partner_id" t-options='{"widget": "contact", "fields": ["name", "address"], "no_marker": True}'/>
|
|
<div t-if="o.company_id.vat">Tax ID: <span t-field="o.company_id.vat"/>
|
|
</div>
|
|
</td>
|
|
<td width="50%">
|
|
<strong>Consignee - Destinataire:</strong>
|
|
<br/>
|
|
<div t-field="o.partner_id" t-options='{"widget": "contact", "fields": ["name", "address"], "no_marker": True}'/>
|
|
<div t-if="o.partner_id.vat">Tax ID: <span t-field="o.partner_id.vat"/>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<!-- Export/Terms/Currency -->
|
|
<table class="table table-sm table-bordered">
|
|
<tr>
|
|
<td width="33%">
|
|
<strong>Country of Export / Pays d'exportation:</strong>
|
|
<br/>
|
|
<span t-field="o.company_id.country_id.name"/>
|
|
</td>
|
|
<td width="33%">
|
|
<strong>Terms of Sale / Conditions de vente:</strong>
|
|
<br/>
|
|
<span t-field="o.payment_term_id.name"/>
|
|
</td>
|
|
<td width="33%">
|
|
<strong>Currency / Devise:</strong>
|
|
<br/>
|
|
<span t-field="o.currency_id.name"/>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<!-- Origin/Importer -->
|
|
<table class="table table-sm table-bordered">
|
|
<tr>
|
|
<td width="50%">
|
|
<strong>Country of Origin / Pays d'origine:</strong>
|
|
<br/>
|
|
<t t-set="all_lines" t-value="o.invoice_ids.mapped('invoice_line_ids')"/>
|
|
<t t-set="origins" t-value="all_lines.mapped('product_id.country_of_origin.name')"/>
|
|
<span t-out="', '.join([x for x in origins if x])"/>
|
|
</td>
|
|
<td width="50%" rowspan="2">
|
|
<strong>Importer of Record / Importateur attitré:</strong>
|
|
<br/>
|
|
<span>(if different than consignee / si différent du destinataire)</span>
|
|
<br/>
|
|
<t t-if="o.importer_id != o.partner_id">
|
|
<div t-field="o.importer_id" t-options='{"widget": "contact", "fields": ["name", "address"], "no_marker": True}'/>
|
|
</t>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<strong>Country of Ultimate Destination / Pays de destination finale:</strong>
|
|
<br/>
|
|
<span t-field="o.partner_id.country_id.name"/>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<!-- Line Items -->
|
|
<table class="table table-sm table-bordered mt-4">
|
|
<thead>
|
|
<tr>
|
|
<th name="item">Item # & Description<br/>
|
|
No. d'article & description</th>
|
|
<th>HS #<br/>
|
|
No. SH</th>
|
|
<th>Quantity<br/>
|
|
Quantité</th>
|
|
<th>Unit Value<br/>
|
|
Valeur unitaire</th>
|
|
<th>Total Value<br/>
|
|
Valeur totale</th>
|
|
<th>
|
|
Origin<br/>
|
|
Origine
|
|
</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<t t-set="all_lines" t-value="o.invoice_ids.mapped('invoice_line_ids').filtered('product_id')"/>
|
|
<tr t-foreach="all_lines" t-as="line">
|
|
<td name="line_name">
|
|
<span t-field="line.product_id.display_name"/>
|
|
</td>
|
|
<td>
|
|
<span t-field="line.product_id.hs_code"/>
|
|
</td>
|
|
<td>
|
|
<span t-field="line.quantity"/>
|
|
<span t-field="line.product_uom_id" groups="uom.group_uom"/>
|
|
</td>
|
|
<td>
|
|
<span t-field="line.price_unit" t-options='{"widget": "monetary", "display_currency": o.currency_id}'/>
|
|
</td>
|
|
<td>
|
|
<span t-field="line.price_subtotal" t-options='{"widget": "monetary", "display_currency": o.currency_id}'/>
|
|
</td>
|
|
<td>
|
|
<span t-field="line.product_id.country_of_origin.name"/>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
|
|
<!-- Costs and Totals -->
|
|
<div class="row">
|
|
<div class="col-7">
|
|
<!-- Declaration -->
|
|
<p class="small">
|
|
These commodities, technology or software were exported from Canada in accordance with the Export
|
|
Administration Regulations. Diversion contrary to Canadian law prohibited.<br/>
|
|
It is hereby certified that this invoice shows the actual price of the goods described, that no other invoice has
|
|
been issued and that all particulars are true and correct.<br/>
|
|
---------------------------------------------------------------------------- <br/>
|
|
Ces marchandises, technologies ou logiciels ont été exportés du Canada conformément aux règlements
|
|
administratifs sur l'exportation des Etats-Unis. Tout agissement contraire à la loi Canadienne est strictement
|
|
interdit.<br/>
|
|
Je certifie par la présente que les prix indiqués sur cette facture sont exacts, qu'aucune autre facture
|
|
commerciale n'a été produite et que tous les renseignements fournis sont véridiques.
|
|
</p>
|
|
<!-- Signature -->
|
|
<div class="mt-4">
|
|
<div>Signature: _______________________</div>
|
|
<div>Title / Titre: _______________________</div>
|
|
<div>Date: _______________________</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-5">
|
|
<table class="table table-sm table-bordered">
|
|
<tr>
|
|
<td>
|
|
<strong>Packaging / Emballage:</strong>
|
|
</td>
|
|
<td class="text-right">
|
|
<span t-field="o.packaging_cost" t-options='{"widget": "monetary", "display_currency": o.currency_id}'/>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<strong>Freight / Fret:</strong>
|
|
</td>
|
|
<td class="text-right">
|
|
<span t-field="o.freight_cost" t-options='{"widget": "monetary", "display_currency": o.currency_id}'/>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<strong>Insurance / Assurance:</strong>
|
|
</td>
|
|
<td class="text-right">
|
|
<span t-field="o.insurance_cost" t-options='{"widget": "monetary", "display_currency": o.currency_id}'/>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<strong>Other / Autre:</strong>
|
|
</td>
|
|
<td class="text-right">
|
|
<span t-field="o.other_cost" t-options='{"widget": "monetary", "display_currency": o.currency_id}'/>
|
|
</td>
|
|
</tr>
|
|
<tr class="border-black">
|
|
<td>
|
|
<strong>Total Invoice Value / Valeur totale de la facture:</strong>
|
|
</td>
|
|
<td class="text-right">
|
|
<strong t-field="o.total_amount" t-options='{"widget": "monetary", "display_currency": o.currency_id}'/>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Footer Info -->
|
|
<table class="table table-sm table-bordered mt-4">
|
|
<tr>
|
|
<td width="33%">
|
|
<strong>Customs Broker / Courtier en douane:</strong>
|
|
<br/>
|
|
<span t-field="o.customs_broker_id.name"/>
|
|
</td>
|
|
<td width="33%">
|
|
<strong>Number of Packages / Nombre de colis:</strong>
|
|
<br/>
|
|
<span t-field="o.number_of_packages"/>
|
|
</td>
|
|
<td width="33%">
|
|
<strong>Total Weight / Poids total:</strong>
|
|
<br/>
|
|
<span t-field="o.total_weight"/>
|
|
kg
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td colspan="3">
|
|
<strong>Incoterms:</strong>
|
|
<t t-if="o.incoterm_id">
|
|
<span t-field="o.incoterm_id.code"/>
|
|
- <span t-field="o.incoterm_id.name"/>
|
|
</t>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
</t>
|
|
</template>
|
|
</odoo>
|