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

# Bill Fetch and Payment Error Codes

> Cashfree BBPS Customer Operating Unit (COU) compliance response codes for failed bill fetch, validation, and payment requests, with retry categories.

The Cashfree BBPS Customer Operating Unit (COU) API returns a compliance response code in `compliance_resp_cd` when a bill fetch, validation, or payment request fails. The accompanying `compliance_reason` gives the human-readable failure reason. Use these codes to identify the cause of a failure and to decide whether you can retry the request.

## Retry categories

Each error code maps to a retry category that tells you how to handle the failure. The following categories apply across all error groups:

* `NON_RETRIABLE`: the request will fail again with the same input. Do not retry the same request. Correct the customer details or inform the customer, as indicated by the reason.
* `RETRIABLE`: the failure is temporary, usually a biller or network issue. Retry the request after a short delay.
* `CONDITIONAL`: the outcome depends on inner error codes returned by the biller or the switch. Inspect the accompanying reason before you decide whether to retry.

<Note>
  Some reasons include additional timing guidance, such as retrying later or on the next day. Always honour the timing hint in the reason before you retry.
</Note>

## Bill fetch error codes

The [Bill Fetch Response API](/docs/api-reference/other-apis/bbps-cou/bill-fetch/response) returns these codes when a fetch request fails. Fetch codes use the `BFR` prefix.

| `compliance_resp_cd` | Reason                                                       | Category        |
| -------------------- | ------------------------------------------------------------ | --------------- |
| `BFR001`             | Incorrect or invalid customer account                        | `NON_RETRIABLE` |
| `BFR002`             | Invalid combination of customer parameters                   | `NON_RETRIABLE` |
| `BFR003`             | No bill data available                                       | `NON_RETRIABLE` |
| `BFR004`             | Payment received for the billing period, no bill due         | `NON_RETRIABLE` |
| `BFR005`             | Customer account is blocked or closed                        | `NON_RETRIABLE` |
| `BFR006`             | Customer account is not activated                            | `NON_RETRIABLE` |
| `BFR007`             | Bill due date has expired, bill details not available        | `NON_RETRIABLE` |
| `BFR008`             | Unable to get bill details from biller                       | `RETRIABLE`     |
| `BFR009`             | Scheduled downtime by biller, try again later                | `RETRIABLE`     |
| `BFR010`             | Unscheduled downtime by biller, try again later              | `RETRIABLE`     |
| `BFR011`             | Incomplete details in biller system, update customer profile | `NON_RETRIABLE` |
| `BFR012`             | ePayment not enabled for the dealer                          | `NON_RETRIABLE` |
| `BFR013`             | Maximum refill count reached                                 | `NON_RETRIABLE` |
| `BFR014`             | Consumer has reported loss of cylinder                       | `NON_RETRIABLE` |
| `BFR015`             | Cannot take booking, consumer KYC not submitted              | `NON_RETRIABLE` |
| `BFR016`             | One prior booking is pending against this consumer           | `NON_RETRIABLE` |
| `BFR017`             | Price not yet set for nature or package code. Retry later.   | `RETRIABLE`     |
| `BFR018`             | Day-end not done, try after some time                        | `RETRIABLE`     |
| `BFR019`             | Consumer number and distributor not matching                 | `NON_RETRIABLE` |
| `BFR020`             | LPG ID not found                                             | `NON_RETRIABLE` |
| `BFR021`             | Vehicle registration number invalid or does not exist        | `NON_RETRIABLE` |
| `BFR022`             | FASTag inactive or blocked, recharge not allowed             | `NON_RETRIABLE` |
| `BFR023`             | FASTag exempted, recharge not allowed                        | `NON_RETRIABLE` |

## Bill validation error codes

The [Bill Fetch Response API](/docs/api-reference/other-apis/bbps-cou/bill-fetch/response) returns these codes when a bill validation request fails. Validation codes use the `BVR` prefix.

| `compliance_resp_cd` | Reason                                              | Category        |
| -------------------- | --------------------------------------------------- | --------------- |
| `BVR001`             | Incorrect or invalid customer account               | `NON_RETRIABLE` |
| `BVR002`             | Invalid combination of customer parameters          | `NON_RETRIABLE` |
| `BVR003`             | Customer account is blocked or closed               | `NON_RETRIABLE` |
| `BVR004`             | Customer account is not activated                   | `NON_RETRIABLE` |
| `BVR005`             | Invalid amount                                      | `NON_RETRIABLE` |
| `BVR006`             | Customer account deactivated, pay to activate       | `NON_RETRIABLE` |
| `BVR007`             | Incomplete details in biller system, update profile | `NON_RETRIABLE` |
| `BVR008`             | Customer account valid but no bill due              | `NON_RETRIABLE` |
| `BVR009`             | Technical exception from biller                     | `RETRIABLE`     |

## Payment posting error codes

The [Bill Payment Response API](/docs/api-reference/other-apis/bbps-cou/bill-payment/response) returns these codes when a payment fails at the biller. Payment codes use the `BPR` prefix.

| `compliance_resp_cd` | Reason                                                             | Category        |
| -------------------- | ------------------------------------------------------------------ | --------------- |
| `BPR001`             | Incorrect or invalid customer account                              | `NON_RETRIABLE` |
| `BPR002`             | Invalid combination of customer parameters                         | `NON_RETRIABLE` |
| `BPR003`             | Customer account is blocked or closed                              | `NON_RETRIABLE` |
| `BPR004`             | Customer account is not activated                                  | `NON_RETRIABLE` |
| `BPR005`             | Payment cannot be accepted at this time                            | `RETRIABLE`     |
| `BPR006`             | Payment request has been exceeded for the day. Retry the next day. | `NON_RETRIABLE` |
| `BPR007`             | Repeat payment request                                             | `NON_RETRIABLE` |
| `BPR008`             | Due date expired, re-fetch to get current outstanding              | `RETRIABLE`     |
| `BPR009`             | Scheduled downtime by biller, try again later                      | `RETRIABLE`     |
| `BPR010`             | Unscheduled downtime by biller, try again later                    | `RETRIABLE`     |
| `BPR011`             | Payment amount different from current outstanding                  | `RETRIABLE`     |
| `BPR012`             | FASTag top-up failed, try again later                              | `RETRIABLE`     |

## Infrastructure error codes

These codes indicate a transport or switch-level failure between the operating units, rather than a biller decision. Codes with the `BOU` prefix relate to the Biller Operating Unit, and codes with the `COU` prefix relate to the Customer Operating Unit.

| `compliance_resp_cd` | Reason                                              | Category        |
| -------------------- | --------------------------------------------------- | --------------- |
| `BOU001`             | Send failed to BOU                                  | `RETRIABLE`     |
| `BOU002`             | Inner error codes from BOU negative acknowledgement | `CONDITIONAL`   |
| `BOU003`             | Timeout at BOU                                      | `RETRIABLE`     |
| `BOU004`             | BOU reversal retry failure                          | `NON_RETRIABLE` |
| `BOU005`             | BOU reversal response timeout                       | `NON_RETRIABLE` |
| `BOU006`             | Connect timeout at BOU                              | `RETRIABLE`     |
| `BOU007`             | Read timeout at BOU                                 | `RETRIABLE`     |
| `BOU008`             | Unable to connect to BOU                            | `RETRIABLE`     |
| `BOU009`             | Pending transaction timeout at BOU                  | `RETRIABLE`     |
| `COU001`             | Send failed to COU                                  | `RETRIABLE`     |
| `COU002`             | Inner error codes from COU negative acknowledgement | `CONDITIONAL`   |
| `COU003`             | COU reversal retry failure                          | `NON_RETRIABLE` |
| `COU006`             | Connect timeout at COU                              | `RETRIABLE`     |
| `COU007`             | Read timeout at COU                                 | `RETRIABLE`     |
| `COU008`             | Unable to connect to COU                            | `RETRIABLE`     |
