Skip to content

Minimum commitment billing — floors, groups, and true-ups

How spend floors work across product groups, when top-up lines appear, and why late usage moves the number.

Sonic AI team

Finance operations

29 Aug 20262 min read

BillingInvoices, schedules, proration, and getting the document right before speed.

Some contracts promise a minimum spend per period across a bundle of services — not a minimum on any single meter. Sonic models that as a minimum commitment product with a floor amount and a commitment group of included products.

At period close Sonic sums actual charges in the group. Short of the floor, a true-up line covers the difference. Over the floor, nothing happens.

When to use this model

Use minimum commitment when the contract says language like:

  • "Minimum $10,000 per month across all platform fees"
  • "Annual commit of ₹X across listed services"
  • "Shortfall invoiced at period end"

The floor applies to the group total, not per product in isolation.

Configuration fields

Field Role
Commitment amount Floor per period
Commitment group Which products count toward the floor
Billing frequency How often the floor is evaluated
Bill in advance Whether top-up lands on advance invoice or closing invoice

Example floor $10,000/month:

Actual group charges Top-up
$7,500 $2,500
$12,000 none

Group membership is explicit, not inherited

A minimum commitment product sits on the same schedule as the products it covers, but it does not automatically absorb everything on that schedule — each product has to be added to the commitment group by name. When a renewal changes the floor amount, that change belongs in a new phase, not a live edit to the floor on an active term; the old floor and the new one both need to exist as distinct, dated facts.

Ungrouped spend does not count. A customer with $9,000 grouped + $4,000 ungrouped still gets a top-up if grouped total is below floor — and will argue if the contract language was vague.

Invoice and recognition behaviour

Top-up can only be calculated once period usage is in. Late events change the top-up — another reason sent invoices do not grow new lines; open drafts refresh.

Journal shows true-up entry type linked to source period. Waterfall reflects billed vs recognised per your configured methods.

Minimum commitment is not the same as seat minimum_seats on a seat product — that floor bills contracted headcount via product pricing rules; Sonic does not auto-create synthetic minimum-seat events at activation.

Contract ingestion

Structurer reports commitment language; operators verify group membership on review. The most disputed invoice line in this model is "why did this product not count toward my commit?"

Write group membership into the contract in plain words.

Watch out for

  • Only grouped products count — disputes start here.
  • Late usage moves true-up — close usage before finalising period invoice.
  • Phase changes for renewals — do not edit live floor mid-term without amendment workflow.
  • True-up timing vs bill in advance — know which invoice carries the top-up.
  • Not a tax or GL policy tool — accounts come from your chart mapping.

See it on the platform

Everything above describes how Sonic actually runs it — the product pages show the screens.

Related questions

Still have questions?

Will you rewrite an invoice after it has been sent?

No. Sent, paid, void, and final invoices are not rewritten. Corrections are credit notes or a new invoice alongside the original. Drafts and in-progress invoices can still accept lines. Freight has no credit notes — correct the file, or void.

Are seats events or snapshots?

Snapshots. Each row is how many they had that day. Sonic compares it to the balance on record and writes an event only when the count changes. Vendor increase/delta columns are not imported — they break at customer boundaries.

What are confirmation days?

An optional hold on seat adds. If you set N days, an increase on date D bills only if the new count still holds through D+N. Removals bill immediately. Incomplete files show as awaiting, not as a guessed invoice line.

See the full FAQ →

Next

See it on your contracts

A walkthrough on the agreements and files you actually bill from — not a slide deck.