[IMP] l10n_es_edi_sii/tbai: use l10n_es_is_simplified field

instead of just checking the simplified partner

closes odoo/odoo#136164

Related: odoo/upgrade#5191
Signed-off-by: Olivier Colson (oco) <oco@odoo.com>
This commit is contained in:
Josse Colpaert
2023-10-06 07:12:08 +00:00
parent 7756811110
commit 93eae53c6f
4 changed files with 5 additions and 10 deletions
@@ -249,12 +249,10 @@ class AccountEdiFormat(models.Model):
def _l10n_es_edi_get_invoices_info(self, invoices):
eu_country_codes = set(self.env.ref('base.europe').country_ids.mapped('code'))
simplified_partner = self.env.ref("l10n_es_edi_sii.partner_simplified")
info_list = []
for invoice in invoices:
com_partner = invoice.commercial_partner_id
is_simplified = invoice.partner_id == simplified_partner
is_simplified = invoice.l10n_es_is_simplified
info = {
'PeriodoLiquidacion': {
@@ -72,7 +72,7 @@
</template>
<template id="template_invoice_factura">
<t t-set="is_simplified" t-value="invoice._is_l10n_es_tbai_simplified()"/>
<t t-set="is_simplified" t-value="invoice.l10n_es_is_simplified"/>
<CabeceraFactura>
<t t-set="seq_and_num" t-value="invoice._get_l10n_es_tbai_sequence_and_number()"/>
<SerieFactura t-out="seq_and_num[0]"/>
@@ -89,7 +89,7 @@ class AccountEdiFormat(models.Model):
if invoice.move_type == 'out_refund':
if not invoice.l10n_es_tbai_refund_reason:
raise ValidationError(_('Refund reason must be specified (TicketBAI)'))
if invoice._is_l10n_es_tbai_simplified():
if invoice.l10n_es_is_simplified:
if invoice.l10n_es_tbai_refund_reason != 'R5':
raise ValidationError(_('Refund reason must be R5 for simplified invoices (TicketBAI)'))
else:
@@ -265,7 +265,7 @@ class AccountEdiFormat(models.Model):
# NOTE: TicketBai supports simplified invoices WITH recipients but we don't for now (we should for POS)
# NOTE: TicketBAI credit notes for simplified invoices are ALWAYS simplified BUT can have a recipient even if invoice doesn't
if invoice._is_l10n_es_tbai_simplified():
if invoice.l10n_es_is_simplified:
return values # do not set 'recipient' unless there is an actual recipient (used as condition in template)
# === RECIPIENTS (DESTINATARIOS) ===
@@ -347,7 +347,7 @@ class AccountEdiFormat(models.Model):
else:
values['regime_key'] = ['02']
if invoice._is_l10n_es_tbai_simplified():
if invoice.l10n_es_is_simplified:
values['regime_key'].append(52) # code for simplified invoices
return values
@@ -221,6 +221,3 @@ class AccountMove(models.Model):
self.l10n_es_tbai_cancel_xml = b64_doc
else:
self.l10n_es_tbai_post_xml = b64_doc
def _is_l10n_es_tbai_simplified(self):
return self.commercial_partner_id == self.env.ref("l10n_es_edi_sii.partner_simplified")