Credit rollover: one source of truth + underuse exception#18362
Merged
Conversation
…eption for underuse outside customer control The handbook and the pre-paid plans doc stated the credit rollover rule differently (original order form basis vs remaining credits basis). Remaining-credits is the intended rule. This makes the doc canonical, has the handbook link to it instead of restating the number, and adds a public exception for underuse caused by circumstances outside the customer's control.
…urce of truth, add underuse exception
Contributor
Deploy preview
|
Contributor
|
Vale prose linter → found 14 errors, 17 warnings, 0 suggestions in your markdown Full report → Copy the linter results into an LLM to batch-fix issues. Linter being weird? Update the rules!
|
| Line | Severity | Message | Rule |
|---|---|---|---|
| 28:9 | error | Hi, Andy here... use an en dash ( – ) with spaces. On Mac, holding down the Option and hyphen key will give you an en dash. | PostHogBase.EnDash |
contents/handbook/growth/sales/contract-rules.md — 13 errors, 17 warnings, 0 suggestions
| Line | Severity | Message | Rule |
|---|---|---|---|
| 7:219 | error | Hi, Andy here... use an en dash ( – ) with spaces. On Mac, holding down the Option and hyphen key will give you an en dash. | PostHogBase.EnDash |
| 18:46 | error | Hi, Andy here... use an en dash ( – ) with spaces. On Mac, holding down the Option and hyphen key will give you an en dash. | PostHogBase.EnDash |
| 19:46 | error | Hi, Andy here... use an en dash ( – ) with spaces. On Mac, holding down the Option and hyphen key will give you an en dash. | PostHogBase.EnDash |
| 20:46 | error | Hi, Andy here... use an en dash ( – ) with spaces. On Mac, holding down the Option and hyphen key will give you an en dash. | PostHogBase.EnDash |
| 21:54 | error | Hi, Andy here... use an en dash ( – ) with spaces. On Mac, holding down the Option and hyphen key will give you an en dash. | PostHogBase.EnDash |
| 23:123 | error | Hi, Andy here... use an en dash ( – ) with spaces. On Mac, holding down the Option and hyphen key will give you an en dash. | PostHogBase.EnDash |
| 31:56 | error | Hi, Andy here... use an en dash ( – ) with spaces. On Mac, holding down the Option and hyphen key will give you an en dash. | PostHogBase.EnDash |
| 54:27 | error | Hi, Andy here... use an en dash ( – ) with spaces. On Mac, holding down the Option and hyphen key will give you an en dash. | PostHogBase.EnDash |
| 58:206 | error | Hi, Andy here... use an en dash ( – ) with spaces. On Mac, holding down the Option and hyphen key will give you an en dash. | PostHogBase.EnDash |
| 69:182 | warning | 'TAEs' is a possible misspelling. | PostHogBase.Spelling |
| 69:259 | warning | 'CSMs' is a possible misspelling. | PostHogBase.Spelling |
| 101:27 | error | Hi, Andy here... use an en dash ( – ) with spaces. On Mac, holding down the Option and hyphen key will give you an en dash. | PostHogBase.EnDash |
| 124:82 | warning | Use 'X' instead of 'x'. | Vale.Terms |
| 144:274 | warning | 'CSMs' is a possible misspelling. | PostHogBase.Spelling |
| 160:44 | warning | 'timeframe' is a possible misspelling. | PostHogBase.Spelling |
| 160:155 | error | Hi, Andy here... use an en dash ( – ) with spaces. On Mac, holding down the Option and hyphen key will give you an en dash. | PostHogBase.EnDash |
| 178:4 | warning | 'Uptime SLA' heading should be in sentence case, and product names should be capitalized. | PostHogBase.SentenceCase |
| 185:201 | error | Hi, Andy here... use an en dash ( – ) with spaces. On Mac, holding down the Option and hyphen key will give you an en dash. | PostHogBase.EnDash |
| 196:17 | warning | 'automations' is a possible misspelling. | PostHogBase.Spelling |
| 220:97 | warning | 'ie' is a possible misspelling. | PostHogBase.Spelling |
| 221:52 | warning | 'ie' is a possible misspelling. | PostHogBase.Spelling |
| 226:36 | error | Hi, Andy here... use an en dash ( – ) with spaces. On Mac, holding down the Option and hyphen key will give you an en dash. | PostHogBase.EnDash |
| 261:11 | warning | 'underuse' is a possible misspelling. | PostHogBase.Spelling |
| 294:97 | warning | 'sigificant' is a possible misspelling. | PostHogBase.Spelling |
| 298:5 | warning | 'Varying terms for trials and proofs of concept (POCs) for prospective customers' heading should be in sentence case, and product names should be capitalized. | PostHogBase.SentenceCase |
| 298:53 | warning | 'POCs' is a possible misspelling. | PostHogBase.Spelling |
| 300:75 | warning | 'POCs' is a possible misspelling. | PostHogBase.Spelling |
| 304:41 | warning | 'POCs' is a possible misspelling. | PostHogBase.Spelling |
| 316:48 | warning | 'NDAs' is a possible misspelling. | PostHogBase.Spelling |
| 316:128 | warning | 'NDAs' is a possible misspelling. | PostHogBase.Spelling |
Contributor
Bundle reportTotal JS (gzip)6.30 MiB (no change) Eager graph (static-import closure per entrypoint)
Largest modules in the
|
| Module | Size |
|---|---|
css ./node_modules/.pnpm/css-loader@5.2.7_webpack@5.101.3/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[8].oneOf[1].use[1]!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.5.6_webpack@5.101.3/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[8].oneOf[1].use[2]!./src/styles/global.css |
709.3 KiB |
./src/components/Stickers/Stickers.tsx |
696.4 KiB |
./.cache/caches/gatsby-plugin-mdx/mdx-scopes-dir/31a094f140f119e73085d847ae81b99b.js + 2 modules |
603.8 KiB |
./node_modules/.pnpm/@radix-ui+react-icons@1.3.2_react@18.3.1/node_modules/@radix-ui/react-icons/dist/react-icons.esm.js |
481.4 KiB |
./node_modules/.pnpm/@codemirror+view@6.38.2/node_modules/@codemirror/view/dist/index.js |
458.1 KiB |
./node_modules/.pnpm/rehype-raw@7.0.0/node_modules/rehype-raw/lib/index.js + 29 modules |
395.1 KiB |
./node_modules/.pnpm/@posthog+icons@0.36.6_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@posthog/icons/dist/posthog-icons.cjs.js |
364.8 KiB |
./src/hooks/useCustomers.tsx + 54 modules |
355.1 KiB |
./node_modules/.pnpm/@posthog+icons@0.36.6_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@posthog/icons/dist/posthog-icons.es.js |
354.8 KiB |
./node_modules/.pnpm/react-markdown@8.0.7_@types+react@16.14.66_react@18.3.1/node_modules/react-markdown/lib/react-markdown.js + 88 modules |
351.4 KiB |
./node_modules/.pnpm/cloudinary-core@2.14.0_lodash@4.17.21/node_modules/cloudinary-core/cloudinary-core.js |
281.9 KiB |
./src/components/ProductComparisonTable/index.tsx + 117 modules |
274.3 KiB |
./node_modules/.pnpm/@codesandbox+sandpack-react@2.20.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@codesandbox/sandpack-react/dist/index.mjs |
266.6 KiB |
./node_modules/.pnpm/d3@7.9.0/node_modules/d3/src/index.js + 208 modules |
247.4 KiB |
./src/components/Pricing/PricingSlider/Slider.tsx + 87 modules |
239.9 KiB |
Eager-graph budgets are report-only until a baseline is established. Sizes are gzip of public/**/*.js; eager size is webpack module source bytes.
minekansu
requested review from
abhischekt,
bendbradley,
leonhardprinz and
simfish85
July 10, 2026 02:40
bendbradley
approved these changes
Jul 10, 2026
bendbradley
left a comment
Contributor
There was a problem hiding this comment.
Makes sense to harmonize. Thanks Leo for the catch!
simfish85
approved these changes
Jul 10, 2026
simfish85
left a comment
Contributor
There was a problem hiding this comment.
Thanks for clarifying this!
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
Leo flagged in #sales that the handbook and the pre-paid plans doc describe the credit rollover rule differently:
Half of remaining is the intended rule. Original-order-form basis inflates balances for customers who underused and renew at equal spend, rewarding a mis-sized deal with a bigger credit pile and making the account harder to expand later.
What changed
pre-paid-plans.md) is now the single source of truth for the customer-facing mechanic. Wording unchanged (already correct), plus a new bullet.contract-rules.md) stops restating the number (that restating is what drifted) and links to the doc instead. Keeps the rationale for why we use remaining credits.The exception answers the structural concern that a strict remaining-basis plus the equal-or-higher renewal floor is a double hit on a customer who underused through no fault of their own (e.g. an incident during ramp), without loosening the default for everyone.
cc @leo