29.x: Allow bank rec. duplicated transactions surfaced in UI - #11056
Conversation
Good Sense Reviewer - Round 1Recommendation: Accept with SuggestionsWhat this PR doesThis change exposes an existing bank reconciliation setting that lets statement imports keep transactions with duplicate transaction IDs instead of skipping them. It adds the setting to reconciliation pages, adds a confirmation action on the payment reconciliation journal, and updates the caption and tooltip text. The backend import behavior was already present and covered by existing import tests. The new action initializes the current reconciliation, confirms the change, then validates and modifies the same header field that the import code reads, so the chosen value is used by the existing import path. Problem-solution fitFit: Strong The reported problem is that valid bank files can contain repeated transaction IDs, but the available setting was not reachable enough from the UI. The change keeps default behavior unchanged and lets users opt in before running the existing import process. SuggestionsS1 (🟠 Moderate): Add coverage for the toggle action S2 (🟡 Minor): Make the disable prompt clearer Risk assessment and necessityRisk: The change is in bank reconciliation import UI and updates a header setting that affects which statement lines are imported. The default remains false, so existing imports continue to skip duplicates unless a user opts in. No public API or event surface changes are involved, and the relevant page variants were updated consistently. Necessity: The change is justified because duplicate transaction IDs can be valid in real bank files, and the behavior already existed without a practical UI entry point. The scope is small and limited to surfacing that setting.
|
7414119
Good Sense Reviewer - Round 2Recommendation: Accept with SuggestionsWhat this PR doesThe current change exposes an existing bank reconciliation setting that lets statement imports keep transactions with duplicate transaction IDs. Since round 1, the only code-bearing update renames the payment reconciliation journal action to Allow Duplicated Transactions, which better describes that the action changes a setting instead of importing lines. The updated caption does not change the data path. The action still initializes the reconciliation header, asks for confirmation, validates Status of previous suggestions
New observations (commits since round 1)None - the new commit only changes the action caption and does not add a new issue. Risk assessment and necessityRisk: The touched code is in bank reconciliation import UI. A wrong value on Necessity: The change is still justified because valid bank files can contain repeated transaction IDs, and users need a supported UI path to choose the existing behavior. The remaining issues are non-blocking: stronger UI coverage would protect the toggle, and the disable prompt should be clearer.
|
Good Sense Reviewer - Round 3Recommendation: Accept with SuggestionsWhat this PR doesThe current change still exposes the bank reconciliation setting that lets statement imports keep transactions with duplicate transaction IDs. Since round 2, it also exposes the existing setting for importing posted-but-not-closed transactions by adding hidden reconciliation page fields and a payment reconciliation journal action. The new action follows the same safe pattern as the duplicate-transaction action: it initializes the reconciliation header, asks for confirmation, validates Status of previous suggestions
New observations (commits since round 2)S3 (🟠 Moderate): Add coverage for import posted toggle Risk assessment and necessityRisk: The touched code is in bank reconciliation import UI. These settings affect which statement lines can be imported, including duplicate transaction IDs and posted-but-not-closed bank ledger entries, so a wrong toggle value can affect reconciliation data. The defaults stay unchanged, and no public API, event surface, or posting routine is changed. Necessity: The change is justified because valid bank files can contain repeated transaction IDs, and users need a supported UI path to choose the existing behavior. Surfacing the related posted-transaction setting is also useful because the import code already supports it. The remaining issues are non-blocking and are limited to clearer wording and stronger UI regression coverage.
|
We already had a functionality that unblocks several scenarios when importing bank statements. However, there was no UI surface for it.
This change resurfaces this functionality, to give this option to users that need it. In particular, this was discovered when a DE customer was trying to import SEPA CAMT files, that have Transaction ID coming from EndToEndId, which I validated in https://www.iso20022.org/iso-20022-message-definitions?scope%5B0%5D=messages&search=camt MDR part 3 that the uniqueness in enforced by the initiator of the transaction, making imports with same id under the same file plausible.
Used the opportunity to change the captions to something a bit more precise.
Fixes AB#649134