Integration via ISO - Step 6: Reconcile
Reconciliation
Widget Co. uses ISO 20022 camt messages to automate the reconciliation processes for both Account Payables (AP) and Account Receivables (AR). Camt’s rich, structured, and timely data enhances the reconciliation effort and reduces manual overhead. Widget Co. is able to match the detailed transaction information received in the camt messages against their internal records (open invoices for AR, payment instructions for AP) using specific identifiers and data points embedded within the XML structure.
Intraday Payables Reconciliation for Batch Payments
Widget Co. utilizes the TxB camt.052 report to reconcile outgoing batch payments. Taking the batch payment initiated at "Step 3: Payout" as an illustrative example, the following outlines the reconciliation process. Key payment details:
- Payment Batch ID PaymentReqID0000001 for a total amount of USD 406.00
- Payment #1 End_To_End ID TxE2EID000001 for USD 106.00
- Payment #2 End_To_End ID TxE2EID000002 for USD 300.00
- Since this is a batch payment, Widget Co. account must have a single debit representing the total value of all transactions within the batch, USD 406.00
As an outgoing payment (e.g., debit in the account), Widget Co.'s reconciliation process will match the transaction to the following intraday entry <Ntry> in the camt.052 file:
<Amt Ccy="USD">406.00</Amt>- Amount and Currency of the batch transaction<CdtDbtInd>DBIT</CdtDbtInd>- Debit, decrease in account value (Outflow)<PmtInfId>PaymentReqID0000001</PmtInfId>- This identifier is the batch-id of the payments and should match with the original payment instructions (step3: Payout)
<NtryDtls>
<TxDtls>
<Refs>
<MsgId>GSEWNXMYR9UIH</MsgId>
<PmtInfId>PaymentReqID0000001</PmtInfId> <!-- Widget Co. provided Batch ID -->
</Refs>
<AmtDtls>
<InstdAmt>
<Amt Ccy="USD">406.00</Amt>
</InstdAmt>
<TxAmt>
<Amt Ccy="USD">406.00</Amt> <!-- ISO Currency Code with Amount -->
</TxAmt>
</AmtDtls>
<Purp>
<Prtry>BILLPAY</Prtry>
</Purp>
. . .
</TxDtls>
</NtryDtls>
Intraday Payables Reconciliation for Wire and Faster Payments
camt.052 report is also used to reconcile outgoing individual payments (e.g., Wires) with little change in the logic. Taking again the payment initiated at "Step 3: Payout" as an illustrative example, the following outlines the reconciliation process for individual payments:
- Payment Batch ID PaymentReqID0000002 with a total amount of USD 4012.00
- FedWire Payment #1 End_To_End ID TxE2EID000021 for USD 4012.00
- Widget Co. account must have a single debit representing the total value of all transactions within the batch, USD 4012.00
As an outgoing payment (e.g., debit in the account), Widget Co.'s reconciliation process will match the transaction to the following intraday entry <Ntry> in the camt.052 file:
<Amt Ccy="USD">USD 4012.00</Amt>- Amount and Currency of the batch transaction<CdtDbtInd>DBIT</CdtDbtInd>- Debit, decrease in account value (Outflow)<EndToEndId>TxE2EID000021</EndToEndId>- This identifier is the only change, instead of the batch-id, for individual payments Widget Co. match the original payment instructions (step3: Payout) using the payment end-to-end Id.
<NtryDtls>
<TxDtls>
<Refs>
<MsgId>GSPTF0GCPA7</MsgId>
<PmtInfId>PaymentReqID0000002</PmtInfId>
<EndToEndId>TxE2EID000021</EndToEndId> <!-- Widget Co. provided EndtoEndID -->
</Refs>
<AmtDtls>
<InstdAmt>
<Amt Ccy="USD">4012.00</Amt>
</InstdAmt>
<TxAmt>
<Amt Ccy="USD">4012.00</Amt> <!-- ISO Currency Code with Amount -->
</TxAmt>
</AmtDtls>
. . .
</TxDtls>
</NtryDtls>
Intraday Receivables Reconciliation
Widget Co. uses the same camt.052 report to reconcile incoming payments. As an incoming payment (e.g., credit in the account), Widget Co.'s reconciliation process matches outstanding invoices to the transaction in the Entry (<Ntry>) block:
<CdtDbtInd>CRDT</CdtDbtInd>- Credit, increase in account value (Inflow)- Unstructured Remittance Information
<RmtInf><Ustrd>Payment for INV12345</Ustrd>- Text string of up to 140 characters provided by the payor - Structured Remittance Information
<RmtInf><Strd><RfrdDocInf><Nb>INV12345</Nb>- If sent by payor's bank, structured remittance contains the invoice number, e.g., INV12345 <Amt Ccy="USD">950.21</Amt>- Amount and Currency of the incoming transaction<EndToEndId>WID_26_Q1_INV12345</EndToEndId>- Since the<EndToEndId>is populated across all payment rails, the payor may use it to include the invoice number
<Ntry>
<NtryRef>82061250</NtryRef>
<Amt Ccy="USD">950.21</Amt> <!-- Amount and Currency -->
<CdtDbtInd>CRDT</CdtDbtInd> <!-- CRDT indicating amount is credited -->
<RvslInd>false</RvslInd>
<Sts>BOOK</Sts>
<BookgDt>
<DtTm>2026-01-15T14:41:39.000Z</DtTm>
</BookgDt>
<ValDt>
<Dt>2026-01-15</Dt>
</ValDt>
<BkTxCd>
<Domn>
<Cd>PMNT</Cd>
<Fmly>
<Cd>RCDT</Cd>
<SubFmlyCd>DMCT</SubFmlyCd>
</Fmly>
</Domn>
<Prtry>
<Cd>Incoming Wire</Cd>
</Prtry>
</BkTxCd>
<NtryDtls>
<TxDtls>
<Refs>
<MsgId>GS0E373VERSGEYD</MsgId>
<EndToEndId>WID_26_Q1_INV12345</EndToEndId> <!-- Sender provided EndToEndID -->
. . .
</Refs>
<AmtDtls>
<InstdAmt>
<Amt Ccy="USD">950.21</Amt>
</InstdAmt>
<TxAmt>
<Amt Ccy="USD">950.21</Amt> <!-- Amount and Currency -->
</TxAmt>
</AmtDtls>
. . .
<RmtInf>
<Ustrd>Payment for INV12345</Ustrd> <!-- mention of Invoice number -->
</RmtInf>
. . .
</TxDtls>
</NtryDtls>
</Ntry>
End of Day Reconciliation
The ISO 20022 standard utilizes identical transaction entry details (<Ntry>) for both Intraday reports and End of Day statements. Consequently, the intraday reconciliation methodology is applicable to end-of-day reconciliation procedures as well. Widget Co. conducts the EOD reconciliation process to address transactions that remain unmatched at the close of business, as well as to manage any additional unexpected credits or debits recorded in the account.
Exception Management
During the end-of-day reconciliation process, an unidentified credit was identified in Widget Co.'s "SA Cloud Services" AP virtual account. Since incoming and outgoing payments are segregated in distinct payables and receivables virtual accounts, this exception can be addressed by the Account Payables team. By leveraging the camt.053 statement, comprehensive payment details are accessible for manual tracking and reconciliation of the unexpected credit.
<Ntry>
<NtryRef>82061250</NtryRef>
<Amt Ccy="USD">405.22</Amt> <!-- Amount and Currency -->
<CdtDbtInd>CRDT</CdtDbtInd> <!-- CRDT indicating amount is credited -->
. . .
<BkTxCd>
<Domn>
<Cd>PMNT</Cd>
<Fmly>
<Cd>ICDT</Cd>
<SubFmlyCd>RRTN</SubFmlyCd>
</Fmly>
</Domn>
<Prtry>
<Cd>Outgoing Wire Return</Cd>
</Prtry>
</BkTxCd>
<NtryDtls>
<TxDtls>
<Refs>
<MsgId>GS0E373VERSGEYD</MsgId>
<EndToEndId>RET_26_Q1_INV12345</EndToEndId>
. . .
</Refs>
<AmtDtls>
<InstdAmt>
<Amt Ccy="USD">405.22</Amt>
</InstdAmt>
<TxAmt>
<Amt Ccy="USD">405.22</Amt>
</TxAmt>
</AmtDtls>
. . .
<RmtInf>
<Ustrd>RTN/YR PAY REF INV12345… / UNKNOWN BENE</Ustrd> <!-- mention of Return -->
</RmtInf>
. . .
</TxDtls>
</NtryDtls>
</Ntry>
Upon reviewing the complete transaction description, the reconciliation team observes that the originating bank supplied the following details: "RTN/YR PAY REF INV12345… / UNKNOWN BENE" and the transaction type is a returned payment:
<BkTxCd><Prtry><Cd>Outgoing Wire Return</Cd><BkTxCd><Domn><Fmly><SubFmlyCd>RRTN</SubFmlyCd>
This information enables the team to link the credit to a returned payment issued to the provider the prior week. With these records, Widget Co. is able to re-initiate the payment using the correct beneficiary name.
Thank you for following our ISO 20022 integration best practices. Our goal is to ensure that these resources, alongside our comprehensive zip file samples, provide a seamless and efficient integration experience with Goldman Sachs Transaction Banking (TxB). Your insights are essential to our evolution; we welcome your feedback and invite you to suggest additional topics or best practices by contacting our team at Txb-Product-Solutions@gs.com.
| 1: Connect | 2: Create Account | 3: Payout | 4: Payout Status | 5: Account Status | 6: Reconcile |
|---|
Was this page useful?
Give feedback to help us improve developer.gs.com and serve you better.