Added property to unify recargo equivalencia among core and spain

This commit is contained in:
Sergio Morillo 2023-04-17 09:59:53 +02:00
parent 1bbf0cffb4
commit d843fa0d35
2 changed files with 21 additions and 4 deletions

View File

@ -163,6 +163,23 @@ class Tax(metaclass=PoolMeta):
if exist_sii_intracomunity_key:
table.drop_column('sii_intracomunity_key')
@classmethod
def __setup__(cls):
super().__setup__()
if hasattr(cls, 'recargo_equivalencia'):
cls._sii_account_es_mapping = {
'es_sii_recargo_equivalencia': 'recargo_equivalencia',
}
elif hasattr(cls, 'es_reported_with'):
cls._sii_account_es_mapping = {
'es_sii_recargo_equivalencia': 'es_reported_with',
}
@property
def es_sii_recargo_equivalencia(self):
return getattr(self,
self._sii_account_es_mapping['es_sii_recargo_equivalencia'])
@staticmethod
def default_deducible():
return True

View File

@ -138,18 +138,18 @@ class BaseInvoiceMapper(Model):
def taxes(self, invoice):
return [invoice_tax for invoice_tax in invoice.taxes if (
invoice_tax.tax.tax_used and
not invoice_tax.tax.recargo_equivalencia)]
not invoice_tax.tax.es_sii_recargo_equivalencia)]
def total_invoice_taxes(self, invoice):
return [invoice_tax for invoice_tax in invoice.taxes if (
invoice_tax.tax.invoice_used and
not invoice_tax.tax.recargo_equivalencia)]
not invoice_tax.tax.es_sii_recargo_equivalencia)]
def _tax_equivalence_surcharge(self, invoice_tax):
surcharge_tax = None
for invoicetax in invoice_tax.invoice.taxes:
if (invoicetax.tax.recargo_equivalencia and
invoice_tax.tax.recargo_equivalencia_related_tax ==
if (invoicetax.tax.es_sii_recargo_equivalencia and
invoice_tax.tax.es_sii_recargo_equivalencia ==
invoicetax.tax and invoicetax.base ==
invoicetax.base.copy_sign(invoice_tax.base)):
surcharge_tax = invoicetax