Merge pull request #115 from Noviat/18.0

Syncing from upstream Noviat/account_ebics (18.0)
This commit is contained in:
braintec authored and GitHub committed 2026-10-13 05:50:12 +02:00
commit 960f31cdb8
7 files changed
+50 -20

No files matched your search

+1 -1
View File
@@ -15,7 +15,7 @@ Available addons
----------------
addon | version | maintainers | summary
--- | --- | --- | ---
[account_ebics](account_ebics/) | 18.0.1.2.1 | | Download bank statements and upload payment files directly from Odoo, using the European EBICS standard
[account_ebics](account_ebics/) | 18.0.1.2.2 | | Download bank statements and upload payment files directly from Odoo, using the European EBICS standard
[account_ebics_batch](account_ebics_batch/) | 18.0.1.0.1 | | Download and process your EBICS files automatically, on a schedule
[account_ebics_batch_payment](account_ebics_batch_payment/) | 18.0.1.2.0 | | Send an Odoo Enterprise batch payment to the bank over EBICS
[account_ebics_oca_statement_import](account_ebics_oca_statement_import/) | 18.0.1.0.1 | | Process EBICS statement files with the OCA bank statement import
+1 -1
View File
@@ -7,7 +7,7 @@
"Download bank statements and upload payment files directly from Odoo, "
"using the European EBICS standard"
),
"version": "18.0.1.2.1",
"version": "18.0.1.2.2",
"license": "LGPL-3",
"author": "Noviat",
"website": "https://www.noviat.com/",
+6
View File
@@ -1148,6 +1148,12 @@ msgstr ""
msgid "No bank defined for the financial journal of the EBICS Config"
msgstr ""
#. module: account_ebics
#. odoo-python
#: code:addons/account_ebics/models/ebics_file.py:0
msgid "No currency found in statement for Account Number %(nbr)s."
msgstr ""
#. module: account_ebics
#. odoo-python
#: code:addons/account_ebics/models/ebics_file.py:0
+6
View File
@@ -1225,6 +1225,12 @@ msgstr "Keine Bankkontonummer gefunden."
msgid "No bank defined for the financial journal of the EBICS Config"
msgstr "Keine Bank für das Finanzjournal der EBICS-Konfiguration definiert"
#. module: account_ebics
#. odoo-python
#: code:addons/account_ebics/models/ebics_file.py:0
msgid "No currency found in statement for Account Number %(nbr)s."
msgstr ""
#. module: account_ebics
#. odoo-python
#: code:addons/account_ebics/models/ebics_file.py:0
+6
View File
@@ -1222,6 +1222,12 @@ msgstr "Aucun numéro de compte bancaire trouvé."
msgid "No bank defined for the financial journal of the EBICS Config"
msgstr "Aucune banque définie pour le journal financier de la config EBICS"
#. module: account_ebics
#. odoo-python
#: code:addons/account_ebics/models/ebics_file.py:0
msgid "No currency found in statement for Account Number %(nbr)s."
msgstr ""
#. module: account_ebics
#. odoo-python
#: code:addons/account_ebics/models/ebics_file.py:0
+6
View File
@@ -1223,6 +1223,12 @@ msgstr "Geen bankrekeningnummer gevonden."
msgid "No bank defined for the financial journal of the EBICS Config"
msgstr "Geen bank gedefinieerd voor het financiële dagboek van de EBICS-config"
#. module: account_ebics
#. odoo-python
#: code:addons/account_ebics/models/ebics_file.py:0
msgid "No currency found in statement for Account Number %(nbr)s."
msgstr ""
#. module: account_ebics
#. odoo-python
#: code:addons/account_ebics/models/ebics_file.py:0
+24 -18
View File
@@ -586,9 +586,21 @@ class EbicsFile(models.Model):
message = self.env._("No bank account number found.")
res["notifications"].append({"type": "error", "message": message})
continue
currency_code = stmt.xpath(
if not stmt.findall("ns:Ntry", ns):
continue
currency_codes = stmt.xpath(
"ns:Acct/ns:Ccy/text() | ns:Bal/ns:Amt/@Ccy", namespaces=ns
)[0]
)
if not currency_codes and camt_variant == "054":
currency_codes = stmt.xpath("ns:Ntry/ns:Amt/@Ccy", namespaces=ns)
if not currency_codes:
message = self.env._(
"No currency found in statement for Account Number %(nbr)s.",
nbr=acc_number,
)
res["notifications"].append({"type": "error", "message": message})
continue
currency_code = currency_codes[0]
# some banks (e.g. COMMERZBANK) add the currency as the last 3 digits
# of the bank account number hence we need to remove this since otherwise
# the journal matching logic fails
@@ -596,26 +608,20 @@ class EbicsFile(models.Model):
acc_number = acc_number[:-3]
root_new = deepcopy(root)
entries = False
for j, el in enumerate(root_new[0].findall(f"ns:{camt_tag}", ns)):
if j != i:
el.getparent().remove(el)
else:
entries = el.findall("ns:Ntry", ns)
if not entries:
currency, journal = self._lookup_journal(res, acc_number, currency_code)
if not (currency and journal):
continue
else:
currency, journal = self._lookup_journal(res, acc_number, currency_code)
if not (currency and journal):
continue
datas.append(
{
"acc_number": acc_number,
"journal_id": journal.id,
"company_id": journal.company_id.id,
"data": base64.b64encode(etree.tostring(root_new)),
}
)
datas.append(
{
"acc_number": acc_number,
"journal_id": journal.id,
"company_id": journal.company_id.id,
"data": base64.b64encode(etree.tostring(root_new)),
}
)
return datas