trytond-edocument-ubl 8.0.2__tar.gz → 8.0.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {trytond_edocument_ubl-8.0.2 → trytond_edocument_ubl-8.0.3}/PKG-INFO +1 -1
- {trytond_edocument_ubl-8.0.2 → trytond_edocument_ubl-8.0.3}/edocument.py +1 -1
- {trytond_edocument_ubl-8.0.2 → trytond_edocument_ubl-8.0.3}/template/2/CreditNote.xml +13 -13
- {trytond_edocument_ubl-8.0.2 → trytond_edocument_ubl-8.0.3}/template/2/Invoice.xml +13 -13
- {trytond_edocument_ubl-8.0.2 → trytond_edocument_ubl-8.0.3}/tryton.cfg +1 -1
- {trytond_edocument_ubl-8.0.2 → trytond_edocument_ubl-8.0.3}/.hgignore +0 -0
- {trytond_edocument_ubl-8.0.2 → trytond_edocument_ubl-8.0.3}/COPYRIGHT +0 -0
- {trytond_edocument_ubl-8.0.2 → trytond_edocument_ubl-8.0.3}/LICENSE +0 -0
- {trytond_edocument_ubl-8.0.2 → trytond_edocument_ubl-8.0.3}/__init__.py +0 -0
- {trytond_edocument_ubl-8.0.2 → trytond_edocument_ubl-8.0.3}/account.py +0 -0
- {trytond_edocument_ubl-8.0.2 → trytond_edocument_ubl-8.0.3}/account.xml +0 -0
- {trytond_edocument_ubl-8.0.2 → trytond_edocument_ubl-8.0.3}/document.py +0 -0
- {trytond_edocument_ubl-8.0.2 → trytond_edocument_ubl-8.0.3}/exceptions.py +0 -0
- {trytond_edocument_ubl-8.0.2 → trytond_edocument_ubl-8.0.3}/icons/LICENSE +0 -0
- {trytond_edocument_ubl-8.0.2 → trytond_edocument_ubl-8.0.3}/locale/bg.po +0 -0
- {trytond_edocument_ubl-8.0.2 → trytond_edocument_ubl-8.0.3}/locale/ca.po +0 -0
- {trytond_edocument_ubl-8.0.2 → trytond_edocument_ubl-8.0.3}/locale/cs.po +0 -0
- {trytond_edocument_ubl-8.0.2 → trytond_edocument_ubl-8.0.3}/locale/de.po +0 -0
- {trytond_edocument_ubl-8.0.2 → trytond_edocument_ubl-8.0.3}/locale/es.po +0 -0
- {trytond_edocument_ubl-8.0.2 → trytond_edocument_ubl-8.0.3}/locale/es_419.po +0 -0
- {trytond_edocument_ubl-8.0.2 → trytond_edocument_ubl-8.0.3}/locale/et.po +0 -0
- {trytond_edocument_ubl-8.0.2 → trytond_edocument_ubl-8.0.3}/locale/fa.po +0 -0
- {trytond_edocument_ubl-8.0.2 → trytond_edocument_ubl-8.0.3}/locale/fi.po +0 -0
- {trytond_edocument_ubl-8.0.2 → trytond_edocument_ubl-8.0.3}/locale/fr.po +0 -0
- {trytond_edocument_ubl-8.0.2 → trytond_edocument_ubl-8.0.3}/locale/hu.po +0 -0
- {trytond_edocument_ubl-8.0.2 → trytond_edocument_ubl-8.0.3}/locale/id.po +0 -0
- {trytond_edocument_ubl-8.0.2 → trytond_edocument_ubl-8.0.3}/locale/it.po +0 -0
- {trytond_edocument_ubl-8.0.2 → trytond_edocument_ubl-8.0.3}/locale/lo.po +0 -0
- {trytond_edocument_ubl-8.0.2 → trytond_edocument_ubl-8.0.3}/locale/lt.po +0 -0
- {trytond_edocument_ubl-8.0.2 → trytond_edocument_ubl-8.0.3}/locale/nl.po +0 -0
- {trytond_edocument_ubl-8.0.2 → trytond_edocument_ubl-8.0.3}/locale/pl.po +0 -0
- {trytond_edocument_ubl-8.0.2 → trytond_edocument_ubl-8.0.3}/locale/pt.po +0 -0
- {trytond_edocument_ubl-8.0.2 → trytond_edocument_ubl-8.0.3}/locale/ro.po +0 -0
- {trytond_edocument_ubl-8.0.2 → trytond_edocument_ubl-8.0.3}/locale/ru.po +0 -0
- {trytond_edocument_ubl-8.0.2 → trytond_edocument_ubl-8.0.3}/locale/sl.po +0 -0
- {trytond_edocument_ubl-8.0.2 → trytond_edocument_ubl-8.0.3}/locale/tr.po +0 -0
- {trytond_edocument_ubl-8.0.2 → trytond_edocument_ubl-8.0.3}/locale/uk.po +0 -0
- {trytond_edocument_ubl-8.0.2 → trytond_edocument_ubl-8.0.3}/locale/zh_CN.po +0 -0
- {trytond_edocument_ubl-8.0.2 → trytond_edocument_ubl-8.0.3}/message.xml +0 -0
- {trytond_edocument_ubl-8.0.2 → trytond_edocument_ubl-8.0.3}/party.py +0 -0
- {trytond_edocument_ubl-8.0.2 → trytond_edocument_ubl-8.0.3}/pyproject.toml +0 -0
- {trytond_edocument_ubl-8.0.2 → trytond_edocument_ubl-8.0.3}/template/2/base.xml +0 -0
- {trytond_edocument_ubl-8.0.2 → trytond_edocument_ubl-8.0.3}/tests/2.4/common/BDNDR-CCTS_CCT_SchemaModule-1.1.xsd +0 -0
- {trytond_edocument_ubl-8.0.2 → trytond_edocument_ubl-8.0.3}/tests/2.4/common/BDNDR-UnqualifiedDataTypes-1.1.xsd +0 -0
- {trytond_edocument_ubl-8.0.2 → trytond_edocument_ubl-8.0.3}/tests/2.4/common/UBL-CommonAggregateComponents-2.4.xsd +0 -0
- {trytond_edocument_ubl-8.0.2 → trytond_edocument_ubl-8.0.3}/tests/2.4/common/UBL-CommonBasicComponents-2.4.xsd +0 -0
- {trytond_edocument_ubl-8.0.2 → trytond_edocument_ubl-8.0.3}/tests/2.4/common/UBL-CommonExtensionComponents-2.4.xsd +0 -0
- {trytond_edocument_ubl-8.0.2 → trytond_edocument_ubl-8.0.3}/tests/2.4/common/UBL-CommonSignatureComponents-2.4.xsd +0 -0
- {trytond_edocument_ubl-8.0.2 → trytond_edocument_ubl-8.0.3}/tests/2.4/common/UBL-ExtensionContentDataType-2.4.xsd +0 -0
- {trytond_edocument_ubl-8.0.2 → trytond_edocument_ubl-8.0.3}/tests/2.4/common/UBL-QualifiedDataTypes-2.4.xsd +0 -0
- {trytond_edocument_ubl-8.0.2 → trytond_edocument_ubl-8.0.3}/tests/2.4/common/UBL-SignatureAggregateComponents-2.4.xsd +0 -0
- {trytond_edocument_ubl-8.0.2 → trytond_edocument_ubl-8.0.3}/tests/2.4/common/UBL-SignatureBasicComponents-2.4.xsd +0 -0
- {trytond_edocument_ubl-8.0.2 → trytond_edocument_ubl-8.0.3}/tests/2.4/common/UBL-XAdES01903v132-201601-2.4.xsd +0 -0
- {trytond_edocument_ubl-8.0.2 → trytond_edocument_ubl-8.0.3}/tests/2.4/common/UBL-XAdES01903v141-201601-2.4.xsd +0 -0
- {trytond_edocument_ubl-8.0.2 → trytond_edocument_ubl-8.0.3}/tests/2.4/common/UBL-xmldsig-core-schema-2.4.xsd +0 -0
- {trytond_edocument_ubl-8.0.2 → trytond_edocument_ubl-8.0.3}/tests/2.4/common/UBL-xmldsig1-schema-2.4.xsd +0 -0
- {trytond_edocument_ubl-8.0.2 → trytond_edocument_ubl-8.0.3}/tests/2.4/common/UBL-xmldsig11-schema-2.4.xsd +0 -0
- {trytond_edocument_ubl-8.0.2 → trytond_edocument_ubl-8.0.3}/tests/2.4/maindoc/UBL-CreditNote-2.4.xsd +0 -0
- {trytond_edocument_ubl-8.0.2 → trytond_edocument_ubl-8.0.3}/tests/2.4/maindoc/UBL-Invoice-2.4.xsd +0 -0
- {trytond_edocument_ubl-8.0.2 → trytond_edocument_ubl-8.0.3}/tests/UBL-CreditNote-2.1-Example.xml +0 -0
- {trytond_edocument_ubl-8.0.2 → trytond_edocument_ubl-8.0.3}/tests/UBL-Invoice-2.1-Example-Trivial.xml +0 -0
- {trytond_edocument_ubl-8.0.2 → trytond_edocument_ubl-8.0.3}/tests/UBL-Invoice-2.1-Example.xml +0 -0
- {trytond_edocument_ubl-8.0.2 → trytond_edocument_ubl-8.0.3}/tests/__init__.py +0 -0
- {trytond_edocument_ubl-8.0.2 → trytond_edocument_ubl-8.0.3}/tests/scenario_ubl_2_credit_note_parse.json +0 -0
- {trytond_edocument_ubl-8.0.2 → trytond_edocument_ubl-8.0.3}/tests/scenario_ubl_2_credit_note_parse.rst +0 -0
- {trytond_edocument_ubl-8.0.2 → trytond_edocument_ubl-8.0.3}/tests/scenario_ubl_2_invoice_parse.json +0 -0
- {trytond_edocument_ubl-8.0.2 → trytond_edocument_ubl-8.0.3}/tests/scenario_ubl_2_invoice_parse.rst +0 -0
- {trytond_edocument_ubl-8.0.2 → trytond_edocument_ubl-8.0.3}/tests/scenario_ubl_2_invoice_parse_trivial.rst +0 -0
- {trytond_edocument_ubl-8.0.2 → trytond_edocument_ubl-8.0.3}/tests/test_module.py +0 -0
- {trytond_edocument_ubl-8.0.2 → trytond_edocument_ubl-8.0.3}/tests/test_scenario.py +0 -0
|
@@ -90,7 +90,7 @@ this repository contains the full copyright notices and license terms. -->
|
|
|
90
90
|
<py:otherwise>
|
|
91
91
|
<cac:PaymentTerms py:for="line in this.invoice.lines_to_pay">
|
|
92
92
|
<cbc:Note py:if="this.invoice.payment_term and this.invoice.payment_term.description">${this.invoice.payment_term.description}</cbc:Note>
|
|
93
|
-
<cbc:Amount py:attrs="{'currencyID': this.invoice.currency.code}">${line.amount}</cbc:Amount>
|
|
93
|
+
<cbc:Amount py:attrs="{'currencyID': this.invoice.currency.code}">${format(line.amount.normalize(), 'f')}</cbc:Amount>
|
|
94
94
|
<cbc:PaymentDueDate>${line.maturity_date}</cbc:PaymentDueDate>
|
|
95
95
|
</cac:PaymentTerms>
|
|
96
96
|
</py:otherwise>
|
|
@@ -101,16 +101,16 @@ this repository contains the full copyright notices and license terms. -->
|
|
|
101
101
|
<cbc:AllowanceChargeReasonCode py:if="reason_code">${reason_code}</cbc:AllowanceChargeReasonCode>
|
|
102
102
|
</py:with>
|
|
103
103
|
<cbc:AllowanceChargeReason>${allowance_charge.product.name}</cbc:AllowanceChargeReason>
|
|
104
|
-
<cbc:Amount py:attrs="{'currencyID': this.invoice.currency.code}">${abs(allowance_charge.amount)}</cbc:Amount>
|
|
104
|
+
<cbc:Amount py:attrs="{'currencyID': this.invoice.currency.code}">${format(abs(allowance_charge.amount).normalize(), 'f')}</cbc:Amount>
|
|
105
105
|
<cac:TaxCategory py:for="tax_line in allowance_charge.invoice_taxes">
|
|
106
106
|
${TaxCategory(tax_line.tax)}
|
|
107
107
|
</cac:TaxCategory>
|
|
108
108
|
</cac:AllowanceCharge>
|
|
109
109
|
<cac:TaxTotal py:for="group, lines, amount in this.taxes">
|
|
110
|
-
<cbc:TaxAmount py:attrs="{'currencyID': this.invoice.currency.code}">${-amount}</cbc:TaxAmount>
|
|
110
|
+
<cbc:TaxAmount py:attrs="{'currencyID': this.invoice.currency.code}">${format((-amount).normalize(), 'f')}</cbc:TaxAmount>
|
|
111
111
|
<cac:TaxSubtotal py:for="line in lines">
|
|
112
|
-
<cbc:TaxableAmount py:attrs="{'currencyID': this.invoice.currency.code}">${-line.base}</cbc:TaxableAmount>
|
|
113
|
-
<cbc:TaxAmount py:attrs="{'currencyID': this.invoice.currency.code}">${-line.amount}</cbc:TaxAmount>
|
|
112
|
+
<cbc:TaxableAmount py:attrs="{'currencyID': this.invoice.currency.code}">${format((-line.base).normalize(), 'f')}</cbc:TaxableAmount>
|
|
113
|
+
<cbc:TaxAmount py:attrs="{'currencyID': this.invoice.currency.code}">${format((-line.amount).normalize(), 'f')}</cbc:TaxAmount>
|
|
114
114
|
<cbc:Percent py:if="line.tax.type == 'percentage' and not (specification or '').startswith('peppol')">${format((line.tax.rate * 100).normalize(), 'f')}</cbc:Percent>
|
|
115
115
|
<cac:TaxCategory>
|
|
116
116
|
${TaxCategory(line.tax)}
|
|
@@ -118,19 +118,19 @@ this repository contains the full copyright notices and license terms. -->
|
|
|
118
118
|
</cac:TaxSubtotal>
|
|
119
119
|
</cac:TaxTotal>
|
|
120
120
|
<cac:LegalMonetaryTotal>
|
|
121
|
-
<cbc:LineExtensionAmount py:attrs="{'currencyID': this.invoice.currency.code}">${-this.invoice.untaxed_amount}</cbc:LineExtensionAmount>
|
|
122
|
-
<cbc:TaxExclusiveAmount py:attrs="{'currencyID': this.invoice.currency.code}">${-this.invoice.untaxed_amount}</cbc:TaxExclusiveAmount>
|
|
123
|
-
<cbc:TaxInclusiveAmount py:attrs="{'currencyID': this.invoice.currency.code}">${-(this.invoice.untaxed_amount + this.invoice.tax_amount)}</cbc:TaxInclusiveAmount>
|
|
121
|
+
<cbc:LineExtensionAmount py:attrs="{'currencyID': this.invoice.currency.code}">${format((-this.invoice.untaxed_amount).normalize(), 'f')}</cbc:LineExtensionAmount>
|
|
122
|
+
<cbc:TaxExclusiveAmount py:attrs="{'currencyID': this.invoice.currency.code}">${format((-this.invoice.untaxed_amount).normalize(), 'f')}</cbc:TaxExclusiveAmount>
|
|
123
|
+
<cbc:TaxInclusiveAmount py:attrs="{'currencyID': this.invoice.currency.code}">${format((-(this.invoice.untaxed_amount + this.invoice.tax_amount)).normalize(), 'f')}</cbc:TaxInclusiveAmount>
|
|
124
124
|
<py:if test="this.invoice.total_amount != (this.invoice.untaxed_amount + this.invoice.tax_amount)">
|
|
125
|
-
<cbc:PayableRoundingAmount py:attrs="{'currencyID': this.invoice.currency.code}">${-(this.invoice.total_amount - this.invoice.untaxed_amount - this.invoice.tax_amount)}</cbc:PayableRoundingAmount>
|
|
125
|
+
<cbc:PayableRoundingAmount py:attrs="{'currencyID': this.invoice.currency.code}">${format((-(this.invoice.total_amount - this.invoice.untaxed_amount - this.invoice.tax_amount)).normalize(), 'f')}</cbc:PayableRoundingAmount>
|
|
126
126
|
</py:if>
|
|
127
|
-
<cbc:PrepaidAmount py:if="this.prepaid_amount" py:attrs="{'currencyID': this.invoice.currency.code}">${-this.prepaid_amount}</cbc:PrepaidAmount>
|
|
128
|
-
<cbc:PayableAmount py:attrs="{'currencyID': this.invoice.currency.code}">${-this.invoice.total_amount + this.prepaid_amount}</cbc:PayableAmount>
|
|
127
|
+
<cbc:PrepaidAmount py:if="this.prepaid_amount" py:attrs="{'currencyID': this.invoice.currency.code}">${format((-this.prepaid_amount).normalize(), 'f')}</cbc:PrepaidAmount>
|
|
128
|
+
<cbc:PayableAmount py:attrs="{'currencyID': this.invoice.currency.code}">${format((-this.invoice.total_amount + this.prepaid_amount).normalize(), 'f')}</cbc:PayableAmount>
|
|
129
129
|
</cac:LegalMonetaryTotal>
|
|
130
130
|
<cac:CreditNoteLine py:for="line_id, line in enumerate(this.lines, 1)">
|
|
131
131
|
<cbc:ID>${line_id}</cbc:ID>
|
|
132
132
|
<cbc:CreditedQuantity py:attrs="{'unitCode': line.unit.unece_code if line.unit and line.unit.unece_code else 'ZZ'}">${format(-Decimal(str(line.quantity)), 'f')}</cbc:CreditedQuantity>
|
|
133
|
-
<cbc:LineExtensionAmount py:attrs="{'currencyID': this.invoice.currency.code}">${-line.amount}</cbc:LineExtensionAmount>
|
|
133
|
+
<cbc:LineExtensionAmount py:attrs="{'currencyID': this.invoice.currency.code}">${format((-line.amount).normalize(), 'f')}</cbc:LineExtensionAmount>
|
|
134
134
|
<cac:Item>
|
|
135
135
|
<cbc:Description py:if="line.description">${line.description}</cbc:Description>
|
|
136
136
|
<cbc:Name>${line.product.name if line.product else line.summary}</cbc:Name>
|
|
@@ -152,7 +152,7 @@ this repository contains the full copyright notices and license terms. -->
|
|
|
152
152
|
</cac:ClassifiedTaxCategory>
|
|
153
153
|
</cac:Item>
|
|
154
154
|
<cac:Price>
|
|
155
|
-
<cbc:PriceAmount py:attrs="{'currencyID': this.invoice.currency.code}">${line.unit_price}</cbc:PriceAmount>
|
|
155
|
+
<cbc:PriceAmount py:attrs="{'currencyID': this.invoice.currency.code}">${format(line.unit_price.normalize(), 'f')}</cbc:PriceAmount>
|
|
156
156
|
</cac:Price>
|
|
157
157
|
</cac:CreditNoteLine>
|
|
158
158
|
</CreditNote>
|
|
@@ -90,7 +90,7 @@ this repository contains the full copyright notices and license terms. -->
|
|
|
90
90
|
<py:otherwise>
|
|
91
91
|
<cac:PaymentTerms py:for="line in this.invoice.lines_to_pay">
|
|
92
92
|
<cbc:Note py:if="this.invoice.payment_term and this.invoice.payment_term.description">${this.invoice.payment_term.description}</cbc:Note>
|
|
93
|
-
<cbc:Amount py:attrs="{'currencyID': this.invoice.currency.code}">${line.amount}</cbc:Amount>
|
|
93
|
+
<cbc:Amount py:attrs="{'currencyID': this.invoice.currency.code}">${format(line.amount.normalize(), 'f')}</cbc:Amount>
|
|
94
94
|
<cbc:PaymentDueDate>${line.maturity_date}</cbc:PaymentDueDate>
|
|
95
95
|
</cac:PaymentTerms>
|
|
96
96
|
</py:otherwise>
|
|
@@ -101,16 +101,16 @@ this repository contains the full copyright notices and license terms. -->
|
|
|
101
101
|
<cbc:AllowanceChargeReasonCode py:if="reason_code">${reason_code}</cbc:AllowanceChargeReasonCode>
|
|
102
102
|
</py:with>
|
|
103
103
|
<cbc:AllowanceChargeReason>${allowance_charge.product.name}</cbc:AllowanceChargeReason>
|
|
104
|
-
<cbc:Amount py:attrs="{'currencyID': this.invoice.currency.code}">${abs(allowance_charge.amount)}</cbc:Amount>
|
|
104
|
+
<cbc:Amount py:attrs="{'currencyID': this.invoice.currency.code}">${format(abs(allowance_charge.amount).normalize(), 'f')}</cbc:Amount>
|
|
105
105
|
<cac:TaxCategory py:for="tax_line in allowance_charge.invoice_taxes">
|
|
106
106
|
${TaxCategory(tax_line.tax)}
|
|
107
107
|
</cac:TaxCategory>
|
|
108
108
|
</cac:AllowanceCharge>
|
|
109
109
|
<cac:TaxTotal py:for="group, lines, amount in this.taxes">
|
|
110
|
-
<cbc:TaxAmount py:attrs="{'currencyID': this.invoice.currency.code}">${amount}</cbc:TaxAmount>
|
|
110
|
+
<cbc:TaxAmount py:attrs="{'currencyID': this.invoice.currency.code}">${format(amount.normalize(), 'f')}</cbc:TaxAmount>
|
|
111
111
|
<cac:TaxSubtotal py:for="line in lines">
|
|
112
|
-
<cbc:TaxableAmount py:attrs="{'currencyID': this.invoice.currency.code}">${line.base}</cbc:TaxableAmount>
|
|
113
|
-
<cbc:TaxAmount py:attrs="{'currencyID': this.invoice.currency.code}">${line.amount}</cbc:TaxAmount>
|
|
112
|
+
<cbc:TaxableAmount py:attrs="{'currencyID': this.invoice.currency.code}">${format(line.base.normalize(), 'f')}</cbc:TaxableAmount>
|
|
113
|
+
<cbc:TaxAmount py:attrs="{'currencyID': this.invoice.currency.code}">${format(line.amount.normalize(), 'f')}</cbc:TaxAmount>
|
|
114
114
|
<cbc:Percent py:if="line.tax.type == 'percentage' and not (specification or '').startswith('peppol')">${format((line.tax.rate * 100).normalize(), 'f')}</cbc:Percent>
|
|
115
115
|
<cac:TaxCategory>
|
|
116
116
|
${TaxCategory(line.tax)}
|
|
@@ -118,19 +118,19 @@ this repository contains the full copyright notices and license terms. -->
|
|
|
118
118
|
</cac:TaxSubtotal>
|
|
119
119
|
</cac:TaxTotal>
|
|
120
120
|
<cac:LegalMonetaryTotal>
|
|
121
|
-
<cbc:LineExtensionAmount py:attrs="{'currencyID': this.invoice.currency.code}">${this.invoice.untaxed_amount}</cbc:LineExtensionAmount>
|
|
122
|
-
<cbc:TaxExclusiveAmount py:attrs="{'currencyID': this.invoice.currency.code}">${this.invoice.untaxed_amount}</cbc:TaxExclusiveAmount>
|
|
123
|
-
<cbc:TaxInclusiveAmount py:attrs="{'currencyID': this.invoice.currency.code}">${this.invoice.untaxed_amount + this.invoice.tax_amount}</cbc:TaxInclusiveAmount>
|
|
121
|
+
<cbc:LineExtensionAmount py:attrs="{'currencyID': this.invoice.currency.code}">${format(this.invoice.untaxed_amount.normalize(), 'f')}</cbc:LineExtensionAmount>
|
|
122
|
+
<cbc:TaxExclusiveAmount py:attrs="{'currencyID': this.invoice.currency.code}">${format(this.invoice.untaxed_amount.normalize(), 'f')}</cbc:TaxExclusiveAmount>
|
|
123
|
+
<cbc:TaxInclusiveAmount py:attrs="{'currencyID': this.invoice.currency.code}">${format((this.invoice.untaxed_amount + this.invoice.tax_amount).normalize(), 'f')}</cbc:TaxInclusiveAmount>
|
|
124
124
|
<py:if test="this.invoice.total_amount != (this.invoice.untaxed_amount + this.invoice.tax_amount)">
|
|
125
|
-
<cbc:PayableRoundingAmount py:attrs="{'currencyID': this.invoice.currency.code}">${this.invoice.total_amount - this.invoice.untaxed_amount - this.invoice.tax_amount}</cbc:PayableRoundingAmount>
|
|
125
|
+
<cbc:PayableRoundingAmount py:attrs="{'currencyID': this.invoice.currency.code}">${format((this.invoice.total_amount - this.invoice.untaxed_amount - this.invoice.tax_amount).normalize(), 'f')}</cbc:PayableRoundingAmount>
|
|
126
126
|
</py:if>
|
|
127
|
-
<cbc:PrepaidAmount py:if="this.prepaid_amount" py:attrs="{'currencyID': this.invoice.currency.code}">${this.prepaid_amount}</cbc:PrepaidAmount>
|
|
128
|
-
<cbc:PayableAmount py:attrs="{'currencyID': this.invoice.currency.code}">${this.invoice.total_amount - this.prepaid_amount}</cbc:PayableAmount>
|
|
127
|
+
<cbc:PrepaidAmount py:if="this.prepaid_amount" py:attrs="{'currencyID': this.invoice.currency.code}">${format(this.prepaid_amount.normalize(), 'f')}</cbc:PrepaidAmount>
|
|
128
|
+
<cbc:PayableAmount py:attrs="{'currencyID': this.invoice.currency.code}">${format((this.invoice.total_amount - this.prepaid_amount).normalize(), 'f')}</cbc:PayableAmount>
|
|
129
129
|
</cac:LegalMonetaryTotal>
|
|
130
130
|
<cac:InvoiceLine py:for="line_id, line in enumerate(this.lines, 1)">
|
|
131
131
|
<cbc:ID>${line_id}</cbc:ID>
|
|
132
132
|
<cbc:InvoicedQuantity py:attrs="{'unitCode': line.unit.unece_code if line.unit and line.unit.unece_code else 'ZZ'}">${format(Decimal(str(line.quantity)), 'f')}</cbc:InvoicedQuantity>
|
|
133
|
-
<cbc:LineExtensionAmount py:attrs="{'currencyID': this.invoice.currency.code}">${line.amount}</cbc:LineExtensionAmount>
|
|
133
|
+
<cbc:LineExtensionAmount py:attrs="{'currencyID': this.invoice.currency.code}">${format(line.amount.normalize(), 'f')}</cbc:LineExtensionAmount>
|
|
134
134
|
<cac:Item>
|
|
135
135
|
<cbc:Description py:if="line.description">${line.description}</cbc:Description>
|
|
136
136
|
<cbc:Name>${line.product.name if line.product else line.summary}</cbc:Name>
|
|
@@ -152,7 +152,7 @@ this repository contains the full copyright notices and license terms. -->
|
|
|
152
152
|
</cac:ClassifiedTaxCategory>
|
|
153
153
|
</cac:Item>
|
|
154
154
|
<cac:Price>
|
|
155
|
-
<cbc:PriceAmount py:attrs="{'currencyID': this.invoice.currency.code}">${line.unit_price}</cbc:PriceAmount>
|
|
155
|
+
<cbc:PriceAmount py:attrs="{'currencyID': this.invoice.currency.code}">${format(line.unit_price.normalize(), 'f')}</cbc:PriceAmount>
|
|
156
156
|
</cac:Price>
|
|
157
157
|
</cac:InvoiceLine>
|
|
158
158
|
</Invoice>
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{trytond_edocument_ubl-8.0.2 → trytond_edocument_ubl-8.0.3}/tests/2.4/maindoc/UBL-CreditNote-2.4.xsd
RENAMED
|
File without changes
|
{trytond_edocument_ubl-8.0.2 → trytond_edocument_ubl-8.0.3}/tests/2.4/maindoc/UBL-Invoice-2.4.xsd
RENAMED
|
File without changes
|
{trytond_edocument_ubl-8.0.2 → trytond_edocument_ubl-8.0.3}/tests/UBL-CreditNote-2.1-Example.xml
RENAMED
|
File without changes
|
|
File without changes
|
{trytond_edocument_ubl-8.0.2 → trytond_edocument_ubl-8.0.3}/tests/UBL-Invoice-2.1-Example.xml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{trytond_edocument_ubl-8.0.2 → trytond_edocument_ubl-8.0.3}/tests/scenario_ubl_2_invoice_parse.json
RENAMED
|
File without changes
|
{trytond_edocument_ubl-8.0.2 → trytond_edocument_ubl-8.0.3}/tests/scenario_ubl_2_invoice_parse.rst
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|