[ADD] l10n_es_edi_tbai_reagyp_recibidas: fix REAGYP vendor bill regime key

Native l10n_es_edi_tbai hardcodes ClaveRegimenIvaOpTrascendencia '19' for
REAGYP vendor bills, but '19' only exists in the issued-invoices book. The
Batuz LROE schema for received invoices rejects it (cvc-enumeration-valid),
where the valid REAGYP-compensation key is '02'.

Override _l10n_es_tbai_get_vendor_bill_values_batuz to remap 19 -> 02.
Upstream: https://github.com/odoo/odoo/pull/266214

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
GitHub Copilot 2026-05-25 14:12:16 +02:00
parent eb515c28e1
commit 66a5e31060
5 changed files with 85 additions and 0 deletions

View file

@ -0,0 +1,55 @@
===================================
TicketBAI REAGYP Facturas Recibidas
===================================
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
:alt: Beta
.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
|badge1| |badge2|
This module fixes a bug in the native Odoo ``l10n_es_edi_tbai`` module when
sending vendor bills under the special agriculture regime (REAGYP) to Batuz
(Bizkaia LROE).
**Problem Solved:**
For REAGYP vendor bills, ``l10n_es_edi_tbai`` hardcodes the regime key
``ClaveRegimenIvaOpTrascendencia`` to ``19``. Key ``19`` only exists in the
issued-invoices book; the received-invoices (FacturasRecibidas) schema rejects
it with::
cvc-enumeration-valid: Value '19' is not facet-valid with respect to
enumeration '[01, 02, 03, 04, 05, 06, 07, 08, 09, 12, 13]'
The correct key for REAGYP compensations on purchases is ``02``.
**Solution:**
Overrides ``account.move._l10n_es_tbai_get_vendor_bill_values_batuz`` to remap
the regime key from ``19`` to ``02`` for received invoices. The override is
defensive: it only acts when the value is exactly ``['19']``, so it becomes a
no-op once the upstream fix lands.
Upstream tracking: https://github.com/odoo/odoo/pull/266214
Bug Tracker
===========
Report issues at https://git.criptomart.net/criptomart/addons-cm
Credits
=======
Authors
~~~~~~~
* Criptomart
Maintainers
~~~~~~~~~~~
This module is maintained by Criptomart.

View file

@ -0,0 +1 @@
from . import models # noqa: F401

View file

@ -0,0 +1,12 @@
# Copyright 2026 - Today Criptomart
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
{ # noqa: B018
"name": "TicketBAI REAGYP Facturas Recibidas",
"version": "18.0.1.0.0",
"summary": "Fix ClaveRegimenIvaOpTrascendencia for REAGYP vendor bills (19 -> 02)",
"license": "AGPL-3",
"author": "Odoo Community Association (OCA), Criptomart",
"maintainers": ["Criptomart"],
"website": "https://git.criptomart.net/criptomart/addons-cm",
"depends": ["l10n_es_edi_tbai"],
}

View file

@ -0,0 +1 @@
from . import account_move # noqa: F401

View file

@ -0,0 +1,16 @@
# Copyright 2026 - Today Criptomart
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from odoo import models
class AccountMove(models.Model):
_inherit = "account.move"
def _l10n_es_tbai_get_vendor_bill_values_batuz(self):
values = super()._l10n_es_tbai_get_vendor_bill_values_batuz()
# Clave 19 (REAGYP) sólo existe en el libro de facturas emitidas. En
# facturas recibidas, la compensación REAGYP se declara con la clave 02,
# única válida en el esquema LROE de recibidas.
if values.get("regime_key") == ["19"]:
values["regime_key"] = ["02"]
return values