About plans
Billing
Once you’ve got a plan strategy along with a plan feature list, prices, and details, you’re ready to create plans in Kinde.
All plans must belong to a plan group. A plan group can contain only user plans or only organization plans—not both. When you create your first plan, Kinde automatically creates a default group based on the plan type you select and adds the plan to it.
You can define a charge, feature, or one-time charge once and reuse it across plans. For example, a Base price charge can be set to 0.00 in a free plan, 10.00 in a Plus plan, and 25.00 in a Pro plan.
Go to Billing > Plans
Select Add plan, a window opens
Choose whether the plan is for Organizations or Users, or select the Group the plan belongs to. Only one of these options will appear. You cannot change these selections later.
Give the plan a Name (e.g., Free) and a Description. This is the name that will also appear in the pricing table (if you use one).
Give your plan a Key (e.g., free_plan) for referencing in your code. This cannot be changed after a plan is published.
Select a Default currency. This field only appears if one has not been set. You can change this later in Settings > Environment > Billing, but only before any of your plans are published.
Select Save
After creating a plan, you can configure additional settings that control the subscription experience.
This setting controls whether Stripe Tax with automatic collection is applied when customers subscribe to the plan.
Open the plan you want to configure.
Scroll to the Plan settings section.
Under Collect tax automatically, choose an option.
| Option | Behavior |
|---|---|
| Use account setting (default) | Follows Collect tax automatically on Settings > Environment > Billing |
| Collect | Always enable Stripe Tax for subscriptions to this plan |
| Don’t collect | Never enable Stripe Tax for subscriptions to this plan |
The account setting is off by default. Turn it on in Settings > Environment > Billing if most plans should collect tax, then override only the plans that differ.
Stripe still needs Stripe Tax configured (for example tax registrations) in the Stripe Dashboard. Until a customer has a billing country—such as during a trial before a card is added—tax may temporarily use your Stripe account’s registered address.
Select Save draft or Publish to apply your changes.
This toggle controls whether users must enter credit card details when subscribing to the plan.
Enabled (default): Users will be prompted to enter their payment details during signup via a secure Stripe payment form.
Disabled: Users can subscribe without providing payment information and proceed directly to your application.
Disabling this option is blocked by a positive-price fixed charge, chargeable metered (usage-based) billing, or an enabled trial period. A fixed charge priced at 0 does not require payment details, so you can disable the toggle on a free plan that uses a $0 price. Priced one-time charges alone do not require payment details at signup.
| Your Goal | Recommended Setting |
|---|---|
| Reduce signup friction for a free tier | Disable—let users try your product without entering payment details |
| Capture payment info for easier upgrades | Enable—collect card details upfront for seamless plan transitions |
| Offer a free trial that converts to paid | Enable—required when trial period is enabled; payment details are collected before the trial ends |
Trial periods let customers try a paid plan before being charged. When a trial is active, the customer’s Stripe subscription is created with a trial window — no charges are made until the trial expires.
Enabling a trial period requires the Ask for credit card toggle to be on. You cannot enable trials on a plan where credit card collection is disabled.
In the Trials section:
Enable Trial period.
Set the Trial length (days) (default: 30, minimum: 1). This is how many days the customer can use the plan for free.
Set Ask for credit card before trial ends (days) (default: 3, minimum: 0). This must be less than the trial length. This controls when the customer is asked to provide payment details before the trial expires.
Select Save draft or Publish to apply your changes.
| Setting | Description | Default | Constraints |
|---|---|---|---|
| Trial period | Enable or disable the trial for this plan | Off | Requires “Ask for credit card” to be on |
| Trial length in days | Number of days the customer can use the plan for free | 30 | Must be ≥ 1 |
| Days before trial end to prompt for credit card | How many days before trial expiry the customer is prompted for payment details | 3 | Must be ≥ 0 and less than the trial length |
A fixed charge is a recurring amount that does not change with usage and is billed in advance. You can pick a billing interval of daily, weekly, monthly, or yearly.
If the charge already exists, select Use existing feature, then select it from the list.
You only need to create a new charge if the item is unique. For reusable items such as Base price, select the existing charge but change the line item description and price for each plan.
If this is a new charge, give it a name (e.g., Platform fee). If you’ll reuse this charge across plans, choose a generic name. This cannot be changed later.
Acme platform subscription, starter plan.You can add more than one fixed charge per plan, each with a different interval (monthly, daily, and so on). See Mixed-interval pricing for details.
After entering the charge name and price, configure how often the fixed charge is billed:
Open the Billing interval dropdown.
Choose Day, Week, Month, or Year. The default is Month.
The interval you select determines how often Stripe bills the customer for this fixed charge.
The Offer as annual toggle is only available for non-yearly intervals (Day, Week, Month). If you select Year, the Offer as annual toggle does not apply. Selecting Year already bills annually. See Offer annual pricing below for details.
Select Save or Save draft.
Repeat for each fixed charge you want to add, or start adding features.
To give customers a yearly option at a fixed annual price:
Set a Price (e.g., 10).
Select a non-yearly Billing interval (Day, Week, or Month).
Turn on Offer as annual.
Set the Annual price (e.g., 100).
Select Save.
If you have multiple fixed charges on the plan, only one fixed charge can use Offer as annual. Other fixed charges on the same plan keep the billing interval you set for them (for example, monthly).
When a customer turns on Pay annually during sign-up or a self-serve plan change:
You can add more than one fixed charge on a plan with different intervals. For example, a license fee of $100/year, a platform fee of $10/month, and a support fee of $3/week. The combination is a mixed-interval plan. Each charge is billed and displayed with its own interval — for example $100 AUD / year + $10 AUD / month + $3 AUD / week—instead of a single collapsed total.
On the plan details page, the Pricing sidebar shows how the plan will look to customers.
Open the plan.
In the Pricing sidebar, if at least one fixed charge offers annual pricing, turn on Preview annual pricing. The toggle is off by default.
Review the standard total versus the annual total (including any monthly remainder for mixed plans).
This toggle is preview-only. It does not change the draft, and it does not affect Save draft or Publish.
Fixed charge cards also show:
$10 AUD / month).$100 AUD / year).Recurring metered feature rates show the interval after the unit label (for example $5 AUD per unit / month). Period-to-date usage totals on subscription views do not include an interval. They are amounts so far in the cycle, not rates.
To create a free plan, add a fixed charge with a Price of 0. Do not add any positive-price fixed charges or chargeable metered features.
The 0 price ensures the plan is added to Stripe and included on the pricing table as a free plan. It does not require card collection: disable Ask for credit card if you want users to subscribe without payment details. See Ask for credit card.
Priced one-time charges on a plan do not by themselves require customers to enter payment details when they subscribe. Payment collection for signup still follows your fixed charges and chargeable recurring metered features, plus the Ask for credit card setting in Plan settings.
Features describe the individual functions or entitlements that users get with their plan. These can be of the type metered (chargeable) or unmetered (included).
You cannot change the Name, the Key or the Type of feature once you have created it. If you make an error, delete the feature and add a new one.
Select Add feature.
To add a new feature, select New unmetered or New metered, then select Next. The Add feature window opens.
Enter a Feature name. Be sure to use something generic if you plan to use this feature again, e.g. Included seats.
Enter a Description.
Enter a Key for referencing the feature.
If you selected an unmetered feature, select Save. You’re done. Repeat from step 1 to add more features.
If you selected a metered feature, complete the rest of the details:
Enter the Maximum units allowed on the plan. Leave blank if there is no limit.
Enter the Unit measurement name, e.g. license, MAU
If the item is separately chargeable, select a Pricing model.
Add a Line item description. This appears on the customer invoice, so might be more specific than the name, e.g. Additional licenses for Pro (5).
For a flat unit price, enter the price and select Save. You’re finished.
For tiered pricing, select Tiered - Graduated and define each tier with unit numbers and add the price per unit.
Select Add tier to add a different price for higher unit tiers. For example, units might cost $10 each for quantities 1–10, and $9 per unit for 11 or more.
Ensure the tiered unit amounts don’t overlap—for example, 1–10, 11–20, 21–30. To set a limitless upper tier (e.g., 11+), use a very high number such as 1–10, 11–1,000,000. Graduated unit fields can’t be left blank.
Select Save.
In the Plan window, select Save to commit your changes.
Repeat for each feature you want to add to the plan. Then repeat this procedure for each plan.
You can create one-time charges and add them to plans now but subscribers can’t buy them yet and they can’t be applied to existing subscriptions.
One-time charges are single-purchase items on a plan—for example credit top-ups or add-on unlocks. They appear in their own One-time charges section on the plan, separate from Fixed charges and Features. See One-time (flat or package) pricing for pricing-model examples.
Open the plan you want to edit.
In One-time charges, select Add one-time charge.
If you have previously created a one-time charge, you will see an extra option: Use an existing one-time charge:
Turn this option on to reuse a charge already defined for another plan.
Catalog details (name, description, key, line item, metering, unit of measurement) cannot be changed when using this option; you can still set plan-specific limits, pricing, and expiry.
Leave this option off to create a new charge.
For a new charge, complete Details:
Under Usage select one of the following:
Set Unit of measurement (optional): for example credits and Maximum units.
You can leave the Maximum units field blank if there is no limit.
Under Pricing, select a Pricing model:
Under Expiry, select:
Access starts as soon as the subscriber pays. Choose when it ends.
Select Save.
The charge appears on the plan under One-time charges. Cards show metering, pricing model, limits, expiry, and price sync status when connected to Stripe.
Use the actions on the one-time charge card to edit or remove it from the plan.
You need permission to update plans to add or edit one-time charges, and permission to delete plans to remove them.
| Plan item | Purpose |
|---|---|
| Fixed charges | Recurring subscription fees billed in advance |
| Features | Entitlements included with the subscription (metered or unmetered) |
| One-time charges | Optional single purchases subscribers can buy (when purchase is live) |
Do not add one-time items through Add feature or Add charge under Fixed charges. Use One-time charges only.
If you are connected to Stripe and the plan or feature is part of a published plan, it will show as price synced. Otherwise, it will show as price not synced.