You send a proposal on Tuesday. On Friday, you add migration help, soften a limit and change the billing cadence. Two buyers object for different reasons. A month later, the notes say only “pricing felt wrong.” Nothing in that record can guide the next quote.

“First 100” is a frame, not proof

Treat the first hundred customers as a planning horizon, not a point at which your price is proven. A self-serve utility and an assisted workflow can learn at different speeds because the offers, buyers and service boundaries differ. Count accounts if it helps operations; do not use the count as a licence to stop examining the offer.

Stripe documents flat-rate, per-seat, tiered and usage-based models, but those mechanisms do not tell you which commercial model will work for your product. That decision still depends on buyer language, package scope and cost evidence.

Give every offer a version

Before another quote leaves your inbox, freeze the current offer in a pricing hypothesis log:

FieldRecordWhat it protects
Version and dateA stable label and the date first shownPrevents a later offer from rewriting history
Buyer jobThe work the buyer is trying to completeKeeps unlike cohorts apart
PackageOutcome, limits, cadence and exclusionsStops scope changes from looking like price reactions
Billing unitAccount, seat, usage unit or another named basisExposes what actually changes the bill
Service boundarySetup, migration and manual exceptions included or excludedMakes founder labour visible without inventing a margin
Buyer evidenceQuestion, objection or acceptance condition, kept separate from interpretationPreserves what happened instead of a vague label
Revision triggerThe evidence that would justify the next changePrevents nervous mid-cohort editing

If formal proposals matter to your process, preserve the quote state as well as its terms. Under Stripe’s quote lifecycle, an open quote is finalized and ordinary edits are limited to its expiration date. Changing the offer uses the separate revision or duplication path: an open quote can be revised, and a draft, open or accepted quote can be duplicated into a new draft.

Accepted Stripe quotes can generate an invoice, subscription or subscription schedule, depending on their terms. Access also matters: finalizing, downloading or accepting live quotes for one-time invoices requires Invoicing Plus, as documented in Stripe’s quote guidance. Those capabilities preserve formal terms; they do not establish whether a buyer will accept the offer.

Illustrative pricing log — fictional, not PBT or customer data

The three entries below contain no observed prices, customers, revenue or results. They show how to keep the offer and the interpretation separate.

Buyer situationOffer hypothesisEvidence the founder would collectPossible next reading
Owner-operator, self-serve setupOne recurring package covers the standard jobQuestions cluster around getting the first file acceptedInspect setup clarity before assuming the amount is the objection
Agency, mixed client filesThe package includes assisted migrationEach migration introduces different cleanup workBound the input or separate migration from recurring access
Team with approvalsA separate package includes roles and approval historyQuestions focus on control, rollout and responsibilityTest whether the package resolves operational risk before changing price

“Too expensive” and “too expensive for one report a quarter” are not the same record. Keep the buyer’s sentence in one field and your interpretation in another. You may still be wrong, but you will know what you are revising.

Revise when the offer becomes hard to explain

  • Language mismatch: the intended buyer cannot connect the package to a current job, cost or risk.
  • Scope leakage: accepted work repeatedly requires unnamed setup or manual handling.
  • Package confusion: comparable buyers cannot tell which version covers the ordinary workflow.
  • Cohort drift: the offer attracts work the product was not meant to support.
  • Billing-unit distortion: the unresolved question is what should change the bill, not the amount itself.

These are possible responses, not market laws. The right move might be a narrower promise, a separate service, a different package or a deliberate refusal. It is not automatically a discount or increase.

Ignore polished tier names, annual-discount choreography and a competitor-price spreadsheet if you cannot reconstruct your own last offer. Do not build a complicated billing configuration to compensate for a package you still change in conversation. Someone else’s early price range cannot tell you what your own package includes.

Freeze the next offer before it leaves

Write four lines in the pricing log: the comparable cohort, the unchanged package boundary, the one proposed change and the evidence you will preserve. If the unresolved question is the billing unit, leave the amount alone and work through the fictional file journal and reconstructed invoice subtotal, including the duplicate, reversal and cap rules.

Next move: freeze today’s version. Change one commercial hypothesis in the next comparable offer, not three variables halfway through the conversation.

Sources behind the pricing assumptions

  • Stripe pricing models, documentation checked 2026-09-14. Documents Stripe model types; it does not identify a winning price or model.
  • Stripe Quotes, documentation checked 2026-09-14. Documents quote states and what acceptance creates; it does not prove a sales outcome.
  • Stripe quote revision and duplication, documentation checked 2026-09-14. Describes the open-quote revision path and Invoicing Plus requirement for live one-time invoice quote actions. Check current account access before relying on these capabilities.