details:   https://code.tryton.org/tryton/commit/e0ff80936825
branch:    7.8
user:      Cédric Krier <[email protected]>
date:      Sun Feb 01 19:01:49 2026 +0100
description:
        Use amount from transaction details when available

        A batched transaction may have many details and amounts that are 
grouped as the
        entry amount.

        Closes #13823
        (grafted from ed04c2b28dce1439020b014ea47277dcb4aa22be)
diffstat:

 modules/account_statement_sepa/account.py                |  11 +++++++----
 modules/account_statement_sepa/tests/camt.053.001.02.xml |   5 +++++
 2 files changed, 12 insertions(+), 4 deletions(-)

diffs (43 lines):

diff -r 29ba0e98838f -r e0ff80936825 modules/account_statement_sepa/account.py
--- a/modules/account_statement_sepa/account.py Wed Feb 04 15:29:51 2026 +0100
+++ b/modules/account_statement_sepa/account.py Sun Feb 01 19:01:49 2026 +0100
@@ -72,9 +72,12 @@
         statement.total_amount = self.camt_statement_total(camt_statement)
         return statement
 
-    def _camt_amount(self, node):
-        amount = Decimal(node.findtext('./{*}Amt'))
-        if node.findtext('./{*}CdtDbtInd') == 'DBIT':
+    def _camt_amount(self, entry, detail=None):
+        if detail is not None:
+            amount = Decimal(detail.findtext('./{*}AmtDtls/{*}TxAmt/{*}Amt'))
+        else:
+            amount = Decimal(entry.findtext('./{*}Amt'))
+        if entry.findtext('./{*}CdtDbtInd') == 'DBIT':
             amount *= -1
         return amount
 
@@ -145,7 +148,7 @@
                 elif booking_date.find('./{*}DtTm') is not None:
                     origin.date = dt.date.fromisoformat(
                         booking_date.findtext('./{*}DtTm')).date()
-            origin.amount = self._camt_amount(entry)
+            origin.amount = self._camt_amount(entry, detail)
             origin.description = self.camt_description(camt_statement, entry)
             if detail is not None:
                 origin.party = self.camt_party(camt_statement, entry, detail)
diff -r 29ba0e98838f -r e0ff80936825 
modules/account_statement_sepa/tests/camt.053.001.02.xml
--- a/modules/account_statement_sepa/tests/camt.053.001.02.xml  Wed Feb 04 
15:29:51 2026 +0100
+++ b/modules/account_statement_sepa/tests/camt.053.001.02.xml  Sun Feb 01 
19:01:49 2026 +0100
@@ -109,6 +109,11 @@
                 </BkTxCd>
                 <NtryDtls>
                     <TxDtls>
+                        <AmtDtls>
+                            <TxAmt>
+                                <Amt Ccy="EUR">100.00</Amt>
+                            </TxAmt>
+                        </AmtDtls>
                         <RltdPties>
                             <Cdtr>
                                 <Pty>

Reply via email to