From eb515c28e12a952a265b642f6c48857607c591d8 Mon Sep 17 00:00:00 2001 From: GitHub Copilot Date: Mon, 25 May 2026 13:44:34 +0200 Subject: [PATCH 1/2] [FIX] website_sale_aplicoop: show pickup slots on checkout page Replace old pickup_day/pickup_date display with the slot-based logic (pickup_slot_ids) on the checkout page, consistent with the shop page. Falls back to legacy pickup_day if no slots are configured. Co-Authored-By: Claude Sonnet 4.6 --- .../views/website_templates.xml | 31 +++++++++++-------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/website_sale_aplicoop/views/website_templates.xml b/website_sale_aplicoop/views/website_templates.xml index dacc0c8..fd2b1d2 100644 --- a/website_sale_aplicoop/views/website_templates.xml +++ b/website_sale_aplicoop/views/website_templates.xml @@ -481,20 +481,25 @@
- + + + + +
+ +   + +  () +
+
+
+
+ - - - - () - - - - - - () - - + + + () +
From 66a5e31060008ffee2a2ff39d2c9c60bffaabaec Mon Sep 17 00:00:00 2001 From: GitHub Copilot Date: Mon, 25 May 2026 14:12:16 +0200 Subject: [PATCH 2/2] [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 --- l10n_es_edi_tbai_reagyp_recibidas/README.rst | 55 +++++++++++++++++++ l10n_es_edi_tbai_reagyp_recibidas/__init__.py | 1 + .../__manifest__.py | 12 ++++ .../models/__init__.py | 1 + .../models/account_move.py | 16 ++++++ 5 files changed, 85 insertions(+) create mode 100644 l10n_es_edi_tbai_reagyp_recibidas/README.rst create mode 100644 l10n_es_edi_tbai_reagyp_recibidas/__init__.py create mode 100644 l10n_es_edi_tbai_reagyp_recibidas/__manifest__.py create mode 100644 l10n_es_edi_tbai_reagyp_recibidas/models/__init__.py create mode 100644 l10n_es_edi_tbai_reagyp_recibidas/models/account_move.py diff --git a/l10n_es_edi_tbai_reagyp_recibidas/README.rst b/l10n_es_edi_tbai_reagyp_recibidas/README.rst new file mode 100644 index 0000000..fdcb176 --- /dev/null +++ b/l10n_es_edi_tbai_reagyp_recibidas/README.rst @@ -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. diff --git a/l10n_es_edi_tbai_reagyp_recibidas/__init__.py b/l10n_es_edi_tbai_reagyp_recibidas/__init__.py new file mode 100644 index 0000000..ce9807d --- /dev/null +++ b/l10n_es_edi_tbai_reagyp_recibidas/__init__.py @@ -0,0 +1 @@ +from . import models # noqa: F401 diff --git a/l10n_es_edi_tbai_reagyp_recibidas/__manifest__.py b/l10n_es_edi_tbai_reagyp_recibidas/__manifest__.py new file mode 100644 index 0000000..eaa7574 --- /dev/null +++ b/l10n_es_edi_tbai_reagyp_recibidas/__manifest__.py @@ -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"], +} diff --git a/l10n_es_edi_tbai_reagyp_recibidas/models/__init__.py b/l10n_es_edi_tbai_reagyp_recibidas/models/__init__.py new file mode 100644 index 0000000..e89b491 --- /dev/null +++ b/l10n_es_edi_tbai_reagyp_recibidas/models/__init__.py @@ -0,0 +1 @@ +from . import account_move # noqa: F401 diff --git a/l10n_es_edi_tbai_reagyp_recibidas/models/account_move.py b/l10n_es_edi_tbai_reagyp_recibidas/models/account_move.py new file mode 100644 index 0000000..0cf979b --- /dev/null +++ b/l10n_es_edi_tbai_reagyp_recibidas/models/account_move.py @@ -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