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

# Subscription troubleshooting

> Contracts that have stopped collecting, why they stopped, and how to get them billing again

Problems you might hit with recurring billing, and how to fix them. For what a single failure code means, see [Billing statuses](/documentation/manage/subscriptions/billing-statuses#failure-codes).

<AccordionGroup>
  <Accordion title="Billing fails with INVENTORY_ALLOCATIONS_NOT_FOUND">
    **Why it happens.** The product on the contract's line was deleted in Shopify. Shopify has no inventory to allocate the line against, so every billing attempt fails, and dunning retries it until the attempts run out.

    **How to fix it.** Point the line at a variant that still exists.

    <Steps>
      <Step title="Find every affected contract">
        On <Icon icon="shopify" iconType="solid" /> **[Subscription contracts](https://admin.shopify.com/apps/supercycle/subscription-contracts)**, filter **Product presence** to **Missing**. Those rows carry a red **Product deleted** badge.
      </Step>

      <Step title="Replace the product">
        Select the contracts, open **Replace deleted product** in the **•••** menu, and pick the variant they should bill against. See [Replace a deleted product](/documentation/manage/subscriptions/subscription-actions#replace-a-deleted-product).
      </Step>
    </Steps>

    Prices on the contract don't change, and lines still on a live product are left alone.
  </Accordion>

  <Accordion title="A customer's card has expired or been revoked">
    **Why it happens.** Cards expire, and customers cancel them or remove them from Shopify. The contract keeps pointing at the old card, so the next charge fails.

    **How to fix it.** Move the contract to another card, or ask the customer for a new one.

    <Steps>
      <Step title="Find the contracts">
        Filter **Payment method** to **Expired** or **Revoked**. The payment method cell carries the matching badge.
      </Step>

      <Step title="Move them, or ask the customer">
        [Change the payment method](/documentation/manage/subscriptions/subscription-actions#change-the-payment-method-on-a-contract) to move each contract onto another card its customer already has. Where there isn't one, [send a link to update the card](/documentation/manage/subscriptions/subscription-actions#send-a-link-to-update-the-card).
      </Step>
    </Steps>

    To catch this before it bites, filter **Payment method expiry** to **Next month** and email those customers while their card still works.
  </Accordion>

  <Accordion title="Charges are being created but nothing is collected">
    **Why it happens.** The contract has no payment method. Supercycle raises the charge on schedule but has nothing to charge, so collection parks and waits rather than failing. This is normal for a subscription or membership added to a draft order for a customer with no card on file.

    **How to fix it.** Get a card onto the customer, then onto the contract.

    <Steps>
      <Step title="Find the contracts">
        Filter **Payment method** to **Missing**.
      </Step>

      <Step title="Add a card">
        Ask the customer to add one, or add it yourself from their customer page. See [Card vaulting](/documentation/configuration/risk/card-vaulting).
      </Step>

      <Step title="Point the contract at it">
        [Change the payment method](/documentation/manage/subscriptions/subscription-actions#change-the-payment-method-on-a-contract) on the contract. Collection picks up from there.
      </Step>
    </Steps>

    Until then, collect the open charges yourself from <Icon icon="shopify" iconType="solid" /> **[Charges](https://admin.shopify.com/apps/supercycle/charges)**.
  </Accordion>

  <Accordion title="Editing the price only changed part of the contract">
    **Why it happens.** **Edit billing** writes to the contract's first line. A contract is expected to carry one line, so a contract with more usually means something went wrong when the order was placed. The modal warns you when it finds more than one.

    **How to fix it.** Contact support from the app with the customer's name and the cycle or membership ID. Extra lines need clearing up on the contract itself rather than in the admin.
  </Accordion>

  <Accordion title="A canceled contract still says it's collecting">
    **Why it happens.** It was canceled with **End after collection** ticked and it still has charges out. The contract pauses rather than ending, so the money in flight isn't written off.

    **How to fix it.** Nothing, unless you want to write those charges off. The billing card says what it's waiting for, such as **Billing will cancel once 2 unpaid charges are collected**, and links to them. The contract ends by itself once they settle. To end it now instead, cancel the outstanding charges from <Icon icon="shopify" iconType="solid" /> **[Charges](https://admin.shopify.com/apps/supercycle/charges)**.
  </Accordion>
</AccordionGroup>
