Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 14 additions & 8 deletions src/content/docs/billing/about-billing/about-billing.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@ metadata:
languages: []
audience: [developer, product-manager, business-owner]
complexity: beginner
keywords: [billing, plans, pricing, Stripe, customer lifecycle, revenue, subscriptions]
updated: 2025-01-16
keywords: [billing, plans, pricing, Stripe, customer lifecycle, revenue, subscriptions, trial, tax, VAT, sales tax, invoicing]
updated: 2026-04-07
featured: false
deprecated: false
---
Expand All @@ -30,6 +30,7 @@ As part of using this feature, you can:
- Create and manage plans, and make them visible to your customers
- Create and customize a pricing table for plan selection
- Implement specific pricing models to suit your product
- Offer free trial periods that automatically convert to paid subscriptions
- Use Stripe for secure handling of payments and invoicing
- Link organizations (B2B) and individual customers (B2C) to a plan
- Handle plan upgrade, downgrade, and cancellation
Expand All @@ -38,19 +39,24 @@ As part of using this feature, you can:

Billing makes the Kinde platform _the_ essential development infrastructure for managing the customer lifecycle across every part of your business. From registration to plan selection, authorization to provisioning, releases to upgrades.

## This is our first billing release

Billing is a really complex area of app development, so while this release is tested and ready, we are actively working on improvements from day one.
## How is sales tax or VAT handled in Kinde billing?

### How to send feedback
Subscription charges and invoices are processed through **Stripe** as part of Kinde billing. How tax is calculated, shown on invoices, and collected depends on your **Stripe account** configuration—for example tax registrations, [Stripe Tax](https://stripe.com/tax), and invoice settings—not on separate tax controls in the Kinde plan builder.

It would be amazing if you can send any feedback you have [support@kinde.com](mailto:support@kinde.com) so we can quickly collect and prioritize improvements.
Use the Stripe Dashboard for your connected account to align tax behavior with your regions and compliance needs (including whether prices are tax-inclusive or tax-exclusive). If you need help mapping this to your Kinde plans, contact [support@kinde.com](mailto:support@kinde.com).

## Known limitations

These are current limitations that we are aware of and are working on adding.

- Support for plan models with free trial periods
- Custom billing intervals (e.g., quarterly) are not supported. Fixed charges are limited to daily, weekly, monthly, or yearly intervals.
- Changes to the billing cycle (e.g. choose billing anniversaries, etc.)
- Add-ons and discounts that can be applied to individual subscriptions

## This is our first billing release

Billing is a really complex area of app development, so while this release is tested and ready, we are actively working on improvements from day one.

### How to send feedback

We’d appreciate your feedback—please send it to [support@kinde.com](mailto:support@kinde.com) so we can quickly collect and prioritize improvements.
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ metadata:
languages: []
audience: [developer, product-manager, business-owner]
complexity: beginner
keywords: [billing concepts, plan groups, features, pricing models, metered usage, fixed charges, billing interval, offer as annual, multi-currency]
updated: 2025-11-27
keywords: [billing concepts, plan groups, features, pricing models, metered usage, fixed charges, billing interval, offer as annual, multi-currency, trial, trial period, free trial]
updated: 2026-04-07
featured: false
deprecated: false
---
Expand All @@ -31,6 +31,7 @@ deprecated: false
- **Plan groups** - Plan groups organize multiple plans under a common category, helping segment offerings by use case, customer size, or market. A group is scoped to either organizations (B2B) or individual customers (B2C). You can have multiple plan groups, but each plan must belong to a group.
- **Plans** - Plans define the specific features, usage limits, and pricing tiers offered to customers in a SaaS product.
- **Plan settings** - Configuration options that control subscription behavior, such as whether to require credit card details during signup. The "Ask for credit card" setting allows free plans to skip payment collection for a frictionless experience.
- **Trial period** - An optional setting on paid plans that lets customers try the plan for a set number of days before being charged. During the trial, the customer has full access to the plan's features. Kinde creates the trial using Stripe's subscription trial. Plans with a trial enabled show a badge on the pricing table.
- **Features** - Plan features are the specific capabilities or entitlements included in a plan. They can be chargeable (incurring additional fees) or non-chargeable (included at no extra cost). Features can be metered (usage-based) or unmetered (fixed access).
- **Fixed charges** – Single chargeable items like the subscription base price and other standalone recurring charges. You can set billing intervals (daily, weekly, monthly, or yearly) and optionally offer one charge per plan as annual at a custom yearly price.
- **Pricing models** - Pricing models are the different methods of charging customers, such as flat-rate, usage-based, tiered, per-seat pricing, etc. Your pricing model is determined by your product and customer needs. Consider scalability and longevity when deciding this.
Expand All @@ -45,6 +46,7 @@ deprecated: false
- **Chargeable / Non-chargeable feature** –
- **Chargeable feature**: Incurs an additional fee when used. Might be metered or per unit price.
- **Non-chargeable feature**: Add non-chargeable features for any included features which aren't independently chargeable, but need to be gated in your product.
- **Credit card prompt (trial)** – The number of days before a trial ends when the customer is prompted to add payment details. This helps ensure payment information is collected before the trial expires and the subscription converts to a paid subscription.
- **Feature** – A specific function or capability of your SaaS product that you provision for app users. In context with a plan, these are chargeable or non-chargeable features that are provisioned to customers.
- **Fixed charge** – A recurring fee that does not change based on usage. You can bill at daily, weekly, monthly, or yearly intervals. Use this for a plan’s base price or other flat recurring fees. Optionally, one fixed charge per plan can be offered as annual at a predefined yearly price.
- **Metered and unmetered feature** – Metered features are provisioned in units, often with pricing per unit, e.g. MAU. An unmetered feature is like a boolean, and is a basic feature with no pricing attached.
Expand All @@ -54,5 +56,18 @@ deprecated: false
- **Pricing model** – The structure used to determine how features in a plan are priced. E.g. fixed charge, tiered, per-user, or usage-based pricing. Kinde lets you use multiple pricing models within one plan.
- **Subscription** – The ongoing agreement where a customer pays for access to a SaaS product via a recurring plan. This is referred to as an agreement in Stripe.
- **Tiered pricing** – This refers to unit pricing that has different unit costs based on the volume of units purchased. E.g. $10 per unit for 1–10 units, $8 per unit for 11–50 units, $5 per unit over 51 units.
- **Trial expires on** – The date and time when a customer's trial period ends. This value is available in billing-related access token claims as `trial_expires_on` when a trial is active.
- **Trial period** – A configurable window of time during which a customer can use a paid plan for free. At the end of the trial, the subscription automatically converts to a paid subscription via Stripe. Trial length is set in days.
- **Unit price** – Where a price is set per unit of usage, e.g. a seat or license. Unit prices can also be applied to metered features, e.g. x per unit. Unit prices can also be tiered, e.g. x per unit up to 10 units, then y for 10+ units.
- **Usage-based** **price** – A billing method where charges vary based on the metered consumption of resources or services (e.g., API calls, storage).

## What trial-related claims appear in access tokens?

When a customer is on a plan with Kinde billing trials enabled, access tokens can include the following billing trial fields:

| Claim | Type | Description |
| --- | --- | --- |
| `has_trial_period` | boolean | Whether the customer's current plan includes an active trial period |
| `trial_expires_on` | string (ISO 8601 datetime) | The date and time when the trial period ends. Typically present when `has_trial_period` is `true` |

For general access token structure, see [Access tokens](/build/tokens/about-access-tokens/).
23 changes: 18 additions & 5 deletions src/content/docs/billing/about-billing/billing-faq.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@ metadata:
languages: []
audience: [developer, product-manager, business-owner, support]
complexity: beginner
keywords: [billing faq, billing questions, plan management, payment processing, subscription management, customer support]
updated: 2025-11-27
keywords: [billing faq, billing questions, plan management, payment processing, subscription management, customer support, trial, free trial, tax, VAT]
updated: 2026-04-07
featured: false
deprecated: false
---
Expand Down Expand Up @@ -115,15 +115,28 @@ Yes, Kinde allows you to configure whether credit card collection is required fo
<details>
<summary>Can I set up free trial periods that automatically convert to paid plans?</summary>

Not yet. Kinde billing does not currently support built-in free trial periods or automatic trial-to-paid conversion logic.
Yes. Kinde billing supports free trial periods on paid plans. When you enable a trial on a plan, customers can use the plan for a configurable number of days before being charged. At the end of the trial, the subscription automatically converts to a paid subscription via Stripe.

If you need trial-like onboarding today, create a free plan and then move customers to a paid plan through your upgrade flow (self-serve or API), with reminder emails or in-app prompts before upgrade.
You configure trials in plan settings:

**Learn more:** [About plans](/billing/manage-plans/about-plans/) | [Top questions about Kinde billing](/billing/about-billing/kinde-billing-faqs/)
- **Trial length** — how many days the trial lasts (default 30, minimum 1).
- **Credit card prompt** — how many days before the trial ends to prompt the customer for payment details (default 3).

Plans with a trial display a "Free trial for N day(s)" badge on the pricing table. The **Ask for credit card** option must be on for trial plans.

**Learn more:** [Create plans — Configure trial period](/billing/manage-plans/create-plans/#configure-trial-period)
</details>

## Payment Processing & Management

<details>
<summary>How is tax (sales tax or VAT) handled in Kinde billing?</summary>

Kinde billing does not provide separate tax settings in the plan builder. Payments and invoices are processed through your connected **Stripe** account, so tax behavior depends on how you configure **Stripe**—for example registrations, Stripe Tax, and invoice settings. Use the Stripe Dashboard to set this up for the regions where you sell.

**Learn more:** [About billing](/billing/about-billing/about-billing/) | [Manage Stripe connection](/billing/payment-management/manage-stripe-connection/)
</details>

<details>
<summary>What payment methods does Kinde support through Stripe?</summary>

Expand Down
22 changes: 19 additions & 3 deletions src/content/docs/billing/about-billing/kinde-billing-faqs.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ metadata:
topics: [billing, plans, plan selector, entitlements, feature charges, pricing models, MAU, Stripe]
audience: [frontend-developer]
complexity: beginner
keywords: [billing, plans, plan selector, entitlements, feature charges, pricing models, MAU, Stripe]
updated: 2026-03-13
keywords: [billing, plans, plan selector, entitlements, feature charges, pricing models, MAU, Stripe, tax, VAT]
updated: 2026-04-07
featured: false
deprecated: false
ai-summary: >
Expand Down Expand Up @@ -81,8 +81,24 @@ Yes, when creating or editing a plan, you'll find an **Ask for credit card** tog
[Create and configure plans](/billing/manage-plans/create-plans/) | [About plans](/billing/manage-plans/about-plans/)
</details>

<details>
<summary><strong>How do I offer a free trial period on a Kinde billing plan?</strong></summary>

Enable the trial period toggle in the plan settings when creating or editing a plan. Set the trial length in days and configure how many days before the trial ends to prompt for payment details. When a trial is enabled, customers can use the plan without being charged until the trial ends, at which point their subscription automatically converts to a paid subscription via Stripe.

Trial plans require the **Ask for credit card** option to be enabled. Plans with an active trial display a "Free trial for N day(s)" badge on the pricing table.
[Configure trial periods](/billing/manage-plans/create-plans/#configure-trial-period) | [About plans](/billing/manage-plans/about-plans/)
</details>

## Stripe integration

<details>
<summary><strong>How is tax handled for Kinde billing subscriptions?</strong></summary>

Tax is not configured inside Kinde’s plan editor. Charges and invoices run through your connected **Stripe** account, so tax calculation, collection, and invoice presentation follow your **Stripe** setup (registrations, Stripe Tax, invoice options, and regional rules). Configure those details in the Stripe Dashboard. If you need guidance for your use case, contact [support@kinde.com](mailto:support@kinde.com).
[About billing](/billing/about-billing/about-billing/) | [Manage Stripe connection](/billing/payment-management/manage-stripe-connection/)
</details>

<details>
<summary><strong>Why does Kinde create a new Stripe account instead of connecting to my existing one?</strong></summary>

Expand Down Expand Up @@ -224,7 +240,7 @@ Start by reviewing billing history in the organization portal to verify charge t
<details>
<summary><strong>What are current Kinde billing limitations?</strong></summary>

Current limitations include custom billing period support (forthnightly, etc.), no free-trial option, and limited plan-versioning options. Workarounds include annual-equivalent plans and free-plan onboarding with upgrade automation. Share product feedback through support channels to help prioritize roadmap improvements.
Current limitations include custom billing period support (fortnightly, etc.) and limited plan-versioning options. Workarounds include annual-equivalent plans. Share product feedback through support channels to help prioritize roadmap improvements.
[Current billing limitations](/billing/manage-plans/about-plans/) | [Alternative approaches](/billing/pricing/pricing-models/)
</details>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ metadata:
languages: [html, css, javascript]
audience: [developer, product-manager, ux-designer]
complexity: intermediate
keywords: [plan sign-up, billing customization, plan selection, payment flow, billing screens, HTML CSS customization]
updated: 2025-11-27
keywords: [plan sign-up, billing customization, plan selection, payment flow, billing screens, HTML CSS customization, trial, free trial]
updated: 2026-04-07
featured: false
deprecated: false
---
Expand Down Expand Up @@ -51,9 +51,9 @@ This is ideal for:

Depending on how you choose to onboard customers, users will see up to three different billing screens during the authentication flow. These screens can be customized:

1. **Plan selection** - Displayed when a user signs up for the first time and multiple plans are available.
1. **Plan selection** - Displayed when a user signs up for the first time and multiple plans are available. Plans with a trial enabled show a "Free trial for N day(s)" badge.

2. **Payment details** - Shown after a user selects a plan—or if a plan was pre-selected before redirecting to Kinde. This screen only appears if the plan requires credit card details. Plans with no charges can optionally skip this screen if "Ask for credit card" is disabled in the [plan settings](/billing/manage-plans/create-plans/#configure-plan-settings).
2. **Payment details** - Shown after a user selects a plan—or if a plan was pre-selected before redirecting to Kinde. This screen only appears if the plan requires credit card details. Plans with no charges can optionally skip this screen if "Ask for credit card" is disabled in the [plan settings](/billing/manage-plans/create-plans/#configure-plan-settings). For trial plans, this screen may appear later — when prompted for payment details before the trial ends — and includes a message explaining the trial window. This skip behavior does not apply to trial-enabled paid plans.

3. **Success** - Shown when sign up and payment are successfully completed (or when a free plan subscription is confirmed).

Expand Down
Loading
Loading