From ca036f93607d6c94ddc1a0dd29a751594e13e707 Mon Sep 17 00:00:00 2001 From: Jose Lopez Date: Thu, 16 Mar 2023 15:25:07 -0400 Subject: [PATCH 1/5] [WIP] l10n_do: adding basic DO invoicing features --- addons/l10n_do/__manifest__.py | 43 ++- .../l10n_do/data/l10n_latam.document.type.csv | 23 ++ addons/l10n_do/demo/indexa_logo.png | Bin 0 -> 35234 bytes addons/l10n_do/demo/iterativo_logo.png | Bin 0 -> 196361 bytes addons/l10n_do/demo/katanalabs_logo.png | Bin 0 -> 3855 bytes addons/l10n_do/demo/marcos_logo.png | Bin 0 -> 4150 bytes addons/l10n_do/demo/res_partner_demo.xml | 128 +++++++ addons/l10n_do/models/__init__.py | 5 + addons/l10n_do/models/account_journal.py | 214 +++++++++++ addons/l10n_do/models/account_move.py | 278 ++++++++++++++ .../models/l10n_latam_document_type.py | 90 +++++ addons/l10n_do/models/res_company.py | 19 + addons/l10n_do/models/res_partner.py | 138 +++++++ addons/l10n_do/models/template_do.py | 80 ++-- addons/l10n_do/security/ir.model.access.csv | 2 + .../l10n_do/views/account_journal_views.xml | 23 ++ addons/l10n_do/views/account_move_views.xml | 17 + .../views/l10n_latam_document_type_views.xml | 41 ++ addons/l10n_do/views/report_invoice.xml | 356 ++++++++++++++++++ addons/l10n_do/views/report_templates.xml | 21 ++ addons/l10n_do/views/res_company_views.xml | 13 + .../views/res_config_settings_view.xml | 19 + addons/l10n_do/views/res_partner_views.xml | 16 + 23 files changed, 1470 insertions(+), 56 deletions(-) create mode 100644 addons/l10n_do/data/l10n_latam.document.type.csv create mode 100644 addons/l10n_do/demo/indexa_logo.png create mode 100644 addons/l10n_do/demo/iterativo_logo.png create mode 100644 addons/l10n_do/demo/katanalabs_logo.png create mode 100644 addons/l10n_do/demo/marcos_logo.png create mode 100644 addons/l10n_do/demo/res_partner_demo.xml create mode 100644 addons/l10n_do/models/account_journal.py create mode 100644 addons/l10n_do/models/account_move.py create mode 100644 addons/l10n_do/models/l10n_latam_document_type.py create mode 100644 addons/l10n_do/models/res_company.py create mode 100644 addons/l10n_do/models/res_partner.py create mode 100644 addons/l10n_do/security/ir.model.access.csv create mode 100644 addons/l10n_do/views/account_journal_views.xml create mode 100644 addons/l10n_do/views/account_move_views.xml create mode 100644 addons/l10n_do/views/l10n_latam_document_type_views.xml create mode 100644 addons/l10n_do/views/report_invoice.xml create mode 100644 addons/l10n_do/views/report_templates.xml create mode 100644 addons/l10n_do/views/res_company_views.xml create mode 100644 addons/l10n_do/views/res_config_settings_view.xml create mode 100644 addons/l10n_do/views/res_partner_views.xml diff --git a/addons/l10n_do/__manifest__.py b/addons/l10n_do/__manifest__.py index fe1c621e9c9f0..c24c0f2be4504 100644 --- a/addons/l10n_do/__manifest__.py +++ b/addons/l10n_do/__manifest__.py @@ -1,9 +1,9 @@ # Part of Odoo. See LICENSE file for full copyright and licensing details. { - 'name': 'Dominican Republic - Accounting', - 'version': '2.0', - 'category': 'Accounting/Localizations/Account Charts', - 'description': """ + "name": "Dominican Republic - Accounting", + "version": "2.0", + "category": "Accounting/Localizations/Account Charts", + "description": """ Localization Module for Dominican Republic =========================================== @@ -70,19 +70,30 @@ 110101- Caja 11010101 Caja General """, - 'author': 'Gustavo Valverde - iterativo | Consultores de Odoo', - 'website': 'http://iterativo.do', - 'depends': [ - 'account', - 'base_iban', + "author": "Gustavo Valverde - iterativo | Consultores de Odoo", + "website": "http://iterativo.do", + "depends": [ + "l10n_latam_invoice_document", + "base_iban", ], - 'data': [ - 'data/account_account_tag_data.xml', - 'data/account_tax_report_data.xml', - 'data/l10n_do_res_partner_title.xml', + "data": [ + "data/l10n_latam.document.type.csv", + "data/account_account_tag_data.xml", + "data/account_tax_report_data.xml", + "data/l10n_do_res_partner_title.xml", ], - 'demo': [ - 'demo/demo_company.xml', + "demo": [ + "security/ir.model.access.csv", + "demo/demo_company.xml", + "demo/res_partner_demo.xml", + "views/account_journal_views.xml", + # "views/account_move_views.xml", + "views/l10n_latam_document_type_views.xml", + "views/report_invoice.xml", + "views/report_templates.xml", + "views/res_company_views.xml", + "views/res_config_settings_view.xml", + "views/res_partner_views.xml", ], - 'license': 'LGPL-3', + "license": "LGPL-3", } diff --git a/addons/l10n_do/data/l10n_latam.document.type.csv b/addons/l10n_do/data/l10n_latam.document.type.csv new file mode 100644 index 0000000000000..e608df46b2f86 --- /dev/null +++ b/addons/l10n_do/data/l10n_latam.document.type.csv @@ -0,0 +1,23 @@ +id,sequence,code,name,report_name,internal_type,l10n_do_ncf_type,doc_code_prefix,country_id/id,active +ncf_fiscal_client,10,B,Crédito Fiscal,Factura de Crédito Fiscal,invoice,01,B01,base.do,TRUE +ncf_consumer_supplier,30,B,Consumo,Factura de Consumo,invoice,02,B02,base.do,TRUE +ncf_debit_note_client,40,B,Nota de Débito,Nota de Débito,debit_note,03,B03,base.do,TRUE +ncf_credit_note_client,60,B,Nota de Crédito,Nota de Crédito,credit_note,04,B04,base.do,TRUE +ncf_informal_supplier,80,B,Comprobante de Compra,Factura de Compra,invoice,11,B11,base.do,TRUE +ncf_unique_client,90,B,Único Ingreso,Factura de Único Ingreso,invoice,12,B12,base.do,TRUE +ncf_minor_supplier,100,B,Gasto Menor,Gasto Menor,invoice,13,B13,base.do,TRUE +ncf_special_client,110,B,Régimen Especial,Factura de Régimen Especial,invoice,14,B14,base.do,TRUE +ncf_gov_client,120,B,Factura Gubernamental,Factura Gubernamental,invoice,15,B15,base.do,TRUE +ncf_export_client,130,B,Exportación,Factura de Exportación,invoice,16,B16,base.do,TRUE +ncf_exterior_supplier,140,B,Pago al Exterior,Factura de Pago al Exterior,invoice,17,B17,base.do,TRUE +non_fiscal_import_supplier,150,N,Importación,Factura de Importación,invoice,,IMP,base.do,FALSE +ecf_fiscal_client,160,E,Crédito Fiscal Electrónica,Factura de Crédito Fiscal Electrónica,invoice,31,E31,base.do,TRUE +ecf_consumer_supplier,170,E,Consumo Electrónica,Factura de Consumo Electrónica,invoice,32,E32,base.do,TRUE +ecf_debit_note_client,180,E,Nota de Débito Electrónica,Nota de Débito Electrónica,debit_note,33,E33,base.do,TRUE +ecf_credit_note_client,190,E,Nota de Crédito Electrónica,Nota de Crédito Electrónica,credit_note,34,E34,base.do,TRUE +ecf_informal_supplier,200,E,Compras Electrónica,Factura de Compra Electrónica,invoice,41,E41,base.do,TRUE +ecf_minor_supplier,220,E,Gasto Menor Electrónica,Factura Gasto Menor Electrónica,invoice,43,E43,base.do,TRUE +ecf_special_client,230,E,Régimen Especial Electrónica,Factura de Régimen Especial Electrónica,invoice,44,E44,base.do,TRUE +ecf_gov_client,240,E,Factura Gubernamental Electrónica,Factura Gubernamental Electrónica,invoice,45,E45,base.do,TRUE +ecf_export_client,250,E,Exportación Electrónica,Factura de Exportación Electrónica,invoice,46,E46,base.do,TRUE +ecf_exterior_supplier,260,E,Pago al Exterior Electrónica,Factura de Pago al Exterior Electrónica,invoice,47,E47,base.do,TRUE diff --git a/addons/l10n_do/demo/indexa_logo.png b/addons/l10n_do/demo/indexa_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..08bb741d50ded2f172505f92ebc6283fe7205412 GIT binary patch literal 35234 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 Rv77-2JYD@<);T3K0RVU$(mVhF literal 0 HcmV?d00001 diff --git a/addons/l10n_do/demo/iterativo_logo.png b/addons/l10n_do/demo/iterativo_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..22f12fa8aa0a21d178d2b07c61860bfdeb823cb8 GIT binary patch literal 196361 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

`IsRQidi^M(loE7-(I!lO~PJq;GK=# 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 literal 0 HcmV?d00001 diff --git a/addons/l10n_do/demo/katanalabs_logo.png b/addons/l10n_do/demo/katanalabs_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..8305d2f58c6d869bb21cdec3496140beedcc2dfc GIT binary patch literal 3855 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 R<-z~}002ovPDHLkV1f#%OJ@K8 literal 0 HcmV?d00001 diff --git a/addons/l10n_do/demo/marcos_logo.png b/addons/l10n_do/demo/marcos_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..5e35c138153948b5600c363ed77e085b0587cdd4 GIT binary patch literal 4150 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 literal 0 HcmV?d00001 diff --git a/addons/l10n_do/demo/res_partner_demo.xml b/addons/l10n_do/demo/res_partner_demo.xml new file mode 100644 index 0000000000000..d757ba55d4530 --- /dev/null +++ b/addons/l10n_do/demo/res_partner_demo.xml @@ -0,0 +1,128 @@ + + + + + + + MARCOS ORGANIZADOR DE NEGOCIOS SRL + + Avenida de Los Próceres + + Santo Domingo + 131098193 + taxpayer + info@marcos.do + 809-540-4253 + https://marcos.do/ + + + + ITERATIVO SRL + + Rafael Augusto Sánchez 86 + Roble Corporate Center + 10148 + + Piantini + 131566332 + taxpayer + info@iterativo.do + 829-956-5191 + https://iterativo.do/ + + + + INDEXA SRL + + + Rafael Augusto Sánchez 86 + Roble Corporate Center + Piantini + 131793916 + taxpayer + info@indexa.do + 829-939-3231 + https://indexa.do/ + + + + KATANA LABS SRL + + + José Reyes 48 + 2da Planta + Zona Colonial + 132116852 + taxpayer + info@katanalabs.do + 829-399-5150 + https://katanalabs.do/ + + + + + + + JOSE LUIS LOPEZ GONZALEZ + + + 22400559690 + non_payer + joselopezg8@gmail.com + 829-939-3231 + + + KEVIN JIMENEZ LORENZO + + + 40222200327 + non_payer + kevinjimenezlorenzo@gmail.com + + + + + + ZONA FRANCA INDUSTRIAL DE LAS AMERICAS S A + + + 101168481 + special + 809-549-2031 + + + + + + FOOD FOR THE HUNGRY Y DOM + + + 401051842 + nonprofit + 800-248-6437 + + + + + + MINISTERIO DE INDUSTRIA Y COMERCIO Y MIPYMES + + + 401007355 + governmental + info@micm.gob.do + 809-567-7192 + + + MINISTERIO DE EDUCACION SUPERIOR CIENCIA Y TECNOLOGIA + + + 401505657 + governmental + 809-731-1100 + + + + + diff --git a/addons/l10n_do/models/__init__.py b/addons/l10n_do/models/__init__.py index f801afff26ec1..a4332fc02ee4c 100644 --- a/addons/l10n_do/models/__init__.py +++ b/addons/l10n_do/models/__init__.py @@ -1,2 +1,7 @@ # Part of Odoo. See LICENSE file for full copyright and licensing details. from . import template_do +from . import account_journal +from . import account_move +from . import l10n_latam_document_type +from . import res_company +from . import res_partner diff --git a/addons/l10n_do/models/account_journal.py b/addons/l10n_do/models/account_journal.py new file mode 100644 index 0000000000000..19b69cbaea58b --- /dev/null +++ b/addons/l10n_do/models/account_journal.py @@ -0,0 +1,214 @@ +from odoo import fields, models, api, _ +from odoo.exceptions import RedirectWarning, ValidationError + + +class AccountJournal(models.Model): + _inherit = "account.journal" + + l10n_do_document_type_ids = fields.One2many( + "l10n_do.account.journal.document_type", + "journal_id", + string="Document types", + copy=False, + ) + + def _get_all_ncf_types(self, types_list, invoice=False): + """ + Include ECF type prefixes if company is ECF issuer + :param types_list: NCF list used to create fiscal sequences + :return: types_list + """ + + ecf_types = ["e-%s" % d for d in types_list if d not in ("unique", "import")] + + if self._context.get("use_documents", False) or not invoice: + # When called from Journals return all ncf+ecf types to + # create fiscal sequences + return types_list + ecf_types + + if ( + invoice.is_purchase_document() + and invoice.partner_id.l10n_do_dgii_tax_payer_type + and invoice.partner_id.l10n_do_dgii_tax_payer_type + in ("non_payer", "foreigner") + ): + # Return ncf/ecf types depending on company ECF issuing status + return ecf_types if self.company_id.l10n_do_ecf_issuer else types_list + + return types_list + ecf_types + + @api.model + def _get_l10n_do_ncf_types_data(self): + return { + "issued": { + "taxpayer": ["fiscal"], + "non_payer": ["consumer", "unique"], + "nonprofit": ["fiscal"], + "special": ["special"], + "governmental": ["governmental"], + "foreigner": ["export", "consumer"], + }, + "received": { + "taxpayer": ["fiscal"], + "non_payer": ["informal", "minor"], + "nonprofit": ["special", "governmental"], + "special": ["fiscal", "special", "governmental"], + "governmental": ["fiscal", "special", "governmental"], + "foreigner": ["import", "exterior"], + }, + } + + def _get_journal_ncf_types(self, counterpart_partner=False, invoice=False): + """ + Regarding the DGII type of company and the type of journal + (sale/purchase), get the allowed NCF types. Optionally, receive + the counterpart partner (customer/supplier) and get the allowed + NCF types to work with him. This method is used to populate + document types on journals and also to filter document types on + specific invoices to/from customer/supplier + """ + self.ensure_one() + ncf_types_data = self._get_l10n_do_ncf_types_data() + + if not self.company_id.vat: + action = self.env.ref("base.action_res_company_form") + msg = _("Cannot create chart of account until you configure your VAT.") + raise RedirectWarning(msg, action.id, _("Go to Companies")) + + # Get all the ncf_types values from the nested dictionary, remove duplicates and + # convert it into a list + ncf_types = list( + set( + [ + value + for dic in ncf_types_data[ + "issued" if self.type == "sale" else "received" + ].values() + for value in dic + ] + ) + ) + if not counterpart_partner: + ncf_notes = ["debit_note", "credit_note"] + ncf_external = ["fiscal", "special", "governmental"] + + # When Journal document type create, include ncf_notes if sale + # or exclude ncf_external if purchase + res = ( + ncf_types + ncf_notes + if self.type == "sale" + else [ncf for ncf in ncf_types if ncf not in ncf_external] + ) + return self._get_all_ncf_types(res) + if counterpart_partner.l10n_do_dgii_tax_payer_type: + counterpart_ncf_types = ncf_types_data[ + "issued" if self.type == "sale" else "received" + ][counterpart_partner.l10n_do_dgii_tax_payer_type] + ncf_types = list(set(ncf_types) & set(counterpart_ncf_types)) + else: + raise ValidationError( + _("Partner %s is needed to issue a fiscal invoice") + % counterpart_partner._fields["l10n_do_dgii_tax_payer_type"].string + ) + if invoice and invoice.move_type in ["out_refund", "in_refund"]: + ncf_types = ["credit_note"] + + if ( + invoice + and invoice.debit_origin_id + or self.env.context.get("internal_type") == "debit_note" + ): + return ["debit_note", "e-debit_note"] + + return self._get_all_ncf_types(ncf_types, invoice) + + def _get_journal_codes(self): + self.ensure_one() + if self.type == "purchase": + return [] + elif self.type == "sale" and self.company_id.l10n_do_ecf_issuer: + return ["E"] + return ["B"] + + def _l10n_do_create_document_types(self): + self.ensure_one() + + if ( + not self.l10n_latam_use_documents + or self.company_id.country_id != self.env.ref("base.do") + ): + return + + document_types = self.l10n_do_document_type_ids + fiscal_types = self._get_journal_ncf_types() + + if self.type == "purchase": + fiscal_types = [ + ftype + for ftype in fiscal_types + if ftype not in ("fiscal", "credit_note") + ] + + domain = [ + ("country_id.code", "=", "DO"), + ("l10n_do_ncf_type", "in", fiscal_types), + ] + documents = self.env["l10n_latam.document.type"].search(domain) + for document in documents.filtered( + lambda doc: doc.l10n_do_ncf_type + not in document_types.l10n_latam_document_type_id.mapped("l10n_do_ncf_type") + ): + document_types |= ( + self.env["l10n_do.account.journal.document_type"] + .sudo() + .create( + { + "journal_id": self.id, + "l10n_latam_document_type_id": document.id, + } + ) + ) + + @api.model_create_multi + def create(self, vals_list): + journals = super().create(vals_list) + for res in journals: + res._l10n_do_create_document_types() + return journals + + def write(self, values): + to_check = {"type", "l10n_latam_use_documents"} + res = super().write(values) + if to_check.intersection(set(values.keys())): + for rec in self: + rec._l10n_do_create_document_types() + return res + + +class AccountJournalDocumentType(models.Model): + """ + Because l10n_latam.document.type model is not multicompany, this model + allows to manage document types by company + """ + + _name = "l10n_do.account.journal.document_type" + _description = "Journal Document Type" + + journal_id = fields.Many2one( + "account.journal", + "Journal", + required=True, + readonly=True, + ondelete="cascade", + ) + l10n_latam_document_type_id = fields.Many2one( + "l10n_latam.document.type", "Document type", required=True, readonly=True + ) + l10n_do_ncf_expiration_date = fields.Date( + string="Expiration date", + required=True, + default=fields.Date.end_of(fields.Date.today(), "year"), + ) + company_id = fields.Many2one( + string="Company", related="journal_id.company_id", readonly=True + ) diff --git a/addons/l10n_do/models/account_move.py b/addons/l10n_do/models/account_move.py new file mode 100644 index 0000000000000..de7e1db0476ac --- /dev/null +++ b/addons/l10n_do/models/account_move.py @@ -0,0 +1,278 @@ +import re +from odoo import models, fields, api, _ +from odoo.exceptions import ValidationError, UserError + + +class AccountMove(models.Model): + _inherit = "account.move" + + _l10n_do_sequence_fixed_regex = r"^(?P.*?)(?P\d{0,8})$" + + l10n_do_ncf_expiration_date = fields.Date( + string="Valid until", + ) + + # TODO: check if there is a better way to implement the following function + # def _get_l10n_do_amounts(self, company_currency=False): + # """ + # Method used to to prepare dominican fiscal invoices amounts data. Widely used + # on reports and electronic invoicing. + # + # Returned values: + # + # itbis_amount: Total ITBIS + # itbis_taxable_amount: Monto Gravado Total (con ITBIS) + # itbis_exempt_amount: Monto Exento + # """ + # self.ensure_one() + # amount_field = company_currency and "balance" or "price_subtotal" + # sign = -1 if (company_currency and self.is_inbound()) else 1 + # + # itbis_tax_group = self.env.ref("l10n_do.group_itbis", False) + # + # taxed_move_lines = self.line_ids.filtered("tax_line_id") + # itbis_taxed_move_lines = taxed_move_lines.filtered( + # lambda l: itbis_tax_group in l.tax_line_id.mapped("tax_group_id") + # and l.tax_line_id.amount > 0 + # ) + # + # itbis_taxed_product_lines = self.invoice_line_ids.filtered( + # lambda l: itbis_tax_group in l.tax_ids.mapped("tax_group_id") + # ) + # + # return { + # "itbis_amount": sign * sum(itbis_taxed_move_lines.mapped(amount_field)), + # "itbis_taxable_amount": sign + # * sum( + # line[amount_field] + # for line in itbis_taxed_product_lines + # if line.price_total != line.price_subtotal + # ), + # "itbis_exempt_amount": sign + # * sum( + # line[amount_field] + # for line in itbis_taxed_product_lines + # if any(True for tax in line.tax_ids if tax.amount == 0) + # ), + # "company_invoice_total": abs(self.amount_untaxed_signed) + # + sum( + # ( + # line.debit or line.credit + # if self.currency_id == self.company_id.currency_id + # else abs(line.amount_currency) + # ) + # for line in self.line_ids.filtered( + # lambda l: l.tax_line_id and l.tax_line_id.amount > 0 + # ) + # ), + # "invoice_total": abs(self.amount_untaxed) + # + sum( + # ( + # line.debit or line.credit + # if self.currency_id == self.company_id.currency_id + # else abs(line.amount_currency) + # ) + # for line in self.line_ids.filtered( + # lambda l: l.tax_line_id and l.tax_line_id.amount > 0 + # ) + # ), + # } + + def _get_l10n_latam_documents_domain(self): + self.ensure_one() + if not ( + self.journal_id.l10n_latam_use_documents + and self.journal_id.company_id.country_id == self.env.ref("base.do") + ): + return super()._get_l10n_latam_documents_domain() + + internal_types = ["debit_note"] + if self.move_type in ["out_refund", "in_refund"]: + internal_types.append("credit_note") + else: + internal_types.append("invoice") + + domain = [ + ("internal_type", "in", internal_types), + ("country_id", "=", self.company_id.country_id.id), + ] + ncf_types = self.journal_id._get_journal_ncf_types( + counterpart_partner=self.partner_id.commercial_partner_id, invoice=self + ) + domain += [ + "|", + ("l10n_do_ncf_type", "=", False), + ("l10n_do_ncf_type", "in", ncf_types), + ] + codes = self.journal_id._get_journal_codes() + if codes: + domain.append(("code", "in", codes)) + return domain + + @api.constrains("move_type", "l10n_latam_document_type_id") + def _check_invoice_type_document_type(self): + l10n_do_invoices = self.filtered( + lambda inv: inv.country_code == "DO" + and inv.l10n_latam_use_documents + and inv.l10n_latam_document_type_id + ) + for rec in l10n_do_invoices: + has_vat = bool(rec.partner_id.vat and bool(rec.partner_id.vat.strip())) + if not has_vat and ( + rec.amount_untaxed_signed >= 250000 + and rec.commercial_partner_id.l10n_do_dgii_tax_payer_type == "non_payer" + ): + raise ValidationError( + _( + "A VAT is mandatory for this type of NCF. " + "Please set the current VAT of this client" + ) + ) + super(AccountMove, self - l10n_do_invoices)._check_invoice_type_document_type() + + @api.depends("l10n_latam_document_type_id", "journal_id") + def _compute_l10n_latam_manual_document_number(self): + l10n_do_recs_with_journal_id = self.filtered( + lambda x: x.journal_id + and x.journal_id.l10n_latam_use_documents + and x.l10n_latam_document_type_id + and x.country_code == "DO" + ) + for move in l10n_do_recs_with_journal_id: + move.l10n_latam_manual_document_number = ( + move._is_l10n_do_manual_document_number() + ) + + super( + AccountMove, self - l10n_do_recs_with_journal_id + )._compute_l10n_latam_manual_document_number() + + def _post(self, soft=True): + + res = super()._post(soft) + + l10n_do_invoices = self.filtered( + lambda inv: inv.country_code == "DO" + and inv.l10n_latam_use_documents + and inv.l10n_latam_document_type_id + ) + + for invoice in l10n_do_invoices: + invoice.l10n_do_ncf_expiration_date = ( + invoice.journal_id.l10n_do_document_type_ids.filtered( + lambda doc: doc.l10n_latam_document_type_id + == invoice.l10n_latam_document_type_id + ).l10n_do_ncf_expiration_date + ) + + non_payer_type_invoices = l10n_do_invoices.filtered( + lambda inv: not inv.partner_id.l10n_do_dgii_tax_payer_type + ) + if non_payer_type_invoices: + raise ValidationError(_("Fiscal invoices require partner fiscal type")) + + return res + + def _l10n_do_get_formatted_sequence(self): + self.ensure_one() + document_type_id = self.l10n_latam_document_type_id + return "%s%s" % ( + document_type_id.doc_code_prefix, + "".zfill( + 10 if str(document_type_id.l10n_do_ncf_type).startswith("e-") else 8 + ), + ) + + def _get_starting_sequence(self): + if ( + self.l10n_latam_use_documents + and self.country_code == "DO" + and self.l10n_latam_document_type_id + ): + return self._l10n_do_get_formatted_sequence() + + return super()._get_starting_sequence() + + def _get_name_invoice_report(self): + self.ensure_one() + if self.l10n_latam_use_documents and self.country_code == "DO": + return "l10n_do_accounting.report_invoice_document_inherited" + return super()._get_name_invoice_report() + + def _is_l10n_do_manual_document_number(self): + self.ensure_one() + + if self.reversed_entry_id: + return self.reversed_entry_id.l10n_latam_manual_document_number + + return self.move_type in ( + "in_invoice", + "in_refund", + ) and self.l10n_latam_document_type_id.l10n_do_ncf_type not in ( + "minor", + "e-minor", + "informal", + "e-informal", + "exterior", + "e-exterior", + ) + + def _is_manual_document_number(self): + if self.country_code == "DO": + return self._is_l10n_do_manual_document_number() + return super()._is_manual_document_number() + + def _get_sequence_format_param(self, previous): + + if self.country_code != "DO": + return super(AccountMove, self)._get_sequence_format_param(previous) + + regex = self._l10n_do_sequence_fixed_regex + + format_values = re.match(regex, previous).groupdict() + format_values["seq_length"] = len(format_values["seq"]) + format_values["seq"] = int(format_values.get("seq") or 0) + format_values["year_length"] = 1 + + placeholders = re.findall(r"(prefix\d|seq\d?)", regex) + format = "".join( + "{seq:0{seq_length}d}" if s == "seq" else "{%s}" % s for s in placeholders + ) + return format, format_values + + def _get_last_sequence_domain(self, relaxed=False): + where_string, param = super(AccountMove, self)._get_last_sequence_domain( + relaxed + ) + if ( + self.company_id.account_fiscal_country_id.code == "DO" + and self.l10n_latam_use_documents + ): + where_string = where_string.replace("journal_id = %(journal_id)s AND", "") + where_string += ( + " AND l10n_latam_document_type_id = %(l10n_latam_document_type_id)s AND " + "company_id = %(company_id)s AND move_type IN %(move_type)s" + ) + + param["company_id"] = self.company_id.id or False + param["l10n_latam_document_type_id"] = ( + self.l10n_latam_document_type_id.id or 0 + ) + param["move_type"] = ( + ("in_invoice", "in_refund") + if self.l10n_latam_document_type_id._is_l10n_do_doc_type_vendor() + else ("out_invoice", "out_refund") + ) + return where_string, param + + def unlink(self): + if self.filtered( + lambda inv: inv.is_purchase_document() + and inv.country_code == "DO" + and inv.l10n_latam_use_documents + and inv.posted_before + ): + raise UserError( + _("You cannot delete fiscal invoice which have been posted before") + ) + return super(AccountMove, self).unlink() diff --git a/addons/l10n_do/models/l10n_latam_document_type.py b/addons/l10n_do/models/l10n_latam_document_type.py new file mode 100644 index 0000000000000..80a6ee609dbc8 --- /dev/null +++ b/addons/l10n_do/models/l10n_latam_document_type.py @@ -0,0 +1,90 @@ +from re import compile + +from odoo import models, fields, _ +from odoo.exceptions import ValidationError + + +class L10nLatamDocumentType(models.Model): + _inherit = "l10n_latam.document.type" + + def _get_l10n_do_ncf_types(self): + """Return a list of fiscal types and their respective sequence type to be used + on sequences, journals and document types.""" + return [ + ("fiscal", "01"), + ("consumer", "02"), + ("debit_note", "03"), + ("credit_note", "04"), + ("informal", "11"), + ("unique", "12"), + ("minor", "13"), + ("special", "14"), + ("governmental", "15"), + ("export", "16"), + ("exterior", "17"), + ("e-fiscal", "31"), + ("e-consumer", "32"), + ("e-debit_note", "33"), + ("e-credit_note", "34"), + ("e-informal", "41"), + ("e-minor", "43"), + ("e-special", "44"), + ("e-governmental", "45"), + ("e-export", "46"), + ("e-exterior", "47"), + ("in_fiscal", "01"), + ] + + l10n_do_ncf_type = fields.Selection( + selection="_get_l10n_do_ncf_types", + string="NCF types", + help="NCF types defined by the DGII that can be used to identify the" + " documents presented to the government and that depends on the" + " operation type, the responsibility of both the issuer and the" + " receptor of the document", + ) + l10n_do_ncf_expiration_date = fields.Date( # Deprecated. Do not forward port. + string="NCF Expiration date", + required=True, + default=fields.Date.end_of(fields.Date.today(), "year"), + ) + internal_type = fields.Selection( + selection_add=[ + ("in_invoice", "Supplier Invoices"), + ("in_credit_note", "Supplier Credit Note"), + ("in_debit_note", "Supplier Debit Note"), + ], + ondelete={ + "in_invoice": "cascade", + "in_credit_note": "cascade", + "in_debit_note": "cascade", + }, + ) + + def _is_l10n_do_doc_type_vendor(self): + return self.l10n_do_ncf_type in ["11", "13", "17", "41", "43", "47"] + + def _format_document_number(self, document_number): + """Make validation of Import Dispatch Number + * making validations on the document_number. + * format the document_number against a pattern and return it + """ + self.ensure_one() + if self.country_id != self.env.ref("base.do"): + return super()._format_document_number(document_number) + + if not document_number: + return False + + # NCF/ECF validation regex + regex = r"^(P?((?=.{13})E)type(\d{10})|(((?=.{11})B))type(\d{8}))$".replace( + "type", dict(self._get_l10n_do_ncf_types())[self.l10n_do_ncf_type] + ) + pattern = compile(regex) + + if not bool(pattern.match(document_number)): + raise ValidationError( + _("NCF %s doesn't have the correct structure") % document_number + ) + + return document_number diff --git a/addons/l10n_do/models/res_company.py b/addons/l10n_do/models/res_company.py new file mode 100644 index 0000000000000..fa8d8d69472b7 --- /dev/null +++ b/addons/l10n_do/models/res_company.py @@ -0,0 +1,19 @@ +from odoo import models, fields + + +class ResCompany(models.Model): + _inherit = "res.company" + + l10n_do_ecf_issuer = fields.Boolean( + "Is e-CF issuer", + help="When activating this field, NCF issuance is disabled.", + ) + + def _localization_use_documents(self): + """ Dominican localization uses documents """ + self.ensure_one() + return ( + True + if self.country_id == self.env.ref("base.do") + else super()._localization_use_documents() + ) diff --git a/addons/l10n_do/models/res_partner.py b/addons/l10n_do/models/res_partner.py new file mode 100644 index 0000000000000..6a27d8dbe8a65 --- /dev/null +++ b/addons/l10n_do/models/res_partner.py @@ -0,0 +1,138 @@ +from odoo import models, fields, api, _ +from odoo.exceptions import AccessError + + +class Partner(models.Model): + _inherit = "res.partner" + + def _get_l10n_do_dgii_payer_types_selection(self): + """Return the list of payer types needed in invoices to clasify accordingly to + DGII requirements.""" + return [ + ("taxpayer", _("Fiscal Tax Payer")), + ("non_payer", _("Non Tax Payer")), + ("nonprofit", _("Nonprofit Organization")), + ("special", _("special from Tax Paying")), + ("governmental", _("Governmental")), + ("foreigner", _("Foreigner")), + ] + + l10n_do_dgii_tax_payer_type = fields.Selection( + selection="_get_l10n_do_dgii_payer_types_selection", + compute="_compute_l10n_do_dgii_payer_type", + inverse="_inverse_l10n_do_dgii_tax_payer_type", + string="Taxpayer Type", + index=True, + store=True, + ) + country_id = fields.Many2one( + default=lambda self: self.env.ref("base.do") + if self.env.user.company_id.country_id == self.env.ref("base.do") + else False + ) + + @api.model + def _commercial_fields(self): + return super()._commercial_fields() + ["l10n_do_dgii_tax_payer_type"] + + def _check_l10n_do_fiscal_fields(self, vals): + + if not self or self.parent_id: + # Do not perform any check because child contacts + # have readonly fiscal field. This also allows set + # contacts parent, even if this changes any of its + # fiscal fields. + return + + fiscal_fields = [ + field + for field in ["name", "vat", "country_id"] # l10n_do_dgii_tax_payer_type ? + if field in vals + ] + if ( + fiscal_fields + and self.env["account.move"] + .sudo() + .search( + [ + ("l10n_latam_use_documents", "=", True), + ("country_code", "=", "DO"), + ("commercial_partner_id", "=", self.id), + ("state", "=", "posted"), + ], + limit=1, + ) + ): + raise AccessError( + _( + "You are not allowed to modify %s after partner " + "fiscal document issuing" + ) + % (", ".join(self._fields[f].string for f in fiscal_fields)) + ) + + def write(self, vals): + + res = super(Partner, self).write(vals) + self._check_l10n_do_fiscal_fields(vals) + + return res + + @api.depends("vat", "country_id", "name") + def _compute_l10n_do_dgii_payer_type(self): + """ Compute the type of partner depending on soft decisions""" + company_id = self.env["res.company"].search( + [("id", "=", self.env.user.company_id.id)] + ) + for partner in self: + vat = str(partner.vat if partner.vat else partner.name) + is_dominican_partner = partner.country_id == self.env.ref("base.do") + + if partner.country_id and not is_dominican_partner: + partner.l10n_do_dgii_tax_payer_type = "foreigner" + + elif vat and ( + not partner.l10n_do_dgii_tax_payer_type + or partner.l10n_do_dgii_tax_payer_type == "non_payer" + ): + if partner.country_id and is_dominican_partner: + if vat.isdigit() and len(vat) == 9: + if not partner.vat: + partner.vat = vat + if partner.name and "MINISTERIO" in partner.name: + partner.l10n_do_dgii_tax_payer_type = "governmental" + elif partner.name and any( + [n for n in ("IGLESIA", "ZONA FRANCA") if n in partner.name] + ): + partner.l10n_do_dgii_tax_payer_type = "special" + elif vat.startswith("1"): + partner.l10n_do_dgii_tax_payer_type = "taxpayer" + elif vat.startswith("4"): + partner.l10n_do_dgii_tax_payer_type = "nonprofit" + else: + partner.l10n_do_dgii_tax_payer_type = "taxpayer" + + elif len(vat) == 11: + if vat.isdigit(): + if not partner.vat: + partner.vat = vat + payer_type = ( + "taxpayer" + if company_id.l10n_do_default_client == "fiscal" + else "non_payer" + ) + partner.l10n_do_dgii_tax_payer_type = payer_type + else: + partner.l10n_do_dgii_tax_payer_type = "non_payer" + else: + partner.l10n_do_dgii_tax_payer_type = "non_payer" + elif not partner.l10n_do_dgii_tax_payer_type: + partner.l10n_do_dgii_tax_payer_type = "non_payer" + else: + partner.l10n_do_dgii_tax_payer_type = ( + partner.l10n_do_dgii_tax_payer_type + ) + + def _inverse_l10n_do_dgii_tax_payer_type(self): + for partner in self: + partner.l10n_do_dgii_tax_payer_type = partner.l10n_do_dgii_tax_payer_type diff --git a/addons/l10n_do/models/template_do.py b/addons/l10n_do/models/template_do.py index f3ff71a7310c6..9a3f3aa33e844 100644 --- a/addons/l10n_do/models/template_do.py +++ b/addons/l10n_do/models/template_do.py @@ -4,67 +4,67 @@ class AccountChartTemplate(models.AbstractModel): - _inherit = 'account.chart.template' + _inherit = "account.chart.template" - @template('do') + @template("do") def _get_do_template_data(self): return { - 'code_digits': '8', - 'use_anglo_saxon': True, - 'property_account_receivable_id': 'do_niif_11030201', - 'property_account_payable_id': 'do_niif_21010200', - 'property_account_income_categ_id': 'do_niif_41010100', - 'property_account_expense_categ_id': 'do_niif_51010100', - 'property_stock_account_input_categ_id': 'do_niif_21021200', - 'property_stock_account_output_categ_id': 'do_niif_11050600', - 'property_stock_valuation_account_id': 'do_niif_11050100', + "code_digits": "8", + "use_anglo_saxon": True, + "property_account_receivable_id": "do_niif_11030201", + "property_account_payable_id": "do_niif_21010200", + "property_account_income_categ_id": "do_niif_41010100", + "property_account_expense_categ_id": "do_niif_51010100", + "property_stock_account_input_categ_id": "do_niif_21021200", + "property_stock_account_output_categ_id": "do_niif_11050600", + "property_stock_valuation_account_id": "do_niif_11050100", } - @template('do', 'res.company') + @template("do", "res.company") def _get_do_res_company(self): return { self.env.company.id: { - 'account_fiscal_country_id': 'base.do', - 'bank_account_code_prefix': '110102', - 'cash_account_code_prefix': '110101', - 'transfer_account_code_prefix': '11010100', - 'account_default_pos_receivable_account_id': 'do_niif_11030210', - 'income_currency_exchange_account_id': 'do_niif_42040100', - 'expense_currency_exchange_account_id': 'do_niif_52070800', - 'account_journal_early_pay_discount_loss_account_id': 'do_niif_99900003', - 'account_journal_early_pay_discount_gain_account_id': 'do_niif_99900004', + "account_fiscal_country_id": "base.do", + "bank_account_code_prefix": "110102", + "cash_account_code_prefix": "110101", + "transfer_account_code_prefix": "11010100", + "account_default_pos_receivable_account_id": "do_niif_11030210", + "income_currency_exchange_account_id": "do_niif_42040100", + "expense_currency_exchange_account_id": "do_niif_52070800", + "account_journal_early_pay_discount_loss_account_id": "do_niif_99900003", + "account_journal_early_pay_discount_gain_account_id": "do_niif_99900004", }, } - @template('do', 'account.journal') + @template("do", "account.journal") def _get_do_account_journal(self): return { "caja_chica": { - 'name': _('Caja Chica'), - 'type': 'cash', - 'sequence': 10, + "name": _("Caja Chica"), + "type": "cash", + "sequence": 10, }, "cheques_clientes": { - 'name': _('Cheques Clientes'), - 'type': 'cash', - 'sequence': 10, + "name": _("Cheques Clientes"), + "type": "cash", + "sequence": 10, }, "gasto": { - 'type': 'purchase', - 'name': _('Gastos No Deducibles'), - 'code': 'GASTO', - 'show_on_dashboard': True, + "type": "purchase", + "name": _("Gastos No Deducibles"), + "code": "GASTO", + "show_on_dashboard": True, }, "cxp": { - 'type': 'purchase', - 'name': _('Migración CxP'), - 'code': 'CXP', - 'show_on_dashboard': True, + "type": "purchase", + "name": _("Migración CxP"), + "code": "CXP", + "show_on_dashboard": True, }, "cxc": { - 'type': 'sale', - 'name': _('Migración CxC'), - 'code': 'CXC', - 'show_on_dashboard': True, + "type": "sale", + "name": _("Migración CxC"), + "code": "CXC", + "show_on_dashboard": True, }, } diff --git a/addons/l10n_do/security/ir.model.access.csv b/addons/l10n_do/security/ir.model.access.csv new file mode 100644 index 0000000000000..0cd4cd7641014 --- /dev/null +++ b/addons/l10n_do/security/ir.model.access.csv @@ -0,0 +1,2 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_l10n_do_account_journal_document_type,access_l10n_do_account_journal_document_type,model_l10n_do_account_journal_document_type,base.group_user,1,1,0,0 \ No newline at end of file diff --git a/addons/l10n_do/views/account_journal_views.xml b/addons/l10n_do/views/account_journal_views.xml new file mode 100644 index 0000000000000..2b61ea02a1a22 --- /dev/null +++ b/addons/l10n_do/views/account_journal_views.xml @@ -0,0 +1,23 @@ + + + + account.journal + account.journal.form + + + + + + + + + + + + + + + + diff --git a/addons/l10n_do/views/account_move_views.xml b/addons/l10n_do/views/account_move_views.xml new file mode 100644 index 0000000000000..37d53c43f1cbd --- /dev/null +++ b/addons/l10n_do/views/account_move_views.xml @@ -0,0 +1,17 @@ + + + + account.move.form + account.move + + + + { + 'required': [('l10n_latam_manual_document_number', '=', True), ('l10n_latam_use_documents', '=', True), ('country_code', '=','DO')], + 'readonly': ['|', '&', ('state', '!=', 'draft'), ('country_code', '=', 'DO'), '&', ('posted_before', '=', True), ('country_code', '=', 'DO')]} + + + + + diff --git a/addons/l10n_do/views/l10n_latam_document_type_views.xml b/addons/l10n_do/views/l10n_latam_document_type_views.xml new file mode 100644 index 0000000000000..6d1d102fb714e --- /dev/null +++ b/addons/l10n_do/views/l10n_latam_document_type_views.xml @@ -0,0 +1,41 @@ + + + + + l10n_latam.document.type.form + l10n_latam.document.type + + + + + + + + + + l10n_latam.document.type.tree + l10n_latam.document.type + + + + + + + + + + l10n_latam.document.type.filter + l10n_latam.document.type + + + + + + + + + + + + + diff --git a/addons/l10n_do/views/report_invoice.xml b/addons/l10n_do/views/report_invoice.xml new file mode 100644 index 0000000000000..e9e6714b77107 --- /dev/null +++ b/addons/l10n_do/views/report_invoice.xml @@ -0,0 +1,356 @@ + + + + + + + + + + + + + + + + diff --git a/addons/l10n_do/views/report_templates.xml b/addons/l10n_do/views/report_templates.xml new file mode 100644 index 0000000000000..e36c9bfcc5562 --- /dev/null +++ b/addons/l10n_do/views/report_templates.xml @@ -0,0 +1,21 @@ + + + + + + + + diff --git a/addons/l10n_do/views/res_company_views.xml b/addons/l10n_do/views/res_company_views.xml new file mode 100644 index 0000000000000..848db342cc101 --- /dev/null +++ b/addons/l10n_do/views/res_company_views.xml @@ -0,0 +1,13 @@ + + + + res.company.form.inherit + + res.company + + + + + + + diff --git a/addons/l10n_do/views/res_config_settings_view.xml b/addons/l10n_do/views/res_config_settings_view.xml new file mode 100644 index 0000000000000..5e163c4053cbe --- /dev/null +++ b/addons/l10n_do/views/res_config_settings_view.xml @@ -0,0 +1,19 @@ + + + + + res.config.settings.view.form.inherited + res.config.settings + + + +

+

Dominican Localization

+
+
+ + + + + diff --git a/addons/l10n_do/views/res_partner_views.xml b/addons/l10n_do/views/res_partner_views.xml new file mode 100644 index 0000000000000..3181d45f9225a --- /dev/null +++ b/addons/l10n_do/views/res_partner_views.xml @@ -0,0 +1,16 @@ + + + + + view.partner.property.form + + res.partner + + + + + + + + From 3195a202b093f38a9376b87a07d1cfecd790b3d9 Mon Sep 17 00:00:00 2001 From: Jose Lopez Date: Fri, 17 Mar 2023 14:34:51 -0400 Subject: [PATCH 2/5] [WIP] l10n_do: adding basic DO invoicing features --- addons/l10n_do/__manifest__.py | 1 - addons/l10n_do/models/account_move.py | 288 +++++++++--------- .../models/l10n_latam_document_type.py | 9 +- addons/l10n_do/views/account_move_views.xml | 17 -- addons/l10n_do/views/report_invoice.xml | 4 +- 5 files changed, 156 insertions(+), 163 deletions(-) delete mode 100644 addons/l10n_do/views/account_move_views.xml diff --git a/addons/l10n_do/__manifest__.py b/addons/l10n_do/__manifest__.py index c24c0f2be4504..524d470c7e8ca 100644 --- a/addons/l10n_do/__manifest__.py +++ b/addons/l10n_do/__manifest__.py @@ -87,7 +87,6 @@ "demo/demo_company.xml", "demo/res_partner_demo.xml", "views/account_journal_views.xml", - # "views/account_move_views.xml", "views/l10n_latam_document_type_views.xml", "views/report_invoice.xml", "views/report_templates.xml", diff --git a/addons/l10n_do/models/account_move.py b/addons/l10n_do/models/account_move.py index de7e1db0476ac..61e57cb276beb 100644 --- a/addons/l10n_do/models/account_move.py +++ b/addons/l10n_do/models/account_move.py @@ -6,77 +6,31 @@ class AccountMove(models.Model): _inherit = "account.move" - _l10n_do_sequence_fixed_regex = r"^(?P.*?)(?P\d{0,8})$" - l10n_do_ncf_expiration_date = fields.Date( string="Valid until", ) - # TODO: check if there is a better way to implement the following function - # def _get_l10n_do_amounts(self, company_currency=False): - # """ - # Method used to to prepare dominican fiscal invoices amounts data. Widely used - # on reports and electronic invoicing. - # - # Returned values: - # - # itbis_amount: Total ITBIS - # itbis_taxable_amount: Monto Gravado Total (con ITBIS) - # itbis_exempt_amount: Monto Exento - # """ - # self.ensure_one() - # amount_field = company_currency and "balance" or "price_subtotal" - # sign = -1 if (company_currency and self.is_inbound()) else 1 - # - # itbis_tax_group = self.env.ref("l10n_do.group_itbis", False) - # - # taxed_move_lines = self.line_ids.filtered("tax_line_id") - # itbis_taxed_move_lines = taxed_move_lines.filtered( - # lambda l: itbis_tax_group in l.tax_line_id.mapped("tax_group_id") - # and l.tax_line_id.amount > 0 - # ) - # - # itbis_taxed_product_lines = self.invoice_line_ids.filtered( - # lambda l: itbis_tax_group in l.tax_ids.mapped("tax_group_id") - # ) - # - # return { - # "itbis_amount": sign * sum(itbis_taxed_move_lines.mapped(amount_field)), - # "itbis_taxable_amount": sign - # * sum( - # line[amount_field] - # for line in itbis_taxed_product_lines - # if line.price_total != line.price_subtotal - # ), - # "itbis_exempt_amount": sign - # * sum( - # line[amount_field] - # for line in itbis_taxed_product_lines - # if any(True for tax in line.tax_ids if tax.amount == 0) - # ), - # "company_invoice_total": abs(self.amount_untaxed_signed) - # + sum( - # ( - # line.debit or line.credit - # if self.currency_id == self.company_id.currency_id - # else abs(line.amount_currency) - # ) - # for line in self.line_ids.filtered( - # lambda l: l.tax_line_id and l.tax_line_id.amount > 0 - # ) - # ), - # "invoice_total": abs(self.amount_untaxed) - # + sum( - # ( - # line.debit or line.credit - # if self.currency_id == self.company_id.currency_id - # else abs(line.amount_currency) - # ) - # for line in self.line_ids.filtered( - # lambda l: l.tax_line_id and l.tax_line_id.amount > 0 - # ) - # ), - # } + @api.onchange("l10n_latam_document_type_id", "l10n_latam_document_number") + def _inverse_l10n_latam_document_number(self): + do_invoices_with_document_number = self.filtered( + lambda x: x.l10n_latam_document_type_id + and x.country_code == "DO" + and x.l10n_latam_use_documents + and x.l10n_latam_document_number + ) + for rec in do_invoices_with_document_number: + l10n_latam_document_number = ( + rec.l10n_latam_document_type_id._format_document_number( + rec.l10n_latam_document_number + ) + ) + if rec.l10n_latam_document_number != l10n_latam_document_number: + rec.l10n_latam_document_number = l10n_latam_document_number + rec.name = l10n_latam_document_number + + super( + AccountMove, self - do_invoices_with_document_number + )._inverse_l10n_latam_document_number() def _get_l10n_latam_documents_domain(self): self.ensure_one() @@ -109,70 +63,6 @@ def _get_l10n_latam_documents_domain(self): domain.append(("code", "in", codes)) return domain - @api.constrains("move_type", "l10n_latam_document_type_id") - def _check_invoice_type_document_type(self): - l10n_do_invoices = self.filtered( - lambda inv: inv.country_code == "DO" - and inv.l10n_latam_use_documents - and inv.l10n_latam_document_type_id - ) - for rec in l10n_do_invoices: - has_vat = bool(rec.partner_id.vat and bool(rec.partner_id.vat.strip())) - if not has_vat and ( - rec.amount_untaxed_signed >= 250000 - and rec.commercial_partner_id.l10n_do_dgii_tax_payer_type == "non_payer" - ): - raise ValidationError( - _( - "A VAT is mandatory for this type of NCF. " - "Please set the current VAT of this client" - ) - ) - super(AccountMove, self - l10n_do_invoices)._check_invoice_type_document_type() - - @api.depends("l10n_latam_document_type_id", "journal_id") - def _compute_l10n_latam_manual_document_number(self): - l10n_do_recs_with_journal_id = self.filtered( - lambda x: x.journal_id - and x.journal_id.l10n_latam_use_documents - and x.l10n_latam_document_type_id - and x.country_code == "DO" - ) - for move in l10n_do_recs_with_journal_id: - move.l10n_latam_manual_document_number = ( - move._is_l10n_do_manual_document_number() - ) - - super( - AccountMove, self - l10n_do_recs_with_journal_id - )._compute_l10n_latam_manual_document_number() - - def _post(self, soft=True): - - res = super()._post(soft) - - l10n_do_invoices = self.filtered( - lambda inv: inv.country_code == "DO" - and inv.l10n_latam_use_documents - and inv.l10n_latam_document_type_id - ) - - for invoice in l10n_do_invoices: - invoice.l10n_do_ncf_expiration_date = ( - invoice.journal_id.l10n_do_document_type_ids.filtered( - lambda doc: doc.l10n_latam_document_type_id - == invoice.l10n_latam_document_type_id - ).l10n_do_ncf_expiration_date - ) - - non_payer_type_invoices = l10n_do_invoices.filtered( - lambda inv: not inv.partner_id.l10n_do_dgii_tax_payer_type - ) - if non_payer_type_invoices: - raise ValidationError(_("Fiscal invoices require partner fiscal type")) - - return res - def _l10n_do_get_formatted_sequence(self): self.ensure_one() document_type_id = self.l10n_latam_document_type_id @@ -193,12 +83,6 @@ def _get_starting_sequence(self): return super()._get_starting_sequence() - def _get_name_invoice_report(self): - self.ensure_one() - if self.l10n_latam_use_documents and self.country_code == "DO": - return "l10n_do_accounting.report_invoice_document_inherited" - return super()._get_name_invoice_report() - def _is_l10n_do_manual_document_number(self): self.ensure_one() @@ -222,12 +106,17 @@ def _is_manual_document_number(self): return self._is_l10n_do_manual_document_number() return super()._is_manual_document_number() + def _must_check_constrains_date_sequence(self): + if self.country_code == "DO": + return False + return super(AccountMove, self)._must_check_constrains_date_sequence() + def _get_sequence_format_param(self, previous): if self.country_code != "DO": return super(AccountMove, self)._get_sequence_format_param(previous) - regex = self._l10n_do_sequence_fixed_regex + regex = r"^(?P.*?)(?P\d{0,8})$" format_values = re.match(regex, previous).groupdict() format_values["seq_length"] = len(format_values["seq"]) @@ -244,10 +133,7 @@ def _get_last_sequence_domain(self, relaxed=False): where_string, param = super(AccountMove, self)._get_last_sequence_domain( relaxed ) - if ( - self.company_id.account_fiscal_country_id.code == "DO" - and self.l10n_latam_use_documents - ): + if self.country_code == "DO" and self.l10n_latam_use_documents: where_string = where_string.replace("journal_id = %(journal_id)s AND", "") where_string += ( " AND l10n_latam_document_type_id = %(l10n_latam_document_type_id)s AND " @@ -265,6 +151,124 @@ def _get_last_sequence_domain(self, relaxed=False): ) return where_string, param + def _get_l10n_do_amounts(self, company_currency=False): + """ + Method used to to prepare dominican fiscal invoices amounts data. Widely used + on reports and electronic invoicing. + + Returned values: + + itbis_amount: Total ITBIS + itbis_taxable_amount: Monto Gravado Total (con ITBIS) + itbis_exempt_amount: Monto Exento + """ + self.ensure_one() + amount_field = company_currency and "balance" or "price_subtotal" + sign = -1 if (company_currency and self.is_inbound()) else 1 + + itbis_tax_group = self.env.ref("l10n_do.group_itbis", False) + + taxed_move_lines = self.line_ids.filtered("tax_line_id") + itbis_taxed_move_lines = taxed_move_lines.filtered( + lambda l: itbis_tax_group in l.tax_line_id.mapped("tax_group_id") + and l.tax_line_id.amount > 0 + ) + + itbis_taxed_product_lines = self.invoice_line_ids.filtered( + lambda l: itbis_tax_group in l.tax_ids.mapped("tax_group_id") + ) + + return { + "itbis_amount": sign * sum(itbis_taxed_move_lines.mapped(amount_field)), + "itbis_taxable_amount": sign + * sum( + line[amount_field] + for line in itbis_taxed_product_lines + if line.price_total != line.price_subtotal + ), + "itbis_exempt_amount": sign + * sum( + line[amount_field] + for line in itbis_taxed_product_lines + if any(True for tax in line.tax_ids if tax.amount == 0) + ), + "company_invoice_total": abs(self.amount_untaxed_signed) + + sum( + ( + line.debit or line.credit + if self.currency_id == self.company_id.currency_id + else abs(line.amount_currency) + ) + for line in self.line_ids.filtered( + lambda l: l.tax_line_id and l.tax_line_id.amount > 0 + ) + ), + "invoice_total": abs(self.amount_untaxed) + + sum( + ( + line.debit or line.credit + if self.currency_id == self.company_id.currency_id + else abs(line.amount_currency) + ) + for line in self.line_ids.filtered( + lambda l: l.tax_line_id and l.tax_line_id.amount > 0 + ) + ), + } + + def _get_name_invoice_report(self): + self.ensure_one() + if self.l10n_latam_use_documents and self.country_code == "DO": + return "l10n_do.report_invoice_document_inherited" + return super()._get_name_invoice_report() + + @api.constrains("move_type", "l10n_latam_document_type_id") + def _check_invoice_type_document_type(self): + l10n_do_invoices = self.filtered( + lambda inv: inv.country_code == "DO" + and inv.l10n_latam_use_documents + and inv.l10n_latam_document_type_id + ) + for rec in l10n_do_invoices: + has_vat = bool(rec.partner_id.vat and bool(rec.partner_id.vat.strip())) + if not has_vat and ( + rec.amount_untaxed_signed >= 250000 + and rec.commercial_partner_id.l10n_do_dgii_tax_payer_type == "non_payer" + ): + raise ValidationError( + _( + "A VAT is mandatory for this type of NCF. " + "Please set the current VAT of this client" + ) + ) + super(AccountMove, self - l10n_do_invoices)._check_invoice_type_document_type() + + def _post(self, soft=True): + + res = super()._post(soft) + + l10n_do_invoices = self.filtered( + lambda inv: inv.country_code == "DO" + and inv.l10n_latam_use_documents + and inv.l10n_latam_document_type_id + ) + + for invoice in l10n_do_invoices: + invoice.l10n_do_ncf_expiration_date = ( + invoice.journal_id.l10n_do_document_type_ids.filtered( + lambda doc: doc.l10n_latam_document_type_id + == invoice.l10n_latam_document_type_id + ).l10n_do_ncf_expiration_date + ) + + non_payer_type_invoices = l10n_do_invoices.filtered( + lambda inv: not inv.partner_id.l10n_do_dgii_tax_payer_type + ) + if non_payer_type_invoices: + raise ValidationError(_("Fiscal invoices require partner fiscal type")) + + return res + def unlink(self): if self.filtered( lambda inv: inv.is_purchase_document() diff --git a/addons/l10n_do/models/l10n_latam_document_type.py b/addons/l10n_do/models/l10n_latam_document_type.py index 80a6ee609dbc8..23bb088bb0db6 100644 --- a/addons/l10n_do/models/l10n_latam_document_type.py +++ b/addons/l10n_do/models/l10n_latam_document_type.py @@ -62,7 +62,14 @@ def _get_l10n_do_ncf_types(self): ) def _is_l10n_do_doc_type_vendor(self): - return self.l10n_do_ncf_type in ["11", "13", "17", "41", "43", "47"] + return self.l10n_do_ncf_type in [ + "informal", + "minor", + "exterior", + "e-informal", + "e-minor", + "e-exterior", + ] def _format_document_number(self, document_number): """Make validation of Import Dispatch Number diff --git a/addons/l10n_do/views/account_move_views.xml b/addons/l10n_do/views/account_move_views.xml deleted file mode 100644 index 37d53c43f1cbd..0000000000000 --- a/addons/l10n_do/views/account_move_views.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - account.move.form - account.move - - - - { - 'required': [('l10n_latam_manual_document_number', '=', True), ('l10n_latam_use_documents', '=', True), ('country_code', '=','DO')], - 'readonly': ['|', '&', ('state', '!=', 'draft'), ('country_code', '=', 'DO'), '&', ('posted_before', '=', True), ('country_code', '=', 'DO')]} - - - - - diff --git a/addons/l10n_do/views/report_invoice.xml b/addons/l10n_do/views/report_invoice.xml index e9e6714b77107..725b8d7f040be 100644 --- a/addons/l10n_do/views/report_invoice.xml +++ b/addons/l10n_do/views/report_invoice.xml @@ -347,8 +347,8 @@ From df88b1e3526cdd68b9c7bb173ac36191b67b6e87 Mon Sep 17 00:00:00 2001 From: Jose Lopez Date: Wed, 22 Mar 2023 15:06:42 -0400 Subject: [PATCH 3/5] [WIP] l10n_do: cleaning report_invoice --- addons/l10n_do/models/account_move.py | 7 +- addons/l10n_do/views/report_invoice.xml | 110 +++++++++--------------- 2 files changed, 46 insertions(+), 71 deletions(-) diff --git a/addons/l10n_do/models/account_move.py b/addons/l10n_do/models/account_move.py index 61e57cb276beb..81e249a5c3be1 100644 --- a/addons/l10n_do/models/account_move.py +++ b/addons/l10n_do/models/account_move.py @@ -218,8 +218,11 @@ def _get_l10n_do_amounts(self, company_currency=False): def _get_name_invoice_report(self): self.ensure_one() - if self.l10n_latam_use_documents and self.country_code == "DO": - return "l10n_do.report_invoice_document_inherited" + if ( + self.l10n_latam_use_documents + and self.company_id.account_fiscal_country_id.code == "DO" + ): + return "l10n_do.report_invoice_document" return super()._get_name_invoice_report() @api.constrains("move_type", "l10n_latam_document_type_id") diff --git a/addons/l10n_do/views/report_invoice.xml b/addons/l10n_do/views/report_invoice.xml index 725b8d7f040be..fea395e65e49b 100644 --- a/addons/l10n_do/views/report_invoice.xml +++ b/addons/l10n_do/views/report_invoice.xml @@ -36,7 +36,8 @@
- + Vence: @@ -47,33 +48,24 @@

- - e-NCF: - NCF: + + NCF: - +
- + NCF modificado: - - -
- Código Modificación: - -
+
- - Vencimiento e-NCF: - Válida hasta: - @@ -89,7 +81,7 @@ Cédula: ID Cliente:
- +
Razón Social: @@ -154,13 +146,13 @@ - + @@ -174,18 +166,20 @@ + t-out="tax_aml.tax_line_id.invoice_label"/> - - - + + Monto Gravado @@ -193,7 +187,7 @@ + t-out="total_amount_taxed"/> @@ -202,7 +196,7 @@ + t-out="total_exempt_amount"/> @@ -214,7 +208,7 @@ - @@ -227,10 +221,10 @@ + t-out="tax_aml.tax_line_id.invoice_label"/> - @@ -239,12 +233,11 @@ -