forked from Agofer/fix_views_14
731 lines
45 KiB
XML
731 lines
45 KiB
XML
<t t-name="account.report_invoice_document">
|
||
<t t-call="web.basic_layout">
|
||
<t t-set="o" t-value="o.with_context(lang=lang)"/>
|
||
<t t-set="is_einvoice" t-value="o.state == 'posted' and o.move_type in ['out_invoice', 'out_refund']" />
|
||
<t t-set="document_title">
|
||
<span t-if="o.move_type == 'out_invoice' and is_einvoice">Factura electrónica de venta</span>
|
||
<span t-if="o.move_type == 'out_invoice' and o.state == 'draft'">Factura borrador</span>
|
||
<span t-if="o.move_type == 'out_invoice' and o.state == 'cancel'">Factura anulada</span>
|
||
|
||
<span t-if="o.move_type == 'out_refund' and o.state == 'posted'">Nota crédito de una factura electrónica de venta</span>
|
||
<span t-if="o.move_type == 'out_refund' and o.state == 'draft'">Nota crédito borrador</span>
|
||
<span t-if="o.move_type == 'out_refund' and o.state == 'cancel'">Nota crédito anulada de una factura electrónica de venta</span>
|
||
|
||
<span t-if="o.move_type == 'in_refund'">Devolución de proveedor</span>
|
||
<span t-if="o.move_type == 'in_invoice'">
|
||
<span t-if="o.journal_id.code == 'NFR'">Soporte en adquisición efectuada a no-obligados a facturar</span>
|
||
<span t-if="o.journal_id.code != 'NFR'">Factura de proveedor</span>
|
||
</span>
|
||
<span t-if="o.name != '/'" t-field="o.name"/>
|
||
</t>
|
||
<t t-set="address">
|
||
<address t-field="o.partner_id" />
|
||
</t>
|
||
<!-- div t-call="stock_extended.style_table" / -->
|
||
<div>
|
||
<style type="text/css">
|
||
html * { font-size: 10px; }
|
||
.header * { font-size: 12px !important; }
|
||
</style>
|
||
</div>
|
||
<div class="header">
|
||
<div class="row">
|
||
<div t-attf-class="{{ is_einvoice and 'col-8 col-sm-auto' or 'col-9 col-sm-auto' }}">
|
||
<div class="card mb-1">
|
||
<div class="card-body pb-0">
|
||
<h1 class="h5 card-title text-dark" style="font-size:12px;">
|
||
<strong t-raw="document_title"/>
|
||
<!-- Descomentar cuando cierren
|
||
https://github.com/OCA/reporting-engine/pull/476
|
||
(merged en 2021-07-29) -->
|
||
<!-- small class="not-first-page"> (…continúa)</small -->
|
||
</h1>
|
||
<div class="row no-gutters">
|
||
<div class="col-5 col-sm-6">
|
||
<p class="mb-1" style="font-size:11px;">
|
||
<strong>Fecha:</strong>
|
||
<span t-field="o.invoice_date" />
|
||
<small t-esc="context_timestamp(o.create_date).strftime('%H:%M:%S')"/>
|
||
</p>
|
||
<p t-if="o.move_type == 'out_invoice' and o.state != 'cancel'" class="mb-1" style="font-size:11px;">
|
||
<strong>Vencimiento:</strong>
|
||
<span t-field="o.invoice_date_due" />
|
||
</p>
|
||
</div>
|
||
<div class="col-7 col-sm-6">
|
||
<p t-if="o.invoice_payment_term_id" name="payment_term" class="mb-1" style="font-size:11px;">
|
||
<span t-if="o.move_type in ['out_invoice','in_invoice']">
|
||
<strong>Condición de pago:</strong>
|
||
<span t-field="o.invoice_payment_term_id.note"/>
|
||
</span>
|
||
</p>
|
||
<p class="mb-1" style="font-size:11px;">
|
||
<t t-if="o.invoice_incoterm_id" name="incoterm">
|
||
<strong>Términos de negociación: </strong>
|
||
<code t-esc="o.invoice_incoterm_id.code" />
|
||
:
|
||
<t t-esc="o.invoice_incoterm_id.name" />
|
||
</t>
|
||
</p>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div t-if="is_einvoice" class="col-2 col-sm-auto">
|
||
<t t-foreach="o.dian_document_ids" t-as="dd">
|
||
<t t-if="dd.qr_image and dd.state != 'cancel'">
|
||
<img t-att-src="image_data_uri(dd.qr_image)" style="width:120px;height:120px"/>
|
||
</t>
|
||
</t>
|
||
</div>
|
||
<div class="col-2 col-sm-3 ml-sm-auto">
|
||
<img t-if="o.company_id.logo" t-att-src="'data:image/png;base64,%s' % to_text(o.company_id.logo)" width="153" height="80" class="img-fluid w-100" />
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="page">
|
||
<t t-set="weight" t-value="'{:,.2f}'.format(sum((l.product_id.weight > 0 and l.product_id.weight * l.quantity or 0) for l in o.invoice_line_ids))" />
|
||
<!-- Data for PDF Outline only -->
|
||
<div style="position: absolute; left: -999px;">
|
||
<h1 class="h6" t-raw="document_title"/>
|
||
</div>
|
||
<!-- / Data for PDF Outline only -->
|
||
<div class="row">
|
||
<div class="col-9">
|
||
<div class="card border-info">
|
||
<div class="card-header alert-info py-0 px-3">
|
||
<h2 class="h3 card-title mb-0 text-dark">
|
||
<strong t-field="o.partner_id.name" style="font-size:14px;"/>
|
||
 
|
||
<span class="text-nowrap" style="font-size:12px;">
|
||
<!-- Reemplazar por abbr cuando se cree el campo -->
|
||
<span t-field="o.partner_id.ref_type_id.name" />
|
||
<span t-field="o.partner_id.ref_num" />
|
||
<span t-if="o.partner_id.ref_type_id.code == 'NI'">
|
||
–
|
||
<span t-field="o.partner_id.verification_code" />
|
||
</span>
|
||
</span>
|
||
</h2>
|
||
</div>
|
||
<div class="card-body py-1 px-3">
|
||
<div class="row m-0">
|
||
<div t-attf-class="{{ o.partner_shipping_id and (o.partner_shipping_id != o.partner_id) and 'col-6' or 'col-12' }}">
|
||
<div class="mb-0">
|
||
<div class="h5 mb-1" style="font-size:11px;" t-if="not o.partner_shipping_id or o.partner_shipping_id == o.partner_id">Dirección:</div>
|
||
<div class="h5 mb-1" style="font-size:11px;" t-if="o.partner_shipping_id and o.partner_shipping_id != o.partner_id">Dirección de facturación:</div>
|
||
<address class="mb-1">
|
||
<span t-field="o.partner_id.street" itemprop="name" />
|
||
<t t-if="o.partner_id.street2">
|
||
<br/>
|
||
<span t-field="o.partner_id.street2" />
|
||
</t>
|
||
<br/>
|
||
<span t-field="o.partner_id.city_id.name" />,
|
||
<span t-field="o.partner_id.state_id.name" />
|
||
<span t-if="o.partner_id.phone" itemprop="telephone">
|
||
<br/>
|
||
<i class="fa fa-phone" />
|
||
<span t-field="o.partner_id.phone" />
|
||
</span>
|
||
<span t-if="o.partner_id.email" itemprop="email">
|
||
<br/>
|
||
<i class="fa fa-envelope-o" />
|
||
<small t-esc="o.partner_id.email.split(';')[0]" />
|
||
</span>
|
||
</address>
|
||
</div>
|
||
</div>
|
||
<div t-if="o.partner_shipping_id and o.partner_shipping_id != o.partner_id" class="col-6">
|
||
<div class="list-group mb-0">
|
||
<h5 t-if="o.move_type not in ['out_refund','in_invoice']">
|
||
Dirección de envío:
|
||
</h5>
|
||
<h5 t-if="o.move_type in ['out_refund','in_invoice']">
|
||
Dirección de recepción:
|
||
</h5>
|
||
<p t-field="o.partner_shipping_id.street" />
|
||
<t t-if="o.partner_id.street2">
|
||
<p t-field="o.partner_shipping_id.street2" />
|
||
</t>
|
||
<p>
|
||
<span t-field="o.partner_shipping_id.city_id.name" />,
|
||
<span t-field="o.partner_shipping_id.state_id.name" />
|
||
</p>
|
||
<p t-if="o.partner_shipping_id.phone" itemprop="telephone">
|
||
<i class="fa fa-phone" />
|
||
<span t-field="o.partner_shipping_id.phone" />
|
||
</p>
|
||
<!-- p t-if="o.partner_shipping_id.email" itemprop="email">
|
||
<span t-field="o.partner_shipping_id.email" />
|
||
</p -->
|
||
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="col-3">
|
||
<div class="card border-0">
|
||
<p class="mb-0" style="font-size:8pt; line-height:10pt;">
|
||
Agofer S.A.S. NIT 800.216.499–1:
|
||
</p>
|
||
<ul class="fa-ul mb-0" style="font-size:8pt; line-height:9pt; margin-left:1.2em;">
|
||
<li>
|
||
<i class="fa-li fa fa-caret-right" />
|
||
Autorretenedor Res. №0010 1994-02-11
|
||
</li>
|
||
<li>
|
||
<i class="fa-li fa fa-caret-right" />
|
||
Gran contribuyente Res.DIAN №12220 2022-12-26
|
||
</li>
|
||
<li>
|
||
<i class="fa-li fa fa-caret-right" />
|
||
Régimen Común y Agente Retenedor de IVA
|
||
</li>
|
||
<li>
|
||
<i class="fa-li fa fa-caret-right" />
|
||
Actividad Económica CIIU 4752
|
||
</li>
|
||
<t t-set="res" />
|
||
<t t-foreach="o.journal_id.sequence_id.date_range_ids" t-as="dr">
|
||
<t t-if="dr.active_resolution">
|
||
<t t-set="res" t-value="dr" />
|
||
</t>
|
||
</t>
|
||
<t t-if="res">
|
||
<li>
|
||
<i class="fa-li fa fa-caret-right" />
|
||
<t t-esc="'Autorización DIAN {} {} a {} {}{} a {}{}'.format(res.resolution_number,res.date_from,res.date_to_resolution,res.prefix,res.number_from,res.prefix,res.number_to)" />
|
||
</li>
|
||
<t t-if="res.sequence_id.description">
|
||
<t t-foreach="res.sequence_id.description.split('|')" t-as="additional">
|
||
<li>
|
||
<i class="fa-li fa fa-caret-right" />
|
||
<t t-esc="additional" />
|
||
</li>
|
||
</t>
|
||
</t>
|
||
</t>
|
||
|
||
</ul>
|
||
<span><i class="fa fa-whatsapp ml-n1 mr-1"/><small class="font-weight-bold">WhatsApp 310 674 4444</small></span>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<!-- ######################################################### -->
|
||
<div class="clearfix row mt4 mb8" t-if="o.move_type in ['out_invoice','out_refund']">
|
||
<div class="col-3">
|
||
<strong>Source:</strong>
|
||
<p t-if="o.move_type == 'out_invoice'">
|
||
<!-- t t-if="o.picking_id.origin">
|
||
<span t-field="o.picking_id.origin"/>,
|
||
</t>
|
||
<br / -->
|
||
<t t-if="o.invoice_origin">
|
||
<span t-field="o.invoice_origin" />
|
||
<t t-if="o.picking_id and o.picking_id.sale_id and o.picking_id.sale_id.date_order">
|
||
<small t-field="o.picking_id.sale_id.date_order" t-field-options="{"format":"YYYY-MM-dd"}" />
|
||
</t>
|
||
</t>
|
||
</p>
|
||
<t t-if="o.move_type == 'out_refund'">
|
||
<p t-field="o.invoice_origin" />
|
||
<p t-if="o.out_refund_id">
|
||
<span t-esc="o.out_refund_id.name"/>
|
||
</p>
|
||
<p t-if="o.name">
|
||
<strong>Description:</strong>
|
||
<br/>
|
||
<span t-field="o.name" />
|
||
</p>
|
||
</t>
|
||
</div>
|
||
<div t-if="o.move_type == 'out_invoice'" class="col-3">
|
||
<strong>Orden de compra:</strong>
|
||
<p t-if="o.picking_id.sale_id and o.picking_id.sale_id.client_order_ref">
|
||
<div t-field="o.picking_id.sale_id.client_order_ref" />
|
||
<div t-if="o.ref" name="reference">
|
||
<strong>Ref.:</strong>
|
||
<span t-field="o.ref"/>
|
||
</div>
|
||
</p>
|
||
</div>
|
||
<div class="col-3">
|
||
<t t-set="asesor" t-value="o.user_id and o.user_id or o.partner_id.user_id" />
|
||
<strong>Asesor comercial:</strong>
|
||
<p>
|
||
<span t-field="asesor.first_name" />
|
||
<t t-if="asesor.second_name">
|
||
<span t-esc="asesor.second_name[:1]" />.
|
||
</t>
|
||
<span t-field="asesor.first_surname" />
|
||
<br />
|
||
<small t-field="asesor.email" />
|
||
<br />
|
||
</p>
|
||
</div>
|
||
<div class="col-3">
|
||
<strong>Peso teórico total:</strong>
|
||
<p>
|
||
<t t-raw="weight" />
|
||
kg
|
||
</p>
|
||
</div>
|
||
</div>
|
||
<!-- ######################################################### -->
|
||
|
||
<t t-set="display_discount" t-value="any(l.discount for l in o.invoice_line_ids)"/>
|
||
|
||
<table class="table table-sm o_main_table" name="invoice_line_table">
|
||
|
||
<thead>
|
||
<tr>
|
||
<th style="border-top: none; border-bottom: 1px solid black !important;" scope="col">№</th>
|
||
<th style="border-top: none; border-bottom: 1px solid black !important;" scope="col" name="th_description" class="text-left"><span>Description</span></th>
|
||
<th style="border-top: none; border-bottom: 1px solid black !important;" scope="col" name="th_quantity" class="text-center" colspan="2"><span>Quantity</span></th>
|
||
<th style="border-top: none; border-bottom: 1px solid black !important;" scope="col" name="th_priceunit" t-attf-class="text-right {{ 'd-none d-md-table-cell' if report_type == 'html' else '' }}"><span>Unit Price</span></th>
|
||
<th style="border-top: none; border-bottom: 1px solid black !important;" scope="col" name="th_price_unit" t-if="display_discount" t-attf-class="text-right {{ 'd-none d-md-table-cell' if report_type == 'html' else '' }}">
|
||
<span>Disc.%</span>
|
||
</th>
|
||
<th style="border-top: none; border-bottom: 1px solid black !important;" scope="col" name="th_subtotal" class="text-right">
|
||
<span groups="account.group_show_line_subtotals_tax_excluded">Amount</span>
|
||
<span groups="account.group_show_line_subtotals_tax_included">Total Price</span>
|
||
</th>
|
||
<th style="border-top: none; border-bottom: 1px solid black !important;" scope="col" name="th_taxes" t-attf-class="text-left {{ 'd-none d-md-table-cell' if report_type == 'html' else '' }}"><span>IVA</span></th>
|
||
</tr>
|
||
</thead>
|
||
<tbody class="invoice_tbody">
|
||
<t t-set="barras" />
|
||
<t t-set="current_subtotal" t-value="0"/>
|
||
<!-- Informational message about non-conforming products -->
|
||
<t t-set="no_conforming" t-value="False"/>
|
||
<t t-if="o.picking_id and o.picking_id.display_name and (o.picking_id.display_name[3:5] == '04' or o.picking_id.display_name[3:5] == '1B' or o.picking_id.display_name[3:5] == '15')" class="card-header p-1" >
|
||
<t t-set="no_conforming" t-value="True" />
|
||
</t>
|
||
<t t-set="lines" t-value="o.invoice_line_ids.sorted(key=lambda l: (-l.sequence, l.date, l.move_name, -l.id), reverse=True)"/>
|
||
|
||
<t t-foreach="lines" t-as="line">
|
||
<t t-set="current_subtotal" t-value="current_subtotal + line.price_subtotal" groups="account.group_show_line_subtotals_tax_excluded"/>
|
||
<t t-set="current_subtotal" t-value="current_subtotal + line.price_total" groups="account.group_show_line_subtotals_tax_included"/>
|
||
<t t-set="iva" />
|
||
<t t-foreach="line.tax_ids" t-as="tax">
|
||
<t t-if="tax.description[:3] == 'IVA'">
|
||
<t t-set="iva" t-value="tax.name.split(' ')[-1]" />
|
||
</t>
|
||
</t>
|
||
|
||
<tr t-att-class="'bg-200 font-weight-bold o_line_section' if line.display_type == 'line_section' else 'font-italic o_line_note' if line.display_type == 'line_note' else ''">
|
||
<t t-if="not line.display_type" name="account_invoice_line_accountable">
|
||
<td>
|
||
<tt>
|
||
<small t-esc="line_index + 1" />
|
||
</tt>
|
||
</td>
|
||
<td name="account_invoice_line_name">
|
||
<span t-field="line.name" t-options="{'widget': 'text'}"/>
|
||
<t t-if="line.product_id and line.product_id.categ_id and line.product_id.categ_id.id == 9">
|
||
<i class="fa fa-tag"></i>
|
||
<t t-set="barras" t-value="True" />
|
||
</t>
|
||
<t t-if="no_conforming">
|
||
<i class="fa fa-exclamation"></i>
|
||
</t>
|
||
</td>
|
||
<td class="text-right">
|
||
<span t-field="line.quantity"/>
|
||
</td>
|
||
<td class="text-left">
|
||
<span t-field="line.product_uom_id" />
|
||
</td>
|
||
<td t-attf-class="text-right {{ 'd-none d-md-table-cell' if report_type == 'html' else '' }}">
|
||
<span class="text-nowrap" t-esc="'{0:,.0f}'.format(line.price_unit)"/>
|
||
</td>
|
||
<td t-if="display_discount" t-attf-class="text-right {{ 'd-none d-md-table-cell' if report_type == 'html' else '' }}">
|
||
<span class="text-nowrap" t-field="line.discount"/>
|
||
</td>
|
||
<td class="text-right o_price_total">
|
||
<span class="text-nowrap" t-esc="'{0:,.0f}'.format(line.price_subtotal)" groups="account.group_show_line_subtotals_tax_excluded"/>
|
||
<span class="text-nowrap" t-esc="'{0:,.0f}'.format(line.price_total)" groups="account.group_show_line_subtotals_tax_included"/>
|
||
</td>
|
||
<td t-attf-class="text-left {{ 'd-none d-md-table-cell' if report_type == 'html' else '' }}">
|
||
<!-- span t-esc="', '.join(map(lambda x: (x.description or x.name), line.tax_ids))" id="line_tax_ids"/ -->
|
||
<small>
|
||
<t t-esc="iva" />
|
||
</small>
|
||
</td>
|
||
</t>
|
||
<t t-if="line.display_type == 'line_section'">
|
||
<td colspan="99">
|
||
<span t-field="line.name" t-options="{'widget': 'text'}"/>
|
||
</td>
|
||
<t t-set="current_section" t-value="line"/>
|
||
<t t-set="current_subtotal" t-value="0"/>
|
||
</t>
|
||
<t t-if="line.display_type == 'line_note'">
|
||
<td colspan="99">
|
||
<span t-field="line.name" t-options="{'widget': 'text'}"/>
|
||
</td>
|
||
</t>
|
||
</tr>
|
||
|
||
<t t-if="current_section and (line_last or lines[line_index+1].display_type == 'line_section')">
|
||
<tr class="is-subtotal text-right">
|
||
<td colspan="99">
|
||
<strong class="mr16">Subtotal</strong>
|
||
<span t-esc="current_subtotal" t-options="{"widget": "monetary", "display_currency": o.currency_id}"/>
|
||
</td>
|
||
</tr>
|
||
</t>
|
||
</t>
|
||
</tbody>
|
||
<tfoot>
|
||
<tr>
|
||
<td colspan="2">
|
||
<small>
|
||
<t t-esc="len(lines)" />
|
||
<t t-esc="len(lines) == 1 and 'ítem' or 'ítems'" />
|
||
</small>
|
||
</td>
|
||
</tr>
|
||
</tfoot>
|
||
</table>
|
||
<!-- ######################################################### -->
|
||
<div class="clearfix" style="page-break-inside:avoid;">
|
||
<div id="total" class="row">
|
||
<div t-attf-class="#{'col-8' if report_type != 'html' else 'col-sm-5 col-md-6'}">
|
||
<div>
|
||
<p t-if="o.narration and o.narration != 'false'" name="comment">
|
||
<strong>Observaciones:</strong>
|
||
<br />
|
||
<span t-field="o.narration"/>
|
||
<!-- span t-esc="'\n'.join([line for line in o.narration.split('\n') if line.strip() != ''])" / -->
|
||
</p>
|
||
<p t-if="o.fiscal_position_id.note" name="note">
|
||
<!-- strong>Fiscal Position Remark:</strong -->
|
||
<span t-field="o.fiscal_position_id.note" />
|
||
</p>
|
||
</div>
|
||
<div t-if="o.move_type == 'out_invoice' and barras" class="card">
|
||
<div class="card-header p-1">
|
||
<h4 class="card-title">
|
||
Barras corrugadas para refuerzo de concreto
|
||
</h4>
|
||
</div>
|
||
<div class="card-body p-1">
|
||
<ul class="fa-ul mb-0">
|
||
<li>
|
||
<i class="fa-li fa fa-tag"></i>
|
||
Revise y conserve las etiquetas;
|
||
lo exige la Res.1856 de 2017
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
<!-- Informational message about non-conforming products -->
|
||
<div class="card">
|
||
<div t-if="no_conforming">
|
||
<h4 class="card-title">
|
||
<i class="fa fa-exclamation"></i>
|
||
Estimado cliente, es importante que tenga en cuenta que el producto que está
|
||
adquiriendo ha sido catalogado por nuestra área de calidad como no conforme,
|
||
ya que presenta uno o más defectos según la norma de fabricación correspondiente.
|
||
Por lo anterior, Agofer no recibirá ningún tipo de queja o reclamación asociada
|
||
al mismo ni entregará certificado de calidad.
|
||
</h4>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div t-attf-class="#{'col-4' if report_type != 'html' else 'col-sm-7 col-md-6'}">
|
||
<table class="table table-sm">
|
||
<tr class="border-black o_subtotal" style="">
|
||
<td><strong>Subtotal</strong></td>
|
||
<td class="text-right">
|
||
<span t-esc="'{0:,.2f}'.format(o.amount_untaxed)"/>
|
||
</td>
|
||
</tr>
|
||
<!-- t t-foreach="o.amount_by_group" t-as="amount_by_group">
|
||
<tr style="">
|
||
<t t-if="len(o.line_ids.filtered(lambda line: line.tax_line_id)) in [0, 1] and o.amount_untaxed == amount_by_group[2]">
|
||
<td><span class="text-nowrap" t-esc="amount_by_group[0]"/></td>
|
||
<td class="text-right o_price_total">
|
||
<span class="text-nowrap" t-esc="amount_by_group[3]"/>
|
||
</td>
|
||
</t>
|
||
<t t-else="">
|
||
<td>
|
||
<span t-esc="amount_by_group[0]"/>
|
||
<span class="text-nowrap"> on
|
||
<t t-esc="amount_by_group[4]"/>
|
||
</span>
|
||
</td>
|
||
<td class="text-right o_price_total">
|
||
<span class="text-nowrap" t-esc="amount_by_group[3]"/>
|
||
</td>
|
||
</t>
|
||
</tr>
|
||
</t -->
|
||
<tr>
|
||
<td>IVA</td>
|
||
<td class="text-right">
|
||
<span t-esc="'{0:,.2f}'.format(o.amount_tax)" />
|
||
</td>
|
||
</tr>
|
||
<tr class="border-black o_total">
|
||
<td><strong>Total</strong></td>
|
||
<td class="text-right">
|
||
<span t-esc="'{0:,.2f}'.format(o.amount_total)" />
|
||
</td>
|
||
</tr>
|
||
<t t-if="print_with_payments">
|
||
<t t-if="o.payment_state != 'invoicing_legacy'">
|
||
<t t-set="payments_vals" t-value="o.sudo()._get_reconciled_info_JSON_values()"/>
|
||
<t t-foreach="payments_vals" t-as="payment_vals">
|
||
<tr>
|
||
<td>
|
||
<i class="oe_form_field text-right oe_payment_label">Paid on <t t-esc="payment_vals['date']" t-options="{"widget": "date"}"/></i>
|
||
</td>
|
||
<td class="text-right">
|
||
<span t-esc="'{0:,.2f}'.format(payment_vals['amount'])"/>
|
||
</td>
|
||
</tr>
|
||
</t>
|
||
<t t-if="len(payments_vals) > 0">
|
||
<tr class="border-black">
|
||
<td><strong>Amount Due</strong></td>
|
||
<td class="text-right">
|
||
<span t-esc="'{0:,.2f}'.format(o.amount_residual)"/>
|
||
</td>
|
||
</tr>
|
||
</t>
|
||
</t>
|
||
</t>
|
||
</table>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<!-- ######################################################### -->
|
||
<div class="row mb-1">
|
||
<div t-if="is_einvoice" class="col-5">
|
||
<!-- TODO Remove duplicate CUDE in invoices -->
|
||
<div class="card border border-secondary bg-light p-1">
|
||
<pre class="text-uppercase mb-0" style="font-size:8px; line-height:8px; overflow:hidden;"><strong><t t-esc="o.move_type == 'out_invoice' and 'CUFE' or 'CUDE'" />:</strong><t t-foreach="o.dian_document_ids" t-as="dd"><t t-if="dd.cufe_cude and dd.state != 'cancel'"><t t-esc="dd.cufe_cude"/></t></t></pre>
|
||
</div>
|
||
<div t-if="o.move_type == 'out_refund' and o.out_refund_id" class="card border border-secondary bg-light p-1">
|
||
<pre class="text-uppercase mb-0" style="font-size:8px; line-height:8px; overflow:hidden;"><strong><t t-esc="o.out_refund_id.move_type == 'out_invoice' and 'CUFE' or 'CUDE'"/>:</strong><t t-foreach="o.out_refund_id.dian_document_ids" t-as="dd"><t t-if="dd.cufe_cude and dd.state != 'cancel'"><t t-esc="dd.cufe_cude"/></t></t></pre>
|
||
</div>
|
||
</div>
|
||
<div class="col-3">
|
||
<div t-if="o.move_type == 'out_invoice'" class="text-center">
|
||
<div style="line-height:9pt; font-size:8pt;">
|
||
<span>
|
||
Favor realizar sus pagos a la
|
||
<br />
|
||
Cuenta Corriente 210-05341-9
|
||
<br />
|
||
Banco de Occidente
|
||
</span>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="col-4 float-right">
|
||
<t t-set="amount_words" t-value="o.currency_id.amount_to_text(o.amount_total) + 's'"/>
|
||
<div t-if="o.move_type == 'out_invoice'" class="text-right text-dark alert-info" style="padding:4pt;">
|
||
<div style="line-height:8pt; font-size:8pt;">
|
||
<span t-esc="amount_words" />
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<!-- ######################################################### -->
|
||
<div class="row" t-if="o.move_type == 'out_invoice'">
|
||
<div class="col-12">
|
||
<div class="alert alert-info mb8" style="padding:8px;">
|
||
<p class="text-justify mb-0" style="font-size:9px;line-height:9px;color:black;">
|
||
<span t-if="is_einvoice" style="font-size:9px;line-height:9px;color:black;">
|
||
Ésta es una <strong><em>representación gráfica</em></strong>
|
||
de la factura electrónica, que para todos sus
|
||
efectos cumple con lo dispuesto en el
|
||
Art. 774 del Código de Comercio, y en el
|
||
Decreto 2242 de 2015.
|
||
</span>
|
||
<span t-if="not is_einvoice" style="font-size:9px;line-height:9px;color:black;">
|
||
Esta factura cumple, para todos sus
|
||
efectos, con lo dispuesto en el
|
||
Art. 774 del Código de Comercio.
|
||
</span>
|
||
Las mercancías viajan por cuenta y riesgo del comprador
|
||
salvo estipulación al contrario en esta misma factura.
|
||
Solo se aceptan devoluciones dentro de los
|
||
diez días calendario siguientes a la recepción de
|
||
la mercancía, conforme al Art. 2 de la
|
||
Ley 1231 de 2008, y no se aceptan reclamos
|
||
después de diez días de recibida la factura.
|
||
Esta factura causará intereses moratorios a la tasa
|
||
máxima permitida por la ley, a partir de la fecha de
|
||
vencimiento.
|
||
Se hace constar que la firma de una persona distinta al
|
||
comprador indica que dicha persona se encuentra
|
||
autorizada expresamente por el comprador para recibir
|
||
la mercancía y firmar el documento como dependiente
|
||
suyo, acorde al Art. 640 del Código de Comercio.
|
||
Firmada la presente, el cliente autoriza a ser
|
||
consultado y reportado en bases de datos y
|
||
centrales de riesgos, y confirma la autorización
|
||
dada a Agofer para almacenar y tratar sus datos
|
||
personales según la Ley 1581 de 2012.
|
||
La celebración del presente contrato se realiza
|
||
únicamente en las jurisdicciones donde Agofer está
|
||
matriculado ante cámara de comercio. Todo
|
||
material es entregado al cliente en las instalaciones
|
||
de Agofer. La actividad de transporte de mercancías no
|
||
es ejecutada por Agofer: es asumida por el cliente a
|
||
través de terceros no vinculados a la Compañía.
|
||
Este documento es prueba de la negociación
|
||
realizada entre el cliente y Agofer S.A.S. en la
|
||
jurisdicción de <t t-esc="o.journal_id.name.rsplit(' - ')[-1]" />.
|
||
El cierre de esta venta es realizado únicamente por el
|
||
personal autorizado en nuestra sucursal en dicha ciudad.
|
||
</p>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<!-- ######################################################### -->
|
||
<div class="row" style="position:relative; page-break-inside:avoid;" t-if="o.move_type == 'out_invoice'">
|
||
<div class="col-8">
|
||
<div class="card" style="border:0; box-shadow:none;">
|
||
<p style="font-size:9px; line-height:9px;">
|
||
Los empleados de Agofer tienen prohibido recibir
|
||
dinero en efectivo. Por favor haga sus
|
||
consignaciones únicamente en la cuenta corriente<br />
|
||
210-05341-9 del Banco de Occidente o a cuentas
|
||
verificadas de Agofer S.A.S., o directamente en
|
||
nuestras sucursales <strong>en el área de
|
||
caja</strong>. Reclame siempre su recibo oficial de
|
||
caja.
|
||
Si paga con cheque, hacerlo a nombre de
|
||
<strong style="font-size:9px;line-height:9px;color:black;">Agofer S.A.S.</strong>,
|
||
utilizando sello restrictivo con la
|
||
anotación <em style="font-size:8.5px;line-height:9px;color:black;">«Páguese
|
||
únicamente al primer beneficiario»</em>, y cruzarlo.
|
||
Agofer no responderá por pagos de clientes
|
||
realizados sin cumplir con lo anterior.<br />
|
||
Verifique la mercancía al momento de ser entregada; Agofer
|
||
no se hace responsable por faltantes o deterioro detectados
|
||
después de entregado el material o que no cuenten con su
|
||
correspondiente anotación o señalamiento en la factura o
|
||
remisión, ni por vicios sobre el mismo que sean suceptibles
|
||
de ser verificados a simple vista o con ayuda de
|
||
instrumentos de medición básicos.
|
||
<span t-if="is_einvoice" style="font-size:9px;line-height:9px;color:black;">
|
||
<br />
|
||
Para aceptar o rechazar esta factura, consulte
|
||
el mensaje enviado vía correo electrónico y sus
|
||
documentos adjuntos.
|
||
</span>
|
||
</p>
|
||
</div>
|
||
<div class="row">
|
||
<div class="col-8">
|
||
<div class="card mb-1">
|
||
<div class="card-body" style="min-height:2cm; padding-top: 0px;">
|
||
<p class="small">
|
||
<t>
|
||
<strong>Transportador: </strong>
|
||
<br />
|
||
</t>
|
||
|
||
<t>
|
||
<strong>Empresa de transporte: </strong>
|
||
<br />
|
||
</t>
|
||
|
||
<t>
|
||
<strong>Placa: </strong>
|
||
</t>
|
||
</p>
|
||
</div>
|
||
<div class="card-footer" style="padding:2px;">
|
||
<small style="font-size:8pt; font-weight:normal; line-height:8pt;">
|
||
Datos transporte
|
||
</small>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="col-4">
|
||
<div class="panel mb-1">
|
||
<div class="panel-body" style="min-height:2cm; padding-top:5px; overflow:hidden;">
|
||
<img t-att-src="'https://erp.agofer.com/web/image/2297122'" width="109" height="58"/>
|
||
</div>
|
||
<div class="panel-footer" style="padding:2px;">
|
||
<small style="font-size:8pt; font-weight:normal; line-height:8pt;">
|
||
Firma autorizada Agofer
|
||
</small>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="col-4" style="position:absolute;bottom:0;right:0;">
|
||
<div class="card mb-1">
|
||
<div class="card-body" style="min-height:3.2cm; padding-top: 0px;">
|
||
<small style="font-size:8pt; font-weight:normal; line-height:8pt;">
|
||
Acepto esta factura y recibo conforme
|
||
</small>
|
||
</div>
|
||
<div class="card-footer" style="padding:2px;">
|
||
<small style="font-size:8pt; font-weight:normal; line-height:8pt;">
|
||
Nombre | CC | Firma | Sello | Fecha
|
||
</small>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<!-- ######################################################### -->
|
||
</div>
|
||
<div class="footer" style="font-size:11px;">
|
||
<t t-foreach="o.dian_document_ids" t-as="dd">
|
||
<t t-if="dd.cufe_cude and dd.state != 'cancel'">
|
||
<t t-set="urlvalidacion" t-value="'https://catalogo-vpfe.dian.gov.co/document/searchqr?documentkey=%s' % (dd.cufe_cude)"/>
|
||
<div class="clearfix">
|
||
<div class="float-left" style="font-size:8px;">
|
||
<strong>Fecha de validación:</strong>
|
||
<span t-field="dd.validation_datetime" t-field-options='{"format": "%Y-%m-%d %H:%M:%S"}'/>
|
||
</div>
|
||
<div class="float-right" style="font-size:8px;">
|
||
<strong>Consulte:</strong>
|
||
<t t-esc="urlvalidacion" />
|
||
</div>
|
||
</div>
|
||
</t>
|
||
</t>
|
||
<div class="text-center clearfix" style="border-top: 1px solid black;">
|
||
<small style="font-size:12px;">
|
||
Armenia • Barranquilla • Bogotá • Bucaramanga • Buga • Cali •
|
||
Cartagena • Cúcuta • Ibagué • Itagüí • Malambo<br/>Medellín •
|
||
Montería • Neiva • Pasto • Pereira • Santa Marta • Soacha •
|
||
Valledupar • Villavicencio • Yumbo<br/>
|
||
<span style="font-size:11px;">
|
||
Domicilio principal: CL 12A 38-45, Bogotá • Tel: 743 4444
|
||
</span>
|
||
</small>
|
||
</div>
|
||
<div class="row text-center" style="font-size:9px;">
|
||
<div class="col-4">
|
||
<strong>
|
||
<i class="fa fa-hashtag"></i>
|
||
Soldaduras al instante
|
||
</strong>
|
||
</div>
|
||
<div class="col-4">
|
||
<strong>www.agofer.com.co</strong>
|
||
</div>
|
||
<div class="col-4">
|
||
AvancysERP • Por Avancys S.A.S. • NIT 900297700
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</t>
|
||
</t> |