Reviewing lines and the trace
Read each line's calculation trace step by step, approve or hold or reject it, use four-eyes approval, and rerun a close without touching approved lines.
On this page
Every close run ends on its run page. Each line on it is a draft until a person approves it. This page explains what you see there and what each decision does.
The run page
The header shows the date the run closes periods to, the usage cutoff, how many contracts and periods it covered, the engine version and how long it took. Four totals sit under it:
| Total | What it is |
|---|---|
| Expected true-up | The sum of the run's current lines, leaving out rejected ones. |
| Under-billed (leakage) | Periods where the expected amount is more than what was invoiced, summed. |
| Over-billed (dispute risk) | Periods where the expected amount is less than what was invoiced, summed. |
| Blocking approval | Lines that can't be approved yet because an exception is open. |
The table lists one row per line: contract, period, type (overage, adjustment or shortfall), units, expected amount, the difference from what was invoiced, any flags and the status. Filter by status or search by contract name or account ID. Select a row to open its trace on the right.
Reading the trace
The trace is the calculation, step by step, with the clause each step comes from. It is stored with the line and never recomputed, so it reads the same for that line version forever.
Overage lines
The steps follow the drawdown order:
- Usage, one step per metric: units times the metric's credit weight. Metrics the contract doesn't price are listed as excluded.
- Monthly free allowance, if the contract has one.
- Rollover lots drawn, earliest expiry first, each with its expiry date.
- Included credits drawn, with how many were granted and whether they were prorated.
- Grace units, if any.
- Overage units: what's left.
- Tier pricing: units times rate for each tier, whether tiers reset each month or each true-up period, and the rounding rule.
Each step names its clause reference. A step with no clause shows "no clause reference" so you can add one to the contract.
Adjustment lines
An adjustment shows the locked line as it was, the replay with the late usage, and the difference. The full replay calculation is one click away. The locked line itself never changes. See locked periods.
Shortfall lines
A shortfall line shows the committed units for the term, the units drawn, the unused commitment, and the price: unused units times the commit rate (commit amount divided by committed units), rounded half-up to 2 decimal places. See minimum commits and shortfall lines.
Expected versus invoiced
For overage lines, a box under the trace compares the expected amount with what was invoiced for the period, and says under-billed, over-billed or matches. Differences of a cent or less count as a match. The invoiced amount comes from your billing system once an invoice is finalized, or from a billed amounts file. If nothing is recorded, the line is compared against zero and says so.
Approving a line
Approvers and admins see the decision buttons under the trace. Analysts can read lines but can't decide on them.
- Approve line locks the line. A later run that would change it posts an adjustment instead.
- Hold parks a draft without deciding.
- Reject needs a note saying why. Rejected lines don't count in the expected total and are never pushed.
- Release to draft brings a held or rejected line back to draft.
You can add a note when you decide on a draft or held line. Every decision is written to the audit log with the line version and amount.
Lines blocked by an exception
A line with an open Review or Data exception can't be approved. Instead of Approve line, you see Resolve exception, which opens the exact exception. Resolve it with a note, then come back and approve. See exceptions.
Approving clean drafts in bulk
Approve N clean drafts approves every draft line in the run that has no open Review or Data exception. Blocked lines are left for you to look at one by one.
Four-eyes approval
Admins can turn on Four-eyes in Settings › General. With it on, the person who pushes a line must be someone other than the person who approved it. If you approved any of the lines waiting to be pushed, the run page says someone other than the approver has to push, and a push you start is refused. The same rule applies to Stripe and NetSuite.
Pushing approved lines
Push N approved to Stripe (or NetSuite) sends approved lines to your billing system as drafts. Lines of $0 aren't sent. TrueUpp never finalizes, sends or charges. Your team does that in the billing system as usual. See connecting Stripe and NetSuite draft invoices.
After a push, the result says how many lines went out, and how many were skipped or failed, with the reason. A failed line keeps its error on the trace ("Last push failed") and raises a push_failed exception. Once a line is pushed, its trace links to the draft invoice in your billing system.
Rerunning
Re-run starts a new run with the same scope and a usage cutoff of now. Use it after you fix terms, import more usage or resolve exceptions.
- Approved, pushed and invoiced lines never change.
- A draft that comes out the same is left as it is.
- A draft that comes out differently is replaced by a new version.
- Exceptions the new run no longer produces are closed automatically, with a note naming the run.
Line versions
The trace header shows the line's version, such as v2. When a draft has an earlier version, Changed since v1 shows the old and new amounts, and opens the two traces side by side. If someone tries to approve a line that a newer run has just replaced, they're asked to reload the page first.
Findings report
The run header links to a findings report as PDF or Markdown. It summarizes under- and over-billing by account and period, items still to review, and notes for a cover email. It's marked as a draft for you to review before sending it to a controller or customer.