> For the complete documentation index, see [llms.txt](https://docs.nexusglobalpayments.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.nexusglobalpayments.org/messaging-and-translation/message-camt.054-bank-to-customer-debit-credit-notification.md).

# MESSAGE: camt.054 Bank to Customer Debit Credit Notification

Nexus uses the ISO 20022 `camt.054.001.13` Bank-to-Customer Debit/Credit Notification message to provide Instant Payment Systems, or IPSs, with end-of-day reconciliation information.

The `camt.054` report contains Nexus payment entries that have reached a final status (`ACCC`, `BLCK`, or `RJCT`) or a pending state (`PDNG`) within the applicable reconciliation window. The report is generated once per day for each IPS and can also be retrieved for custom time period through the Nexus reporting API or Nexus Service Desk.

For further detail on each element in the `camt.054`, please refer to the [Message Guidelines (Excel)](/messaging-and-translation/message-guidelines-excel.md).

### Purpose

The `camt.054` message helps IPS Operators (IPSOs) reconcile Nexus transactions against their own payment, settlement, and operational records.

It provides:

* A summary of report totals, including total entries, total credit entries, total debit entries, and amounts
* One or more transaction entries for payments processed by the Nexus Gateway
* Key references copied from the original `pacs.008`, including `MsgId`, `InstrId`, `UETR`, `TxId`, and `ClearingSystemReference`
* Final transaction status: `ACCC`, `BLCK`, or `RJCT`
* Pending transaction status: `PDNG`
* Amount, currency, exchange rate, fee, and agent information required for reconciliation
* No debtor or creditor personal information

### Report generation

Nexus generates one `camt.054` report archive per IPS per reporting day.

The daily report is generated after the end-of-day cutoff. The default generation time is `00:30` Singapore time.

The report is normally made available to the receiving IPS after generation is complete.

### Reconciliation window

For consistency, the reconciliation window is based on Singapore time, `UTC+08:00`.

A transaction is included in the report based on the `AccptncDtTm` value from the original `pacs.008`.

For Day N, the reconciliation window runs from:

```
00:00:00 on Day N
to
23:59:59 on Day N+1
```

### Statuses included

The daily `camt.054` report includes transactions with the following status:

<table><thead><tr><th width="143">Status</th><th>Meaning</th></tr></thead><tbody><tr><td><code>ACCC</code></td><td>Accepted and settlement completed</td></tr><tr><td><code>BLCK</code></td><td>Blocked</td></tr><tr><td><code>RJCT</code></td><td>Rejected</td></tr><tr><td><code>PDNG</code></td><td>Pending</td></tr></tbody></table>

### Delivery model

Nexus provides the report as a downloadable archive.

The typical daily flow is:

1. The IPS checks whether the daily report is ready.
2. Nexus returns the current report status and metadata.
3. Once ready, the IPS requests a download link.
4. Nexus returns a time-limited pre-signed download URL.
5. The IPS downloads the archive directly.
6. The IPS verifies the archive hash, extracts the XML files, validates the messages, and feeds them into its reconciliation process.

Each archive contains:

* One XML file per `camt.054` message
* A `manifest.json` file
* Report metadata, including message count, sequence range, batch version, generation timestamp, and archive hash

### Daily retrieval API

<table><thead><tr><th width="358">Endpoint</th><th width="101" align="center">Method</th><th>Purpose</th></tr></thead><tbody><tr><td><code>/v1/camt054-eod-status?date=YYYY-MM-DD</code></td><td align="center"><code>GET</code></td><td>Check whether the daily report for the requested date is ready</td></tr><tr><td><code>/v1/camt054/archive?date=YYYY-MM-DD</code></td><td align="center"><code>GET</code></td><td>Retrieve a time-limited download URL for the daily report archive</td></tr></tbody></table>

All endpoints are scoped to the authenticated IPS. An IPS can only access reports and messages that it is authorized to retrieve.

### Daily report status values

The daily report status endpoint may return the following statuses:

<table><thead><tr><th width="186">Status</th><th>Meaning</th></tr></thead><tbody><tr><td><code>pending</code></td><td>Report generation has not started</td></tr><tr><td><code>in_progress</code></td><td>Report generation is currently running</td></tr><tr><td><code>ready</code></td><td>Report archive is available for download</td></tr><tr><td><code>delayed</code></td><td>Report generation is delayed</td></tr><tr><td><code>no_activity</code></td><td>No qualifying transactions were found for the reporting day</td></tr><tr><td><code>failed</code></td><td>Report generation failed</td></tr></tbody></table>

### Daily Processing Flow

<figure><img src="/files/B9J3Hb2Br5R0M7TZgXd1" alt=""><figcaption></figcaption></figure>

### Historical retrieval

For audit, backfill, or missed extraction scenarios, IPSOs can request a historical export.

The historical export flow is asynchronous:

1. Submit an export request with a date range.
2. Receive a `jobId`.
3. Poll the export job until it is ready.
4. Download the generated archive.
5. Verify and process the extracted `camt.054` XML files.

<table><thead><tr><th width="305">Endpoint</th><th width="100" align="center">Method</th><th>Purpose</th></tr></thead><tbody><tr><td><code>/v1/exports</code></td><td align="center"><code>POST</code></td><td>Submit a historical export job</td></tr><tr><td><code>/v1/exports/{jobId}</code></td><td align="center"><code>GET</code></td><td>Check export job status</td></tr><tr><td><code>/v1/exports/{jobId}/download</code></td><td align="center"><code>GET</code></td><td>Download the completed export archive</td></tr></tbody></table>

A historical export can be used when an IPSO needs to re-run reconciliation for a previous date, recover from an operational outage, or retrieve a multi-day reporting period.

### Historical retrieval flow

<figure><img src="/files/DWqQM5C43Q7SjdoBLtiU" alt=""><figcaption></figcaption></figure>

### Reconciliation matching

IPSOs should use `UETR` as the primary matching key because it is globally unique and copied from the original `pacs.008`.

The following fields can also be used for cross-validation:

* `MsgId`
* `InstrId`
* `TxId`
* `ClearingSystemReference`

### Validation and processing guidance

After downloading the report archive, IPS should:

1. Verify the archive hash returned by Nexus.
2. Extract the archive.
3. Validate each XML file against the supported `camt.054.001.13` schema.
4. Check the manifest for message count and sequence completeness.
5. Match entries back to the original `pacs.008` records.
6. Route validation or reconciliation failures to an exception process.

### Privacy and data minimisation

The Nexus `camt.054` is designed for reconciliation. It does not contain debtor or creditor names, addresses, or account identifiers.

Counterparty-related information is represented through institution and agent identifiers, such as BICs, rather than personal or account-level details.

### Corrections

If a corrected report is issued, Nexus publishes a new report version for the same IPS and reporting date.

Consumers should check the report version returned by the status endpoint. If a higher version is available, the IPS should retrieve and process the corrected archive according to its internal reconciliation and exception-handling procedures.

Where applicable, superseding messages use ISO 20022 duplicate or copy semantics to reference the original message.
