Skip to main content
A plan grants monthlyCredits at the start of each monthly period, for monthlyPriceCents (US cents). A price of 0 makes it a free plan; anything else is a paid plan that syncs to Stripe and is bought through Checkout.

Define a plan

Add it to your catalog file, then publish with npx integrateledger-cli push:
  • Credits last one period. Unspent plan credits expire when the period ends; the next period starts with a fresh allowance. Credits and balances has the spend order.
  • Paid plans sync to Stripe as a Product with a monthly Price. After a push the CLI reports each plan’s sync: synced, pending, failed, or awaiting_connection until Stripe is connected. Plans in the dashboard has a retry for a plan that failed.
  • The name is what customers see on Stripe Checkout and invoices.

Change a plan

Edit the file and run npx integrateledger-cli diff before you push. Changing a plan’s name, credits, price or overage creates a new plan version:
Current subscribers keep their terms. To move one onto different terms, upgrade or downgrade them to another plan. Removing a plan from the file archives it: it can’t be attached any more, and customers already on it keep it. Nothing is cancelled in Stripe. Adding the ID back restores it.

Offer several tiers

Customers hold one plan at a time. List your plans on the billing page, sorted by price, and offer the pricier ones as upgrades and the cheaper ones as downgrades. Display billing wires up the buttons. To let customers keep working past their allowance, add overage. To sell credits without a subscription, add credit packs.
Other ways. Plans can also be created in the dashboard under Plans, or with the plan endpoints. npx integrateledger-cli pull brings those edits back into your file.