Skip to content

REVIEW READY Feat/billing day one#437

Merged
clairekinde11 merged 135 commits intomainfrom
Feat/Billing-day-one
Jun 18, 2025
Merged

REVIEW READY Feat/billing day one#437
clairekinde11 merged 135 commits intomainfrom
Feat/Billing-day-one

Conversation

@clairekinde11
Copy link
Contributor

@clairekinde11 clairekinde11 commented Jun 6, 2025

Hey reviewers
This PR is ready for review, it includes new topics that are needed day one. Plus the sidebar structure for viewing the files.
This is the PR to make comments on - please ignore any other PRs for billing. This is the correct one.

Known omissions being worked on for Day 2

  • Plan groups
  • Plan changes upgrade/downgrade
  • Workflows/webhooks for billing
  • API for billing

Summary by CodeRabbit

Summary by CodeRabbit

  • Documentation
    • Introduced comprehensive billing documentation covering billing concepts, the Kinde billing model, plan creation and management, pricing tables, Stripe integration, and self-serve portal setup.
    • Added detailed step-by-step billing setup guides and explanations tailored for both B2B and B2C users.
    • Provided user guidance on customizing billing pages and enabling self-serve portals for organizations.
    • Expanded billing documentation with new pages on plan cancellation and upgrade/downgrade procedures, and plan selection and cancellation workflows using the kinde.plan binding.
    • Included detailed instructions for managing Stripe connections and payment gateway integration.
    • Updated sidebar navigation to reflect expanded billing topics and improved organization.
    • Removed outdated announcement for upcoming billing features.

clairekinde11 and others added 3 commits June 17, 2025 10:35
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
…-request-workflow.mdx

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
@github-actions
Copy link

❌ Link Validation Failed

Invalid Links:
Link: /billing/manage-plans/plan-upgrade-downgrade/, Found In: /billing/manage-plans/cancel-plans.mdx

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 8

♻️ Duplicate comments (2)
src/content/docs/billing/about-billing/kinde-billing-model.mdx (2)

13-13: [Consistency] Correct pluralization.

Change “invoice and payments” to “invoices and payments” for parallel structure:

- subscription information, invoice and payments, are accurate in both systems.
+ subscription information, invoices and payments, are accurate in both systems.

19-19: [Consistency] Add missing preposition.

As previously noted, update “Depending which you are setting up” to “Depending on which you are setting up.”

🧹 Nitpick comments (16)
src/content/docs/billing/manage-plans/cancel-plans.mdx (2)

11-11: Add missing comma for clarity.
Insert a comma after "didn't" to separate clauses:

- While we would rather they didn't customers are going to want to cancel their plan…
+ While we would rather they didn't, customers are going to want to cancel their plan…

37-37: Hyphenate compound adjective.
Use a hyphen in "high-value customers" to correctly form the modifier:

- alert when high value customers cancel.
+ alert when high-value customers cancel.
src/content/docs/billing/payment-management/payment-gateway.mdx (4)

10-10: Hyphenate 'third-party' as a compound adjective.

- dependency on third party payment gateways
+ dependency on third-party payment gateways

16-16: Hyphenate 'third-party' again for consistency.

- Stripe-imposed limitation for third party payment gateway integrations.
+ Stripe-imposed limitation for third-party payment gateway integrations.

36-36: Correct dependency phrasing.
Change "depends if" to "depends on whether" for proper grammar:

- The next step depends if you have a Stripe account already associated…
+ The next step depends on whether you have a Stripe account already associated…

54-54: Streamline wording.
Replace "in order to" with "to" for conciseness:

- requires some additional details from you in order to fully set up the account.
+ requires some additional details from you to fully set up the account.
src/content/docs/workflows/example-workflows/plan-cancellation-request-workflow.mdx (2)

13-15: Reduce repetitive sentence starts.
The back-to-back "This ..." sentences reduce readability; consider rephrasing or combining:

- This is not a deprovisioning workflow, this occurs before a cancellation request is processed.

Proposed:

- Note: this occurs before deprovisioning, at the time a cancellation request is received.

36-36: Add missing comma after 'object'.
Separate the relative clause for clarity:

- the Kinde workflow `event` object which has two keys `request` and `context`.
+ the Kinde workflow `event` object, which has two keys `request` and `context`.
src/content/docs/billing/manage-plans/upgrade-downgrade-plans.mdx (1)

33-33: Avoid abbreviations for clarity.
Replace "org" with "organization" to maintain consistency:

- Go to **Organizations** and locate the org.
+ Go to **Organizations** and locate the organization.
src/content/docs/billing/billing-user-experience/plan-selection.mdx (1)

27-27: Add missing article.
Include "a" before "new" for grammatical correctness:

- **Create new** pricing table.
+ **Create a new** pricing table.
src/content/docs/billing/manage-plans/create-plans.mdx (4)

31-35: [Nitpick] Add comma after introductory clause in Aside.

It reads “Remember you can create one charge…” – consider adding a comma after “Remember” for clarity:

- <Aside>
- Remember you can create one charge or feature that can be used and redefined across all plans.
+ <Aside>
+ Remember, you can create one charge or feature that can be used and redefined across all plans.

33-34: [Nitpick] Missing comma in conditional phrase.

The sentence “When you create your first plan we automatically create a group based on this customer type.” needs a comma after “plan”:

- When you create your first plan we automatically create a group based on this customer type.
+ When you create your first plan, we automatically create a group based on this customer type.

37-38: [Nitpick] Comma after “Otherwise”.

Change:

- Otherwise the plan is added to the default group.
+ Otherwise, the plan is added to the default group.

79-79: [Nitpick] Use “an” before vowel sound.

In “If you selected a unmetered feature, …” change to:

- If you selected a unmetered feature, select **Save**.
+ If you selected an unmetered feature, select **Save**.
src/content/docs/billing/get-started/setup-overview.mdx (1)

14-14: [Nitpick] Missing article.

“Billing is big step…” should be:

- Billing is big step for a business, so it’s a good idea to review the process before you start.
+ Billing is a big step for a business, so it’s a good idea to review the process before you start.
src/content/docs/billing/about-billing/kinde-billing-model.mdx (1)

29-29: [Nitpick] Add comma before conjunction.

In “Stripe securely stores your customer’s payment details and Kinde never sees …” add a comma for readability:

- Stripe securely stores your customer’s payment details and Kinde never sees credit card or other bank information.
+ Stripe securely stores your customer’s payment details, and Kinde never sees credit card or other bank information.
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between e552555 and 319ecf8.

📒 Files selected for processing (8)
  • src/content/docs/billing/about-billing/kinde-billing-model.mdx (1 hunks)
  • src/content/docs/billing/billing-user-experience/plan-selection.mdx (1 hunks)
  • src/content/docs/billing/get-started/setup-overview.mdx (1 hunks)
  • src/content/docs/billing/manage-plans/cancel-plans.mdx (1 hunks)
  • src/content/docs/billing/manage-plans/create-plans.mdx (1 hunks)
  • src/content/docs/billing/manage-plans/upgrade-downgrade-plans.mdx (1 hunks)
  • src/content/docs/billing/payment-management/payment-gateway.mdx (1 hunks)
  • src/content/docs/workflows/example-workflows/plan-cancellation-request-workflow.mdx (1 hunks)
🧰 Additional context used
🪛 LanguageTool
src/content/docs/billing/about-billing/kinde-billing-model.mdx

[grammar] ~19-~19: The verb ‘depend’ requires the preposition ‘on’ (or ‘upon’).
Context: ...ing models for B2B, B2C and even B2B2C. Depending which you are setting up, you may need ...

(DEPEND_ON)


[uncategorized] ~29-~29: Possible missing comma found.
Context: ...securely stores your customer’s payment details and Kinde never sees credit card or oth...

(AI_HYDRA_LEO_MISSING_COMMA)


[uncategorized] ~39-~39: Possible missing comma found.
Context: ...i-currency support Kinde has customers everywhere and almost every global currency is sup...

(AI_HYDRA_LEO_MISSING_COMMA)


[style] ~53-~53: ‘in arrears’ might be wordy. Consider a shorter alternative.
Context: ...etered (usage-based) charges are billed in arrears, usage is tracked throughout the billin...

(EN_WORDINESS_PREMIUM_IN_ARREARS)

src/content/docs/billing/get-started/setup-overview.mdx

[uncategorized] ~14-~14: Possible missing article found.
Context: ...m: billing - s: plans --- Billing is big step for a business, so it’s a good ide...

(AI_HYDRA_LEO_MISSING_A)

src/content/docs/billing/billing-user-experience/plan-selection.mdx

[uncategorized] ~11-~11: Possible missing preposition found.
Context: ...s and go through a payment flow as part signing up to your app or site. Kinde's pricin...

(AI_EN_LECTOR_MISSING_PREPOSITION)


[uncategorized] ~27-~27: You might be missing the article “a” here.
Context: ...te a new pricing table. 2. Create new pricing table. Manually build the pri...

(AI_EN_LECTOR_MISSING_DETERMINER_A)


[style] ~61-~61: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...n**, depending on the plan position. 5. Select Save. ## Add a features list to a ...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[uncategorized] ~70-~70: The preposition “at” seems more likely in this position than the preposition “in”.
Context: ...e plan and select Edit content. 4. In the top of the window, select the langu...

(AI_EN_LECTOR_REPLACEMENT_PREPOSITION_IN_AT)


[style] ~87-~87: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ...translate pricing table content If you want to display pricing tables in multiple lang...

(REP_WANT_TO_VB)


[uncategorized] ~92-~92: The preposition “at” seems more likely in this position than the preposition “in”.
Context: ...he plan and select Edit content. 4. In the top of the window, select the langu...

(AI_EN_LECTOR_REPLACEMENT_PREPOSITION_IN_AT)


[uncategorized] ~109-~109: The noun “sign-up” is spelled with a hyphen.
Context: ...not passed in the URL during the normal sign up flow. 1. Open the pricing table. 2. Se...

(SIGN_UP_HYPHEN)


[uncategorized] ~117-~117: The noun “sign-up” is spelled with a hyphen.
Context: ...ure Kinde to hide pricing tables in the sign up flow, but still show them in the self-s...

(SIGN_UP_HYPHEN)


[uncategorized] ~117-~117: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...you have designed your own pricing pages and you only want to show Kinde's pricing t...

(COMMA_COMPOUND_SENTENCE)

src/content/docs/billing/manage-plans/cancel-plans.mdx

[typographical] ~11-~11: There might be a comma missing.
Context: ...f-a05a-62ad0a7ac6de --- While we would rather they didn't customers are going to want...

(IF_PRP_PRP_COMMA)


[uncategorized] ~37-~37: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...o this, for example, to be alerted when high value customers cancel. For details, refer t...

(EN_COMPOUND_ADJECTIVE_INTERNAL)

src/content/docs/billing/manage-plans/create-plans.mdx

[uncategorized] ~18-~18: Possible missing comma found.
Context: ...eady to create them in Kinde.

Remember you can create one charge or feature th...

(AI_HYDRA_LEO_MISSING_COMMA)


[uncategorized] ~33-~33: Possible missing comma found.
Context: ...ation plans. When you create your first plan we automatically create a group based o...

(AI_HYDRA_LEO_MISSING_COMMA)


[uncategorized] ~38-~38: A comma may be missing after the conjunctive/linking adverb ‘Otherwise’.
Context: ...only if you have multiple plan groups). Otherwise the plan is added to the default group....

(SENT_START_CONJUNCTIVE_LINKING_ADVERB_COMMA)


[misspelling] ~79-~79: Use “an” instead of ‘a’ if the following word starts with a vowel sound, e.g. ‘an article’, ‘an hour’.
Context: ...rencing the feature. 6. If you selected a unmetered feature, select Save. You...

(EN_A_VS_AN)


[uncategorized] ~97-~97: Use a comma before ‘so’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...1-20, 21-30, etc. If you want to make it so an upper limit is limitless, E.g. 1-10,...

(COMMA_COMPOUND_SENTENCE_2)

src/content/docs/billing/manage-plans/upgrade-downgrade-plans.mdx

[uncategorized] ~17-~17: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: .... By default, unpaid usage is forgiven and you don't refund or credit for unused s...

(COMMA_COMPOUND_SENTENCE)

src/content/docs/billing/payment-management/payment-gateway.mdx

[uncategorized] ~10-~10: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...ling feature comes with a dependency on third party payment gateways. These services hold c...

(EN_COMPOUND_ADJECTIVE_INTERNAL)


[uncategorized] ~16-~16: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...This is a Stripe-imposed limitation for third party payment gateway integrations. We’re wor...

(EN_COMPOUND_ADJECTIVE_INTERNAL)


[uncategorized] ~32-~32: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ... If the Stripe flow doesn’t appear and you remain in the Kinde dashboard, sele...

(COMMA_COMPOUND_SENTENCE)


[grammar] ~36-~36: The verb ‘depend’ requires the preposition ‘on’ (or ‘upon’).
Context: ...nt and select Submit. The next step depends if you have a Stripe account already as...

(DEPEND_ON)


[style] ~54-~54: Consider a more concise word here.
Context: ...quires some additional details from you in order to fully set up the account. Select **Upda...

(IN_ORDER_TO_PREMIUM)


[uncategorized] ~55-~55: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ... is successfully syncing data with Kinde and you’re ready to publish plans.

(COMMA_COMPOUND_SENTENCE)

src/content/docs/workflows/example-workflows/plan-cancellation-request-workflow.mdx

[style] ~14-~14: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...ortal or via the Kinde Management API. This is not a deprovisioning workflow, this ...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[style] ~16-~16: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...e a cancellation request is processed. This event is triggered when: - the user as...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[uncategorized] ~36-~36: Possible missing comma found.
Context: ...your code is the Kinde workflow event object which has two keys request and `conte...

(AI_HYDRA_LEO_MISSING_COMMA)


[style] ~36-~36: Try using a synonym here to strengthen your writing.
Context: ... two keys request and context. This gives you access to the reason the workflow was t...

(GIVE_PROVIDE)

1. Get the customer's Agreement ID. This is the unique ID associated with their subscription in Stripe. You can find it in their Kinde record under Billing.
2. Using a DELETE request, hit the delete/api/v1/billing/agreements endpoint and include the `agreement_id` value in the call.

![API cll to delete agreement](https://imagedelivery.net/skPPZTHzSlcslvHjesZQcQ/d136fd54-7474-486f-2768-8fcb1deaaa00/public)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Fix typo in image alt text.
The alt text reads "API cll" instead of "API call", which impacts accessibility:

- ![API cll to delete agreement](…)
+ ![API call to delete agreement](…)
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
![API cll to delete agreement](https://imagedelivery.net/skPPZTHzSlcslvHjesZQcQ/d136fd54-7474-486f-2768-8fcb1deaaa00/public)
![API call to delete agreement](https://imagedelivery.net/skPPZTHzSlcslvHjesZQcQ/d136fd54-7474-486f-2768-8fcb1deaaa00/public)
🤖 Prompt for AI Agents
In src/content/docs/billing/manage-plans/cancel-plans.mdx at line 33, fix the
typo in the image alt text by changing "API cll" to "API call" to improve
accessibility and clarity.

Comment on lines +4 to +8
sidebar:
order: 4
relatedArticles:
- 88e1773a-b681-441f-b4c7-d7d339116867
- e6dde80d-2977-419f-a05a-62ad0a7ac6de
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Fix frontmatter indentation for relatedArticles.
The relatedArticles field must be nested under sidebar for correct sidebar linking:

 sidebar:
   order: 4
- relatedArticles:
-  - 88e1773a-b681-441f-b4c7-d7d339116867
-  - e6dde80d-2977-419f-a4c6de
+  relatedArticles:
+    - 88e1773a-b681-441f-b4c7-d7d339116867
+    - e6dde80d-2977-419f-a05a-62ad0a7ac6de
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
sidebar:
order: 4
relatedArticles:
- 88e1773a-b681-441f-b4c7-d7d339116867
- e6dde80d-2977-419f-a05a-62ad0a7ac6de
sidebar:
order: 4
relatedArticles:
- 88e1773a-b681-441f-b4c7-d7d339116867
- e6dde80d-2977-419f-a05a-62ad0a7ac6de
🤖 Prompt for AI Agents
In src/content/docs/billing/manage-plans/cancel-plans.mdx around lines 4 to 8,
the frontmatter indentation for the relatedArticles field is incorrect. Fix the
indentation by nesting relatedArticles under the sidebar field to ensure proper
sidebar linking. Adjust the YAML structure so that relatedArticles is a child of
sidebar with consistent indentation.

Comment on lines +6 to +8
relatedArticles:
- 88e1773a-b681-441f-b4c7-d7d339116867
- e6dde80d-2977-419f-a05a-62ad0a7ac6de
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Fix frontmatter indentation for relatedArticles.
relatedArticles must be indented under sidebar to render correctly:

 sidebar:
   order: 1
- relatedArticles:
-   - 88e1773a-b681-441f-b4c7-d7d339116867
-   - e6dde80d-2977-419f-a62de0f7ac6de
+  relatedArticles:
+    - 88e1773a-b681-441f-b4c7-d7d339116867
+    - e6dde80d-2977-419f-a05a-62ad0a7ac6de

Committable suggestion skipped: line range outside the PR's diff.

🤖 Prompt for AI Agents
In src/content/docs/billing/billing-user-experience/plan-selection.mdx around
lines 6 to 8, the frontmatter key `relatedArticles` is not properly indented
under the `sidebar` key. Adjust the indentation so that `relatedArticles` is
nested correctly beneath `sidebar` to ensure proper rendering of the
frontmatter.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

♻️ Duplicate comments (2)
src/content/docs/billing/about-billing/about-billing.mdx (2)

3-3: Standardize title capitalization
The title front matter should follow title-case to match other docs.

-title: About billing
+title: About Billing

33-33: Refine feedback request phrasing and fix grammar
Add the missing preposition "to" and use a more professional tone.

-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.
+Please send any feedback to [support@kinde.com](mailto:support@kinde.com) so we can quickly collect and prioritize improvements.
🧹 Nitpick comments (3)
src/content/docs/billing/about-billing/about-billing.mdx (3)

12-12: Capitalize "Billing" for product name consistency
Use "Kinde Billing" (capital "B") when referring to the feature.

-Kinde billing gives you the ability to charge customers for your services and collect revenue.
+Kinde Billing gives you the ability to charge customers for your services and collect revenue.

41-41: Fix verb form in Known limitations bullet
Use the gerund or infinitive for consistency:

-Changes to the billing cycle (e.g. choose billing anniversaries, etc.)
+Changes to the billing cycle (e.g. choosing billing anniversaries, etc.)

37-42: Extend Known limitations to cover all pending Day 2 features
Include missing items like plan groups, workflow/webhook support, and the billing API:

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

 - Support for plan models with free trial periods
 - Annual and quarterly subscriptions. Only monthly is available right now.
 - Changes to the billing cycle (e.g. choosing billing anniversaries, etc.)
 - Add-ons and discounts that can be applied to individual subscriptions
+- Support for plan groups
+- Workflow and webhook integrations for plan changes
+- Billing API for programmatic access
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 319ecf8 and 1c5a4a9.

📒 Files selected for processing (1)
  • src/content/docs/billing/about-billing/about-billing.mdx (1 hunks)
🧰 Additional context used
🪛 LanguageTool
src/content/docs/billing/about-billing/about-billing.mdx

[uncategorized] ~18-~18: When ‘Implement-specific’ is used as a modifier, it is usually spelled with a hyphen.
Context: ...ze a pricing table for plan selection - Implement specific pricing models to suit your product - U...

(SPECIFIC_HYPHEN)


[style] ~33-~33: Consider using a more formal and expressive alternative to ‘amazing’.
Context: ... ### How to send feedback It would be amazing if you can send any feedback you have [...

(AWESOME)


[grammar] ~41-~41: If ‘choose’ is used as a verb, it usually requires the infinitive.
Context: ...anges to the billing cycle (e.g. choose billing anniversaries, etc.) - Add-ons and disc...

(AFFORD_VBG)

🔇 Additional comments (1)
src/content/docs/billing/about-billing/about-billing.mdx (1)

21-21: Clarify feature availability for plan changes
This bullet claims support for plan upgrade, downgrade, and cancellation, but those workflows are still pending (Day 2). Please confirm current support or move this into the Known limitations section.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

♻️ Duplicate comments (3)
src/content/docs/billing/about-billing/billing-concepts-terms.mdx (3)

26-26: Agreement terminology clarified
This matches prior feedback to call out that “Agreement” refers to the Stripe/Kinde subscription term.


30-30: Non-chargeable feature phrasing
Matches previous suggestion on gating included features that aren’t independently chargeable.


40-40: Example clarity & sentence consolidation
This addresses the earlier “seat vs. feature” feedback by using “license.” Also merge repetitive sentences for readability.

- 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.
+ Unit prices can also be applied to metered features (e.g. x per unit) and can be tiered (e.g. x per unit up to 10 units, then y for 10+ units).
🧹 Nitpick comments (6)
src/content/docs/billing/about-billing/billing-concepts-terms.mdx (6)

11-11: Use backticks for inline terms
Replace single quotes with backticks to align with MDX styling conventions.

- 'Billing' refers to the broad function of creating plans...
+ `Billing` refers to the broad function of creating plans...

18-18: Fix spacing and spelling
Add a space before the hyphen and correct “stand alone” to “standalone.”

- - **Fixed charges**- Single chargeable items like the subscription base price and other stand alone recurring charges.
+ - **Fixed charges** - Single chargeable items like the subscription base price and other standalone recurring charges.

21-22: Reflect multiple pricing tables and consistent portal naming
Adjust wording to indicate support for multiple tables and use “self-serve portal” consistently.

- You can build one in Kinde and then show it to your customers in the auth flow or self-service portal.
+ You can build pricing tables in Kinde and then show them to your customers in the auth flow or self-serve portal.

29-29: Hyphenate and complete sentence
Use “per-unit priced” instead of “per unit price.”

- **Chargeable feature**: Incurs an additional fee when used. Might be metered or per unit price.
+ **Chargeable feature**: Incurs an additional fee when used. Might be metered or per-unit priced.

33-33: Pluralize for consistency
Use “features” in the term name to match the plural explanation.

- **Metered and unmetered feature** – Metered features are provisioned...
+ **Metered and unmetered features** – Metered features are provisioned...

41-41: Combine bold text into single phrase
Merge into one bold term for consistency with other entries.

- **Usage-based** **price** – A billing method where charges vary...
+ **Usage-based price** – A billing method where charges vary...
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 1c5a4a9 and 4d04d56.

📒 Files selected for processing (1)
  • src/content/docs/billing/about-billing/billing-concepts-terms.mdx (1 hunks)
🧰 Additional context used
🪛 LanguageTool
src/content/docs/billing/about-billing/billing-concepts-terms.mdx

[style] ~29-~29: To form a complete sentence, be sure to include a subject.
Context: ...**: Incurs an additional fee when used. Might be metered or per unit price. - **Non...

(MISSING_IT_THERE)


[grammar] ~29-~29: In this context, “per-unit” forms an adjective and is spelled with a hyphen.
Context: ...onal fee when used. Might be metered or per unit price. - Non-chargeable feature: ...

(PER_USER_BASIS_HYPHEN)


[uncategorized] ~33-~33: The grammatical number of this noun doesn’t look right. Consider replacing it.
Context: ...curring fees. - Metered and unmetered feature – Metered features are provisioned in...

(AI_EN_LECTOR_REPLACEMENT_NOUN_NUMBER)


[style] ~40-~40: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...d to metered features, e.g. x per unit. Unit prices can also be tiered, e.g. x per u...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 5

♻️ Duplicate comments (5)
src/content/docs/billing/manage-plans/cancel-plans.mdx (2)

36-36: Correct image alt text typo
Fix “API cll” to “API call” for accessibility.

- ![API cll to delete agreement](…)
+ ![API call to delete agreement](…)

6-8: Fix frontmatter indentation for relatedArticles
relatedArticles must be indented under sidebar for proper sidebar linking.

 sidebar:
   order: 4
- relatedArticles:
-  - 88e1773a-b681-441f-b4c7-d7d339116867
-  - e6dde80d-2977-419f-a05a-62ad0a7ac6de
+  relatedArticles:
+    - 88e1773a-b681-441f-b4c7-d7d339116867
+    - e6dde80d-2977-419f-a05a-62ad0a7ac6de
src/content/docs/billing/billing-user-experience/plan-selection.mdx (1)

6-8: Fix frontmatter indentation for relatedArticles
relatedArticles must be nested under sidebar to render correctly.

 sidebar:
   order: 1
- relatedArticles:
-  - 88e1773a-b681-441f-b4c7-d7d339116867
-  - 9d1daf85-237-…-62ad0a7ac6de
+  relatedArticles:
+    - 88e1773a-b681-441f-b4c7-d7d339116867
+    - 9d1daf85-237-…-62ad0a7ac6de
src/content/docs/billing/get-started/setup-overview.mdx (2)

21-21: Link mismatch for Build plans step
Step 4 should link to the get-started guide.

- 4. [Build plans](/billing/manage-plans/create-plans/)
+ 4. [Build plans](/billing/get-started/build-plans/)

25-25: Incorrect path for self-serve portal link
Update the link to the billing get-started namespace.

- 2. [Enable self-serve portal](/build/set-up-options/self-serve-portal-for-orgs/)
+ 2. [Enable self-serve portal](/billing/get-started/self-serve-portal-setup/)
🧹 Nitpick comments (15)
src/content/docs/billing/about-billing/kinde-billing-model.mdx (3)

19-19: Insert missing preposition “on”
Add “on” after “Depending” for grammatical accuracy.

- Kinde supports billing models for B2B, B2C and even B2B2C. Depending which you are setting up, you may need to do a few different tasks.
+ Kinde supports billing models for B2B, B2C and even B2B2C. Depending on which you are setting up, you may need to do a few different tasks.

29-29: Add comma before conjunction
Two independent clauses need a comma before “and.”

- Stripe securely stores your customer’s payment details and Kinde never sees credit card or other bank information.
+ Stripe securely stores your customer’s payment details, and Kinde never sees credit card or other bank information.

39-39: Add comma before conjunction
Two independent clauses need a comma before “and.”

- Kinde has customers everywhere and almost every global currency is supported.
+ Kinde has customers everywhere, and almost every global currency is supported.
src/content/docs/billing/manage-plans/cancel-plans.mdx (2)

11-11: Insert missing “that” for clarity
Include “that” after “rather” for grammatical correctness.

- While we would rather customers didn't cancel their subscription to your services, they do need to be able to.
+ While we would rather that customers didn't cancel their subscription to your services, they do need to be able to.

11-11: Correct number agreement
Change “There's two ways” to “There are two ways.”

- There's two ways to do this.
+ There are two ways to do this.
src/content/docs/billing/billing-user-experience/plan-selection.mdx (2)

69-71: Use “at the top” instead of “in the top”
The correct preposition is “at.”

- In the top of the window, select the language you want to add features in.
+ At the top of the window, select the language you want to add features in.

109-117: Hyphenate “sign-up flow”
Consistently use “sign-up” when used as a noun.

- URL during the normal sign up flow.
+ URL during the normal sign-up flow.

- hide pricing tables in the sign up flow, but still show them ...
+ hide pricing tables in the sign-up flow, but still show them ...
src/content/docs/billing/get-started/connect-to-stripe.mdx (2)

15-15: Hyphenate “third-party”
Use a hyphen for the compound adjective.

- This is a Stripe-imposed limitation for third party payment gateway integrations.
+ This is a Stripe-imposed limitation for third-party payment gateway integrations.

35-35: Insert missing preposition or reword conditional clause
Change “depending if” to “depending on whether” for clarity.

- Here’s what happens next, depending if you have a Stripe account already associated with your email address.
+ Here’s what happens next, depending on whether you have a Stripe account already associated with your email address.
src/content/docs/billing/get-started/setup-overview.mdx (1)

14-14: Insert missing article “a”
Add “a” before “big step” for grammatical correctness.

- Billing is big step for a business, so it’s a good idea...
+ Billing is a big step for a business, so it’s a good idea...
src/content/docs/billing/manage-plans/about-plans.mdx (5)

14-14: Use plural verb for examples
Change "Here’s some examples:" to "Here are some examples:"

- Plans enable you to structure your app features and charge your customers for using your services. Kinde supports both basic and more advanced plans for SaaS services. Here’s some examples:
+ Plans enable you to structure your app features and charge your customers for using your services. Kinde supports both basic and more advanced plans for SaaS services. Here are some examples:

42-42: Add missing preposition
Change "Depending how you manage plans..." to "Depending on how you manage plans..."

- Depending how you manage plans and feature provisioning in your application, plan pricing might be simple or complex in your business.
+ Depending on how you manage plans and feature provisioning in your application, plan pricing might be simple or complex in your business.

44-44: Streamline phrasing
Replace "include a mixture of any of these options" with "include a mixture of these options"

- When you set up a plan, you can include a mixture of any of these options:
+ When you set up a plan, you can include a mixture of these options:

65-65: Remove unnecessary comma
In "easier, because the feature...", remove the comma before "because"

- ... building and managing plan features easier, because the feature shares the same key (e.g. `base_price`), making it easier to manage in your code and for gating.
+ ... building and managing plan features easier because the feature shares the same key (e.g. `base_price`), making it easier to manage in your code and for gating.

79-79: Add comma to compound sentence
Add a comma before "and the plan can be signed up..." for clarity, and remove the comma after "manually"

- **Published** - products and prices are synced to Stripe and the plan can be signed up to manually, or via API.
+ **Published** - products and prices are synced to Stripe, and the plan can be signed up to manually or via API.
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 4d04d56 and 5664e6b.

📒 Files selected for processing (8)
  • src/content/docs/billing/about-billing/kinde-billing-model.mdx (1 hunks)
  • src/content/docs/billing/billing-user-experience/plan-selection.mdx (1 hunks)
  • src/content/docs/billing/get-started/connect-to-stripe.mdx (1 hunks)
  • src/content/docs/billing/get-started/default-billing-currency.mdx (1 hunks)
  • src/content/docs/billing/get-started/self-serve-portal-setup.mdx (1 hunks)
  • src/content/docs/billing/get-started/setup-overview.mdx (1 hunks)
  • src/content/docs/billing/manage-plans/about-plans.mdx (1 hunks)
  • src/content/docs/billing/manage-plans/cancel-plans.mdx (1 hunks)
✅ Files skipped from review due to trivial changes (2)
  • src/content/docs/billing/get-started/self-serve-portal-setup.mdx
  • src/content/docs/billing/get-started/default-billing-currency.mdx
🧰 Additional context used
🪛 LanguageTool
src/content/docs/billing/about-billing/kinde-billing-model.mdx

[grammar] ~19-~19: The verb ‘depend’ requires the preposition ‘on’ (or ‘upon’).
Context: ...ing models for B2B, B2C and even B2B2C. Depending which you are setting up, you may need ...

(DEPEND_ON)


[uncategorized] ~29-~29: Possible missing comma found.
Context: ...securely stores your customer’s payment details and Kinde never sees credit card or oth...

(AI_HYDRA_LEO_MISSING_COMMA)


[uncategorized] ~39-~39: Possible missing comma found.
Context: ...i-currency support Kinde has customers everywhere and almost every global currency is sup...

(AI_HYDRA_LEO_MISSING_COMMA)


[style] ~53-~53: ‘in arrears’ might be wordy. Consider a shorter alternative.
Context: ...etered (usage-based) charges are billed in arrears, usage is tracked throughout the billin...

(EN_WORDINESS_PREMIUM_IN_ARREARS)

src/content/docs/billing/billing-user-experience/plan-selection.mdx

[style] ~61-~61: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...n**, depending on the plan position. 5. Select Save. ## Add a features list to a ...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[uncategorized] ~70-~70: The preposition “at” seems more likely in this position than the preposition “in”.
Context: ...e plan and select Edit content. 4. In the top of the window, select the langu...

(AI_EN_LECTOR_REPLACEMENT_PREPOSITION_IN_AT)


[style] ~87-~87: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ...translate pricing table content If you want to display pricing tables in multiple lang...

(REP_WANT_TO_VB)


[uncategorized] ~109-~109: The noun “sign-up” is spelled with a hyphen.
Context: ...not passed in the URL during the normal sign up flow. 1. Open the pricing table. 2. Se...

(SIGN_UP_HYPHEN)


[uncategorized] ~117-~117: The noun “sign-up” is spelled with a hyphen.
Context: ...ure Kinde to hide pricing tables in the sign up flow, but still show them in the self-s...

(SIGN_UP_HYPHEN)


[uncategorized] ~117-~117: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...you have designed your own pricing pages and you only want to show Kinde's pricing t...

(COMMA_COMPOUND_SENTENCE)

src/content/docs/billing/get-started/connect-to-stripe.mdx

[uncategorized] ~15-~15: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...This is a Stripe-imposed limitation for third party payment gateway integrations. We’re wor...

(EN_COMPOUND_ADJECTIVE_INTERNAL)


[uncategorized] ~31-~31: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...e> If the Stripe flow doesn’t appear and you remain in the Kinde dashboard, sele...

(COMMA_COMPOUND_SENTENCE)


[grammar] ~35-~35: The verb ‘depend’ requires the preposition ‘on’ (or ‘upon’).
Context: ...t Submit. Here’s what happens next, depending if you have a Stripe account already as...

(DEPEND_ON)


[style] ~41-~41: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...o other data will come across. 2. If you select to make a new one, you will ...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[style] ~55-~55: Consider a more concise word here.
Context: ...quires some additional details from you in order to fully set up the account. Select **Upda...

(IN_ORDER_TO_PREMIUM)


[uncategorized] ~56-~56: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ... is successfully syncing data with Kinde and you’re ready to publish plans. For mor...

(COMMA_COMPOUND_SENTENCE)

src/content/docs/billing/get-started/setup-overview.mdx

[uncategorized] ~14-~14: Possible missing article found.
Context: ...m: billing - s: plans --- Billing is big step for a business, so it’s a good ide...

(AI_HYDRA_LEO_MISSING_A)

src/content/docs/billing/manage-plans/about-plans.mdx

[grammar] ~14-~14: Did you mean “Here are some examples”?
Context: ... more advanced plans for SaaS services. Here’s some examples: - A simple subscription plan: $10 per...

(THERE_S_MANY)


[grammar] ~41-~41: The verb ‘depend’ requires the preposition ‘on’ (or ‘upon’).
Context: ...nternal use. ### Plan feature pricing Depending how you manage plans and feature provis...

(DEPEND_ON)


[style] ~44-~44: Consider simply using “of” instead.
Context: ...et up a plan, you can include a mixture of any of these options: - Fixed charges - a...

(OF_ANY_OF)


[formatting] ~65-~65: If the ‘because’ clause is essential to the meaning, do not use a comma before the clause.
Context: ...ilding and managing plan features easier, because the feature shares the same key (e.g. `...

(COMMA_BEFORE_BECAUSE)


[uncategorized] ~79-~79: Use a comma before “and” if it connects two independent clauses (unless they are closely connected and short).
Context: ...products and prices are synced to Stripe and the plan can be signed up to manually, ...

(COMMA_COMPOUND_SENTENCE_2)

src/content/docs/billing/manage-plans/cancel-plans.mdx

[grammar] ~11-~11: The word ‘customers’ is a noun or an adjective. A verb is missing or misspelled, or maybe a comma is missing.
Context: ...77-419f-a05a-62ad0a7ac6de --- While we would rather customers didn't cancel their subscription to you...

(PRP_MD_NN)


[grammar] ~11-~11: Did you mean “There are two ways”?
Context: ...r services, they do need to be able to. There's two ways to do this. - The customer can cancel ...

(THERE_S_MANY)


[uncategorized] ~40-~40: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...o this, for example, to be alerted when high value customers cancel. For details, refer t...

(EN_COMPOUND_ADJECTIVE_INTERNAL)

Comment on lines +4 to +8
sidebar:
order: 2
relatedArticles:
- bd6757e3-81d5-48d6-89c8-dd4c222ac647
- 9d1daf85-1a2c-4cc5-879a-230c950bed12
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Fix frontmatter indentation for relatedArticles
The relatedArticles key must be nested under sidebar to render correctly.

 sidebar:
   order: 2
- relatedArticles:
-  - bd6757e3-81d5-48d6-89c8-dd4c222ac647
-  - 9d1daf85-1a2c-4cc5-879a-230c950bed12
+  relatedArticles:
+    - bd6757e3-81d5-48d6-89c8-dd4c222ac647
+    - 9d1daf85-1a2c-4cc5-879a-230c950bed12
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
sidebar:
order: 2
relatedArticles:
- bd6757e3-81d5-48d6-89c8-dd4c222ac647
- 9d1daf85-1a2c-4cc5-879a-230c950bed12
sidebar:
order: 2
relatedArticles:
- bd6757e3-81d5-48d6-89c8-dd4c222ac647
- 9d1daf85-1a2c-4cc5-879a-230c950bed12
🤖 Prompt for AI Agents
In src/content/docs/billing/about-billing/kinde-billing-model.mdx around lines 4
to 8, the frontmatter indentation is incorrect because the relatedArticles key
is not nested under sidebar. Fix this by indenting relatedArticles so it is a
child of sidebar, ensuring proper YAML structure and correct rendering.

Comment on lines +6 to +8
relatedArticles:
- 46241baf-30aa-43c0-ac0c-b2b7e99941f1
- 8770ef89-e805-475f-b4f5-a86c1e1eccc1
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Fix frontmatter indentation for relatedArticles
relatedArticles must be indented under sidebar for proper navigation.

 sidebar:
   order: 4
- relatedArticles:
-  - 46241baf-30aa-43c0-ac0c-b2b7e99941f1
-  - 8770ef89-e805-475f-b4f5-a86c1e1eccc1
+  relatedArticles:
+    - 46241baf-30aa-43c0-ac0c-b2b7e99941f1
+    - 8770ef89-e805-475f-b4f5-a86c1e1eccc1
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
relatedArticles:
- 46241baf-30aa-43c0-ac0c-b2b7e99941f1
- 8770ef89-e805-475f-b4f5-a86c1e1eccc1
sidebar:
order: 4
relatedArticles:
- 46241baf-30aa-43c0-ac0c-b2b7e99941f1
- 8770ef89-e805-475f-b4f5-a86c1e1eccc1
🤖 Prompt for AI Agents
In src/content/docs/billing/get-started/connect-to-stripe.mdx around lines 6 to
8, the relatedArticles frontmatter is not properly indented under the sidebar
key. Fix the indentation by nesting relatedArticles correctly under sidebar to
ensure proper navigation functionality.

Comment on lines +21 to +29
## Current limitations

These are known limitations that we are actively working on to add.

- Support for plan models with free trial periods.
- Annual subscriptions. Only monthly is available right now.
- No alterations to billing cycle or invoice methods.
- Add-ons and discounts that can be applied to individual subscriptions.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ Refactor suggestion

Include all Day 1 omissions in Current Limitations
The PR description calls out that plan groups, plan changes (upgrades/downgrades), workflows and webhooks, and the billing API are omitted in Day 1 and planned for Day 2. Consider adding these items to the Current Limitations list to keep readers aligned with the roadmap.

🤖 Prompt for AI Agents
In src/content/docs/billing/manage-plans/about-plans.mdx around lines 21 to 29,
the Current Limitations section is missing some Day 1 omissions mentioned in the
PR description. Add plan groups, plan changes (upgrades/downgrades), workflows
and webhooks, and the billing API to the list of current limitations to ensure
the documentation accurately reflects the roadmap and keeps readers aligned with
planned features.

@clairekinde11 clairekinde11 merged commit 12e8678 into main Jun 18, 2025
6 checks passed
@clairekinde11 clairekinde11 deleted the Feat/Billing-day-one branch June 18, 2025 07:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants