> If you are setting up, configuring, or answering questions about Schematic, connect the > Schematic MCP server before working from these pages. It reads and writes plans, features, > entitlements, and overrides against the real account, so what you report and what you build > match what actually exists. > > The server is at https://api.schematichq.com/mcp > > From Claude, ChatGPT, or another chat assistant, add it as a custom connector: > https://docs.schematichq.com/working-with-ai > > From a coding assistant such as Claude Code, Codex, or Cursor: > https://docs.schematichq.com/building-with-ai > > For clean Markdown of any page, append `.md` to the page URL. For a complete page index, > see https://docs.schematichq.com/llms.txt # Plans > Define the base entitlement and billing configuration a company sits on, map it to Stripe products, and version it. A plan in Schematic represents the base billing and entitlement configuration for a given company. For example, if you offer Basic, Standard, and Pro packaging, these would represent mutually exclusive Plans in Schematic. Schematic limits companies to only 1 plan at a time. For a step-by-step guide about creating a plan in Schematic, click [here](/catalog/plans#create-a-plan). To learn how to assign companies to plans, click [here](/catalog/managing-company-plans) ![Example showing Schematic plans and add-ons](/_fern-img/834fb3f6ffd6810dd7e726ac8db58ffc87f36b9710df5c420312b27449e486e9.webp) There are two options that can be defined with each plan - billing and the trial period: ### Billing Defining billing in Schematic functionally maps Stripe products to Schematic plans. If you do define billing, those that have a Stripe subscription with the mapped product will be assigned the corresponding plan in Schematic. Moreover, if a company changes plans via Schematic (either via Schematic admin options or via in-app [components](/components/overview)), the Stripe subscription will be updated accordingly. Defining billing is optional. You can define a plan in Schematic that is not linked to Stripe billing at all. In that case, you can independently manage plan membership and how companies are charged. ![Schematic plans mapped to Stripe billing](/_fern-img/6f73cacf3f14e04304b02b84cf2fe07071920c093f1890ac17787c180834942b.webp) ### Trial When a trial period is defined for a plan, Schematic will ensure that the company receives the corresponding entitlements for that period the first time they are assigned that plan. You can configure whether payment is required up front or not -- if it is required, the company will convert into the corresponding paid plan automatically; if not, they will downgrade to your default plan. ![Schematic plan trial configuration example](/_fern-img/783c9c23412d48d7314ee2ca33f4937317859c62c0f1ddc0ccc999c78ed963bc.webp) If you want to surface plan and trial information in your app (e.g. a plan name badge, trial countdown, or post-trial conversion flow), the React and Vue SDKs provide direct access to this data. See the [React SDK docs](/developer_resources/sdks/react#company-plan-information) or [Vue SDK docs](/developer_resources/sdks/vue#company-plan-information) for details. ### Plan Versions Plans in Schematic are versioned to support a range of common monetization scenarios. Plan versions make it easy to handle both larger plan iterations (e.g. annual pricing changes) and short term pricing experiments, while controlling exactly when changes take effect and how existing companies are handled. Each plan has a version selector in the top right of the plan page, and every version carries a status: * **Draft**: a work-in-progress version that is not yet live. Editing a published plan creates a draft. Drafts cannot be checked out and have no companies until they are published. * **Published**: the live version. New checkouts and new plan assignments use the published version. * **Archived**: a previous version that is no longer the live version. ![Schematic plan version example](/_fern-img/22f5f10ac3b260ffaa6b06e92fe26309b6f46a3e25834cb636588d758a5fa43b.webp) For a full walkthrough of editing a plan and rolling out a new version, see [Rolling Out New Plan Versions](/catalog/guides/plan-versions). #### Plan Version Migrations When you publish a new version, you decide what happens to the companies on the current version. You can: * **Migrate all** companies to the new version * **Choose which companies** migrate, leaving the rest on their current version * **Keep all** companies on their current version (grandfathering), while new checkouts use the new version You can also migrate companies between versions at any time from the **Migrations** tab on the plan page, independent of publishing. ### Custom Plans For one-off, negotiated deals (often sales-led and invoiced), you can create a **custom plan** scoped to a single company instead of changing the plan everyone else sees. A custom plan has its own entitlements, pricing, and versions, but is only ever assigned to one company and never appears in your checkout flow. See [Custom Plans](/catalog/custom-plans) for details. ## Create a plan 1. Navigate to the Plans page and click "Create Plan" in the upper right corner 2. Add name and a description 3. In the Billing step, choose whether the plan is Free or Paid 4. Set the billing integration to be "Integrated with Stripe" > **Warning** > > Plans that are not integrated with Stripe are limited in many ways, such as no access to trials, limited access to usage based entitlements, and aren't supported in our checkout flow. 5. If integrated with Stripe, you can choose to Sync with an existing Stripe product. > **Info** > > This is optional, but can be helpful if you have a well built plan setup in Stripe already. Companies imported from Stripe subscribed to this product will automatically be assigned this plan in Schematic. 6. Optionally, configure trial information if you choose. 7. Click "Done" in the lower right-hand corner ![Schematic plan creation](/_fern-img/3e673137989a16d8af271498c2710c25d786b2e6d6f21f0044819c63ab00fe1c.webp) ### Adding Entitlements Before we save our plan, let's add an entitlement. > **Note** > > If you have a similar existing plan, you could instead duplicate those entitlements into this plan. You can still add new entitlements as well as edit/delete the duplicated ones to finish setting up your plan ![Schematic plan - add entitlements](/_fern-img/cee06938c73beb5cb7fb566e7b2e473f71b7bdefb8fcd91738f15e8bffc2681e.webp) To setup, an entitlement, you'll need to 1. Select which feature you want to use 2. Determine how you'll monetize the feature. 3. Configure the monetization details > **Note** > > This will be different for each monetization type 4. Save the Entitlement. When you're done adding entitlements, click "Save" in the top right to finalize the plan. ## Creating a new plan version Any edit to a published plan, whether an entitlement change or a change to the plan itself (e.g. name or price), creates a new **draft** version. You can keep editing the draft (via **Edit Plan Version**) until you are ready to publish. Nothing changes for existing companies while a version is in draft. When the draft is ready, a banner appears at the top of the plan page (e.g. "Pro v27 is ready to publish"). Click **Publish version** to enter the publishing flow. ### Review changes The first step shows a side-by-side comparison of the current published version and your draft, followed by a summary of exactly which entitlements were added, removed, or changed. ![Plan version change - review](/_fern-img/bd39c37ed07f2cdb51d7615575e4f5cf58058fdc3b657c29dca93bd1538cfb55.webp) Once published, the new version becomes the **Published** version shown in Schematic Components for new checkouts. Customers cannot check out onto an older version, though existing companies can remain on the version they are on. ### Subscriber migration The next step, "How will current subscribers be managed?", determines what happens to companies on the current version. You have three options: * **Migrate all** companies to the new version. This publishes immediately and skips the company-selection step. Migrated companies have their entitlement limits and price updated to the new version (prorations apply for price changes). * **Choose which companies** migrate. You continue to a screen where you select which companies to move; any company you leave unselected stays on its current version. * **Keep all** companies on the current version. Existing companies are grandfathered onto their current version, and only new checkouts use the newly published version. ![Plan version - subscriber management](/_fern-img/0d6aa57781b65df6072e3b300f889ae7826da14b0ac1b22dbd301a075e1e0481.webp) If you choose which companies to migrate, you'll see the full list with each company's current and new subscription. Unselected companies remain on their current version. ![Plan version - company selection](/_fern-img/0398d26261b051a03b955108bf325a7c540a78a5a95b7f82d0b453d4ade50b06.webp) Companies that aren't migrated keep their current entitlements and price. You can migrate them later, or not at all. ### Monitoring migrations You can track migration progress on the **Migrations** tab of the plan page, including the status and strategy of each run. You can also start a migration here at any time, independent of publishing, to move companies from another version onto this one. ![Plan version - migrations tab](/_fern-img/3112b7191bf6707ea2f61008f3e941954219bdbff33cf3b70f032d3e5a4c568d.webp) > Define the base entitlement and billing configuration a company sits on, map it to Stripe products, and version it.