After a prepaid subscription has been billed for, the merchant or customer might want to make changes to the subscription contract or order. For example, they might want to reschedule a shipment or refund one of the scheduled fulfillments. This guide shows how to manage and make changes to scheduled fulfillments for prepaid subscriptions. ## Requirements > Note: > > - Most subscriptions, pre-order and try before you buy apps need to request API access through the [Partner Dashboard](/docs/apps/build/authentication-authorization/access-tokens/authorization-code-grant#ask-for-permission). We give API access to apps that are designed according to our [principles for subscriptions, pre-order and TBYB apps] (/docs/apps/selling-strategies/purchase-options#shopifys-principles). > - Public apps that use subscriptions, pre-order or TBYB need to meet [specific requirements](/docs/apps/launch/app-requirements-checklist#purchase-option-apps) to be published on the Shopify App Store. > - Custom apps [created in the Shopify admin](/docs/apps/build/authentication-authorization/access-tokens/generate-app-access-tokens-admin) can't use subscriptions, pre-order or TBYB because these apps can't use extensions or request access to protected scopes. If you're building a solution for a single store, then build your custom app in the Partner Dashboard. - Your app can make [authenticated requests](/docs/api/admin-graphql#authentication) to the GraphQL Admin API. - Your app has the `merchant_managed_fulfillment_orders` and `third_party_fulfillment_orders` [access scopes](/docs/api/usage/access-scopes). Learn how to [configure your access scopes using Shopify CLI](/docs/apps/build/cli-for-apps/app-configuration). - You're familiar with [how prepaid subscriptions work](/docs/apps/build/purchase-options/subscriptions/fulfillments). - You have a prepaid subscription order that has scheduled fulfillment orders. ## Manually open a fulfillment order Merchants can opt to **Fulfill early** for scheduled fulfillments in the Shopify admin. For scheduled fulfillment orders, this changes the fulfillment order's status to `OPEN` ahead of the `fulfillAt` date.
Early fulfillment for prepaid subscriptions on a fulfillment order in the Shopify admin
You can also use the [`fulfillmentOrderOpen`](/docs/api/admin-graphql/latest/mutations/fulfillmentorderopen) mutation to set a fulfillment order's status to `OPEN`, as demonstrated in the following example:

## Skip a fulfillment order A customer might want to skip a scheduled fulfillment of a product. For example, in the case of a three-month prepaid coffee subscription, a customer might decide to skip fulfillment because they already have enough coffee that month. To skip a fulfillment order, you need to reschedule the fulfillment order and change the subscription contract's renewal date if applicable. ### Reschedule a fulfillment order Pass a new `fulfillAt` date to the [`fulfillmentOrderReschedule`](/docs/api/admin-graphql/latest/mutations/fulfillmentorderreschedule) mutation to reschedule a fulfillment order. In this example, the fulfillment order is rescheduled from Feb 15 to Apr 15.

### Change the contract renewal date To change the contract renewal date, you can use the [`subscriptionContractSetNextBillingDate`](/docs/api/admin-graphql/latest/mutations/subscriptioncontractsetnextbillingdate) mutation. Because the previous example rescheduled a fulfillment order from Feb 15 to Apr 15, the renewal date is changed to May 15 for the following example:

## Refund a scheduled fulfillment > Caution: > When you refund fulfillment orders, it doesn't automatically cancel the renewal that's associated with the subscription contract. To cancel the renewal, you also need to [update the subscription contract](/docs/apps/build/purchase-options/subscriptions/contracts/update-a-subscription-contract). A customer might want to refund one or more of their scheduled fulfillments. Fulfillment order cancellations and refunds are processed [in reverse chronological order](/docs/apps/build/purchase-options/subscriptions/fulfillments#how-refunds-work). You can pass the `quantity` to the [`refundCreate`](/docs/api/admin-graphql/latest/mutations/refundcreate) mutation to determine how many subscription cycles should be cancelled. The following example cancels the last four months of a six-month prepaid subscription:

## Next steps - Learn how to [manage orders for prepaid subscriptions](/docs/apps/build/purchase-options/subscriptions/fulfillments/sync-orders-subscriptions) by keeping subscription contract and order information in sync.