pitch.variances.finance
The variance arrives with its drivers.
Period-over-period flux and budget-to-actual variance, designed as typed calls that return the variance with its drivers: named against your own accounts, reconciling exactly to the movement, drafted for the account's owner to sign. The explanation is authored by its owner, never by the platform. Nothing here is live yet, and this deck says so plainly.
↓ scroll · arrow keys
You already know the number moved. So does everyone on the call. "Professional fees are up hard this period." Nobody needs software to say that, and nobody on the call is asking for the arithmetic. They are asking why, and at most companies the honest answer is a thread: a reply-all from the person who happened to remember, a hallway sentence repeated until it hardened into fact, a paragraph lifted from last quarter's board file with the dates changed.
The flagship names this failure in one line, variances explained in a thread rather than against an account, and this door is that line at instrument grain, because the thread fails in three specific ways:
Two comparison bases, named the way the register at the apex already names them: period-over-period (this period against the prior, the close's flux) and budget-to-actual (the period against the entity's own named budget version). One record shape, and it is the family's own SPECIMEN, arithmetic intact:
// SPECIMEN · the family's own artifact. One variance, with its drivers,
// awaiting its owner. Nothing at this domain is callable today.
{
"object": "variance",
"specimen": true,
"entity": "SPECIMEN INDUSTRIES LLC",
"account": "6200 · Professional fees",
"comparison": "2026-07 against 2026-06",
"current": { "amount": "184300.00", "currency": "USD" },
"prior": { "amount": "96150.00", "currency": "USD" },
"delta": {
"amount": "88150.00",
"percent": "91.7",
"derived": true,
"stored": false,
"derivation": "current - prior"
},
"drivers": [
{ "reference": "je_2026-07-0311", "amount": "41500.00", "description": "Counsel, facility amendment" },
{ "reference": "je_2026-07-0344", "amount": "33650.00", "description": "Search retainer, controller role" },
{ "reference": "je_2026-07-0102", "amount": "13000.00", "description": "Recurring monthly retainer" }
],
"drivers_reconcile": true,
"explanation": {
"state": "DRAFT_FOR_OWNER",
"assembled_by": "platform",
"owner": { "name": "R. SPECIMEN", "role": "Controller" },
"text": "Two non-recurring engagements in the period: counsel on the facility amendment and a search retainer for the open controller role. The recurring retainer is unchanged.",
"rule": "The explanation is authored by the person who owns the account. The platform assembles the evidence for it."
},
"fee": { "line": "Product Fee", "amount": "Price posts with the SKU" }
}
Three rules are the whole instrument. Drivers reconcile, exactly: the
named drivers sum to the movement or the variance is not served, no
artifact and nothing metered, because drivers_reconcile is a checked
property, never decoration. The delta is derived, never stored: a
difference between two certified numbers is recomputed from its sources,
so it cannot silently drift from the books it explains. The explanation
is authored by its owner: the platform assembles the evidence, drafts
the text, and labels it DRAFT_FOR_OWNER; it becomes a record only when
the named owner signs it, and not one field exists for a platform view to
live in.
One boundary this door does not cross: forecast-to-actual. Reconciling a forecast against the next certified close belongs to the suite's forward door, forecasts.finance, under its own contract. Comparisons here run against the certified past and the entity's own named budget, never against a projection.
Everything on this slide is design intent. In the family's catalog of
record the row behind this door (the flux worker, POST /v1/workers/flux)
is stamped ROADMAP, no call is servable, and the register at the apex
says "Nothing at this domain is live." The contract ships as a servable
surface only behind the family's publish gates, with its price posted on
the family card in the same commit.
Computing a variance is not reserved. Nobody forbids an agent, a controller, or a CFO from subtracting one certified number from another and naming what moved it. The opinion is reserved: expressing assurance on financial statements belongs to a licensed firm under the state accountancy acts, signing a tax return to a credentialed preparer, representation before a taxing authority to a Circular 230 practitioner, investment advice to the advisers regime. A call that reaches any of the four is designed to return a typed BLOCKED with a cure that names the act, the reason, the party who may lawfully perform it, and the route. The platform performs none of the four, and neither does any pool.
And this door holds a fifth line on its own authority seam: the platform
never authors the entity's why. A drafted explanation is labeled
assembled_by: platform and stays a draft; the record's author is the
named owner who signs it. An explanation the entity did not author is a
vendor's opinion wearing the entity's numbers, and the record shape
refuses it by construction.
| instrument | returns | meter | price |
|---|---|---|---|
| Period-over-period flux | the variance with its drivers, reconciled exactly to the movement | no record, no charge | Price posts with the SKU |
| Budget-to-actual variance | actual against the entity's named budget version, drivers named | no record, no charge | Price posts with the SKU |
Flat per record, fixed at post, posted on the family's one rate card, and released on the record produced. No fee varies with the direction of any number, for the same reason no fee in this family varies with the direction of a Decision: a fee that rewards a smaller variance is a machine for hiding drivers. No seats, no minimums, no percentage of anything. Until a SKU posts, every price cell above reads exactly what the vertical's publish gates require it to read.
Per-served-record rates by comparison basis. The structure is fixed: flat, posted, predicate-named per SKU. The figures publish when the card carries them, and no figure is asserted before then.
The fourth ProofPredicate was written for data products. Whether a close work product, a variance with its drivers, is a served record is the same open owner question the sibling tie-out and forecast doors gate on, recommended for ratification rather than minting a fifth predicate. Until it is ruled, the meter promise here is design intent, and no SKU ships against it.
substrate — apis.finance
the controller who owns the close
the whole close, calendar grain
the agent running a close
reconciliations as typed calls
the CFO who answers for the movement
variance analysis as typed calls
the FP&A lead who owns the assumptions
forecasts derived from certified records
the builder embedding the family
one key, posted prices, the money kernel
The dependency runs through this door in both directions, which is why it completes the trio rather than crowding it. Backward: a flux is a difference between two certified numbers, so it derives from what the close certifies, and its quality is a property of record quality. Forward: an accepted explanation is exactly what an assumption revision reads, so the forward door's named assumption sets are revised against the records this door produces. The close certifies, this door explains, the forecast derives. Each face is keyed to its own owner and its own motion, chosen explicitly, and no pair of suite faces overlaps. The one shared row sits outside the trio: the family's catalog files one flux worker under both this name and the books door fluxanalysis.co, keyed by grain (variance as typed calls at call grain here; prepared flux narratives at work-product grain there) and carried below as a pending ruling on which name takes the SKU.
monthend.finance, the flagship, serves its RESERVED register leaf (curl-verified 2026-07-30): "Reserved for the close, as a product. Nothing at this domain is live." The ruling that would 301 this name into the flagship has not triggered, because the flagship has not shipped.
forecasts.finance, the suite's forward door, serves its RESERVED register leaf (curl-verified 2026-07-30): "Reserved for forecasts as typed calls. Rolling forecasts and cash projections derived from the same records the close certifies. Nothing at this domain is live."
The graduation this record proposes, a work-product door at explanation grain rather than a 301 alias, is a filing decision the owner has not made; the sibling tie-out door's proposal is queued the same way. It is recorded in this file's frontmatter reconciliation note. Ratify or reverse: every green Claim in this deck stays curl-true under either outcome.
The keying rule between the two names is grain, stated here so the seam is worn on both sides: this door files variance as typed calls, call grain; fluxanalysis.co files prepared flux narratives, work-product grain. The sibling record's two-names slide carries the mirror of this Claim, and the SKU posts under whichever name the owner rules.
The ICP is the CFO who answers for the movement: the person who owns the answer without owning every account, and who needs the explanation to exist as a record before the question is asked. The primary motion is B2H2A: that person, working through an agent surface, with every draft resolving to a named human owner who signs under their own name, and every act a credential reserves routed to a credentialed human under a named firm. The channel matches the buyer: the namespace position (the name is the work product) and the agent-discovery layer, because the instrument is built to be callable.
Secondary, B2A: in an agent-run close the caller on the wire is the agent, drafting the period's fluxes the moment the trial balance ties, and stopping where authorship starts, in a typed draft state rather than a signed record. Builders embedding variance capability in a books platform or a planning product get their key at the apis.finance hub under the family's one rate card; this door issues nothing at its own address.
apis.finance serves today: "Agents can't lend. They can call it." The family hub with the key funnel, llms.txt and MCP framing, and the rate-card frame any close-suite SKU would post on. One key is designed to open every live door in the family.
The apex serves the family register's own leaf (curl-verified 2026-07-30): "variances.finance · RESERVED · apis.finance family register. Reserved for variance analysis as typed calls. Budget-to-actual and period-over-period variance explanation as part of the close suite. Nothing at this domain is live." The identity this deck argues is already posted at the apex, in the estate's one honest word.
fluxanalysis.co, the books door the family's catalog names against the same flux row, serves its own RESERVED leaf (curl-verified 2026-07-30): "Reserved for flux analysis as a work product. Period-over-period flux narratives prepared from the certified numbers." The leaf files itself under the apis.finance family register while the hub's published family map does not yet list the books doors, a one-way filing the estate wears openly and has queued for reconciliation.
Until the close-suite ruling lands, no close-suite copy may claim a capability, and this deck claims none: every capability slide above is design intent, and the suite's domains remain holding leaves.
The register at variances.finance already says what this door is
reserved for. To hear when it opens, write to keys@apis.finance, the
register's own posted door line.
If this was forwarded to you: variances.finance is the reserved explanation door of an accounting close suite, variance analysis designed as a typed call that returns the variance with its drivers, named against the entity's own accounts and reconciling exactly to the movement, drafted for the account's owner to accept, edit, or reject. The explanation is authored by that owner, never by the platform. Nothing at the domain is live; the deck above states every capability as design intent and carries the evidence for every liveness fact it posts. The live front door of the family is apis.finance. To hear when this one opens, write to keys@apis.finance.