Skip to Content

Global pain.002 Status

55.65 55.65

Instant digital delivery after payment confirmation.
License: OPL-1, every download is watermarked.
Terms and Conditions

ISO 20022 pain.002 Payment-Status Report Parser

Turn your bank's pain.002 acknowledgements into live payment-batch statuses in Odoo — pure file parser, BYOK, no bank transmission

pain.002 is the ISO 20022 CustomerPaymentStatusReport message your bank returns to acknowledge a payment-initiation file (pain.001 credit transfer or pain.008 direct debit) you previously submitted. This app reads those pain.002.001.xx files, matches each acknowledgement back to the payment batch you sent, and writes every transaction's accepted / rejected / settled status — with the bank's reason code — onto the matching batch line. No more opening raw XML to find out which payment the bank bounced.

What it does

Version-independent parser

Reads every published pain.002 version (.001.02 through .001.12) by matching ISO 20022 elements on their local name, so a change of message version never breaks the import.

Three status levels

Captures the group status (GrpSts), the per-payment-information status (PmtInfSts) and the per-transaction status (TxSts). Each transaction inherits the most specific status that applies to it — exactly how banks layer their reports.

Reason codes, decoded

Every rejection carries an ISO 20022 ExternalStatusReason1Code (e.g. AC01 incorrect account, AM04 insufficient funds) plus the bank's free text. The app decodes the code to a readable label and shows it right on the line.

Batch matching

Acknowledgements are matched to your local payment batch on the original message id the bank echoes back, then each transaction is linked to its batch line by End-to-End id, Instruction id or UETR.

How it works

1. Register the batch

Record the payment file you sent — its original message id and the lines it contained (End-to-End id, amount, counterparty). Optionally link each line to its Odoo payment.

2. Download & import

Download the pain.002 file your bank returns and upload it. The app parses it and matches it back to the batch automatically.

3. Apply the statuses

Apply the acknowledgement: every batch line is updated to accepted, rejected or settled, and rejected lines flag their linked payment with the bank's reason.

Status codes handled

CodeMeaningBucket
ACTCAccepted Technical ValidationAccepted
ACCPAccepted Customer ProfileAccepted
ACSPAccepted Settlement In ProcessAccepted
ACSCAccepted Settlement CompletedSettled
ACWCAccepted With ChangeAccepted
PDNG / RCVD / PARTPending / Received / Partially AcceptedPending
RJCTRejectedRejected
CANC / BLCKCancelled / BlockedRejected

Key features

  • Reads pain.002.001.02 – pain.002.001.12 regardless of namespace version.
  • Group, payment-information and transaction status levels with automatic inheritance.
  • Full ISO 20022 status reason code table (AC01, AM04, MD01, FF01 and more), decoded to readable labels.
  • Matches each acknowledgement to its payment batch on the original message id; links transactions by End-to-End id, Instruction id or UETR.
  • Writes accepted / rejected / settled status straight onto the batch lines and rolls the batch up to a single verdict.
  • Settlement follow-ups promote accepted lines to settled as later pain.002 files arrive.
  • Rejected lines post a note on the linked Odoo payment with the bank's reason.
  • Stored, searchable status buckets — filter batches and reports by “with rejections”, “pending” or “final”.
  • One-step import wizard: upload, parse, match and apply in a single action.

BYOK — you stay in control

This is a pure file parser. You download the pain.002 from your own bank channel (portal, EBICS, SFTP) and upload it here; the app never connects to your bank and never holds your banking credentials. It generates no payment files and transmits nothing — it only reads the status report your bank already produced.

Compatibility

Odoo 18.0 and 19.0 · Community and Enterprise · depends only on the base account module.

Screenshots

Payment Batches

Payment Batches

Import Pain 002

Import Pain 002

Status Reports

Status Reports

Transaction Statuses

Transaction Statuses

Update date: 2026-07-02