What makes a figure auditable
Why a value figure still reproduces after the formula changes: versioned arithmetic, frozen inputs, declared units, and approval before anything counts.
Answered from these docs only, by a model that cannot see your account. Check the pages it cites.
Checked against the product on October 12, 2026
A reported ROI number is only worth as much as the answer to "where did that come from?" — asked months later, by somebody who wasn't in the room, about a figure whose formula has since been improved twice.
Four things make that answerable. None of them is a report; they are all properties of how a figure is recorded in the first place.
The arithmetic is versioned, and old versions are kept
A value formula is a named expression with a version. Changing what it computes (its expression, its inputs, its output unit or the type of value it books) makes a new version, and every earlier one is kept with who made it and when. The formula's page lists them under History. Rewording an input's label or description changes nothing it computes, so it makes no new version and isn't listed there: the audit log records who changed the words, and what they were before and after. Each calculated entry records the version and the expression it was computed with, so it still resolves to the arithmetic that actually produced it. A change made before Roiva kept versions edited the formula in place, and only the expression recorded on each entry remains of it.
This is why "we changed the formula" does not invalidate last quarter's board pack. Last quarter's figures were produced by last quarter's version of the formula, and that version is still there to be read.
A formula in your account that came from a Roiva template and has never been edited follows the library when the library improves. One you have changed is yours, and is left alone — an improvement upstream will not quietly rewrite arithmetic somebody signed off.
When the library splits a formula in two because part of what it priced is a different kind of value, an initiative holding the unedited original also gets the new part. It books from the month it arrives, or the month after if the original's entry for that month was already approved, because earlier months may already have counted its part inside the original. It calculates nothing until you set the figure it asks for. The original asks for a new figure too, covering only its own part, and its entries still waiting for approval wait for that figure. Its page shows the month under Books from.
The inputs are frozen with the figure
Every calculated entry stores the inputs it was evaluated with: each one's name, the value used, and where that value came from — a reading of a metric key, a baseline, or an assumption.
The snapshot is what the entry's Formula Inputs section shows, and it is the difference between a figure you can check and a figure you have to trust.
An input read from your own data warehouse keeps more than its value. It names the version of the query that produced it and the rows that version returned. A query's text is versioned the way a formula is, and what each version returned is kept, so the entry still points at the rows it was computed from after the query is rewritten or retired. An entry computed before a metric moved from a connection to a query still names the connection's reading it used. See Metrics from your own data warehouse. The metric may have been re-measured since. The labor rate may have been revised. The snapshot says what the number was when the figure was made, so the arithmetic can be re-run on paper and come out the same.
Not every entry is calculated, and one that isn't says so rather than borrowing a formula's standing. A synced entry keeps the connection it came from and the source records behind it: a deal or a charge, with the contribution margin its revenue was booked at, or for a month of deflected tickets or conversations, the count, the price per ticket or conversation and a sample of their IDs (see How deflection value is booked). An entry a person typed or imported names who recorded it, their notes, and its Supporting documents, the initiative's files and links it cites, or None cited. Its Source line says which of the three kinds of figure an approver is signing off.
An entry in another currency keeps its own amount and currency. Once it has a rate, it keeps beside them the dollars it counts at, and the European Central Bank rate and the dates it was averaged over, so the conversion can be checked too. One with no rate (still waiting on the ECB, in a currency the ECB doesn't publish, or value with no period) has no dollar figure and is in no total, and the reports name what each total left out. Its own record is complete; only the conversion is missing.
The unit is declared, not inferred
A formula states whether its result is in whole units of the entry's currency or in its minor unit — dollars or cents. It is named on the formula rather than guessed from the shape of what it produces, because a guess about scale is a hundredfold error waiting to happen, and a hundredfold error in a value figure is not one somebody catches by looking.
The same discipline runs through the metrics: a percentage that runs 0 to 100 says so, and one that runs 0 to 1 says so. See Metric keys, and where a value comes from.
Nothing counts until somebody approves it
A calculated figure is not value. It is a proposal, and it sits at calculated until a person approves it. Only approved entries reach an initiative's cash value or freed capacity, the dashboard, or any report. Value still waiting shows only on ROI → Provisional, labeled as waiting, and never in a reported ROI.
An account can turn on auto-approval, and where it is on the gate is still narrow. An entry has to clear every one of these before it flips to approved on its own:
- the formula came from Roiva's library or Roiva built it, not from somebody hand-writing an expression;
- no input resolved to zero;
- no input fell back on a Roiva default assumption rather than a figure your account set;
- no volume input came from a hand-entered measurement for an earlier period than the one being calculated;
- no input is a total a connection synced for an earlier period standing in for this one, and no figure read from several connections combined is missing one that had a total the period before;
- no reading counted a different unit from the baseline it is compared with, where the unit is yours to choose (the demand a cloud bill scales with);
- no before-value is Roiva's estimate;
- no input is a share of an outcome credited to the initiative, or the share of an IT incident's time its users were blocked, each a person's judgment;
- the formula adjusts every count that rises and falls with volume for that volume, or someone cleared it with a reason;
- it was calculated the way its initiative's signed measurement charter says, where there is one;
- no input was converted to dollars at a provisional rate, or left out a currency the ECB publishes no rate for;
- every warehouse query an input came from is at a version the formula's last approved entry also read, since a changed query is a changed definition;
- the amount is below your account's approval threshold, above which it is the owner's decision;
- a person has approved one of this formula's entries before;
- the amount is in line with that formula's last approved entry;
- the amount is in line with what the initiative said it expected, where an expectation was set;
- and the initiative isn't sample data.
An entry that fails any of them is held for review: it stays at calculated, waiting on an approver like any other, and the initiative's activity records that it was held and which condition it failed. That is the design — the figure is still produced and still visible, it simply does not count yet.
The third condition is the one worth dwelling on. Roiva ships a default for most assumptions so a number appears on day one — a blended labor rate, a price per million tokens. A default is a reasonable basis for showing a figure and not a basis for posting one into reported ROI unattended, so an entry computed against one waits for somebody to confirm the rate once. After that the account's own assumption resolves, and it stops firing. Every shipped default is published with the source it was taken from: see Assumption defaults.
Four more records hold an approved figure in place:
- A measurement charter, signed before results, says how each initiative's value is counted. An entry calculated some other way is marked Outside its charter wherever an approver sees it. See Measurement charters.
- What a figure rests on. Each baseline records how it was measured, so every figure says whether it was compared with a measured, reconstructed or estimated before-figure, and reports show the split. See Baselines for an initiative that's already live.
- Locked months. Once a month is locked, an approved entry in it can't be edited, sent back or deleted, and nothing dated in it can be approved, until someone reopens the month with a reason. See Allocation rules and accounting periods.
- Changed since approval. An approved entry whose readings are edited or deleted afterwards keeps its figure, and the Inbox lists it under Changed since approval rather than letting it count unremarked.
What this does not prove
That the initiative caused the change. Roiva records what was measured before, what was measured after, the arithmetic between them and who signed it off. Whether the improvement would have happened anyway is a judgment, and it stays one — no amount of record-keeping turns a before-and-after comparison into a controlled trial.
What the record does is make the judgment arguable on the numbers instead of on memory.
Related
- How Roiva calculates value — formulas, inputs and when they run
- Metric keys, and where a value comes from — the grammar, and where a baseline comes from
- Approving value and initiatives — who can approve, chains and delegation