Skip to content

Credit rollover: one source of truth + underuse exception#18362

Merged
simfish85 merged 2 commits into
masterfrom
mine/credit-rollover-consistency
Jul 16, 2026
Merged

Credit rollover: one source of truth + underuse exception#18362
simfish85 merged 2 commits into
masterfrom
mine/credit-rollover-consistency

Conversation

@minekansu

Copy link
Copy Markdown
Contributor

Why

Leo flagged in #sales that the handbook and the pre-paid plans doc describe the credit rollover rule differently:

  • Handbook: "roll up to half the amount of credit from the original order form"
  • Docs: "roll over half of your remaining credits"

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

  1. Docs (pre-paid-plans.md) is now the single source of truth for the customer-facing mechanic. Wording unchanged (already correct), plus a new bullet.
  2. Handbook (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.
  3. New exception, public on both pages: where the underuse was outside the customer's control (a PostHog-side incident, a data issue on our side, or a documented disruption on theirs), we can roll over more than the standard amount, up to the full remaining balance, or extend the window to use existing credits. Handled case by case based on what was logged at the time.

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

minekansu added 2 commits July 9, 2026 21:28
…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.
@github-actions

github-actions Bot commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

Deploy preview

Status Details Updated (UTC)
🟢 Ready View preview Jul 10, 2026 02:31AM

@github-actions

Copy link
Copy Markdown
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!

contents/docs/billing/pre-paid-plans.md — 1 errors, 0 warnings, 0 suggestions
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

@github-actions

Copy link
Copy Markdown
Contributor

Bundle report

Total JS (gzip)

6.30 MiB (no change)

Eager graph (static-import closure per entrypoint)

Entrypoint Eager size Budget Modules
app 24.26 MiB (no change) report-only 5520
Largest modules in the app closure
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.

@bendbradley bendbradley left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Makes sense to harmonize. Thanks Leo for the catch!

@simfish85 simfish85 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Thanks for clarifying this!

@simfish85
simfish85 merged commit b31ea87 into master Jul 16, 2026
20 checks passed
@simfish85
simfish85 deleted the mine/credit-rollover-consistency branch July 16, 2026 13:08
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