Skip to content

Conversation

@qgroulard
Copy link
Contributor

Draft PR to open a discussion.
From my understanding and functional tests, the payment_id and not the move_id is passed as the End2end_identification from the generation of the payment order to the reception of the return.

I don't understand how can we expect to receive the move_id as the line reference. Is this a mistake or can someone explain this mechanism to me ?

@pedrobaeza pedrobaeza added this to the 18.0 milestone Sep 24, 2025
@qgroulard
Copy link
Contributor Author

Anyone ? @pedrobaeza @carlosdauden ?

@pedrobaeza
Copy link
Member

Please check latest code, which may resolve your problem.

@qgroulard
Copy link
Contributor Author

  1. The latest code still searches the payment by move_id, see: https://github.com/OCA/account-payment/blob/18.0/account_payment_return_import_iso20022/models/payment_return.py#L19

  2. While in account_banking_sepa_direct_debit, the End2end_identification is set as the payment_id and not the move_id, see: https://github.com/OCA/bank-payment/blob/18.0/account_banking_sepa_direct_debit/models/account_payment_order.py#L175

Also see https://github.com/OCA/account-payment/blob/18.0/account_payment_return_import_iso20022/wizard/camt_parser.py#L64 for the last brick, that puts the EndtoEndId (from 2.) in the line reference used in 1.

Thus there is something that I truly don't understand. Don't you use account_banking_sepa_direct_debit to generate your payment orders ? Then, what mechanism do you use to inject the move_id in the EndtoEndId tag ?

@pedrobaeza
Copy link
Member

@carlosdauden can you please check this PR to see what he is stating?

Yes, we use bank-payment modules, but we haven't got problems with this AFAIK.

… payment id

The line reference comes from the EndtoEndId tag of the payment returns file.
In account_banking_sepa_direct_debit, where the payment order file is generated,
the EndtoEndId is set to be the payment_id and not the move_id.
@qgroulard qgroulard force-pushed the 18.0-payment_return_import_iso20022_find_match_payment-qgr branch from 0512406 to 25f34b1 Compare October 30, 2025 16:12
@qgroulard qgroulard marked this pull request as ready for review October 30, 2025 16:12
@qgroulard qgroulard changed the title Payment return import iso20022 match by payment id [18.0][FIX] Payment return import iso20022 match by payment id Oct 30, 2025
@qgroulard
Copy link
Contributor Author

  1. The latest code still searches the payment by move_id, see: https://github.com/OCA/account-payment/blob/18.0/account_payment_return_import_iso20022/models/payment_return.py#L19

    1. While in account_banking_sepa_direct_debit, the End2end_identification is set as the payment_id and not the move_id, see: https://github.com/OCA/bank-payment/blob/18.0/account_banking_sepa_direct_debit/models/account_payment_order.py#L175

Also see https://github.com/OCA/account-payment/blob/18.0/account_payment_return_import_iso20022/wizard/camt_parser.py#L64 for the last brick, that puts the EndtoEndId (from 2.) in the line reference used in 1.

Thus there is something that I truly don't understand. Don't you use account_banking_sepa_direct_debit to generate your payment orders ? Then, what mechanism do you use to inject the move_id in the EndtoEndId tag ?

@carlosdauden

Sorry but I need to move forward with this.

We have tested the full workflow from account_banking_sepa_direct_debit to account_payment_return_import_iso20022, our observations are explained in this comment.

Copy link

@gva-acsone gva-acsone left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Functional test LGTM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants