ISO 20022 cash management
Cash management processes use ISO 20022 camt.053.001.02 messages according to the CGI (Common Global Implementation).
BankRec produces a camt.053.001.002 bank statement with Australian transactions.
File validation
camt.053.001.02 files are compliant with the v2 XML schema on ISO 200200 Bank to Customer messages (CGI compliant version).
camt.053.001.02
The structure of a camt.053.001.02 file is:
- Many accounts can be present in one file.
- There will be one header for each statement containing date/time, balances and BSB/Account details.
- A statement can have any number of transaction records, each containing the details of a transaction.
- Most transactions are single amounts or a bulked amount of other composite transactions (e.g. a total BPAY settlement). These are called bulked transactions.
- Some transactions can be broken down into individual sub-transactions (e.g. individual BPAY payments). These are called debulked transactions and will also contain the bulked settlement amount.
- One block at the 'Group Level'.
- One 'Message Identification'
- One 'Created Date Time'
- One 'Additional Information'
- One or more blocks at the 'Statement Level' (for each account)
- One 'Account Information'
- Three 'Balances' (opening, closing and available)
- One 'Transaction Summary'
- Zero or more blocks at the 'Transaction Level'
- One 'Transaction Header'
- One or more 'Transaction Details'
Important: Please refer to the v2 XML schema on ISO 200200 Bank to Customer messages (CGI compliant version).
Group level
<BkToCstmrStmt>
<GrpHdr>
<MsgId>6438754992</MsgId>
<CreDtTm>2017-12-06T01:19:25</CreDtTm>
<AddtlInf>EODY</AddtlInf>
</GrpHdr>
...
</BkToCstmrStmt>
- The
MsgId
is a unique number created for every camt.053.001.02 statement file. Use this combined with the statement level sequence number (if you have multiple accounts per file) to ensure you do not process the same file twice. CreDtTm
is the time stamp showing when the file was generated.AddtlInf
identifies the type of statement file.EODY
indicates that it is an end-of-day statement.
Lev | ISO XML element | Message Item | Req | Format | Example, Description or element name |
---|---|---|---|---|---|
1 | <Document> |
M | |||
2 | <BkToCstmrStmt> |
Bank to Customer Statement | M | <BkToCstmrStmt> |
|
3 | <GrpHdr> |
Group Header | M | <GrpHdr> |
|
4 | <MsgId> |
Message Identification | M | 1000044716 |
|
4 | <CreDtTm> |
Creation Date Time | M | yyyy-MM-dd'T'HH:mm:ss |
2018-12-14T14:05:41 |
4 | <AddtlInf> |
Additional Information | M | EODY |
Statement level
<Stmt>
<Id>0320011234562017-12-06T01:19:25</Id>
<ElctrncSeqNb>142</ElctrncSeqNb>
<CreDtTm>2017-12-06T01:19:25</CreDtTm>
<FrToDt>
<FrDtTm>2017-12-05T00:00:00</FrDtTm>
<ToDtTm>2017-12-05T23:59:59</ToDtTm>
</FrToDt>
<Acct></Acct>
<Bal></Bal>
...
</Stmt>
- The
Id
comprises of the BSB and account number and the time stamp. CreDtTm
is the time stamp showing when the statement was generated.- The from and to time stamps indicate the period that the transactions in the statement represent.
Lev | ISO XML element | Message Item | Req | Format | Example, Description or element name |
---|---|---|---|---|---|
2 | <Stmt> |
Statement | M | <Stmt> |
|
3 | <Id> |
Payment Information Identification | M | BSB + Account + Timestamp | 0320011234562017-12-06T01:19:25 |
3 | <ElctrncSeqNb> |
Electronic Sequence Number | M | Numeric | 142 |
3 | <CreDtTm> |
Creation Date Time | M | yyyy-MM-dd'T'HH:mm:ss |
2017-12-06T01:19:25 |
3 | <FrToDt> |
From To Date | M | <FrToDt> |
|
4 | <FrDtTm> |
From Date Time | M | yyyy-MM-dd'T'HH:mm:ss |
2017-12-05T00:00:00 |
4 | <ToDtTm> |
To Date Time | M | yyyy-MM-dd'T'HH:mm:ss |
2017-12-05T23:59:59 |
Account information
<Acct>
<Id>
<Othr>
<Id>032001123456</Id>
</Othr>
</Id>
<Ccy>AUD</Ccy>
<Svcr>
<FinInstnId>
<BIC>WPACAU2S</BIC>
</FinInstnId>
</Svcr>
</Acct>
- The
Id
is the BSB and account number. - The
Ccy
field identifies the currency of the amounts presented in the file. - The
BIC
field is the Swift code of the institution that produced the file.
Lev | ISO XML element | Message Item | Req | Format | Example, Description or element name |
---|---|---|---|---|---|
3 | <Acct> |
Account | M | <Acct> |
|
4 | <Id> |
Id | M | <Id> |
|
5 | <Othr> |
Other | M | <Othr> |
|
6 | <Id> |
Id | M | BSB + Account | 032999999994 for 032-999 999994 |
4 | <Ccy> |
Currency | M | ISO 4217 currency code | AUD |
4 | <Svcr> |
Servicer | M | <Svcr> |
|
5 | <FinInstnId> |
Financial Institution Identification | M | <FinInstnId> |
|
6 | <BIC> |
BIC | M | Code | WPACAU2S |
Balances
<Bal>
<Tp>
<CdOrPrtry>
<Cd>OPBD</Cd>
</CdOrPrtry>
</Tp>
<Amt Ccy="AUD">7484527.35</Amt>
<CdtDbtInd>CRDT</CdtDbtInd>
<Dt>
<Dt>2017-12-05</Dt>
</Dt>
</Bal>
- There will be 3 Balance records for each statement. They represent the opening balance (
Cd
=OPBD
), closing balance (Cd
=CLDB
) and available balance (Cd
=CLAV
). - The
Amt
field holds the value of the specified balance type. - The
Dt
field identifies the date that the balance refers to.
Lev | ISO XML element | Message Item | Req | Format | Example, Description or element name |
---|---|---|---|---|---|
3 | <Bal> |
Balance | M | <Bal> |
|
4 | <Tp> |
Type | M | <Tp> |
|
5 | <CdOrPrtry> |
Code Or Proprietary | M | <CdOrPrtry> |
|
6 | <Cd> |
Code | M | OPBD , CLDB , CLAV |
|
4 | <Amt Ccy="AAA"> |
Amount | M | Amount, currency specified | Balance amount |
4 | <CdtDbtInd> |
Credit Debit Indicator | M | Code | CRDT or DBIT |
4 | <Dt> |
Date | M | <Dt> |
|
5 | <Dt> |
Date | M | yyyy-MM-dd |
2017-12-05 |
Transaction summary
<TxsSummry>
<TtlNtries>
<NbOfNtries>687</NbOfNtries>
<Sum>13563249.33</Sum>
<TtlNetNtryAmt>10898261.33</TtlNetNtryAmt>
<CdtDbtInd>DBIT</CdtDbtInd>
</TtlNtries>
<TtlCdtNtries>
<NbOfNtries>279</NbOfNtries>
<Sum>1332494.00</Sum>
</TtlCdtNtries>
<TtlDbtNtries>
<NbOfNtries>414</NbOfNtries>
<Sum>12230755.33</Sum>
</TtlDbtNtries>
</TxsSummry>
Lev | ISO XML element | Message Item | Req | Format | Example, Description or element name |
---|---|---|---|---|---|
3 | <TxsSummry> |
Transactions Summary | M | <TxsSummry> |
|
4 | <TtlNtries> |
Total Entries | M | <TtlNtries> |
|
5 | <NbOfNtries> |
Number Of Entries | M | Numeric | 5 |
5 | <Sum> |
Sum | M | Amount | 500.00 |
5 | <TtlNetNtryAmt> |
Total Net Entry Amount | M | Amount | TtlCdtNtries/Sum + TtlDbtNtries/Sum , e.g. 100.00 |
5 | <CdtDbtInd> |
Credit Debit Indicator | M | Code | CRDT or DBIT |
4 | <TtlCdtNtries> |
Total Credit Entries | M | <TtlCdtNtries> |
|
5 | <NbOfNtries> |
Number Of Entries | M | Numeric | 2 |
5 | <Sum> |
Sum | M | Amount | TtlCdtNtries/Sum - TtlDbtNtries/Sum , e.g. 300.00 |
4 | <TtlDbtNtries> |
Total Debit Entries | M | <TtlDbtNtries> |
|
5 | <NbOfNtries> |
Number Of Entries | M | Numeric | 3 |
5 | <Sum> |
Sum | M | Amount | 200.00 |
Transaction level
Transaction header
<Ntry>
<NtryRef>477595609</NtryRef>
<Amt Ccy="AUD">667.35</Amt>
<CdtDbtInd>DBIT</CdtDbtInd>
<Sts>BOOK</Sts>
<BookgDt>
<Dt>2018-01-03</Dt>
</BookgDt>
<ValDt>
<Dt>2018-01-03</Dt>
</ValDt>
<BkTxCd>
<Domn>
<Cd>PMNT</Cd>
<Fmly>
<Cd>ICHQ</Cd>
<SubFmlyCd>BCHQ</SubFmlyCd>
</Fmly>
</Domn>
<Prtry>
<Cd>013</Cd>
<Issr>Westpac Australia</Issr>
</Prtry>
</BkTxCd>
<NtryDtls>
...
</NtryDtls>
</Ntry>
- The
NtryRef
field is a unique number that identifies the bulk settlement for a transaction. - The
Amt
represents the bulk settlement amount. - The
CdtDbtInd
identifies whether the transaction is a credit or a debit. - The two dates represent the date that the transaction was completed and the date that the funds are available.
- The
BkTxCd
block contains the Domain, Family and Sub Family codes that identify the transaction. It also contains the traditional bank transaction code for the transaction.
Lev | ISO XML element | Message Item | Req | Format | Example, Description or element name |
---|---|---|---|---|---|
3 | <Ntry> |
Entry | M | <Ntry> |
|
4 | <NtryRef> |
Entry Reference | M | Alphanumeric | |
4 | <Amt Ccy="AAA"> |
Amount | M | Amount, currency specified | Transaction amount, always positive - use credit debit indicator to differentiate. |
4 | <CdtDbtInd> |
Credit Debit Indicator | M | Code | CRDT or DBIT |
4 | <Sts> |
Status | M | Code | BOOK |
4 | <BookgDt> |
Booking Date | M | <BookgDt> |
|
5 | <Dt> |
Date | M | yyyy-MM-dd |
2018-01-03 |
4 | <ValDt> |
Value Date | M | <ValDt> |
|
5 | <Dt> |
Date | M | yyyy-MM-dd |
2018-01-03 |
4 | <BkTxCd> |
Bank Transaction Code | M | <BkTxCd> |
|
5 | <Domn> |
Domain | M | <Domn> |
|
6 | <Cd> |
Code | M | Code | PMNT |
6 | <Fmly> |
Family | M | <Fmly> |
|
7 | <Cd> |
Code | M | Code | ICHQ |
7 | <SubFmlyCd> |
Sub Family Code | M | Code | BCHQ |
5 | <Prtry> |
Proprietary | M | <Prtry> |
|
6 | <Cd> |
Code | M | Code | 013 |
6 | <Issr> |
Issuer | M | Alphanumeric |
Transaction details
<NtryDtls>
<TxDtls>
<Refs>
<InstrId>BI00007747</InstrId>
<EndToEndId>292</EndToEndId>
<TxId>2086196006</TxId>
</Refs>
<AmtDtls>
<TxAmt>
<Amt Ccy="AUD">667.35</Amt>
</TxAmt>
</AmtDtls>
<BkTxCd>
<Domn>
<Cd>PMNT</Cd>
<Fmly>
<Cd>ICHQ</Cd>
<SubFmlyCd>BCHQ</SubFmlyCd>
</Fmly>
</Domn>
<Prtry>
<Cd>013</Cd>
<Issr>Westpac Australia</Issr>
</Prtry>
</BkTxCd>
<AddtlTxInf>WESTPAC PPS - (CHEQUE PORTION)</AddtlTxInf>
</TxDtls>
</NtryDtls>
- The
InstrId
andEndToEndId
fields contain reference data that was passed to the bank by the customer when initiating the transaction. Note that theEndToEndId
is typically passed through the banking system from the initiating payment file. TheInstrId
orPmtInfId
is held at Westpac for statement enhancement. - The
Amt
contains the amount of the particular transaction. - The
BkTxCd
block contains the Domain, Family and Sub Family codes that identify the sub-transaction. It also contains the traditional bank transaction code for the transaction. - The
AddtlTxInf
field usually contains the transaction narrative that would appear on the customers' bank statement.
Lev | ISO XML element | Message Item | Req | Format | Example, Description or element name |
---|---|---|---|---|---|
4 | <NtryDtls> |
Entry Details | M | <NtryDtls> |
|
5 | <TxDtls> |
Transaction Details | M | <TxDtls> |
|
6 | <Refs> |
References | M | <Refs> |
|
7 | <InstrId> |
Instruction Identification | O | BI00007747 |
|
7 | <EndToEndId> |
End To End Identification | O | 292 |
|
7 | <TxId> |
Transaction Identification | O | 2086196006 |
|
7 | <PmtInfId> |
Payment Information Identification | O | 12345 |
|
6 | <AmtDtls> |
Amount Details | M | ||
7 | <TxAmt> |
Transaction Amount | M | ||
8 | <Amt Ccy="AAA"> |
Amount | M | Amount, currency specified | Transaction amount |
6 | <BkTxCd> |
Bank Transaction Code | M | ||
7 | <Domn> |
Domain | M | ||
8 | <Cd> |
Code | M | Code | PMNT |
8 | <Fmly> |
Family | M | <Fmly> |
|
9 | <Cd> |
Code | M | Code | ICHQ |
9 | <SubFmlyCd> |
Sub Family Code | M | Code | BCHQ |
7 | <Prtry> |
Proprietary | M | <Prtry> |
|
8 | <Cd> |
Code | M | Code | 013 |
8 | <Issr> |
Issuer | M | Alphanumeric | Westpac Australia |
6 | <AddtlTxInf> |
Additional Transaction Information | O | Alphanumeric | WESTPAC PPS - (CHEQUE PORTION) |
Identifying transactions
The below table lists common types of transactions that may appear in the camt.053.001.02 bank statement file. This table uses the transaction code and domain properties to identify the transaction type.
Payment type | Transaction code | Domain code | Family code | Sub-family code | Credit/debit indicator |
---|---|---|---|---|---|
Cheque dishonour | 007 |
PMNT |
RCHQ |
UPCQ |
DBIT |
PPS Refund | 013 |
PMNT |
ICHQ |
BCHQ |
DBIT |
EFT Refund via CoL | 014 |
PMNT |
ICDT |
DMCT |
DBIT |
Fee | 015 |
CAMT |
ACCB |
CHRG |
DBIT |
BPAY | 022 |
PMNT |
MDOP |
ADJT |
DBIT |
Chargeback | 022 |
PMNT |
MDOP |
ADJT |
DBIT |
Merchant Settlement | 041 |
PMNT |
MCRD |
RIMB |
DBIT |
DIRECT ENTRY DRAWING | 046 |
PMNT |
ICDT |
ASET |
DBIT |
EFT | 050 |
PMNT |
RCDT |
ACDT |
CRDT |
BPAY | 050 |
PMNT |
LBOX |
LBDP |
CRDT |
Lockbox | 050 |
PMNT |
LBOX |
LBDP |
CRDT |
Stop Cheque | 050 |
PMNT |
ICHQ |
CQRV |
CRDT |
Cheque Deposit | 060 |
PMNT |
CNTR |
BCDP |
CRDT |
Cheque Deposit | 061 |
PMNT |
CNTR |
BCDP |
CRDT |
EFT | 070 |
PMNT |
RCDT |
ACDT |
CRDT |
EFT | 073 |
PMNT |
RCDT |
SDVA |
CRDT |
Merchant Settlement | 095 |
PMNT |
MCRD |
RIMB |
CRDT |
EFT Refund Returns | 269 |
PMNT |
ICDT |
ARET |
CRDT |
Off-system BSB | 510 |
PMNT |
OTHR |
OTHR |
CRDT |
Enrichment support
If you receive a data-enriched (debulked or enriched) statement, there will be some modifications to the TxDtls
element in the camt.053.001.02 file.
Debulked receivables enrichment
For debulked receivables enrichment, the following modifications will be performed to the TxDtls
element of the camt.053.001.02 file:
- Each
TxDtls
element that previously represented a bulk settlement will be replaced with multipleTxDtls
elements that represent multiple individual payments that formed part of the bulk settlement. TxDtls/Refs/MsgId
: This element will be populated with theMessage Id
from the Payment Batch if available, otherwise omitted.TxDtls/Refs/PmtInfId
: This element be populated with thePayment Information Id
from the Payment Batch if available, otherwise omitted.TxDtls/Refs/TxId
: This element will be populated with a unique, BankRec-generated transaction identifier.TxDtls/RltdPties/Dbtr/Nm
: This element will be populated with theDebtor Name
from the transaction.TxDtls/Refs/AcctSvcrRef
: This element will be omitted.TxDtls/BkTxCd/Domn/Fmly/SubFmlyCd
: The value of this element will change to reflect the type of transaction (payment or refund).
Type | Transaction code | Domain | Family code | Sub-family code |
---|---|---|---|---|
Merchant Transaction (Credit Settlement) | 095 |
PMNT |
MCRD |
RIMB |
Merchant Refund (Credit Settlement) | 095 |
PMNT |
MCRD |
DAJT |
Merchant Transaction (Debit Settlement) | 041 |
PMNT |
MCRD |
RIMB |
Merchant Refund (Debit Settlement) | 041 |
PMNT |
MCRD |
DAJT |
Debulked payables enrichment
For debulked payables enrichment, the following modifications will be performed to the TxDtls
element of the camt.053.001.02 file:
- Each
TxDtls
element that previously represented a bulk settlement will be replaced with multipleTxDtls
elements that represent multiple individual payments that formed part of the bulk settlement. TxDtls/Refs/InstrId
: This element will be populated with theInstrument Id
from the Payables Payment Batch if available, otherwise omitted.TxDtls/Refs/EndToEndId
: This element will be populated with theEnd To End Id
from the Payables Payment Batch if available, otherwise omitted.TxDtls/Refs/TxId
: This element will be populated with a unique, BankRec-generated transaction identifier.TxDtls/RltdPties/Dbtr/Nm
: This element will be populated with theDebtor Name
from the transaction.TxDtls/Refs/AcctSvcrRef
: This element will be omitted.
External entry enrichment
For external entry enrichment (i.e, transactions enriched with information from an external EFT feed), the following modifications will be performed to the TxDtls
element of the camt.053.001.02 file:
TxDtls/Refs/AcctSvcrRef
: This element will be omitted.TxDtls/Refs/EndToEndId
: This element will be populated with thePayment Reference
sourced from the external feed.TxDtls/Refs/MsgId
: This element will be populated with a unique, BankRec-generated transaction identifier.TxDtls/Refs/TxId
: This element will be populated with a unique, BankRec-generated external transaction identifier.TxDtls/RltdPties/Cdtr/Nm
: This element will be populated if the transaction is a debit on your statement.TxDtls/RltdPties/Dbtr/Nm
: This element will be populated if the transaction is a credit on your statement.
For RTGS/OTT transactions, the following modifications will also be performed to the TxDtls
element:
TxDtls/RmtInf
: This element will be populated with aUstrd
element, populated with thePayment Detail
from the RTGS/OTT transaction.
New Payments Platform (NPP) payments enrichment
For any payments made on the NPP, the following modifications will be performed to the TxDtls
element of the camt.053.001.02 file:
TxDtls/Refs/EndToEndId
: This element will be populated with theEnd To End Id
from the NPP transaction if available, otherwise omitted.TxDtls/Refs/PmtInfId
: This element will be populated with the first 35 characters of theRemitter Description
from the NPP transaction.TxDtls/Refs/InstrId
: This element will be populated with the first 35 characters of theRemitter Description
from the NPP transaction.TxDtls/Refs/TxId
: This element will be populated with theTransaction Id
from the NPP transaction if available, otherwise will be populated with thePayment Id
from the NPP transaction.TxDtls/RltdPties/Cdtr/Nm
: This element will be populated with theBeneficiary Name
from the NPP transaction.TxDtls/RltdPties/Dbtr/Nm
: This element will be populated with theRemitter Name
from the NPP transaction.TxDtls/RltdPties/CtctDtls/Othr
: This element will be populated with thePayId Type
from the NPP transaction if available, otherwise omitted.TxDtls/RltdPties/CtctDtls/EmailAdr
: This element will be populated with thePayId
from the NPP transaction if available, otherwise omitted.TxDtls/RltdDts/TxDtTm
: This element will be populated with theReversal Date
from the NPP transaction if the transaction is a reversal, otherwise will be populated with theDebited Date
from the NPP transaction.TxDtls/RmtInf
: This element will be populated with up to twoUstrd
elements, populated with theBeneficiary Description
from the NPP transaction. These two elements should be concatenated to produce the complete description.TxDtls/RtrInf/Rsn/Cd
: This element will be populated with theReversal Reason Code
, or theReturn Reason Code
from the NPP transaction if available, otherwise omitted.TxDtls/RtrInf/AddtInf
: This element will be populated with theOriginal Transaction Id
from the NPP transaction if the transaction is a return or reversal, otherwise omitted.
If you require further enrichment, you should discuss this during your implementation.
Sample files
The following files are intended to be examples only.
NPP sample transactions
Download the NPP sample camt.053.001.02 file.
This file contains examples of all NPP transaction codes, and how they will appear in a standard camt.053.001.02 statement.