Cost Allocation & Showback Platform  ·  View 13 of 22  ·  5 · Runtime

Ingestion and Restatement

The bill arrives more than once. Restatement is the normal path executed a second time, not an error path.

Editable source SVG draw.io All views
Arrive Export poller per provider, hourly Late / missing check cutoff T+2 Land Write raw partition new version, never overwrite Record manifest hash, row count Inspect Schema check drift fails loudly Quarantine partition unknown columns Compare Record-grain diff vs last ingested version Emit revision rows delta, not overwrite Decide Period still open absorb silently Period closed restatement path Propagate Re-run allocation same pure function Supersede statement v2, v1 retained Notify over threshold 1% or $1,000 publish incomplete Ingestion and Restatement — The Bill Arrives More Than Once Interface / broker Decision point Data store Risk / gap Application we own failure / alternate Restatement is not an error path. It is the normal path executed a second time, which is only affordable because the allocation run is pure and re-runnable. A quarantined partition blocks that provider's period entirely. v 1.0 · owner Platform Architecture · date 2026-09

Decisions

  • A re-issued export is landed as a new version; nothing in the raw zone is ever overwritten
  • The diff is taken at record grain, so a restatement is a set of revision rows rather than a bulk replace
  • Schema drift quarantines the partition and fails loudly, rather than coercing unknown fields

Why this is affordable

  • Because the allocation run is pure, re-running a restated period costs compute and nothing else
  • Because publication is append-only, a restated statement is a v2 and the v1 that someone already read survives

Thresholds (stated assumptions)

  • T+2 cutoff before a period is published as incomplete
  • 90-day correction window; notification over 1% or $1,000 of a team's period total