Ohmyfin

HomeDrafterspacs.002.001.10

Free pacs.002 status report drafter

Build an ISO 20022 pacs.002.001.10 (FI-to-FI Payment Status Report) in the browser. This is the message that carries the ACSP / ACSC / ACWP / RJCT / PDNG status codes the Ohmyfin tracker explains. Validates the original message identifiers, the transaction status code list and the reporting party BICs.

Business application header

head.001.001.02 AppHdr inside a BizMsgEnvlp wrapper. Disable for legacy import flows that expect a bare Document.

Group header

Business message identifier (max 35 chars).

ISO 8601 UTC, e.g. 2026-05-25T10:30:00Z

Original group
Transaction status

ISO 20022 reason code (optional).

Instructing agent
Instructed agent

Fill in the form and press Build.

    
        

    Free REST APIpacs.002.001.10 drafter API

    100 drafts per IP per day. No auth. CORS open. Returns { ok, kind, xml, validation }.

    POST https://ohmyfin.org/api/draft/pacs002
    Content-Type: application/json
    
    {
      "payload": { /* see JSON schema for pacs.002.001.10 */ },
      "pretty": true,
      "includeAppHdr": true,
      "from": "DEUTDEFFXXX",
      "to": "NWBKGB2LXXX"
    }
    
    # Validate an existing XML document (≤ 1 MB) without re-serialising:
    POST https://ohmyfin.org/api/draft/pacs002/validate
    { "xml": "<BizMsgEnvlp ...>...</BizMsgEnvlp>" }

    Frequently asked questions

    What status codes does pacs.002 support?

    ACCC (accepted, settlement completed creditor), ACSC (accepted, settlement completed), ACSP (accepted, settlement in process), ACWC (accepted with change), ACWP (accepted with pending), ACCP (accepted, customer profile), RJCT (rejected), PDNG (pending), CANC (cancelled).

    What goes in OrgnlMsgId / OrgnlMsgNmId?

    OrgnlMsgId is the MsgId of the original message you are reporting on (e.g. the pacs.008 you received). OrgnlMsgNmId is the message-definition identifier — e.g. "pacs.008.001.08".

    Is the UETR mandatory?

    Not on pacs.002 itself, but if the original message carried a UETR you must echo it as OrgnlUETR so the tracker can correlate the status to the payment.

    Can I send a reject reason?

    Yes — supply statusReason (e.g. AC01 for invalid account, AM05 for duplication). The form emits StsRsnInf/Rsn/Cd with your code.

    Other MX drafters: pacs.008.001.08pacs.009.001.08camt.053.001.08camt.054.001.08