Payments Academy
BAHDocumentFIToFICstmrCdtTrfGrpHdrPmtInfCdtTrfTxInfpacs.008 message structureBAHDocumentFIToFICstmrCdtTrfGrpHdrPmtInfCdtTrfTxInf
<?xml version="1.0" encoding="UTF-8"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pacs.008.001.08">
  <FIToFICstmrCdtTrf>
    <GrpHdr>
      <MsgId>ACME2026110501</MsgId>
      <CreDtTm>2026-11-05T09:00:00</CreDtTm>
      <NbOfTxs>1</NbOfTxs>
      <CtrlSum>10000</CtrlSum>
      <InitgPty><Nm>Acme Trading Ltd</Nm></InitgPty>
    </GrpHdr>
    <PmtInf>
      <PmtInfId>PmtInf001</PmtInfId>
      <PmtMtd>TRF</PmtMtd>
      <ReqdExctnDt>2026-11-05</ReqdExctnDt>
      <ChrgBr>SHAR</ChrgBr>
      <Dbtr>
        <Nm>Acme Trading Ltd</Nm>
        <PstlAdr><TwnNm>London</TwnNm></PstlAdr>
      </Dbtr>
      <DbtrAcct><Id><Othr><Id>London current account</Id></Othr></Id></DbtrAcct>
      <DbtrAgt><FinInstnId><Nm>London bank</Nm></FinInstnId></DbtrAgt>
      <CdtTrfTxInf>
        <PmtId><InstrId>Instr001</InstrId><EndToEndId>INV4567</EndToEndId><UETR>a1b2c3d4-e5f6-4789-abcd-ef0123456789</UETR><TxId>TXN2026110501</TxId></PmtId>
        <InstdAmt Ccy="USD">10000</InstdAmt>
        <SttlmInf><SttlmMtd>INDA</SttlmMtd></SttlmInf>
        <CdtrAgt><FinInstnId><Nm>Singapore bank</Nm></FinInstnId></CdtrAgt>
        <Cdtr>
          <Nm>Meridian Supplies Pte Ltd</Nm>
          <PstlAdr><TwnNm>Singapore</TwnNm></PstlAdr>
        </Cdtr>
        <CdtrAcct><Id><Othr><Id>Singapore account</Id></Othr></Id></CdtrAcct>
        <Purp><Cd>SUPP</Cd></Purp>
        <RmtInf><Strd><CdtrRefInf><Ref>4567</Ref></CdtrRefInf></Strd></RmtInf>
      </CdtTrfTxInf>
    </PmtInf>
  </FIToFICstmrCdtTrf>
</Document>

Example: pacs.008.001.08 (explorer scheme_version). Versions listed in the explorer: pacs.008.001.06, pacs.008.001.08, pacs.008.001.09, pacs.008.001.10. Shortened for display from the chapter walkthrough: one PmtInf and one CdtTrfTxInf, Acme Trading Ltd pays Meridian Supplies Pte Ltd 10000 USD for invoice 4567. This is the base ISO 20022 structure. Scheme rules add to it: under CBPR+ the message must carry a UETR and fully structured debtor and creditor addresses, and under SEPA SCT the charge bearer must be SLEV only. The chapter example names the agents only as the London bank and the Singapore bank, so no BIC is shown. The UETR value shown is illustrative; the chapter names no UETR value.

0:00 / 1:49 Step 1 of 3

Group Header, the message envelope

pacs.008 Deep Dive, Lesson 2 of 8, Narration 1:49, D04 Messaging and standards

Control SumMessage IdentificationInitiating Party

What you will learn

Your objective. By the end of this lesson, you will be able to explain group header, the message envelope and apply it to a real banking scenario.

Why it matters. For a business analyst, the Group Header is important because it is the first place to look when a message fails validation.

Chapter objective: After this lesson the learner can read a pacs.008 message block by block, explain each field in business terms, and spot the errors that get a message rejected.

Key learning points

  • First block of the message
  • Whole message, not one payment
  • Envelope versus transaction

Key terms

Control Sum: The total of all transaction amounts in the message, used to check that no transaction was lost or corrupted.

Message Identification: A unique reference assigned by the sender to identify the message.

Initiating Party: The party that created the message, carried in the Group Header.

The Group Header box is highlighted in the hierarchy strip and its fields are highlighted in the XML panel.

Practise this lesson

Exercise

Read the pacs zero message described in this lesson and identify its key parts.

Use the message structure, fields and example in this lesson.

  1. What to do. List the three levels of the message and name the field that carries the amount and the field that carries the end-to-end reference.

Correct result. The amount is carried in the instructed amount element and the reference in the end-to-end identification. The three levels are the group header, the payment information, and the credit transfer transaction information.

Why. A message is only useful if you can read it. The group header identifies the message, the payment information identifies the batch, and the transaction information carries the single payment.

Check your understanding

Practice question

A pacs.008 is rejected by the receiving bank. The operations team opens the message and finds the creditor agent BIC is missing while the debtor account is present. What failed and what is the fix?

Takeaway and next step

What to remember

For a business analyst, the Group Header is important because it is the first place to look when a message fails validation.

Open the message type from this lesson and inspect its fields, then find the field that carries the amount.

Open the ISO 20022 Message Explorer →

Builds on "What pacs.008 is, and when it is used".

Transcript and full text

Show transcript

The Group Header is the first block in a pacs zero zero eight, and it contains information about the message as a whole rather than about any single transaction. It includes the Message Identification, which is a unique reference assigned by the sender to identify the message, the Creation Date and Time, which records when the message was created, and the Number of Transactions, which states how many credit transfer transactions are contained in the message. It also includes the Control Sum, which is the total of all the transaction amounts, and which can be used to check that no transaction has been lost or corrupted in transit. The Group Header also contains the Initiating Party, which identifies the party that created the message, and in some usage guidelines it contains the Settlement Information, which describes how the message will be settled, for example whether settlement is through a specific clearing system or through a correspondent account. The Group Header is not just administrative, it is used for validation, for tracking, and for reconciliation. If the Number of Transactions does not match the actual number of transactions in the message, the message will be rejected. If the Control Sum does not match the sum of the transaction amounts, the message will also be rejected, because that mismatch suggests a data error. For a business analyst, the Group Header is important because it is the first place to look when a message fails validation. A duplicate Message Identification can cause a message to be rejected as a duplicate, even if the transactions are new. A Control Sum error can cause an entire file to be held, even if only one transaction is wrong. Your requirements should state how the Message Identification is generated, how uniqueness is ensured, and how the Control Sum is calculated. You should also ensure that operations teams know how to read the Group Header, because it is the envelope that tells them how many payments to expect and what the total value should be. Take a worked example with real numbers. Bank A sends a pacs.008 with MsgId BANKA20261109-001, creation date and time 2026-11-09T09:30:00, number of transactions 3 and control sum EUR 75,000. The three transactions are EUR 25,000, EUR 30,000 and EUR 20,000, and the control sum is the total of the three. The initiating party is Bank A itself, identified by its BIC. The settlement information says the settlement method is CLRG, which means the payment settles through a clearing system, and the settlement date is 2026-11-09. If any of these fields is wrong, the whole message is rejected, because the Group Header is the envelope and the clearing system reads it before it reads any transaction. Failure and recovery: a duplicate MsgId is the most common Group Header failure, and it happens when a bank resends a message after a timeout without changing the MsgId. The receiver treats the second message as a duplicate and rejects it, and the sender must generate a new MsgId and resend. A control sum that does not match the transaction amounts is rejected with a pacs.002, and the sender must correct the sum and resend with a new MsgId. A creation date and time in the future, or a number of transactions that does not match the actual count, is rejected for the same reason. The recovery is always the same: fix the header, generate a new MsgId, and resend, because the header is the first thing the receiver validates and a header error stops the whole message. For a business analyst, product owner or subject matter expert, the test is to write the Group Header requirements for any pacs.008 product, naming each field, its source system, and its validation rule. The MsgId must be unique per sender per day, and the requirement must state how uniqueness is guaranteed, usually by a sequence number in the payment engine. The control sum must equal the sum of the transaction amounts, and the requirement must state who computes it and when. The initiating party must be the bank that created the message, not the corporate customer, and the requirement must state that distinction, because confusing the two is a common error in testing. Source: ISO 20022 pacs.008.001.08, Group Header. Last reviewed 7 November 2026.

The Group Header is the first block in a pacs zero zero eight, and it contains information about the message as a whole rather than about any single transaction. It includes the Message Identification, which is a unique reference assigned by the sender to identify the message, the Creation Date and Time, which records when the message was created, and the Number of Transactions, which states how many credit transfer transactions are contained in the message. It also includes the Control Sum, which is the total of all the transaction amounts, and which can be used to check that no transaction has been lost or corrupted in transit.

The Group Header also contains the Initiating Party, which identifies the party that created the message, and in some usage guidelines it contains the Settlement Information, which describes how the message will be settled, for example whether settlement is through a specific clearing system or through a correspondent account. The Group Header is not just administrative, it is used for validation, for tracking, and for reconciliation. If the Number of Transactions does not match the actual number of transactions in the message, the message will be rejected. If the Control Sum does not match the sum of the transaction amounts, the message will also be rejected, because that mismatch suggests a data error.

For a business analyst, the Group Header is important because it is the first place to look when a message fails validation. A duplicate Message Identification can cause a message to be rejected as a duplicate, even if the transactions are new. A Control Sum error can cause an entire file to be held, even if only one transaction is wrong. Your requirements should state how the Message Identification is generated, how uniqueness is ensured, and how the Control Sum is calculated. You should also ensure that operations teams know how to read the Group Header, because it is the envelope that tells them how many payments to expect and what the total value should be.

Take a worked example with real numbers. Bank A sends a pacs.008 with MsgId BANKA20261109-001, creation date and time 2026-11-09T09:30:00, number of transactions 3 and control sum EUR 75,000. The three transactions are EUR 25,000, EUR 30,000 and EUR 20,000, and the control sum is the total of the three. The initiating party is Bank A itself, identified by its BIC. The settlement information says the settlement method is CLRG, which means the payment settles through a clearing system, and the settlement date is 2026-11-09. If any of these fields is wrong, the whole message is rejected, because the Group Header is the envelope and the clearing system reads it before it reads any transaction.

Failure and recovery: a duplicate MsgId is the most common Group Header failure, and it happens when a bank resends a message after a timeout without changing the MsgId. The receiver treats the second message as a duplicate and rejects it, and the sender must generate a new MsgId and resend. A control sum that does not match the transaction amounts is rejected with a pacs.002, and the sender must correct the sum and resend with a new MsgId. A creation date and time in the future, or a number of transactions that does not match the actual count, is rejected for the same reason. The recovery is always the same: fix the header, generate a new MsgId, and resend, because the header is the first thing the receiver validates and a header error stops the whole message.

For a business analyst, product owner or subject matter expert, the test is to write the Group Header requirements for any pacs.008 product, naming each field, its source system, and its validation rule. The MsgId must be unique per sender per day, and the requirement must state how uniqueness is guaranteed, usually by a sequence number in the payment engine. The control sum must equal the sum of the transaction amounts, and the requirement must state who computes it and when. The initiating party must be the bank that created the message, not the corporate customer, and the requirement must state that distinction, because confusing the two is a common error in testing. Source: ISO 20022 pacs.008.001.08, Group Header. Last reviewed 7 November 2026.

Full lesson text (all scenes)

Completing a lesson updates your progress dashboard on the homepage.

Scene timestamps are estimated by allocating the narration text proportionally across the real audio length. The audio playback position is the source of truth: pause freezes the visual, seeking restores the correct scene, replay restarts the scene animation.

Scene beat timestamps for this lesson were measured from the real audio, not estimated.