> ## 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` |


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