ediverse Explore the platform

Spotlight PEPPOL BIS Billing 3.0 The EU e-invoicing mandate is here — France Sept 2026, Belgium Jan 2026, Germany 2025.

pacs.028 — FI to FI Payment Status Request

A bank queries another bank on the status of a prior payment (pacs.008 or pacs.009) that has not received its expected pacs.002 on time. Inseparable from SWIFT gpi UETR tracker for cross-border transparency.

Purpose: query the status

When a pacs.008 departs to a correspondent and the expected pacs.002 doesn't arrive (10 min CBPR+, or D+1 on other rails), the ordering bank emits a pacs.028 to wake up the chain. The OrgnlUETR tag is the key: it allows each crossed bank to instantly locate the state in its SWIFT gpi Tracker.

XML structure

Wrapped in <FIToFIPmtStsReq>. GrpHdr + TxInf (repeatable).

ElementRole
StsReqIdRequest identifier.
OrgnlGrpInfMsgId + nmid of investigated message.
OrgnlInstrId / OrgnlEndToEndIdIndividual identifiers.
OrgnlUETRUUIDv4 of original payment — cross-correspondent matching key.
AcctSvcrRefServicer internal reference (useful for trace in internal logs).

Example: investigation request

BNP Paribas queries Citi US on the status of the pacs.008 sent 5 hours earlier — no pacs.002 received:

xml pacs-028-status-request.xml
<?xml version="1.0" encoding="UTF-8"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pacs.028.001.04">
  <FIToFIPmtStsReq>
    <GrpHdr>
      <MsgId>STSREQ-CBPR-20260518-001</MsgId>
      <CreDtTm>2026-05-18T15:00:00+02:00</CreDtTm>
      <NbOfTxs>1</NbOfTxs>
      <InstgAgt>
        <FinInstnId><BICFI>BNPAFRPP</BICFI></FinInstnId>
      </InstgAgt>
      <InstdAgt>
        <FinInstnId><BICFI>CITIUS33</BICFI></FinInstnId>
      </InstdAgt>
    </GrpHdr>
    <TxInf>
      <StsReqId>STSREQ-001</StsReqId>
      <OrgnlGrpInf>
        <OrgnlMsgId>BNPP-CBPR-20260518-001</OrgnlMsgId>
        <OrgnlMsgNmId>pacs.008.001.10</OrgnlMsgNmId>
      </OrgnlGrpInf>
      <OrgnlInstrId>BNPP-INSTR-2026001</OrgnlInstrId>
      <OrgnlEndToEndId>INV2026-187</OrgnlEndToEndId>
      <OrgnlUETR>1a2b3c4d-5e6f-7890-abcd-ef1234567890</OrgnlUETR>
      <AcctSvcrRef>BNPP-SVCREF-001</AcctSvcrRef>
    </TxInf>
  </FIToFIPmtStsReq>
</Document>

Common pitfalls

  • Empty or wrong OrgnlUETR: renders the request useless — UETR is the unique identifier carried across the SWIFTNet gpi chain.
  • pacs.028 before the gpi delay: spamming the chain by sending pacs.028 < 10 min after pacs.008 is frowned on (SWIFT SLA counters).
  • Multiple pacs.028 on same tx: some stacks deduplicate, others respond to every request — needless opex.
  • Confusion with camt.027: camt.027 (Claim Non Receipt) is used between customer and bank ; pacs.028 is strictly interbank.
  • pacs.008 — investigated original payment.
  • pacs.009 — original FI to FI transfer.
  • pacs.002 — expected reply.
  • camt.029 — Resolution of Investigation (broader case).