trytond-edocument-ubl 8.0.4__tar.gz → 8.2.0__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.4 → trytond_edocument_ubl-8.2.0}/PKG-INFO +12 -12
- {trytond_edocument_ubl-8.0.4 → trytond_edocument_ubl-8.2.0}/edocument.py +33 -24
- {trytond_edocument_ubl-8.0.4 → trytond_edocument_ubl-8.2.0}/locale/bg.po +9 -0
- {trytond_edocument_ubl-8.0.4 → trytond_edocument_ubl-8.2.0}/locale/ca.po +18 -5
- {trytond_edocument_ubl-8.0.4 → trytond_edocument_ubl-8.2.0}/locale/cs.po +9 -0
- {trytond_edocument_ubl-8.0.4 → trytond_edocument_ubl-8.2.0}/locale/de.po +16 -3
- {trytond_edocument_ubl-8.0.4 → trytond_edocument_ubl-8.2.0}/locale/es.po +19 -6
- {trytond_edocument_ubl-8.0.4 → trytond_edocument_ubl-8.2.0}/locale/es_419.po +9 -0
- {trytond_edocument_ubl-8.0.4 → trytond_edocument_ubl-8.2.0}/locale/et.po +9 -0
- {trytond_edocument_ubl-8.0.4 → trytond_edocument_ubl-8.2.0}/locale/fa.po +9 -0
- {trytond_edocument_ubl-8.0.4 → trytond_edocument_ubl-8.2.0}/locale/fi.po +9 -0
- {trytond_edocument_ubl-8.0.4 → trytond_edocument_ubl-8.2.0}/locale/fr.po +13 -0
- {trytond_edocument_ubl-8.0.4 → trytond_edocument_ubl-8.2.0}/locale/hu.po +9 -0
- {trytond_edocument_ubl-8.0.4 → trytond_edocument_ubl-8.2.0}/locale/id.po +9 -0
- {trytond_edocument_ubl-8.0.4 → trytond_edocument_ubl-8.2.0}/locale/it.po +9 -0
- {trytond_edocument_ubl-8.0.4 → trytond_edocument_ubl-8.2.0}/locale/lo.po +9 -0
- {trytond_edocument_ubl-8.0.4 → trytond_edocument_ubl-8.2.0}/locale/lt.po +9 -0
- {trytond_edocument_ubl-8.0.4 → trytond_edocument_ubl-8.2.0}/locale/nl.po +9 -0
- {trytond_edocument_ubl-8.0.4 → trytond_edocument_ubl-8.2.0}/locale/pl.po +9 -0
- {trytond_edocument_ubl-8.0.4 → trytond_edocument_ubl-8.2.0}/locale/pt.po +9 -0
- {trytond_edocument_ubl-8.0.4 → trytond_edocument_ubl-8.2.0}/locale/ro.po +9 -0
- {trytond_edocument_ubl-8.0.4 → trytond_edocument_ubl-8.2.0}/locale/ru.po +9 -0
- {trytond_edocument_ubl-8.0.4 → trytond_edocument_ubl-8.2.0}/locale/sl.po +9 -0
- {trytond_edocument_ubl-8.0.4 → trytond_edocument_ubl-8.2.0}/locale/tr.po +9 -0
- {trytond_edocument_ubl-8.0.4 → trytond_edocument_ubl-8.2.0}/locale/uk.po +9 -0
- {trytond_edocument_ubl-8.0.4 → trytond_edocument_ubl-8.2.0}/locale/zh_CN.po +9 -0
- {trytond_edocument_ubl-8.0.4 → trytond_edocument_ubl-8.2.0}/template/2/CreditNote.xml +13 -13
- {trytond_edocument_ubl-8.0.4 → trytond_edocument_ubl-8.2.0}/template/2/Invoice.xml +13 -13
- {trytond_edocument_ubl-8.0.4 → trytond_edocument_ubl-8.2.0}/tests/scenario_ubl_2_credit_note_parse.rst +1 -1
- {trytond_edocument_ubl-8.0.4 → trytond_edocument_ubl-8.2.0}/tests/scenario_ubl_2_invoice_parse.rst +1 -1
- {trytond_edocument_ubl-8.0.4 → trytond_edocument_ubl-8.2.0}/tryton.cfg +1 -1
- {trytond_edocument_ubl-8.0.4 → trytond_edocument_ubl-8.2.0}/.hgignore +0 -0
- {trytond_edocument_ubl-8.0.4 → trytond_edocument_ubl-8.2.0}/COPYRIGHT +0 -0
- {trytond_edocument_ubl-8.0.4 → trytond_edocument_ubl-8.2.0}/LICENSE +0 -0
- {trytond_edocument_ubl-8.0.4 → trytond_edocument_ubl-8.2.0}/__init__.py +0 -0
- {trytond_edocument_ubl-8.0.4 → trytond_edocument_ubl-8.2.0}/account.py +0 -0
- {trytond_edocument_ubl-8.0.4 → trytond_edocument_ubl-8.2.0}/account.xml +0 -0
- {trytond_edocument_ubl-8.0.4 → trytond_edocument_ubl-8.2.0}/document.py +0 -0
- {trytond_edocument_ubl-8.0.4 → trytond_edocument_ubl-8.2.0}/exceptions.py +0 -0
- {trytond_edocument_ubl-8.0.4 → trytond_edocument_ubl-8.2.0}/icons/LICENSE +0 -0
- {trytond_edocument_ubl-8.0.4 → trytond_edocument_ubl-8.2.0}/message.xml +0 -0
- {trytond_edocument_ubl-8.0.4 → trytond_edocument_ubl-8.2.0}/party.py +0 -0
- {trytond_edocument_ubl-8.0.4 → trytond_edocument_ubl-8.2.0}/pyproject.toml +0 -0
- {trytond_edocument_ubl-8.0.4 → trytond_edocument_ubl-8.2.0}/template/2/base.xml +0 -0
- {trytond_edocument_ubl-8.0.4 → trytond_edocument_ubl-8.2.0}/tests/2.4/common/BDNDR-CCTS_CCT_SchemaModule-1.1.xsd +0 -0
- {trytond_edocument_ubl-8.0.4 → trytond_edocument_ubl-8.2.0}/tests/2.4/common/BDNDR-UnqualifiedDataTypes-1.1.xsd +0 -0
- {trytond_edocument_ubl-8.0.4 → trytond_edocument_ubl-8.2.0}/tests/2.4/common/UBL-CommonAggregateComponents-2.4.xsd +0 -0
- {trytond_edocument_ubl-8.0.4 → trytond_edocument_ubl-8.2.0}/tests/2.4/common/UBL-CommonBasicComponents-2.4.xsd +0 -0
- {trytond_edocument_ubl-8.0.4 → trytond_edocument_ubl-8.2.0}/tests/2.4/common/UBL-CommonExtensionComponents-2.4.xsd +0 -0
- {trytond_edocument_ubl-8.0.4 → trytond_edocument_ubl-8.2.0}/tests/2.4/common/UBL-CommonSignatureComponents-2.4.xsd +0 -0
- {trytond_edocument_ubl-8.0.4 → trytond_edocument_ubl-8.2.0}/tests/2.4/common/UBL-ExtensionContentDataType-2.4.xsd +0 -0
- {trytond_edocument_ubl-8.0.4 → trytond_edocument_ubl-8.2.0}/tests/2.4/common/UBL-QualifiedDataTypes-2.4.xsd +0 -0
- {trytond_edocument_ubl-8.0.4 → trytond_edocument_ubl-8.2.0}/tests/2.4/common/UBL-SignatureAggregateComponents-2.4.xsd +0 -0
- {trytond_edocument_ubl-8.0.4 → trytond_edocument_ubl-8.2.0}/tests/2.4/common/UBL-SignatureBasicComponents-2.4.xsd +0 -0
- {trytond_edocument_ubl-8.0.4 → trytond_edocument_ubl-8.2.0}/tests/2.4/common/UBL-XAdES01903v132-201601-2.4.xsd +0 -0
- {trytond_edocument_ubl-8.0.4 → trytond_edocument_ubl-8.2.0}/tests/2.4/common/UBL-XAdES01903v141-201601-2.4.xsd +0 -0
- {trytond_edocument_ubl-8.0.4 → trytond_edocument_ubl-8.2.0}/tests/2.4/common/UBL-xmldsig-core-schema-2.4.xsd +0 -0
- {trytond_edocument_ubl-8.0.4 → trytond_edocument_ubl-8.2.0}/tests/2.4/common/UBL-xmldsig1-schema-2.4.xsd +0 -0
- {trytond_edocument_ubl-8.0.4 → trytond_edocument_ubl-8.2.0}/tests/2.4/common/UBL-xmldsig11-schema-2.4.xsd +0 -0
- {trytond_edocument_ubl-8.0.4 → trytond_edocument_ubl-8.2.0}/tests/2.4/maindoc/UBL-CreditNote-2.4.xsd +0 -0
- {trytond_edocument_ubl-8.0.4 → trytond_edocument_ubl-8.2.0}/tests/2.4/maindoc/UBL-Invoice-2.4.xsd +0 -0
- {trytond_edocument_ubl-8.0.4 → trytond_edocument_ubl-8.2.0}/tests/UBL-CreditNote-2.1-Example.xml +0 -0
- {trytond_edocument_ubl-8.0.4 → trytond_edocument_ubl-8.2.0}/tests/UBL-Invoice-2.1-Example-Trivial.xml +0 -0
- {trytond_edocument_ubl-8.0.4 → trytond_edocument_ubl-8.2.0}/tests/UBL-Invoice-2.1-Example.xml +0 -0
- {trytond_edocument_ubl-8.0.4 → trytond_edocument_ubl-8.2.0}/tests/__init__.py +0 -0
- {trytond_edocument_ubl-8.0.4 → trytond_edocument_ubl-8.2.0}/tests/scenario_ubl_2_credit_note_parse.json +0 -0
- {trytond_edocument_ubl-8.0.4 → trytond_edocument_ubl-8.2.0}/tests/scenario_ubl_2_invoice_parse.json +0 -0
- {trytond_edocument_ubl-8.0.4 → trytond_edocument_ubl-8.2.0}/tests/scenario_ubl_2_invoice_parse_trivial.rst +0 -0
- {trytond_edocument_ubl-8.0.4 → trytond_edocument_ubl-8.2.0}/tests/test_module.py +0 -0
- {trytond_edocument_ubl-8.0.4 → trytond_edocument_ubl-8.2.0}/tests/test_scenario.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: trytond_edocument_ubl
|
|
3
|
-
Version: 8.0
|
|
3
|
+
Version: 8.2.0
|
|
4
4
|
Summary: UBL electronic document for Tryton
|
|
5
5
|
Project-URL: homepage, https://www.tryton.org/
|
|
6
6
|
Project-URL: documentation, https://docs.tryton.org/modules-edocument-ubl/
|
|
@@ -26,18 +26,18 @@ Requires-Python: >=3.10
|
|
|
26
26
|
Requires-Dist: genshi
|
|
27
27
|
Requires-Dist: lxml
|
|
28
28
|
Requires-Dist: python-stdnum
|
|
29
|
-
Requires-Dist: trytond-edocument-unece<8.
|
|
30
|
-
Requires-Dist: trytond-party<8.
|
|
31
|
-
Requires-Dist: trytond<8.
|
|
29
|
+
Requires-Dist: trytond-edocument-unece<8.3,>=8.2
|
|
30
|
+
Requires-Dist: trytond-party<8.3,>=8.2
|
|
31
|
+
Requires-Dist: trytond<8.3,>=8.2
|
|
32
32
|
Provides-Extra: test
|
|
33
|
-
Requires-Dist: proteus<8.
|
|
34
|
-
Requires-Dist: trytond-account-cash-rounding<8.
|
|
35
|
-
Requires-Dist: trytond-account-invoice<8.
|
|
36
|
-
Requires-Dist: trytond-account-payment<8.
|
|
37
|
-
Requires-Dist: trytond-bank<8.
|
|
38
|
-
Requires-Dist: trytond-document-incoming-invoice<8.
|
|
39
|
-
Requires-Dist: trytond-purchase<8.
|
|
40
|
-
Requires-Dist: trytond-sale<8.
|
|
33
|
+
Requires-Dist: proteus<8.3,>=8.2; extra == 'test'
|
|
34
|
+
Requires-Dist: trytond-account-cash-rounding<8.3,>=8.2; extra == 'test'
|
|
35
|
+
Requires-Dist: trytond-account-invoice<8.3,>=8.2; extra == 'test'
|
|
36
|
+
Requires-Dist: trytond-account-payment<8.3,>=8.2; extra == 'test'
|
|
37
|
+
Requires-Dist: trytond-bank<8.3,>=8.2; extra == 'test'
|
|
38
|
+
Requires-Dist: trytond-document-incoming-invoice<8.3,>=8.2; extra == 'test'
|
|
39
|
+
Requires-Dist: trytond-purchase<8.3,>=8.2; extra == 'test'
|
|
40
|
+
Requires-Dist: trytond-sale<8.3,>=8.2; extra == 'test'
|
|
41
41
|
Description-Content-Type: text/x-rst
|
|
42
42
|
|
|
43
43
|
####################
|
|
@@ -321,11 +321,24 @@ class Invoice(Model):
|
|
|
321
321
|
type_code=type_code))
|
|
322
322
|
|
|
323
323
|
invoice = Invoice(type='in')
|
|
324
|
+
|
|
325
|
+
if (customer_party := root.find('./{*}AccountingCustomerParty')
|
|
326
|
+
) is not None:
|
|
327
|
+
invoice.company = cls._parse_2_company(customer_party)
|
|
328
|
+
else:
|
|
329
|
+
invoice.company = Invoice.default_company()
|
|
330
|
+
if not invoice.company:
|
|
331
|
+
raise InvoiceError(gettext(
|
|
332
|
+
'edocument_ubl.msg_company_not_found',
|
|
333
|
+
company=etree.tostring(
|
|
334
|
+
customer_party, pretty_print=True).decode()
|
|
335
|
+
if customer_party else ''))
|
|
336
|
+
|
|
324
337
|
invoice.reference = root.findtext('./{*}ID')
|
|
325
338
|
invoice.invoice_date = dt.date.fromisoformat(
|
|
326
339
|
root.findtext('./{*}IssueDate'))
|
|
327
340
|
invoice.party = cls._parse_2_supplier(
|
|
328
|
-
root.find('./{*}AccountingSupplierParty'), create=True)
|
|
341
|
+
root.find('./{*}AccountingSupplierParty'), create=True).id
|
|
329
342
|
payees = [invoice.party]
|
|
330
343
|
invoice.set_journal()
|
|
331
344
|
invoice.on_change_party()
|
|
@@ -341,17 +354,6 @@ class Invoice(Model):
|
|
|
341
354
|
supplier = cls._parse_2_supplier(seller)
|
|
342
355
|
else:
|
|
343
356
|
supplier = invoice.party
|
|
344
|
-
if (customer_party := root.find('./{*}AccountingCustomerParty')
|
|
345
|
-
) is not None:
|
|
346
|
-
invoice.company = cls._parse_2_company(customer_party)
|
|
347
|
-
else:
|
|
348
|
-
invoice.company = Invoice.default_company()
|
|
349
|
-
if not invoice.company:
|
|
350
|
-
raise InvoiceError(gettext(
|
|
351
|
-
'edocument_ubl.msg_company_not_found',
|
|
352
|
-
company=etree.tostring(
|
|
353
|
-
customer_party, pretty_print=True).decode()
|
|
354
|
-
if customer_party else ''))
|
|
355
357
|
|
|
356
358
|
if (payee_party := root.find('./{*}PayeeParty')) is not None:
|
|
357
359
|
party = cls._parse_2_party(payee_party)
|
|
@@ -659,11 +661,24 @@ class Invoice(Model):
|
|
|
659
661
|
type_code=type_code))
|
|
660
662
|
|
|
661
663
|
invoice = Invoice(type='in')
|
|
664
|
+
|
|
665
|
+
if (customer_party := root.find('./{*}AccountingCustomerParty')
|
|
666
|
+
) is not None:
|
|
667
|
+
invoice.company = cls._parse_2_company(customer_party)
|
|
668
|
+
else:
|
|
669
|
+
invoice.company = Invoice.default_company()
|
|
670
|
+
if not invoice.company:
|
|
671
|
+
raise InvoiceError(gettext(
|
|
672
|
+
'edocument_ubl.msg_company_not_found',
|
|
673
|
+
company=etree.tostring(
|
|
674
|
+
customer_party, pretty_print=True).decode()
|
|
675
|
+
if customer_party else ''))
|
|
676
|
+
|
|
662
677
|
invoice.reference = root.findtext('./{*}ID')
|
|
663
678
|
invoice.invoice_date = dt.date.fromisoformat(
|
|
664
679
|
root.findtext('./{*}IssueDate'))
|
|
665
680
|
invoice.party = cls._parse_2_supplier(
|
|
666
|
-
root.find('./{*}AccountingSupplierParty'), create=True)
|
|
681
|
+
root.find('./{*}AccountingSupplierParty'), create=True).id
|
|
667
682
|
payees = [invoice.party]
|
|
668
683
|
invoice.set_journal()
|
|
669
684
|
invoice.on_change_party()
|
|
@@ -671,11 +686,7 @@ class Invoice(Model):
|
|
|
671
686
|
supplier = cls._parse_2_supplier(seller)
|
|
672
687
|
else:
|
|
673
688
|
supplier = invoice.party
|
|
674
|
-
|
|
675
|
-
) is not None:
|
|
676
|
-
invoice.company = cls._parse_2_company(customer_party)
|
|
677
|
-
else:
|
|
678
|
-
invoice.company = Invoice.default_company()
|
|
689
|
+
|
|
679
690
|
if (payee_party := root.find('./{*}PayeeParty')) is not None:
|
|
680
691
|
party = cls._parse_2_party(payee_party)
|
|
681
692
|
if not party:
|
|
@@ -1080,9 +1091,8 @@ class Invoice(Model):
|
|
|
1080
1091
|
address.building_number = address_el.findtext('./{*}BuildingNumber')
|
|
1081
1092
|
address.city = address_el.findtext('./{*}CityName')
|
|
1082
1093
|
address.postal_code = address_el.findtext('./{*}PostalZone')
|
|
1083
|
-
if
|
|
1084
|
-
|
|
1085
|
-
) is not None:
|
|
1094
|
+
if country_code := address_el.findtext(
|
|
1095
|
+
'./{*}Country/{*}IdentificationCode[@listId="ISO3166-1"]'):
|
|
1086
1096
|
try:
|
|
1087
1097
|
country, = Country.search([
|
|
1088
1098
|
('code', '=', country_code),
|
|
@@ -1221,8 +1231,7 @@ class Invoice(Model):
|
|
|
1221
1231
|
pass
|
|
1222
1232
|
else:
|
|
1223
1233
|
return product
|
|
1224
|
-
if
|
|
1225
|
-
) is not None:
|
|
1234
|
+
if code := item.findtext('./{*}BuyersItemIdentification/{*}ID'):
|
|
1226
1235
|
try:
|
|
1227
1236
|
product, = Product.search([
|
|
1228
1237
|
('code', '=', code),
|
|
@@ -1372,7 +1381,7 @@ class Invoice_Bank(metaclass=PoolMeta):
|
|
|
1372
1381
|
raise InvoiceError(ngettext(
|
|
1373
1382
|
'edocument_ubl.msg_bank_account_not_found',
|
|
1374
1383
|
len(payees),
|
|
1375
|
-
parties=','.join([p.rec_name for p in payees]),
|
|
1384
|
+
parties=', '.join([p.rec_name for p in payees]),
|
|
1376
1385
|
account=etree.tostring(
|
|
1377
1386
|
financial_account,
|
|
1378
1387
|
pretty_print=True).decode()))
|
|
@@ -6,6 +6,15 @@ msgctxt "model:edocument.ubl.invoice,string:"
|
|
|
6
6
|
msgid "Edocument Ubl Invoice"
|
|
7
7
|
msgstr ""
|
|
8
8
|
|
|
9
|
+
#, python-format
|
|
10
|
+
msgctxt "model:ir.message,text:msg_bank_account_not_found"
|
|
11
|
+
msgid "Could not find bank account \"%(account)s\" for party \"%(parties)s\"."
|
|
12
|
+
msgid_plural ""
|
|
13
|
+
"Could not find bank account \"%(account)s\" for any of the parties "
|
|
14
|
+
"\"%(parties)s\"."
|
|
15
|
+
msgstr[0] ""
|
|
16
|
+
msgstr[1] ""
|
|
17
|
+
|
|
9
18
|
#, python-format
|
|
10
19
|
msgctxt "model:ir.message,text:msg_company_not_found"
|
|
11
20
|
msgid ""
|
|
@@ -6,13 +6,26 @@ msgctxt "model:edocument.ubl.invoice,string:"
|
|
|
6
6
|
msgid "Edocument Ubl Invoice"
|
|
7
7
|
msgstr "Edocument Factura UBL"
|
|
8
8
|
|
|
9
|
+
#, python-format
|
|
10
|
+
msgctxt "model:ir.message,text:msg_bank_account_not_found"
|
|
11
|
+
msgid "Could not find bank account \"%(account)s\" for party \"%(parties)s\"."
|
|
12
|
+
msgid_plural ""
|
|
13
|
+
"Could not find bank account \"%(account)s\" for any of the parties "
|
|
14
|
+
"\"%(parties)s\"."
|
|
15
|
+
msgstr[0] ""
|
|
16
|
+
"No s'ha pogut trobar el compte bancari \"%(account)s per al tercer "
|
|
17
|
+
"\"%(parties)s\"."
|
|
18
|
+
msgstr[1] ""
|
|
19
|
+
"No s'ha pogut trobar el compte bancari \"%(account)s per cap dels tercers "
|
|
20
|
+
"\"%(parties)s\"."
|
|
21
|
+
|
|
9
22
|
#, python-format
|
|
10
23
|
msgctxt "model:ir.message,text:msg_company_not_found"
|
|
11
24
|
msgid ""
|
|
12
25
|
"Could not find the company for:\n"
|
|
13
26
|
"%(company)s"
|
|
14
27
|
msgstr ""
|
|
15
|
-
"No s'ha pogut trobar
|
|
28
|
+
"No s'ha pogut trobar una empresa per:\n"
|
|
16
29
|
"%(company)s"
|
|
17
30
|
|
|
18
31
|
#, python-format
|
|
@@ -23,7 +36,7 @@ msgstr "Tipus de codi d'abonament no soportat: \"%(type_code)s\"."
|
|
|
23
36
|
#, python-format
|
|
24
37
|
msgctxt "model:ir.message,text:msg_currency_not_found"
|
|
25
38
|
msgid "Could not find a currency with code \"%(code)s\"."
|
|
26
|
-
msgstr "No s'ha pogut trobar una moneda amb codi \"%(code)s\"."
|
|
39
|
+
msgstr "No s'ha pogut trobar una moneda amb codi: \"%(code)s\"."
|
|
27
40
|
|
|
28
41
|
#, python-format
|
|
29
42
|
msgctxt "model:ir.message,text:msg_invoice_type_code_unsupported"
|
|
@@ -48,11 +61,11 @@ msgid_plural ""
|
|
|
48
61
|
"Could not find a unit with UNECE code \"%(code)s\" and at least %(digits)s "
|
|
49
62
|
"digits."
|
|
50
63
|
msgstr[0] ""
|
|
51
|
-
"No s'ha
|
|
64
|
+
"No s'ha trobat una unitat amb codi UNECE \"%(code)s\" i com a mínim "
|
|
52
65
|
"%(digits)s dígit."
|
|
53
66
|
msgstr[1] ""
|
|
54
|
-
"No s'ha
|
|
55
|
-
"
|
|
67
|
+
"No s'ha trobat una unitat amb codi UNECE \"%(code)s\" i com a mínim "
|
|
68
|
+
"%(digits)s dígits."
|
|
56
69
|
|
|
57
70
|
msgctxt "selection:account.invoice.edocument.start,format:"
|
|
58
71
|
msgid "UBL"
|
|
@@ -6,6 +6,15 @@ msgctxt "model:edocument.ubl.invoice,string:"
|
|
|
6
6
|
msgid "Edocument Ubl Invoice"
|
|
7
7
|
msgstr ""
|
|
8
8
|
|
|
9
|
+
#, python-format
|
|
10
|
+
msgctxt "model:ir.message,text:msg_bank_account_not_found"
|
|
11
|
+
msgid "Could not find bank account \"%(account)s\" for party \"%(parties)s\"."
|
|
12
|
+
msgid_plural ""
|
|
13
|
+
"Could not find bank account \"%(account)s\" for any of the parties "
|
|
14
|
+
"\"%(parties)s\"."
|
|
15
|
+
msgstr[0] ""
|
|
16
|
+
msgstr[1] ""
|
|
17
|
+
|
|
9
18
|
#, python-format
|
|
10
19
|
msgctxt "model:ir.message,text:msg_company_not_found"
|
|
11
20
|
msgid ""
|
|
@@ -6,13 +6,26 @@ msgctxt "model:edocument.ubl.invoice,string:"
|
|
|
6
6
|
msgid "Edocument Ubl Invoice"
|
|
7
7
|
msgstr "E-Dokument UBL-Rechnung"
|
|
8
8
|
|
|
9
|
+
#, python-format
|
|
10
|
+
msgctxt "model:ir.message,text:msg_bank_account_not_found"
|
|
11
|
+
msgid "Could not find bank account \"%(account)s\" for party \"%(parties)s\"."
|
|
12
|
+
msgid_plural ""
|
|
13
|
+
"Could not find bank account \"%(account)s\" for any of the parties "
|
|
14
|
+
"\"%(parties)s\"."
|
|
15
|
+
msgstr[0] ""
|
|
16
|
+
"Das Bankkonto \"%(account)s\" für die Partei \"%(parties)s\" konnte nicht "
|
|
17
|
+
"gefunden werden."
|
|
18
|
+
msgstr[1] ""
|
|
19
|
+
"Das Bankkonto \"%(account)s\" für die Parteien \"%(parties)s\" konnte nicht "
|
|
20
|
+
"gefunden werden."
|
|
21
|
+
|
|
9
22
|
#, python-format
|
|
10
23
|
msgctxt "model:ir.message,text:msg_company_not_found"
|
|
11
24
|
msgid ""
|
|
12
25
|
"Could not find the company for:\n"
|
|
13
26
|
"%(company)s"
|
|
14
27
|
msgstr ""
|
|
15
|
-
"
|
|
28
|
+
"Unternehmen nicht gefunden für:\n"
|
|
16
29
|
"%(company)s"
|
|
17
30
|
|
|
18
31
|
#, python-format
|
|
@@ -23,12 +36,12 @@ msgstr "Nicht unterstützter Storno-Rechnungstyp \"%(type_code)s\"."
|
|
|
23
36
|
#, python-format
|
|
24
37
|
msgctxt "model:ir.message,text:msg_currency_not_found"
|
|
25
38
|
msgid "Could not find a currency with code \"%(code)s\"."
|
|
26
|
-
msgstr "
|
|
39
|
+
msgstr "Die Währung mit dem Code %(code)s konnte nicht gefunden werden."
|
|
27
40
|
|
|
28
41
|
#, python-format
|
|
29
42
|
msgctxt "model:ir.message,text:msg_invoice_type_code_unsupported"
|
|
30
43
|
msgid "Unsupported invoice type code \"%(type_code)s\"."
|
|
31
|
-
msgstr "
|
|
44
|
+
msgstr "Der Rechnungstyp %(type_code)s wird nicht unterstützt."
|
|
32
45
|
|
|
33
46
|
#, python-format
|
|
34
47
|
msgctxt "model:ir.message,text:msg_tax_not_found"
|
|
@@ -6,13 +6,26 @@ msgctxt "model:edocument.ubl.invoice,string:"
|
|
|
6
6
|
msgid "Edocument Ubl Invoice"
|
|
7
7
|
msgstr "Edocumento Factura UBL"
|
|
8
8
|
|
|
9
|
+
#, python-format
|
|
10
|
+
msgctxt "model:ir.message,text:msg_bank_account_not_found"
|
|
11
|
+
msgid "Could not find bank account \"%(account)s\" for party \"%(parties)s\"."
|
|
12
|
+
msgid_plural ""
|
|
13
|
+
"Could not find bank account \"%(account)s\" for any of the parties "
|
|
14
|
+
"\"%(parties)s\"."
|
|
15
|
+
msgstr[0] ""
|
|
16
|
+
"No se ha podido encontrar la cuenta bancaria \"%(account)s\" del tercero "
|
|
17
|
+
"\"%(parties)s\"."
|
|
18
|
+
msgstr[1] ""
|
|
19
|
+
"No se ha podido encontrar la cuenta bancaria \"%(account)s\" de ninguno de "
|
|
20
|
+
"los terceros \"%(parties)s\"."
|
|
21
|
+
|
|
9
22
|
#, python-format
|
|
10
23
|
msgctxt "model:ir.message,text:msg_company_not_found"
|
|
11
24
|
msgid ""
|
|
12
25
|
"Could not find the company for:\n"
|
|
13
26
|
"%(company)s"
|
|
14
27
|
msgstr ""
|
|
15
|
-
"No se ha podido encontrar
|
|
28
|
+
"No se ha podido encontrar una empresa para:\n"
|
|
16
29
|
"%(company)s"
|
|
17
30
|
|
|
18
31
|
#, python-format
|
|
@@ -23,7 +36,7 @@ msgstr "Tipo de código de abono no soportado: \"%(type_code)s\"."
|
|
|
23
36
|
#, python-format
|
|
24
37
|
msgctxt "model:ir.message,text:msg_currency_not_found"
|
|
25
38
|
msgid "Could not find a currency with code \"%(code)s\"."
|
|
26
|
-
msgstr "No se ha podido encontrar una
|
|
39
|
+
msgstr "No se ha podido encontrar una divisa con código: \"%(code)s\"."
|
|
27
40
|
|
|
28
41
|
#, python-format
|
|
29
42
|
msgctxt "model:ir.message,text:msg_invoice_type_code_unsupported"
|
|
@@ -48,11 +61,11 @@ msgid_plural ""
|
|
|
48
61
|
"Could not find a unit with UNECE code \"%(code)s\" and at least %(digits)s "
|
|
49
62
|
"digits."
|
|
50
63
|
msgstr[0] ""
|
|
51
|
-
"No se ha
|
|
52
|
-
"
|
|
64
|
+
"No se ha encontrado una unidad con código UNECE \"%(code)s\" y como mínimo "
|
|
65
|
+
"%(digits)s dígito."
|
|
53
66
|
msgstr[1] ""
|
|
54
|
-
"No se ha
|
|
55
|
-
"
|
|
67
|
+
"No se ha encontrado una unidad con código UNECE \"%(code)s\" y como mínimo "
|
|
68
|
+
"%(digits)s dígitos."
|
|
56
69
|
|
|
57
70
|
msgctxt "selection:account.invoice.edocument.start,format:"
|
|
58
71
|
msgid "UBL"
|
|
@@ -6,6 +6,15 @@ msgctxt "model:edocument.ubl.invoice,string:"
|
|
|
6
6
|
msgid "Edocument Ubl Invoice"
|
|
7
7
|
msgstr ""
|
|
8
8
|
|
|
9
|
+
#, python-format
|
|
10
|
+
msgctxt "model:ir.message,text:msg_bank_account_not_found"
|
|
11
|
+
msgid "Could not find bank account \"%(account)s\" for party \"%(parties)s\"."
|
|
12
|
+
msgid_plural ""
|
|
13
|
+
"Could not find bank account \"%(account)s\" for any of the parties "
|
|
14
|
+
"\"%(parties)s\"."
|
|
15
|
+
msgstr[0] ""
|
|
16
|
+
msgstr[1] ""
|
|
17
|
+
|
|
9
18
|
#, python-format
|
|
10
19
|
msgctxt "model:ir.message,text:msg_company_not_found"
|
|
11
20
|
msgid ""
|
|
@@ -6,6 +6,15 @@ msgctxt "model:edocument.ubl.invoice,string:"
|
|
|
6
6
|
msgid "Edocument Ubl Invoice"
|
|
7
7
|
msgstr ""
|
|
8
8
|
|
|
9
|
+
#, python-format
|
|
10
|
+
msgctxt "model:ir.message,text:msg_bank_account_not_found"
|
|
11
|
+
msgid "Could not find bank account \"%(account)s\" for party \"%(parties)s\"."
|
|
12
|
+
msgid_plural ""
|
|
13
|
+
"Could not find bank account \"%(account)s\" for any of the parties "
|
|
14
|
+
"\"%(parties)s\"."
|
|
15
|
+
msgstr[0] ""
|
|
16
|
+
msgstr[1] ""
|
|
17
|
+
|
|
9
18
|
#, python-format
|
|
10
19
|
msgctxt "model:ir.message,text:msg_company_not_found"
|
|
11
20
|
msgid ""
|
|
@@ -6,6 +6,15 @@ msgctxt "model:edocument.ubl.invoice,string:"
|
|
|
6
6
|
msgid "Edocument Ubl Invoice"
|
|
7
7
|
msgstr ""
|
|
8
8
|
|
|
9
|
+
#, python-format
|
|
10
|
+
msgctxt "model:ir.message,text:msg_bank_account_not_found"
|
|
11
|
+
msgid "Could not find bank account \"%(account)s\" for party \"%(parties)s\"."
|
|
12
|
+
msgid_plural ""
|
|
13
|
+
"Could not find bank account \"%(account)s\" for any of the parties "
|
|
14
|
+
"\"%(parties)s\"."
|
|
15
|
+
msgstr[0] ""
|
|
16
|
+
msgstr[1] ""
|
|
17
|
+
|
|
9
18
|
#, python-format
|
|
10
19
|
msgctxt "model:ir.message,text:msg_company_not_found"
|
|
11
20
|
msgid ""
|
|
@@ -6,6 +6,15 @@ msgctxt "model:edocument.ubl.invoice,string:"
|
|
|
6
6
|
msgid "Edocument Ubl Invoice"
|
|
7
7
|
msgstr ""
|
|
8
8
|
|
|
9
|
+
#, python-format
|
|
10
|
+
msgctxt "model:ir.message,text:msg_bank_account_not_found"
|
|
11
|
+
msgid "Could not find bank account \"%(account)s\" for party \"%(parties)s\"."
|
|
12
|
+
msgid_plural ""
|
|
13
|
+
"Could not find bank account \"%(account)s\" for any of the parties "
|
|
14
|
+
"\"%(parties)s\"."
|
|
15
|
+
msgstr[0] ""
|
|
16
|
+
msgstr[1] ""
|
|
17
|
+
|
|
9
18
|
#, python-format
|
|
10
19
|
msgctxt "model:ir.message,text:msg_company_not_found"
|
|
11
20
|
msgid ""
|
|
@@ -6,6 +6,19 @@ msgctxt "model:edocument.ubl.invoice,string:"
|
|
|
6
6
|
msgid "Edocument Ubl Invoice"
|
|
7
7
|
msgstr "Facture électronique UBL"
|
|
8
8
|
|
|
9
|
+
#, python-format
|
|
10
|
+
msgctxt "model:ir.message,text:msg_bank_account_not_found"
|
|
11
|
+
msgid "Could not find bank account \"%(account)s\" for party \"%(parties)s\"."
|
|
12
|
+
msgid_plural ""
|
|
13
|
+
"Could not find bank account \"%(account)s\" for any of the parties "
|
|
14
|
+
"\"%(parties)s\"."
|
|
15
|
+
msgstr[0] ""
|
|
16
|
+
"Impossible de trouver le compte bancaire « %(account)s » pour le tiers "
|
|
17
|
+
"« %(parties)s »."
|
|
18
|
+
msgstr[1] ""
|
|
19
|
+
"Impossible de trouver le compte bancaire « %(account)s » pour l’une des "
|
|
20
|
+
"tiers « %(parties)s »."
|
|
21
|
+
|
|
9
22
|
#, python-format
|
|
10
23
|
msgctxt "model:ir.message,text:msg_company_not_found"
|
|
11
24
|
msgid ""
|
|
@@ -6,6 +6,15 @@ msgctxt "model:edocument.ubl.invoice,string:"
|
|
|
6
6
|
msgid "Edocument Ubl Invoice"
|
|
7
7
|
msgstr ""
|
|
8
8
|
|
|
9
|
+
#, python-format
|
|
10
|
+
msgctxt "model:ir.message,text:msg_bank_account_not_found"
|
|
11
|
+
msgid "Could not find bank account \"%(account)s\" for party \"%(parties)s\"."
|
|
12
|
+
msgid_plural ""
|
|
13
|
+
"Could not find bank account \"%(account)s\" for any of the parties "
|
|
14
|
+
"\"%(parties)s\"."
|
|
15
|
+
msgstr[0] ""
|
|
16
|
+
msgstr[1] ""
|
|
17
|
+
|
|
9
18
|
#, python-format
|
|
10
19
|
msgctxt "model:ir.message,text:msg_company_not_found"
|
|
11
20
|
msgid ""
|
|
@@ -6,6 +6,15 @@ msgctxt "model:edocument.ubl.invoice,string:"
|
|
|
6
6
|
msgid "Edocument Ubl Invoice"
|
|
7
7
|
msgstr ""
|
|
8
8
|
|
|
9
|
+
#, python-format
|
|
10
|
+
msgctxt "model:ir.message,text:msg_bank_account_not_found"
|
|
11
|
+
msgid "Could not find bank account \"%(account)s\" for party \"%(parties)s\"."
|
|
12
|
+
msgid_plural ""
|
|
13
|
+
"Could not find bank account \"%(account)s\" for any of the parties "
|
|
14
|
+
"\"%(parties)s\"."
|
|
15
|
+
msgstr[0] ""
|
|
16
|
+
msgstr[1] ""
|
|
17
|
+
|
|
9
18
|
#, python-format
|
|
10
19
|
msgctxt "model:ir.message,text:msg_company_not_found"
|
|
11
20
|
msgid ""
|
|
@@ -6,6 +6,15 @@ msgctxt "model:edocument.ubl.invoice,string:"
|
|
|
6
6
|
msgid "Edocument Ubl Invoice"
|
|
7
7
|
msgstr ""
|
|
8
8
|
|
|
9
|
+
#, python-format
|
|
10
|
+
msgctxt "model:ir.message,text:msg_bank_account_not_found"
|
|
11
|
+
msgid "Could not find bank account \"%(account)s\" for party \"%(parties)s\"."
|
|
12
|
+
msgid_plural ""
|
|
13
|
+
"Could not find bank account \"%(account)s\" for any of the parties "
|
|
14
|
+
"\"%(parties)s\"."
|
|
15
|
+
msgstr[0] ""
|
|
16
|
+
msgstr[1] ""
|
|
17
|
+
|
|
9
18
|
#, python-format
|
|
10
19
|
msgctxt "model:ir.message,text:msg_company_not_found"
|
|
11
20
|
msgid ""
|
|
@@ -6,6 +6,15 @@ msgctxt "model:edocument.ubl.invoice,string:"
|
|
|
6
6
|
msgid "Edocument Ubl Invoice"
|
|
7
7
|
msgstr ""
|
|
8
8
|
|
|
9
|
+
#, python-format
|
|
10
|
+
msgctxt "model:ir.message,text:msg_bank_account_not_found"
|
|
11
|
+
msgid "Could not find bank account \"%(account)s\" for party \"%(parties)s\"."
|
|
12
|
+
msgid_plural ""
|
|
13
|
+
"Could not find bank account \"%(account)s\" for any of the parties "
|
|
14
|
+
"\"%(parties)s\"."
|
|
15
|
+
msgstr[0] ""
|
|
16
|
+
msgstr[1] ""
|
|
17
|
+
|
|
9
18
|
#, python-format
|
|
10
19
|
msgctxt "model:ir.message,text:msg_company_not_found"
|
|
11
20
|
msgid ""
|
|
@@ -6,6 +6,15 @@ msgctxt "model:edocument.ubl.invoice,string:"
|
|
|
6
6
|
msgid "Edocument Ubl Invoice"
|
|
7
7
|
msgstr ""
|
|
8
8
|
|
|
9
|
+
#, python-format
|
|
10
|
+
msgctxt "model:ir.message,text:msg_bank_account_not_found"
|
|
11
|
+
msgid "Could not find bank account \"%(account)s\" for party \"%(parties)s\"."
|
|
12
|
+
msgid_plural ""
|
|
13
|
+
"Could not find bank account \"%(account)s\" for any of the parties "
|
|
14
|
+
"\"%(parties)s\"."
|
|
15
|
+
msgstr[0] ""
|
|
16
|
+
msgstr[1] ""
|
|
17
|
+
|
|
9
18
|
#, python-format
|
|
10
19
|
msgctxt "model:ir.message,text:msg_company_not_found"
|
|
11
20
|
msgid ""
|
|
@@ -6,6 +6,15 @@ msgctxt "model:edocument.ubl.invoice,string:"
|
|
|
6
6
|
msgid "Edocument Ubl Invoice"
|
|
7
7
|
msgstr "E-document UBL Factuur"
|
|
8
8
|
|
|
9
|
+
#, python-format
|
|
10
|
+
msgctxt "model:ir.message,text:msg_bank_account_not_found"
|
|
11
|
+
msgid "Could not find bank account \"%(account)s\" for party \"%(parties)s\"."
|
|
12
|
+
msgid_plural ""
|
|
13
|
+
"Could not find bank account \"%(account)s\" for any of the parties "
|
|
14
|
+
"\"%(parties)s\"."
|
|
15
|
+
msgstr[0] ""
|
|
16
|
+
msgstr[1] ""
|
|
17
|
+
|
|
9
18
|
#, python-format
|
|
10
19
|
msgctxt "model:ir.message,text:msg_company_not_found"
|
|
11
20
|
msgid ""
|
|
@@ -6,6 +6,15 @@ msgctxt "model:edocument.ubl.invoice,string:"
|
|
|
6
6
|
msgid "Edocument Ubl Invoice"
|
|
7
7
|
msgstr ""
|
|
8
8
|
|
|
9
|
+
#, python-format
|
|
10
|
+
msgctxt "model:ir.message,text:msg_bank_account_not_found"
|
|
11
|
+
msgid "Could not find bank account \"%(account)s\" for party \"%(parties)s\"."
|
|
12
|
+
msgid_plural ""
|
|
13
|
+
"Could not find bank account \"%(account)s\" for any of the parties "
|
|
14
|
+
"\"%(parties)s\"."
|
|
15
|
+
msgstr[0] ""
|
|
16
|
+
msgstr[1] ""
|
|
17
|
+
|
|
9
18
|
#, python-format
|
|
10
19
|
msgctxt "model:ir.message,text:msg_company_not_found"
|
|
11
20
|
msgid ""
|
|
@@ -6,6 +6,15 @@ msgctxt "model:edocument.ubl.invoice,string:"
|
|
|
6
6
|
msgid "Edocument Ubl Invoice"
|
|
7
7
|
msgstr ""
|
|
8
8
|
|
|
9
|
+
#, python-format
|
|
10
|
+
msgctxt "model:ir.message,text:msg_bank_account_not_found"
|
|
11
|
+
msgid "Could not find bank account \"%(account)s\" for party \"%(parties)s\"."
|
|
12
|
+
msgid_plural ""
|
|
13
|
+
"Could not find bank account \"%(account)s\" for any of the parties "
|
|
14
|
+
"\"%(parties)s\"."
|
|
15
|
+
msgstr[0] ""
|
|
16
|
+
msgstr[1] ""
|
|
17
|
+
|
|
9
18
|
#, python-format
|
|
10
19
|
msgctxt "model:ir.message,text:msg_company_not_found"
|
|
11
20
|
msgid ""
|
|
@@ -6,6 +6,15 @@ msgctxt "model:edocument.ubl.invoice,string:"
|
|
|
6
6
|
msgid "Edocument Ubl Invoice"
|
|
7
7
|
msgstr ""
|
|
8
8
|
|
|
9
|
+
#, python-format
|
|
10
|
+
msgctxt "model:ir.message,text:msg_bank_account_not_found"
|
|
11
|
+
msgid "Could not find bank account \"%(account)s\" for party \"%(parties)s\"."
|
|
12
|
+
msgid_plural ""
|
|
13
|
+
"Could not find bank account \"%(account)s\" for any of the parties "
|
|
14
|
+
"\"%(parties)s\"."
|
|
15
|
+
msgstr[0] ""
|
|
16
|
+
msgstr[1] ""
|
|
17
|
+
|
|
9
18
|
#, python-format
|
|
10
19
|
msgctxt "model:ir.message,text:msg_company_not_found"
|
|
11
20
|
msgid ""
|
|
@@ -6,6 +6,15 @@ msgctxt "model:edocument.ubl.invoice,string:"
|
|
|
6
6
|
msgid "Edocument Ubl Invoice"
|
|
7
7
|
msgstr ""
|
|
8
8
|
|
|
9
|
+
#, python-format
|
|
10
|
+
msgctxt "model:ir.message,text:msg_bank_account_not_found"
|
|
11
|
+
msgid "Could not find bank account \"%(account)s\" for party \"%(parties)s\"."
|
|
12
|
+
msgid_plural ""
|
|
13
|
+
"Could not find bank account \"%(account)s\" for any of the parties "
|
|
14
|
+
"\"%(parties)s\"."
|
|
15
|
+
msgstr[0] ""
|
|
16
|
+
msgstr[1] ""
|
|
17
|
+
|
|
9
18
|
#, python-format
|
|
10
19
|
msgctxt "model:ir.message,text:msg_company_not_found"
|
|
11
20
|
msgid ""
|
|
@@ -6,6 +6,15 @@ msgctxt "model:edocument.ubl.invoice,string:"
|
|
|
6
6
|
msgid "Edocument Ubl Invoice"
|
|
7
7
|
msgstr ""
|
|
8
8
|
|
|
9
|
+
#, python-format
|
|
10
|
+
msgctxt "model:ir.message,text:msg_bank_account_not_found"
|
|
11
|
+
msgid "Could not find bank account \"%(account)s\" for party \"%(parties)s\"."
|
|
12
|
+
msgid_plural ""
|
|
13
|
+
"Could not find bank account \"%(account)s\" for any of the parties "
|
|
14
|
+
"\"%(parties)s\"."
|
|
15
|
+
msgstr[0] ""
|
|
16
|
+
msgstr[1] ""
|
|
17
|
+
|
|
9
18
|
#, python-format
|
|
10
19
|
msgctxt "model:ir.message,text:msg_company_not_found"
|
|
11
20
|
msgid ""
|
|
@@ -6,6 +6,15 @@ msgctxt "model:edocument.ubl.invoice,string:"
|
|
|
6
6
|
msgid "Edocument Ubl Invoice"
|
|
7
7
|
msgstr ""
|
|
8
8
|
|
|
9
|
+
#, python-format
|
|
10
|
+
msgctxt "model:ir.message,text:msg_bank_account_not_found"
|
|
11
|
+
msgid "Could not find bank account \"%(account)s\" for party \"%(parties)s\"."
|
|
12
|
+
msgid_plural ""
|
|
13
|
+
"Could not find bank account \"%(account)s\" for any of the parties "
|
|
14
|
+
"\"%(parties)s\"."
|
|
15
|
+
msgstr[0] ""
|
|
16
|
+
msgstr[1] ""
|
|
17
|
+
|
|
9
18
|
#, python-format
|
|
10
19
|
msgctxt "model:ir.message,text:msg_company_not_found"
|
|
11
20
|
msgid ""
|
|
@@ -6,6 +6,15 @@ msgctxt "model:edocument.ubl.invoice,string:"
|
|
|
6
6
|
msgid "Edocument Ubl Invoice"
|
|
7
7
|
msgstr ""
|
|
8
8
|
|
|
9
|
+
#, python-format
|
|
10
|
+
msgctxt "model:ir.message,text:msg_bank_account_not_found"
|
|
11
|
+
msgid "Could not find bank account \"%(account)s\" for party \"%(parties)s\"."
|
|
12
|
+
msgid_plural ""
|
|
13
|
+
"Could not find bank account \"%(account)s\" for any of the parties "
|
|
14
|
+
"\"%(parties)s\"."
|
|
15
|
+
msgstr[0] ""
|
|
16
|
+
msgstr[1] ""
|
|
17
|
+
|
|
9
18
|
#, python-format
|
|
10
19
|
msgctxt "model:ir.message,text:msg_company_not_found"
|
|
11
20
|
msgid ""
|
|
@@ -6,6 +6,15 @@ msgctxt "model:edocument.ubl.invoice,string:"
|
|
|
6
6
|
msgid "Edocument Ubl Invoice"
|
|
7
7
|
msgstr ""
|
|
8
8
|
|
|
9
|
+
#, python-format
|
|
10
|
+
msgctxt "model:ir.message,text:msg_bank_account_not_found"
|
|
11
|
+
msgid "Could not find bank account \"%(account)s\" for party \"%(parties)s\"."
|
|
12
|
+
msgid_plural ""
|
|
13
|
+
"Could not find bank account \"%(account)s\" for any of the parties "
|
|
14
|
+
"\"%(parties)s\"."
|
|
15
|
+
msgstr[0] ""
|
|
16
|
+
msgstr[1] ""
|
|
17
|
+
|
|
9
18
|
#, python-format
|
|
10
19
|
msgctxt "model:ir.message,text:msg_company_not_found"
|
|
11
20
|
msgid ""
|
|
@@ -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}">${format(line.amount
|
|
93
|
+
<cbc:Amount py:attrs="{'currencyID': this.invoice.currency.code}">${format(line.amount, '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}">${format(abs(allowance_charge.amount)
|
|
104
|
+
<cbc:Amount py:attrs="{'currencyID': this.invoice.currency.code}">${format(abs(allowance_charge.amount), '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}">${format(
|
|
110
|
+
<cbc:TaxAmount py:attrs="{'currencyID': this.invoice.currency.code}">${format(-amount, 'f')}</cbc:TaxAmount>
|
|
111
111
|
<cac:TaxSubtotal py:for="line in lines">
|
|
112
|
-
<cbc:TaxableAmount py:attrs="{'currencyID': this.invoice.currency.code}">${format(
|
|
113
|
-
<cbc:TaxAmount py:attrs="{'currencyID': this.invoice.currency.code}">${format(
|
|
112
|
+
<cbc:TaxableAmount py:attrs="{'currencyID': this.invoice.currency.code}">${format(-line.base, 'f')}</cbc:TaxableAmount>
|
|
113
|
+
<cbc:TaxAmount py:attrs="{'currencyID': this.invoice.currency.code}">${format(-line.amount, '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}">${format(
|
|
122
|
-
<cbc:TaxExclusiveAmount py:attrs="{'currencyID': this.invoice.currency.code}">${format(
|
|
123
|
-
<cbc:TaxInclusiveAmount py:attrs="{'currencyID': this.invoice.currency.code}">${format(
|
|
121
|
+
<cbc:LineExtensionAmount py:attrs="{'currencyID': this.invoice.currency.code}">${format(-this.invoice.untaxed_amount, 'f')}</cbc:LineExtensionAmount>
|
|
122
|
+
<cbc:TaxExclusiveAmount py:attrs="{'currencyID': this.invoice.currency.code}">${format(-this.invoice.untaxed_amount, 'f')}</cbc:TaxExclusiveAmount>
|
|
123
|
+
<cbc:TaxInclusiveAmount py:attrs="{'currencyID': this.invoice.currency.code}">${format(-(this.invoice.untaxed_amount + this.invoice.tax_amount), '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}">${format(
|
|
125
|
+
<cbc:PayableRoundingAmount py:attrs="{'currencyID': this.invoice.currency.code}">${format(-(this.invoice.total_amount - this.invoice.untaxed_amount - this.invoice.tax_amount), 'f')}</cbc:PayableRoundingAmount>
|
|
126
126
|
</py:if>
|
|
127
|
-
<cbc:PrepaidAmount py:if="this.prepaid_amount" py:attrs="{'currencyID': this.invoice.currency.code}">${format(
|
|
128
|
-
<cbc:PayableAmount py:attrs="{'currencyID': this.invoice.currency.code}">${format(
|
|
127
|
+
<cbc:PrepaidAmount py:if="this.prepaid_amount" py:attrs="{'currencyID': this.invoice.currency.code}">${format(-this.prepaid_amount, 'f')}</cbc:PrepaidAmount>
|
|
128
|
+
<cbc:PayableAmount py:attrs="{'currencyID': this.invoice.currency.code}">${format(-this.invoice.total_amount + this.prepaid_amount, '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
|
-
<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}">${format(
|
|
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)).normalize(), 'f')}</cbc:CreditedQuantity>
|
|
133
|
+
<cbc:LineExtensionAmount py:attrs="{'currencyID': this.invoice.currency.code}">${format(-line.amount, '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>
|
|
@@ -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}">${format(line.amount
|
|
93
|
+
<cbc:Amount py:attrs="{'currencyID': this.invoice.currency.code}">${format(line.amount, '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}">${format(abs(allowance_charge.amount)
|
|
104
|
+
<cbc:Amount py:attrs="{'currencyID': this.invoice.currency.code}">${format(abs(allowance_charge.amount), '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}">${format(amount
|
|
110
|
+
<cbc:TaxAmount py:attrs="{'currencyID': this.invoice.currency.code}">${format(amount, 'f')}</cbc:TaxAmount>
|
|
111
111
|
<cac:TaxSubtotal py:for="line in lines">
|
|
112
|
-
<cbc:TaxableAmount py:attrs="{'currencyID': this.invoice.currency.code}">${format(line.base
|
|
113
|
-
<cbc:TaxAmount py:attrs="{'currencyID': this.invoice.currency.code}">${format(line.amount
|
|
112
|
+
<cbc:TaxableAmount py:attrs="{'currencyID': this.invoice.currency.code}">${format(line.base, 'f')}</cbc:TaxableAmount>
|
|
113
|
+
<cbc:TaxAmount py:attrs="{'currencyID': this.invoice.currency.code}">${format(line.amount, '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}">${format(this.invoice.untaxed_amount
|
|
122
|
-
<cbc:TaxExclusiveAmount py:attrs="{'currencyID': this.invoice.currency.code}">${format(this.invoice.untaxed_amount
|
|
123
|
-
<cbc:TaxInclusiveAmount py:attrs="{'currencyID': this.invoice.currency.code}">${format((this.invoice.untaxed_amount + this.invoice.tax_amount)
|
|
121
|
+
<cbc:LineExtensionAmount py:attrs="{'currencyID': this.invoice.currency.code}">${format(this.invoice.untaxed_amount, 'f')}</cbc:LineExtensionAmount>
|
|
122
|
+
<cbc:TaxExclusiveAmount py:attrs="{'currencyID': this.invoice.currency.code}">${format(this.invoice.untaxed_amount, 'f')}</cbc:TaxExclusiveAmount>
|
|
123
|
+
<cbc:TaxInclusiveAmount py:attrs="{'currencyID': this.invoice.currency.code}">${format((this.invoice.untaxed_amount + this.invoice.tax_amount), '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}">${format((this.invoice.total_amount - this.invoice.untaxed_amount - this.invoice.tax_amount)
|
|
125
|
+
<cbc:PayableRoundingAmount py:attrs="{'currencyID': this.invoice.currency.code}">${format((this.invoice.total_amount - this.invoice.untaxed_amount - this.invoice.tax_amount), 'f')}</cbc:PayableRoundingAmount>
|
|
126
126
|
</py:if>
|
|
127
|
-
<cbc:PrepaidAmount py:if="this.prepaid_amount" py:attrs="{'currencyID': this.invoice.currency.code}">${format(this.prepaid_amount
|
|
128
|
-
<cbc:PayableAmount py:attrs="{'currencyID': this.invoice.currency.code}">${format(
|
|
127
|
+
<cbc:PrepaidAmount py:if="this.prepaid_amount" py:attrs="{'currencyID': this.invoice.currency.code}">${format(this.prepaid_amount, 'f')}</cbc:PrepaidAmount>
|
|
128
|
+
<cbc:PayableAmount py:attrs="{'currencyID': this.invoice.currency.code}">${format(this.invoice.total_amount - this.prepaid_amount, '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
|
-
<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}">${format(line.amount
|
|
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)).normalize(), 'f')}</cbc:InvoicedQuantity>
|
|
133
|
+
<cbc:LineExtensionAmount py:attrs="{'currencyID': this.invoice.currency.code}">${format(line.amount, '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>
|
|
@@ -62,7 +62,7 @@ Parse the UBL invoice::
|
|
|
62
62
|
>>> with file_open(
|
|
63
63
|
... 'edocument_ubl/tests/UBL-CreditNote-2.1-Example.xml',
|
|
64
64
|
... mode='rb') as fp:
|
|
65
|
-
... invoice_id = EInvoice.parse(fp.read(), config.context)
|
|
65
|
+
... invoice_id = EInvoice.parse(fp.read(), {**config.context, 'company': None})
|
|
66
66
|
|
|
67
67
|
>>> invoice = Invoice(invoice_id)
|
|
68
68
|
|
{trytond_edocument_ubl-8.0.4 → trytond_edocument_ubl-8.2.0}/tests/scenario_ubl_2_invoice_parse.rst
RENAMED
|
@@ -62,7 +62,7 @@ Parse the UBL invoice::
|
|
|
62
62
|
>>> with file_open(
|
|
63
63
|
... 'edocument_ubl/tests/UBL-Invoice-2.1-Example.xml',
|
|
64
64
|
... mode='rb') as fp:
|
|
65
|
-
... invoice_id = EInvoice.parse(fp.read(), config.context)
|
|
65
|
+
... invoice_id = EInvoice.parse(fp.read(), {**config.context, 'company': None})
|
|
66
66
|
|
|
67
67
|
>>> invoice = Invoice(invoice_id)
|
|
68
68
|
|
|
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.4 → trytond_edocument_ubl-8.2.0}/tests/2.4/maindoc/UBL-CreditNote-2.4.xsd
RENAMED
|
File without changes
|
{trytond_edocument_ubl-8.0.4 → trytond_edocument_ubl-8.2.0}/tests/2.4/maindoc/UBL-Invoice-2.4.xsd
RENAMED
|
File without changes
|
{trytond_edocument_ubl-8.0.4 → trytond_edocument_ubl-8.2.0}/tests/UBL-CreditNote-2.1-Example.xml
RENAMED
|
File without changes
|
|
File without changes
|
{trytond_edocument_ubl-8.0.4 → trytond_edocument_ubl-8.2.0}/tests/UBL-Invoice-2.1-Example.xml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{trytond_edocument_ubl-8.0.4 → trytond_edocument_ubl-8.2.0}/tests/scenario_ubl_2_invoice_parse.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|