EDGE ENGINE SUB-2MS DETERMINISTIC V8 EXECUTION • ZERO DATA RETENTION • EXPLORE API SPECS →

ISO 20022: pain.001 vs pacs.008 Explained

ISO 20022 messages are grouped by family: pain for payment initiation, pacs for clearing and settlement, and camt for cash management. pain.001 starts the payment; pacs.008 carries it between banks.

Updated 2026-09-30 · 5 min read

The three families

ISO 20022 message names have three parts: a family, a number, and a version, such as pain.001.001.09. The family says who the message is for and what stage of the payment it represents.

  • pain — Payment Initiation: a customer instructs a bank to make a payment.
  • pacs — Payment Clearing and Settlement: banks move funds and status between themselves.
  • camt — Cash Management: statements, notifications, and account reporting.

pain.001: the initiation

pain.001 is the Customer Credit Transfer Initiation. A corporate or individual instructs their bank, or their bank’s channel, to pay one or many beneficiaries.

It carries the ordering party, the debtor account, and a batch of credit transfer transactions, each with an amount, a creditor, and remittance information.

pacs.008: the interbank leg

pacs.008 is the Financial Institution Credit Transfer, the message a bank sends to the next bank in the chain. It is the interbank equivalent of an initiated payment.

By the time a payment reaches pacs.008, it has been enriched: settlement details, charges, and the routing information needed to move funds are present.

MessageFamilyDirectionPurpose
pain.001Payment InitiationCustomer to bankInitiate a credit transfer
pacs.008Clearing & SettlementBank to bankMove the payment between institutions
pacs.002Clearing & SettlementBank to bankReport payment status (accept/reject)
camt.053Cash ManagementBank to customerEnd-of-day bank statement

Why the distinction matters

The same payment exists in pain.001 and later in pacs.008, but the messages are not interchangeable: a customer cannot send a pacs.008, and a bank does not settle on a pain.001.

Integrations that parse the wrong family usually fail on structure rather than on values, because the element and block layouts differ even when the underlying payment is the same.

Try it on real data

ISO 20022 Financial Message Parser & Validator API →

High-speed SWIFT ISO 20022 XML-to-JSON parser and compliance engine with sub-5ms edge latency

Open the tool

Frequently Asked Questions

Is pacs.008 an upgrade of pain.001?

No. They are different stages of the same payment. pain.001 is the customer’s instruction; pacs.008 is the interbank message that moves the funds.

What is camt.053?

camt.053 is the Bank-to-Customer Statement, the end-of-day account statement in ISO 20022, replacing the older MT940 for many banks.

What does the version suffix mean, such as pain.001.001.09?

The final segment is the message version. Banks and schemes mandate a specific version, so a parser must handle the version the counterparty sends, not only the latest.

Primary sources