> ## Documentation Index
> Fetch the complete documentation index at: https://docs.finventi.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Rejection reason codes

> Where to find the reason a payment was rejected, what the EKS codes mean and how duplicates are handled.

When a payment ends in `Rejected`, the clearing system or the beneficiary bank supplies a reason code. This page explains where to read it and what the codes you are most likely to meet on EKS mean.

## Where to find the code

* **API:** `statusReason` in [Get payment](https://docs.finventi.com/payments/api/accounts/get-payment.md), with a `code` and a `message`.
* **Dashboard:** open the payment and go to **Status history**.

The code comes from whoever rejected the payment. The platform passes it on unchanged.

## Who rejects a payment

| Rejected by | When | Typical codes |
| - | - | - |
| The platform | At creation, before anything is sent. The API answers `400` with an error code such as `VALIDATION_ERROR` or `INVALID_BIC`; no ISO reason code is involved | - |
| The clearing system | After `Sent to clear`, when the message fails the clearing system's checks or cannot be settled | `AM05`, `XT85`, `U03`, `AB06`, `PY01` |
| The beneficiary bank | SCT Inst only, in its real-time answer | `AC01`, `AC06`, `AG01`, `MS03` |

## EKS: SEPA Credit Transfer

Codes set by the EKS clearing service of Latvijas Banka. Source: Latvijas Banka, EKS clearing service specification.

| Code | Meaning |
| - | - |
| `AM01` | Amount is zero |
| `AM02` | Amount not allowed |
| `AM04` | Insufficient funds |
| `AM05` | Duplicate, see [Duplicates and AM05](#duplicates-and-am05) |
| `DT01` | Invalid date |
| `ED05` | Settlement failed |
| `XD19` | Invalid IBAN format |
| `XT13` | Unsupported XML field |
| `XT27` | A BIC in the message is not in the routing table of the clearing service |
| `XT33` | Invalid data format |
| `XT73` | Invalid country code |
| `XT85` | The message cannot be sent to this recipient in the current clearing cycle |
| `XT99` | Rejected for another reason |
| `U01` | The sender has been excluded from the clearing |
| `U02` | The creditor agent has been excluded from the clearing |
| `U03` | Rejected when the multilateral net positions were recalculated |

`U01`, `U02` and `U03` are raised by the clearing service, not by the beneficiary bank. The payment did not settle. Create a new payment if it is still needed.

## EKS: SEPA Instant

| Code | Meaning | Set by |
| - | - | - |
| `AB05` | Timeout at the beneficiary bank | Beneficiary bank |
| `AB06` | Timeout at the clearing system | Clearing system or beneficiary bank |
| `AB07` | An agent of the message is not online | Clearing system or beneficiary bank |
| `AB08` | Beneficiary bank is not online | Clearing system or beneficiary bank |
| `AB09` | Error at the beneficiary bank | Beneficiary bank |
| `AC01` | Incorrect account number | Beneficiary bank |
| `AC06` | Blocked account | Beneficiary bank |
| `AG01` | Transaction forbidden: crediting funds to this type of account is not allowed | Beneficiary bank |
| `AG10` | An agent of the message is suspended from the system | Clearing system or beneficiary bank |
| `AG11` | Beneficiary bank is suspended from the system | Clearing system or beneficiary bank |
| `AM02` | Amount not allowed | Clearing system or beneficiary bank |
| `AM05` | Duplicate, see [Duplicates and AM05](#duplicates-and-am05) | Clearing system or beneficiary bank |
| `CNOR` | Beneficiary bank is not registered under this BIC | Beneficiary bank |
| `DNOR` | Originator bank is not registered under this BIC | Beneficiary bank |
| `MS02` | Reason not specified, generated by the customer | Beneficiary bank |
| `MS03` | Reason not specified, generated by the bank | Beneficiary bank |
| `PY01` | BIC unknown in the routing table | Clearing system |
| `RC01` | Wrong BIC | Beneficiary bank |
| `RR04` | Regulatory reason | Beneficiary bank |
| `TM01` | Received after the time limit | Clearing system or beneficiary bank |

A code set by the beneficiary bank reflects that bank's own decision. In the sandbox the test counterparty decides, so its answers can differ from what you will see in production.

## Duplicates and AM05

`AM05` means the clearing system or the beneficiary bank has already received the same message. The platform itself never rejects a payment as a duplicate:

* **Same `Idempotency-Key`:** the platform returns the payment created by the first request. Nothing new is sent.
* **New `Idempotency-Key`:** the platform creates a new payment, even when every business field equals an earlier payment. Protect against double submission on your side by storing one key per payment intent.

EKS detects duplicates by transaction ID, debtor agent BIC and date. The platform assigns a unique transaction ID to every payment, so repeating an `endToEndId` does not cause `AM05`.

An `AM05` rejection does not name the original payment. To find a possible earlier payment, search your transactions by `endToEndId`, amount and creditor.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.