Minimum commits and shortfall lines

When TrueUpp drafts a minimum-commit shortfall line on Growth, how it's priced from the commit amount, the exceptions it raises, and how it prints.

On this page

Some contracts say the customer pays for its committed credits whether or not it uses them. When the term ends with committed credits unused, TrueUpp can draft a shortfall line for them, priced at the commit rate. Shortfall lines are a Growth feature. On Starter, TrueUpp tells you about the shortfall but doesn't draft a line.

What a contract needs

Two things on the contract form (or on an amendment):

  1. Minimum-commit shortfall is billable, ticked.
  2. Commit amount: what the customer committed to pay for the term, in the contract's currency.

Enter the commit amount when you create the contract. Saved terms aren't edited in place, so a missing amount can't be added to a segment later.

When a shortfall line is drafted

TrueUpp checks each segment of the contract at its end. A segment is the whole term for a contract with no amendments. An amendment ends one segment and starts the next, and each segment is checked on its own, with its own commit amount.

A shortfall line is drafted when all of these are true:

  • the workspace is on Growth or Scale;
  • the segment has Minimum-commit shortfall is billable ticked;
  • the run's usage cutoff is on or after the segment's end date, and the run covers the segment's last period;
  • the included credits drawn over the segment are less than the included credits it granted;
  • the segment has a commit amount.

Only included credits drawn count toward the commitment. Credits covered by the free allowance, rollover lots or grace don't count, and neither does overage. Overage in one period doesn't make up for unused credits in another: it's billed as overage in its own period.

How it's priced

Shortfall credits = included credits granted over the segment − included credits drawn
Commit rate       = commit amount ÷ included credits granted over the segment
Shortfall amount  = shortfall credits × commit amount ÷ credits granted, rounded half-up to 2 places

The commit rate shows on the trace to 10 decimal places. The amount uses the exact ratio, so the displayed rate never adds a rounding difference.

Worked example

A one-year term from 1 January 2026 to 1 January 2027, quarterly, 30,000 included credits per quarter, commit amount $90,000, shortfall billable.

QuarterCredits usedIncluded drawnOverage
Q130,00030,0000
Q220,00020,0000
Q335,00030,0005,000
Q415,00015,0000
Year100,00095,0005,000
Granted over the term:  4 × 30,000           = 120,000 credits
Drawn from included:                            95,000 credits
Shortfall:              120,000 − 95,000     =  25,000 credits
Commit rate:            $90,000 ÷ 120,000    =  $0.75 per credit
Shortfall line:         25,000 × $0.75       = $18,750.00

Q3's 5,000 overage credits are billed on Q3's own overage line. They don't reduce the shortfall.

Exceptions you may see

CodeSeverityWhenWhat to do
commit_shortfallInfoThe workspace is on Starter, and the segment has drawn fewer included credits than it granted (so far, or by the end of the term).Nothing is drafted. Bill it yourself if the contract says so, or move to Growth.
commit_shortfall_pendingInfoThe segment has drawn less than it granted so far, but its term hasn't ended at the run's cutoff.Nothing yet. The line is drafted by the first run after the term ends.
shortfall_needs_commit_amountReviewThe term has ended with a shortfall, but the segment has no commit amount to price it.No line is drafted. The exception blocks approval of the term's last period until someone resolves it with a note, for example saying how the shortfall was billed.
commit_pacingInfoGrowth alerts are on, and partway through a period the contract is on pace to use half or less of its available credits.A warning while there's still time. On shortfall-billable contracts the message says a shortfall may apply. See alerts.

Info exceptions never block approval. See exceptions for every code.

Reviewing and pushing

The shortfall line sits on the segment's last period, next to that period's overage line, as type Shortfall. Its trace has four steps:

  1. Committed units for the term, with the included-credits clause reference.
  2. Drawn over the term.
  3. Unused commitment.
  4. × commit rate (commit amount ÷ committed units), with the rounding rule and the amount.

Approve and push it like any other line. In Stripe it becomes its own draft invoice item, described as "Minimum-commit shortfall: 25,000 committed units unused by" the period. Once approved it's locked: later runs never change or re-draft it.

On audit statements

The shortfall prints on the statement for the segment's last period, in the adjustments section:

  • Relates to: the commitment term.
  • Units and amount: 25,000 and $18,750.00 in the example.
  • Note: "Minimum-commit shortfall: committed units not used by the end of the term, at the commit rate."

The statement's total including adjustments adds the shortfall to the period's overage amount. A rejected shortfall line isn't printed. See audit statements.