details: https://code.tryton.org/tryton/commit/5cbe0e76d6e5
branch: default
user: Cédric Krier <[email protected]>
date: Mon Dec 22 12:37:22 2025 +0100
description:
Do not set percentage in tax subtotal in Peppol UBL
UBL-CR-499: A UBL invoice should not include the TaxTotal TaxSubtotal
Percent
diffstat:
modules/edocument_ubl/template/2/CreditNote.xml | 2 +-
modules/edocument_ubl/template/2/Invoice.xml | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diffs (24 lines):
diff -r aaf11a99a385 -r 5cbe0e76d6e5
modules/edocument_ubl/template/2/CreditNote.xml
--- a/modules/edocument_ubl/template/2/CreditNote.xml Mon Dec 22 12:36:04
2025 +0100
+++ b/modules/edocument_ubl/template/2/CreditNote.xml Mon Dec 22 12:37:22
2025 +0100
@@ -60,7 +60,7 @@
<cac:TaxSubtotal py:for="line in lines">
<cbc:TaxableAmount py:attrs="{'currencyID':
this.invoice.currency.code}">${-line.base}</cbc:TaxableAmount>
<cbc:TaxAmount py:attrs="{'currencyID':
this.invoice.currency.code}">${-line.amount}</cbc:TaxAmount>
- <cbc:Percent py:if="line.tax.type == 'percentage'">${line.tax.rate *
100}</cbc:Percent>
+ <cbc:Percent py:if="line.tax.type == 'percentage' and not
(specification or '').startswith('peppol')">${line.tax.rate * 100}</cbc:Percent>
<cac:TaxCategory>
<cbc:ID
py:if="line.tax.unece_category_code">${line.tax.unece_category_code}</cbc:ID>
<cbc:Percent py:if="line.tax.type == 'percentage'">${line.tax.rate
* 100}</cbc:Percent>
diff -r aaf11a99a385 -r 5cbe0e76d6e5
modules/edocument_ubl/template/2/Invoice.xml
--- a/modules/edocument_ubl/template/2/Invoice.xml Mon Dec 22 12:36:04
2025 +0100
+++ b/modules/edocument_ubl/template/2/Invoice.xml Mon Dec 22 12:37:22
2025 +0100
@@ -60,7 +60,7 @@
<cac:TaxSubtotal py:for="line in lines">
<cbc:TaxableAmount py:attrs="{'currencyID':
this.invoice.currency.code}">${line.base}</cbc:TaxableAmount>
<cbc:TaxAmount py:attrs="{'currencyID':
this.invoice.currency.code}">${line.amount}</cbc:TaxAmount>
- <cbc:Percent py:if="line.tax.type == 'percentage'">${line.tax.rate *
100}</cbc:Percent>
+ <cbc:Percent py:if="line.tax.type == 'percentage' and not
(specification or '').startswith('peppol')">${line.tax.rate * 100}</cbc:Percent>
<cac:TaxCategory>
<cbc:ID
py:if="line.tax.unece_category_code">${line.tax.unece_category_code}</cbc:ID>
<cbc:Percent py:if="line.tax.type == 'percentage'">${line.tax.rate
* 100}</cbc:Percent>