Compare commits

..

8 commits

Author SHA1 Message Date
Mathias Behrle
28eb6b478b Explain the reason for evtl. tax mismatch. 2025-01-29 12:00:51 +01:00
Frederik Jaeckel
897f565a19 Version 7.0.4 2025-01-29 10:53:32 +01:00
Frederik Jaeckel
a35e9dec7b Merge branch 'main' into 7.0 2025-01-29 10:51:13 +01:00
Frederik Jaeckel
76f1e97b00 Version 7.0.3 2025-01-27 13:04:56 +01:00
Frederik Jaeckel
83af0ba7ca Merge branch 'main' into 7.0 2025-01-27 13:03:07 +01:00
Frederik Jaeckel
fc41dca55a Version 7.0.2 2025-01-24 09:22:24 +01:00
Frederik Jaeckel
8c221fcbfd Merge branch 'main' into 7.0 2025-01-24 09:21:35 +01:00
Frederik Jaeckel
f1c710eab8 Version 7.0.1 2025-01-23 12:02:01 +01:00
8 changed files with 46 additions and 10 deletions

View file

@ -1,5 +1,6 @@
Copyright (C) 2024-2025 martin-data services.
Copyright (C) 2025 Mathias Behrle <mathiasb@m9s.biz>
Copyright (C) 2015-2025 Cédric Krier.
Copyright (C) 2015-2025 B2CK SPRL.
Copyright (C) 2021-2025 martin-data services.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by

View file

@ -15,6 +15,23 @@ Requires
Changes
=======
*7.0.4 - 29.01.2025*
- add: Round unit_price + quantity to match the decimal places of the fields.
*7.0.3 - 27.01.2025*
- filter product-categories in configuration
*7.0.2 - 24.01.2025*
- fix: limit content-check to supplier-invoices
*7.0.1 - 23.01.2025*
- import of Factur-X (Basic, EN16931, Extended), CrossIndustryInvoice-D22
- with/without PDF-Container
*7.0.0 - 19.12.2024*
- init

View file

@ -101,12 +101,15 @@ class Incoming(metaclass=PoolMeta):
UserError: if calculated values dont match
with xml-values
"""
pool = Pool()
Configuration = pool.get('account.configuration.tax_rounding')
configuration = Configuration(1)
totals = self.parsed_data.get('total', None)
if not totals:
raise UserError(gettext(
'msg_convert_error.msg_convert_error',
msg='no totals-section in xml-data'))
for xfield, inv_field in [
('taxbase', 'untaxed_amount'),
('taxtotal', 'tax_amount'),
@ -115,15 +118,25 @@ class Incoming(metaclass=PoolMeta):
inv_val = getattr(invoice, inv_field)
if xml_val != inv_val:
raise UserError(gettext(
'document_incoming_invoice_xml.msg_convert_error',
rounding = configuration.tax_rounding
field_name = 'tax_rounding'
selection_values = configuration.fields_get(
[field_name])[field_name]['selection']
rounding_cfg = [
i[1] for i in selection_values if i[0] == rounding][0]
msg = ' '.join([
inv_field + ' mismatch',
'from-xml=' + Report.format_currency(
xml_val, None, invoice.currency),
'calculated=' + Report.format_currency(
inv_val, None, invoice.currency)
])))
])
msg += '\n\n' + gettext(
'document_incoming_invoice_xml.msg_tax_amount_mismatch',
rounding=rounding_cfg)
raise UserError(gettext(
'document_incoming_invoice_xml.msg_convert_error',
msg=msg))
def _readxml_xpath(self, tags):
""" generate xpath

View file

@ -46,6 +46,9 @@ msgctxt "model:ir.message,text:msg_unused_linevalues"
msgid "The following data was not used to generate the invoice line:"
msgstr "Die folgenden Daten wurden für die Erzeugung der Rechnungszeile nicht verwendet:"
msgctxt "model:ir.message,text:msg_tax_amount_mismatch"
msgid "You have configured tax rounding method '%(rounding)s' in the account configuration. Maybe try with a different method"
msgstr "In Rechnungswesen/Einstellungen ist die Steuerrundungsmethode '%(rounding)s' eingetragen. Versuchen Sie es u.U. mit einer anderen Methode'
###################################
# document.incoming.configuration #

View file

@ -35,6 +35,9 @@
<record model="ir.message" id="msg_unused_linevalues">
<field name="text">The following data was not used to generate the invoice line:</field>
</record>
<record model="ir.message" id="msg_tax_amount_mismatch">
<field name="text">You have configured tax rounding method '%(rounding)s' in the account configuration. Maybe try with a different method</field>
</record>
</data>
</tryton>

View file

@ -85,8 +85,6 @@ setup(
'Programming Language :: Python :: 3.8',
'Programming Language :: Python :: 3.9',
'Programming Language :: Python :: 3.10',
'Programming Language :: Python :: 3.11',
'Programming Language :: Python :: 3.12',
],
keywords='tryton account invoice xrechnung edocument incoming',

View file

@ -1,5 +1,5 @@
[tryton]
version=7.0.0
version=7.0.4
depends:
document_incoming_invoice
edocument_unece

View file

@ -0,0 +1 @@
sale_point_invoice;7.0.15;7.0.999;mds