2018-01-16 06:58:15 +01:00
|
|
|
<?xml version="1.0" encoding="utf-8"?>
|
2018-01-16 11:34:37 +01:00
|
|
|
<flectra>
|
2018-01-16 06:58:15 +01:00
|
|
|
|
|
|
|
<template id="l10n_in_report_invoice_document_inherit" inherit_id="account.report_invoice_document">
|
|
|
|
|
|
|
|
<xpath expr="//table[@name='invoice_line_table']" position="before">
|
|
|
|
<t t-if="o.company_id.country_id.code == 'IN'">
|
|
|
|
<!-- Tag wise Tax Calculation -->
|
|
|
|
<t t-set="tag_cgst_id" t-value="env.ref('l10n_in.cgst_tag_tax').id"/>
|
|
|
|
<t t-set="tag_sgst_id" t-value="env.ref('l10n_in.sgst_tag_tax').id"/>
|
|
|
|
<t t-set="tag_igst_id" t-value="env.ref('l10n_in.igst_tag_tax').id"/>
|
|
|
|
<t t-set="tag_cess_id" t-value="env.ref('l10n_in.cess_tag_tax').id"/>
|
|
|
|
<t t-set="tax_map" t-value="o.tax_line_ids.mapped('tax_id.tag_ids.id')"/>
|
|
|
|
<t t-set="is_igst" t-value="tag_igst_id in tax_map"/>
|
|
|
|
<t t-set="is_cgst" t-value="tag_cgst_id in tax_map"/>
|
|
|
|
<t t-set="is_cess" t-value="tag_cess_id in tax_map"/>
|
|
|
|
<t t-set="tax_datas" t-value="o._invoice_line_tax_values()"/>
|
|
|
|
</t>
|
|
|
|
</xpath>
|
|
|
|
<xpath expr="//p[@t-if='o.comment']" position="before">
|
|
|
|
<t t-if="o.company_id.country_id.code == 'IN'">
|
|
|
|
<p id="total_in_words" class="mb16">
|
|
|
|
<strong>Total (In Words): </strong>
|
|
|
|
<span t-field="o.amount_total_words"/>
|
|
|
|
</p>
|
|
|
|
</t>
|
|
|
|
</xpath>
|
|
|
|
<xpath expr="//table[@name='invoice_line_table']" position="replace">
|
2018-08-21 12:34:29 +02:00
|
|
|
|
|
|
|
<!-- Is there a HSN code in at least one product? -->
|
|
|
|
<t t-set="hsn_code" t-value="any([l.product_id.l10n_in_hsn_code for l in o.invoice_line_ids])"/>
|
|
|
|
|
2018-01-16 06:58:15 +01:00
|
|
|
<table class="table table-condensed" name="invoice_line_table">
|
|
|
|
<thead>
|
|
|
|
<tr>
|
|
|
|
<th>Description</th>
|
2018-08-21 12:34:29 +02:00
|
|
|
<th t-if="hsn_code">HSN</th>
|
2018-01-16 06:58:15 +01:00
|
|
|
<th class="hidden">Source Document</th>
|
|
|
|
<th class="text-right">Quantity</th>
|
|
|
|
<th class="text-right">Unit Price</th>
|
|
|
|
<th t-if="display_discount" class="text-right">Disc.(%)</th>
|
|
|
|
<t t-if="len(o.tax_line_ids) > 0">
|
|
|
|
<th class="text-right">Taxes</th>
|
|
|
|
</t>
|
|
|
|
<th class="text-right">Amount</th>
|
2018-08-21 12:34:29 +02:00
|
|
|
<!-- <t t-if="o.company_id.country_id.code == 'IN'">
|
2018-01-16 06:58:15 +01:00
|
|
|
<th class="text-right" t-if="is_cgst">CGST</th>
|
|
|
|
<th class="text-right" t-if="is_cgst">SGST</th>
|
|
|
|
<th class="text-right" t-if="is_igst">IGST</th>
|
|
|
|
<th class="text-right" t-if="is_cess">CESS</th>
|
2018-08-21 12:34:29 +02:00
|
|
|
</t> -->
|
2018-01-16 06:58:15 +01:00
|
|
|
</tr>
|
|
|
|
</thead>
|
|
|
|
<tbody class="invoice_tbody">
|
|
|
|
<tr t-foreach="o.invoice_line_ids" t-as="l">
|
2018-08-21 12:34:29 +02:00
|
|
|
<td><span t-field="l.name"/></td>
|
|
|
|
<td t-if="hsn_code"><span t-field="l.product_id.l10n_in_hsn_code"/></td>
|
2018-01-16 06:58:15 +01:00
|
|
|
<td class="hidden"><span t-field="l.origin"/></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">
|
|
|
|
<span t-field="l.discount"/>
|
|
|
|
</td>
|
|
|
|
<t t-if="len(o.tax_line_ids) > 0">
|
|
|
|
<td class="text-right">
|
|
|
|
<span t-esc="', '.join(map(lambda x: (x.description or x.name), l.invoice_line_tax_ids))"/>
|
|
|
|
</td>
|
|
|
|
</t>
|
|
|
|
<td class="text-right" id="subtotal">
|
|
|
|
<span t-field="l.price_subtotal"
|
|
|
|
t-options='{"widget": "monetary", "display_currency": o.currency_id}'/>
|
|
|
|
</td>
|
2018-08-21 12:34:29 +02:00
|
|
|
<!-- <t t-if="o.company_id.country_id.code == 'IN'">
|
2018-01-16 06:58:15 +01:00
|
|
|
<td class="text-right" t-if="is_cgst">
|
|
|
|
<t t-foreach="tax_datas[l.id]" t-as="tax_data">
|
|
|
|
<t t-if="tag_cgst_id in tax_data['tag_ids']">
|
2018-04-05 10:25:40 +02:00
|
|
|
<t t-esc="tax_data['amount']" t-options="{'widget': 'monetary', 'display_currency': o.currency_id}"/>
|
2018-01-16 06:58:15 +01:00
|
|
|
</t>
|
|
|
|
</t>
|
|
|
|
</td>
|
|
|
|
<td class="text-right" t-if="is_cgst">
|
|
|
|
<t t-foreach="tax_datas[l.id]" t-as="tax_data">
|
|
|
|
<t t-if="tag_sgst_id in tax_data['tag_ids']">
|
2018-04-05 10:25:40 +02:00
|
|
|
<t t-esc="tax_data['amount']" t-options="{'widget': 'monetary', 'display_currency': o.currency_id}"/>
|
2018-01-16 06:58:15 +01:00
|
|
|
</t>
|
|
|
|
</t>
|
|
|
|
</td>
|
|
|
|
<td class="text-right" t-if="is_igst">
|
|
|
|
<t t-foreach="tax_datas[l.id]" t-as="tax_data">
|
|
|
|
<t t-if="tag_igst_id in tax_data['tag_ids']">
|
2018-04-05 10:25:40 +02:00
|
|
|
<t t-esc="tax_data['amount']" t-options="{'widget': 'monetary', 'display_currency': o.currency_id}"/>
|
2018-01-16 06:58:15 +01:00
|
|
|
</t>
|
|
|
|
</t>
|
|
|
|
</td>
|
|
|
|
<t t-set="total_cess" t-value="0.0"/>
|
|
|
|
<td class="text-right" t-if="is_cess">
|
|
|
|
<t t-foreach="tax_datas[l.id]" t-as="tax_data">
|
|
|
|
<t t-if="tag_cess_id in tax_data['tag_ids']">
|
2018-04-05 10:25:40 +02:00
|
|
|
<t t-set="total_cess" t-value="total_cess + tax_data['amount']" t-options="{'widget': 'monetary', 'display_currency': o.currency_id}"/>
|
2018-01-16 06:58:15 +01:00
|
|
|
</t>
|
|
|
|
</t>
|
2018-07-13 11:51:12 +02:00
|
|
|
<t t-esc="total_cess" t-options="{'widget': 'monetary', 'display_currency': o.currency_id}"/>
|
2018-01-16 06:58:15 +01:00
|
|
|
</td>
|
2018-08-21 12:34:29 +02:00
|
|
|
</t> -->
|
2018-01-16 06:58:15 +01:00
|
|
|
</tr>
|
|
|
|
<tr t-foreach="range(max(5-len(o.invoice_line_ids),0))" t-as="l">
|
|
|
|
<td>&nbsp;</td>
|
|
|
|
<td class="hidden"></td>
|
|
|
|
<td></td>
|
|
|
|
<td></td>
|
|
|
|
<td t-if="display_discount" groups="sale.group_discount_per_so_line"></td>
|
|
|
|
<td t-att-colspan="o.company_id.country_id.code == 'IN' and 5 or 1"></td>
|
|
|
|
</tr>
|
|
|
|
</tbody>
|
|
|
|
</table>
|
|
|
|
</xpath>
|
|
|
|
|
|
|
|
<xpath expr="//h2" position="replace">
|
|
|
|
<h2>
|
|
|
|
<span t-if="o.type == 'out_invoice' and (o.state == 'open' or o.state == 'paid')" t-field="o.journal_id.name"/>
|
|
|
|
<span t-if="o.type == 'out_invoice' and o.state == 'draft'">Draft <span t-field="o.journal_id.name"/></span>
|
|
|
|
<span t-if="o.type == 'out_invoice' and o.state == 'cancel'">Cancelled <span t-field="o.journal_id.name"/></span>
|
|
|
|
<span t-if="o.type == 'out_refund'">Credit Note</span>
|
|
|
|
<span t-if="o.type == 'in_refund'">Vendor Credit Note</span>
|
|
|
|
<span t-if="o.type == 'in_invoice'">Vendor Bill</span>
|
|
|
|
<span t-field="o.number"/>
|
|
|
|
</h2>
|
|
|
|
</xpath>
|
|
|
|
</template>
|
|
|
|
|
2018-01-16 11:34:37 +01:00
|
|
|
</flectra>
|