diff --git a/__init__.py b/__init__.py
index 46616f9..4570639 100644
--- a/__init__.py
+++ b/__init__.py
@@ -4,6 +4,7 @@ from . import ncf_manager
from . import sequence
from . import configuration
from . import party
+from . import report
def register():
Pool.register(
@@ -17,3 +18,6 @@ def register():
party.PartyNcfType,
party.Party,
module='ncf_manager', type_='model')
+ Pool.register(
+ report.InvoiceReport,
+ module='ncf_manager', type_='report')
diff --git a/invoice.fodt b/invoice.fodt
new file mode 100644
index 0000000..4855077
--- /dev/null
+++ b/invoice.fodt
@@ -0,0 +1,3261 @@
+
+
+
+ LibreOffice/26.2.1.2$MacOSX_X86_64 LibreOffice_project/8399f6259d8c87f40e7255cdb3c9b958f5e089482012-11-15T15:00:351P0D
+
+
+ 54878
+ 0
+ 37102
+ 16522
+ true
+ false
+
+
+ view2
+ 21911
+ 65701
+ 0
+ 54878
+ 37100
+ 71399
+ 0
+ 1
+ false
+ 100
+ false
+ false
+ -1884,161,1920,1017;1;,,,;
+ false
+ false
+ false
+ false
+ false
+
+
+
+
+ 0
+ true
+ false
+ false
+ false
+ true
+ false
+ true
+ false
+
+ true
+ true
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ true
+ 0
+ false
+ false
+ false
+ false
+ false
+ false
+ true
+ true
+ false
+ false
+ false
+ false
+ false
+ true
+ false
+ 882034
+ true
+ true
+ true
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ true
+ true
+ false
+ false
+ true
+ false
+ 7691572
+ 0
+
+ false
+ false
+ true
+ false
+ false
+ false
+ true
+ false
+ false
+ false
+ false
+ false
+ false
+ true
+ false
+ false
+
+ true
+ false
+ true
+ false
+ true
+ false
+ false
+ false
+ false
+ false
+ false
+ 0
+ true
+ false
+ true
+ false
+ false
+ false
+ false
+ 1
+ false
+ true
+ false
+ true
+ high-resolution
+
+ false
+ true
+ false
+
+
+ false
+ true
+ true
+ false
+ false
+ true
+ false
+ false
+ false
+ false
+ false
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <if test="invoice.company.header">
+ <for each="line in invoice.company.header.split('\n')">
+ <line>
+ </for>
+ </if>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <invoice.company.rec_name><invoice.company.party.tax_identifier.type_string>: <invoice.company.party.tax_identifier.code><invoice.company.party.addresses[0].street> <invoice.company.party.addresses[0].name><invoice.company.party.addresses[0].neighborhood.rec_name>. <invoice.company.party.addresses[0].borough.rec_name>, <invoice.company.party.addresses[0].subdivision.rec_name>. <invoice.company.party.addresses[0].country.rec_name>. <invoice.company.party.addresses[0].postal_code><invoice.company.party.email><invoice.company.party.website><invoice.company.party.phone>
+
+
+ <if test="invoice.type == 'in'">
+ <choose test="">
+ <when test="invoice.state == 'draft'">
+ Draft Invoice
+ </when>
+ <when test="invoice.state == 'validated'">
+ Pro Forma Invoice
+ </when>
+ <when test="invoice.total_amount < 0">
+ <ncf_type_name.upper()>
+ NCF: <invoice.ncf_number>
+ NCF modificado: <invoice.ncf_number_modified>
+ </when>
+ <otherwise test="">
+ <ncf_type_name.upper()>
+ NCF: <invoice.ncf_number>
+ Válida hasta: <format_date(invoice.expiration_date, invoice.party.lang)>
+ </otherwise>
+ </choose>
+ Documento # <invoice.number and ' ' + invoice.number or ''>
+ Date: <format_date(invoice.invoice_date or today, invoice.party.lang)>
+ </if>
+
+ <if test="invoice.type == 'out'">
+ <choose test="">
+ <when test="invoice.state == 'draft'">
+ Draft Invoice
+ </when>
+ <when test="invoice.state == 'validated'">
+ Pro Forma Invoice
+ </when>
+ <when test="invoice.total_amount < 0">
+ <ncf_type_name.upper()>
+ NCF: <invoice.ncf_number and ' ' + invoice.ncf_number or ''>
+ NCF modificado: <invoice.ncf_number_modified>
+ </when>
+ <otherwise test="">
+ <ncf_type_name.upper()>
+ NCF: <invoice.ncf_number>
+ Válida hasta: <format_date(invoice.expiration_date, invoice.party.lang)>
+ </otherwise>
+ </choose>
+ Documento # <invoice.number and ' ' + invoice.number or ''>
+ Date: <format_date(invoice.invoice_date or today, invoice.party.lang)>
+ </if>
+
+
+
+
+
+
+
+ <if test="invoice.company.footer">
+ <for each="line in invoice.company.footer.split('\n')">
+ <line>
+ </for>
+ </if>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <replace text:p="set_lang(invoice.party.lang)">
+ <choose test="">
+ <when test="invoice.type == 'out'">
+ <if test="invoice.party_tax_identifier">
+ <invoice.party.name>
+ <invoice.party_tax_identifier.type_string.upper()>DEL CLIENTE: <invoice.party_tax_identifier.code>
+ </if>
+ </when>
+ <when test="invoice.type == 'in'">
+ <if test="invoice.party_tax_identifier">
+ <invoice.party.name>
+ <invoice.party_tax_identifier.type_string.upper()>DEL PROVEEDOR: <invoice.party_tax_identifier.code>
+ </if>
+ </when>
+ </choose>
+ <for each="line in invoice.invoice_address.full_address.split('\n')">
+ <line>
+ </for>
+ <invoice.party.phone>
+
+
+ <for each="line in invoice.lines_to_pay">
+ <if test="not line.reconciliation">
+
+
+
+
+
+ Moneda:
+
+
+ <invoice.currency.name.capitalize()>
+
+
+
+
+ Monto a Pagar:
+
+
+ <line.amount_second_currency and format_currency(line.amount_second_currency, invoice.party.lang, invoice.currency) or format_currency(line.debit - line.credit, invoice.party.lang, invoice.currency)>
+
+
+
+
+ Condición de Pago:
+
+
+ <invoice.payment_term.name>
+
+
+
+
+ Fecha Límite de Pago:
+
+
+ <format_date(line.maturity_date, invoice.party.lang)>
+
+
+
+ </if>
+ </for>
+
+
+
+ Description: <invoice.description or ''>
+ Reference: <invoice.reference or ''>
+ <if test="invoice.type == 'in'">
+
+
+
+
+
+
+
+
+
+ Description
+
+
+ Quantity
+
+
+ Unit Price
+
+
+ Amount
+
+
+ ITBIS
+
+
+
+
+
+ <for each="line in invoice.lines">
+
+
+
+
+
+
+
+
+ <choose test="">
+
+
+
+
+
+
+
+
+ <when test="line.type == 'line'">
+
+
+
+
+
+
+
+
+ <if test="line.description">
+ <for each="description in line.description.split('\n')">
+ <description>
+ </for>
+ </if>
+
+
+ <format_number_symbol(line.quantity, invoice.party.lang, line.unit, digits=line.unit.digits) if line.unit else format_number(line.quantity, invoice.party.lang)>
+
+
+ <format_currency(line.unit_price, invoice.party.lang, invoice.currency)>
+
+
+ <format_currency(line.amount, invoice.party.lang, invoice.currency)>
+
+
+ <format_currency(line.itbis, invoice.party.lang, invoice.currency)>
+
+
+
+
+ </when>
+
+
+
+
+
+
+
+
+ <when test="line.type == 'subtotal'">
+
+
+
+
+
+
+
+
+ <for each="description in (line.description or '').split('\n')">
+ <description>
+ </for>
+
+
+
+
+
+
+
+
+
+
+ </when>
+
+
+
+
+
+
+
+
+ <when test="line.type == 'title'">
+
+
+
+
+
+
+
+
+ <for each="description in (line.description or '').split('\n')">
+ <description>
+ </for>
+
+
+
+
+
+
+
+
+ </when>
+
+
+
+
+
+
+
+
+ <otherwise test="">
+
+
+
+
+
+
+
+
+ <for each="description in (line.description or '').split('\n')">
+ <description>
+ </for>
+
+
+
+
+
+
+
+
+ </otherwise>
+
+
+
+
+
+
+
+
+ </choose>
+
+
+
+
+
+
+
+
+ </for>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tax
+
+
+ Base
+
+
+ Amount
+
+
+
+
+ <for each="tax in invoice.taxes">
+
+
+
+
+
+
+ <'[' + '%s' % tax.sequence_number + ']'><tax.description or ''>
+
+
+ <format_currency(tax.base, invoice.party.lang, invoice.currency)>
+
+
+ <format_currency(tax.amount, invoice.party.lang, invoice.currency)>
+
+
+
+
+ <if test="tax.legal_notice">
+
+
+
+
+
+
+ <for each="line in tax.legal_notice.split('\n')">
+ <line>
+ </for>
+
+
+
+
+
+
+ </if>
+
+
+
+
+
+
+ </for>
+
+
+
+
+
+
+
+ <if test="invoice.comment">
+
+
+
+
+
+
+ OBSERVACIONES
+
+
+
+
+
+
+
+
+
+
+ <for each="comment in (invoice.comment or '').split('\n')">
+ <comment>
+ </for>
+
+
+
+
+
+ </if>
+
+
+
+
+
+
+
+ Sub-Total:
+
+
+ <format_currency(invoice.untaxed_amount, invoice.party.lang, invoice.currency)>
+
+
+
+
+ <if test="invoice.isr_withholding > 0">
+
+
+
+
+
+ ISR:
+
+
+ <format_currency(invoice.isr_withholding, invoice.party.lang, invoice.currency)>
+
+
+
+
+ </if>
+
+
+
+
+
+ <if test="invoice.isc_invoiced > 0">
+
+
+
+
+
+ ISC:
+
+
+ <format_currency(invoice.isc_invoiced, invoice.party.lang, invoice.currency)>
+
+
+
+
+ </if>
+
+
+
+
+
+ <if test="invoice.cdt_invoiced > 0">
+
+
+
+
+
+ CDT:
+
+
+ <format_currency(invoice.cdt_invoiced, invoice.party.lang, invoice.currency)>
+
+
+
+
+ </if>
+
+
+
+
+
+ <if test="invoice.tip > 0">
+
+
+
+
+
+ Propina:
+
+
+ <format_currency(invoice.tip, invoice.party.lang, invoice.currency)>
+
+
+
+
+ </if>
+
+
+
+
+
+ ITBIS:
+
+
+ <format_currency(invoice.itbis_invoiced, invoice.party.lang, invoice.currency)>
+
+
+
+
+ Total:
+
+
+ <format_currency(invoice.total_amount, invoice.party.lang, invoice.currency)>
+
+
+
+ Original: Emisor Copia: Proveedor
+
+
+
+
+ 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
+
+
+
+
+
+ <invoice.create_uid.name or ''>
+
+
+
+
+ Firma del proveedor Firma del emisor
+
+
+ </if>
+
+
+
+
+ <if test="invoice.type == 'out'">
+
+
+
+
+
+
+
+
+
+ Description
+
+
+ Quantity
+
+
+ Unit Price
+
+
+ Amount
+
+
+ ITBIS
+
+
+
+
+
+ <for each="line in invoice.lines">
+
+
+
+
+
+
+
+
+ <choose test="">
+
+
+
+
+
+
+
+
+ <when test="line.type == 'line'">
+
+
+
+
+
+
+
+
+ <if test="line.description">
+ <for each="description in line.description.split('\n')">
+ <description>
+ </for>
+ </if>
+
+
+ <format_number_symbol(line.quantity, invoice.party.lang, line.unit, digits=line.unit.digits) if line.unit else format_number(line.quantity, invoice.party.lang)>
+
+
+ <format_currency(line.unit_price, invoice.party.lang, invoice.currency)>
+
+
+ <format_currency(line.amount, invoice.party.lang, invoice.currency)>
+
+
+ <format_currency(line.itbis, invoice.party.lang, invoice.currency)>
+
+
+
+
+ </when>
+
+
+
+
+
+
+
+
+ <when test="line.type == 'subtotal'">
+
+
+
+
+
+
+
+
+ <for each="description in (line.description or '').split('\n')">
+ <description>
+ </for>
+
+
+
+
+
+
+
+
+
+
+ </when>
+
+
+
+
+
+
+
+
+ <when test="line.type == 'title'">
+
+
+
+
+
+
+
+
+ <for each="description in (line.description or '').split('\n')">
+ <description>
+ </for>
+
+
+
+
+
+
+
+
+ </when>
+
+
+
+
+
+
+
+
+ <otherwise test="">
+
+
+
+
+
+
+
+
+ <for each="description in (line.description or '').split('\n')">
+ <description>
+ </for>
+
+
+
+
+
+
+
+
+ </otherwise>
+
+
+
+
+
+
+
+
+ </choose>
+
+
+
+
+
+
+
+
+ </for>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tax
+
+
+ Base
+
+
+ Amount
+
+
+
+
+ <for each="tax in invoice.taxes">
+
+
+
+
+
+
+ <'[' + '%s' % tax.sequence_number + ']'><tax.description or ''>
+
+
+ <format_currency(tax.base, invoice.party.lang, invoice.currency)>
+
+
+ <format_currency(tax.amount, invoice.party.lang, invoice.currency)>
+
+
+
+
+ <if test="tax.legal_notice">
+
+
+
+
+
+
+ <for each="line in tax.legal_notice.split('\n')">
+ <line>
+ </for>
+
+
+
+
+
+
+ </if>
+
+
+
+
+
+
+ </for>
+
+
+
+
+
+
+
+ <if test="invoice.comment">
+
+
+
+
+
+
+ OBSERVACIONES
+
+
+
+
+
+
+
+
+
+
+ <for each="comment in (invoice.comment or '').split('\n')">
+ <comment>
+ </for>
+
+
+
+
+
+ </if>
+
+
+
+
+
+
+
+ Sub-Total:
+
+
+ <format_currency(invoice.untaxed_amount, invoice.party.lang, invoice.currency)>
+
+
+
+
+ <if test="invoice.isr_withholding > 0">
+
+
+
+
+
+ ISR:
+
+
+ <format_currency(invoice.isr_withholding, invoice.party.lang, invoice.currency)>
+
+
+
+
+ </if>
+
+
+
+
+
+ <if test="invoice.isc_invoiced > 0">
+
+
+
+
+
+ ISC:
+
+
+ <format_currency(invoice.isc_invoiced, invoice.party.lang, invoice.currency)>
+
+
+
+
+ </if>
+
+
+
+
+
+ <if test="invoice.cdt_invoiced > 0">
+
+
+
+
+
+ CDT:
+
+
+ <format_currency(invoice.cdt_invoiced, invoice.party.lang, invoice.currency)>
+
+
+
+
+ </if>
+
+
+
+
+
+ <if test="invoice.tip > 0">
+
+
+
+
+
+ Propina:
+
+
+ <format_currency(invoice.cdt_invoiced, invoice.party.lang, invoice.currency)>
+
+
+
+
+ </if>
+
+
+
+
+
+ ITBIS:
+
+
+ <format_currency(invoice.itbis_invoiced, invoice.party.lang, invoice.currency)>
+
+
+
+
+ Total:
+
+
+ <format_currency(invoice.total_amount, invoice.party.lang, invoice.currency)>
+
+
+
+ Original: Cliente Copia: Vendedor
+
+
+
+
+ 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
+
+
+
+
+
+
+
+ <invoice.create_uid.name or ''>
+
+
+
+
+ Preparado por Recibido por
+
+
+ Para su comodidad, pueden hacer el pago de su(s) factura(s) por transferencia, a una de las siguientes cuentas:- Banco BHD León: Cuenta Corriente # 10119650011- Banco Popular Dominicano: Cuenta Corriente # 809516529- Banco de Reservas: Cuenta de Ahorro # 9603995228
+ </if>
+
+
+
\ No newline at end of file
diff --git a/invoice.xml b/invoice.xml
index 9aec675..7747954 100755
--- a/invoice.xml
+++ b/invoice.xml
@@ -27,6 +27,17 @@ this repository contains the full copyright notices and license terms. -->
invoice_line_tree
+
+
+ Factura
+
+ account.invoice
+ account.invoice
+ ncf_manager/invoice.fodt
+ odt
+ pdf
+
+
diff --git a/locale/es_419.po b/locale/es_419.po
index 2a3faa3..d029381 100644
--- a/locale/es_419.po
+++ b/locale/es_419.po
@@ -119,6 +119,10 @@ msgstr "Gestión de NCF"
# Class: Invoice
# Model: account.invoice
+msgctxt "model:ir.action,name:report_invoice"
+msgid "Factura"
+msgstr "Factura"
+
msgctxt "field:account.invoice,expiration_date:"
msgid "Expiration Date"
msgstr "Fecha de Vencimiento"
diff --git a/report.py b/report.py
new file mode 100644
index 0000000..eae9910
--- /dev/null
+++ b/report.py
@@ -0,0 +1,20 @@
+from trytond.pool import PoolMeta
+
+
+class InvoiceReport(metaclass=PoolMeta):
+ """Add the NCF label required by the fiscal invoice template."""
+ __name__ = 'account.invoice'
+
+ @classmethod
+ def get_context(cls, records, header, data):
+ context = super().get_context(records, header, data)
+ invoice = context['invoice']
+ context['ncf_type_name'] = cls._get_ncf_type_name(invoice)
+ return context
+
+ @staticmethod
+ def _get_ncf_type_name(invoice):
+ if not invoice.ncf_type:
+ return ''
+ return invoice.__class__._ncf_type_label_map().get(
+ invoice.ncf_type, '')
diff --git a/setup.py b/setup.py
index 3554dad..66ae055 100755
--- a/setup.py
+++ b/setup.py
@@ -83,7 +83,7 @@ setup(name=name,
),
package_data={
'trytond.modules.ncf_manager': (info.get('xml', [])
- + ['tryton.cfg', 'view/*.xml', 'locale/*.po',
+ + ['tryton.cfg', 'view/*.xml', 'locale/*.po', '*.fodt',
'icons/*.svg', 'tests/*.rst']),
},
classifiers=[
diff --git a/tests/test_module.py b/tests/test_module.py
index 15113c5..6503598 100644
--- a/tests/test_module.py
+++ b/tests/test_module.py
@@ -1,10 +1,32 @@
+from pathlib import Path
+
from trytond.tests.test_tryton import ModuleTestCase
+from trytond.modules.ncf_manager.report import InvoiceReport
+
class NcfManagerTestCase(ModuleTestCase):
"Test Ncf Manager module"
module = 'ncf_manager'
+ def test_fiscal_report_overrides_single_invoice_action(self):
+ report_xml = (Path(__file__).parent.parent / 'invoice.xml').read_text()
+ self.assertIn('id="account_invoice.report_invoice"', report_xml)
+ self.assertIn('ncf_manager/invoice.fodt', report_xml)
+ self.assertNotIn('ir.action.keyword', report_xml)
+
+ def test_fiscal_report_resolves_ncf_label(self):
+ class Invoice:
+ ncf_type = '31'
+
+ @staticmethod
+ def _ncf_type_label_map():
+ return {'31': 'Factura de Crédito Fiscal'}
+
+ self.assertEqual(
+ InvoiceReport._get_ncf_type_name(Invoice()),
+ 'Factura de Crédito Fiscal')
+
del ModuleTestCase
diff --git a/tryton.cfg b/tryton.cfg
index 6d7e017..1d1a889 100644
--- a/tryton.cfg
+++ b/tryton.cfg
@@ -1,5 +1,5 @@
[tryton]
-version=7.0.1
+version=7.0.2
depends:
account_invoice_do
xml: