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

# Billing statuses

> What each billing status badge means, and the failure code behind every declined payment

Every subscription contract carries a billing status, shown as a badge on the contract row and on the billing card of the cycle or membership it belongs to. When a payment fails, the contract also carries the code Shopify returned. This page is what those mean.

***

## Statuses

| Status | When it's set | What it means |
| - | - | - |
| **Billing active** | The contract is collecting on schedule, which is how every contract starts. | The next charge fires on the date in **Next charge**. Nothing is needed from you. |
| **Billing paused** | Someone paused billing, or a return was created and your [subscription settings](/documentation/methods/subscription/subscription-settings#billing-end) pause on return. | Nothing is collected. The next charge date is kept and shown struck through. The rental is unaffected: the customer keeps the item and it's still due back. See [Pause billing](/documentation/manage/subscriptions/subscription-actions#pause-billing). |
| **Billing failed** | Shopify couldn't process a billing attempt. | The **Last payment** column carries the code Shopify returned, and [dunning](/documentation/manage/subscriptions/dunning) retries on the schedule you set. Look the code up in [Failure codes](#failure-codes) to see whether it needs you. |
| **Billing canceled** | Someone canceled billing, or the cycle or membership it billed for was removed. | No further charges are raised. Where charges were still being collected and **End after collection** was ticked, the contract pauses first and ends once they settle. See [Cancel billing](/documentation/manage/subscriptions/subscription-actions#cancel-billing). |
| **Billing complete** | The contract reached the end of its billing, rather than being canceled part way through. | No further charges are raised. Rows in this status are dimmed in the table, alongside canceled ones. |

***

## Failure codes

The **Last payment** column shows the raw code. The charge page and the dunning banner show the message below.

| Code | What it means | What to do |
| - | - | - |
| `EXPIRED_PAYMENT_METHOD` | The customer's card has expired | [Send a link to update the card](/documentation/manage/subscriptions/subscription-actions#send-a-link-to-update-the-card) |
| `PAYMENT_METHOD_DECLINED` | The processor declined the card | Ask the customer to contact their bank or use another card |
| `PAYMENT_METHOD_NOT_FOUND` | No active payment method on the contract | Make sure the customer has a vaulted card, then [change the payment method](/documentation/manage/subscriptions/subscription-actions#change-the-payment-method-on-a-contract) |
| `INVALID_PAYMENT_METHOD` | The payment method isn't valid | Ask the customer to update their details or add a new method |
| `BUYER_CANCELED_PAYMENT_METHOD` | The customer canceled the payment method | Ask the customer to update their payment details |
| `INVALID_CUSTOMER_BILLING_AGREEMENT` | The billing agreement behind the payment is invalid | Ask the customer to add a new payment method |
| `INVENTORY_ALLOCATIONS_NOT_FOUND` | Shopify found no inventory location for the line, which usually means the product was deleted | [Replace the deleted product](/documentation/manage/subscriptions/subscription-actions#replace-a-deleted-product) |
| `AMOUNT_TOO_SMALL` | The charge is below what the gateway accepts | Raise the recurring price with [Edit billing](/documentation/manage/subscriptions/subscription-actions#edit-billing) |
| `INVALID_SHIPPING_ADDRESS` | The shipping address is missing or wrong | Correct the address on the customer's profile |
| `CUSTOMER_INVALID` | The customer account isn't valid | Check the customer in your Shopify admin |
| `CUSTOMER_NOT_FOUND` | No matching customer account | Confirm the customer still exists in Shopify |
| `INVOICE_ALREADY_PAID` | The invoice was already paid | Check the order status before charging again |
| `PAYMENT_METHOD_INCOMPATIBLE_WITH_GATEWAY_CONFIG` | The payment method doesn't suit your gateway settings | Check your gateway configuration, or use another payment method |
| `PAYMENT_PROVIDER_IS_NOT_ENABLED` | The payment provider is turned off | Turn it on in your Shopify payment settings |
| `TEST_MODE` | The gateway is in test mode but a live card was used | Take the gateway out of test mode |
| `AUTHENTICATION_ERROR` | Authentication failed during processing | Check the customer's payment details, then retry |
| `TRANSIENT_ERROR` | A temporary problem at the gateway | Retry after a few minutes. Dunning does this for you |
| `UNEXPECTED_ERROR` | Something else went wrong during billing | Retry. If it keeps failing, contact support from the app with the charge ID |

***

## Related documentation

<CardGroup cols={2}>
  <Card title="Dunning" icon="rotate-right" href="/documentation/manage/subscriptions/dunning">
    Retry failed payments on a schedule you set.
  </Card>

  <Card title="Troubleshooting" icon="triangle-exclamation" href="/documentation/manage/subscriptions/subscription-troubleshooting">
    Contracts that have stopped billing, and how to restart them.
  </Card>
</CardGroup>


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