CI for usage-based billing

Billing changes should have tests.

BillCI runs deterministic invoice simulations, produces line-item diffs with explanations, and blocks billing regressions before invoices ship.

Think: GitHub Actions for billing.

Regression tests

Gate contract, catalog, and pricing-rule changes with blast-radius diffs before they reach production invoices.

Invoice certification

Deterministic recompute + line-item proofs you can reproduce. Every charge has an explanation trail.

Explainability

Versioned rule sets and a full audit trail for every charge. Disputes become data, not arguments.

CI/CD for billing correctness.

Connect contract terms + pricing rules + usage aggregates. BillCI simulates deterministically, generates diffs, and gates risky changes — so billing regressions never reach customers.

01

Ingest

Contracts, pricing catalogs, usage records, and invoices from your warehouse or billing system.

02

Simulate

Deterministic rating engine with versioned, immutable rule sets. Same inputs → same outputs, always.

03

Gate + Certify

Blast-radius diffs and regression tests gate risky pricing changes in CI. Line-item certification proofs verify every invoice.

Invoice certification
example output
$ billci certify --invoice invoice_2026_01.json --contract A-17

✘  NOT CERTIFIED  (100% of invoice $ verified)
Δ  3 issues found

1) amount_mismatch claude-sonnet-4 / input_tokens
   expected: $20.72 (monthly aggregation, round after)
   actual:   $23.18 (daily aggregation, round per-event)
   delta:    +$2.46

2) amendment_effective_date
   A-17 amendment (tb_002) effective: 2026-01-12
   invoice applied tb_001 pricing to: full period
   delta: -$4,902.00

3) amount_mismatch storage-standard / gb_hours
   expected: $2,100.00 (volume model, tier 3 rate)
   actual:   $2,300.00 (volume model, tier 2 rate)
   delta:    +$200.00
Blast-radius report
example output
$ billci simulate --old pricing/v3.2 --new pricing/v3.3 --usage ./usage/ --period 2026-01

⚠  REVIEW REQUIRED  change impacts 1,204 of 8,391 customers

Summary
   customers affected:  1,204 (14.3%)
   total Δ revenue:     -$347,210.44 (-0.8% of period)
   max single-customer: -$81,904.11 (Acme Corp, contract C-412)

Top deltas
   1. Acme Corp       C-412   -$81,904.11  tier_boundary (vol → tiered)
   2. Initech          C-089   -$44,217.00  commit_drawdown recalc
   3. Globex Inc       C-733   -$31,008.52  credit_application order
   4. Soylent Corp     C-291   +$18,442.90  bundle_exclusion removed
   5. Umbrella Ltd     C-155   -$12,301.77  sku_mapping drift

Failure modes detected
    tier_boundary_shift     831 customers
    commit_drawdown_recalc  219 customers
    credit_application_order 112 customers
    sku_mapping_drift       42 customers
Regression test (CI gate)
example output
$ billci regression --old pricing/v3.2 --new pricing/v3.3 \
    --contracts ./contracts/ --usage ./usage/ --period 2026-01 \
    --threshold-pct 1.0 --threshold-abs 100.00

✘  REGRESSION DETECTED  (exit code 1)

Thresholds  ±1.0% or ±$100.00 per customer
Evaluated   8,391 customers | 1,241 impacted | 3 regressions

PASS  7,150 customers   no delta
PASS  1,238 customers   delta within threshold
FAIL  3 customers       delta exceeds threshold

Failures
   1. Acme Corp       C-412   -$81,904.11  (-68.3%)  tier_boundary_shift
   2. Initech          C-089   -$44,217.00  (-12.1%)  commit_drawdown_recalc
   3. Globex Inc       C-733   -$31,008.52  (-8.4%)   credit_application_order

Allow-listed (expected, not counted as failures)
    Soylent Corp    C-291   +$18,442.90  within [+$17k, +$20k]

We don't replace your billing system.
We give you a second opinion with a proof trail.

BillCI is a verification layer, not a billing platform. Your system of record stays the same. We recompute independently and show you exactly where the numbers agree — and where they don't.

Deterministic

Same contract + same usage + same rule version = same result. Every time. No probabilistic hand-waving.

Reproducible

Every certification is re-runnable. Pin a rule version, replay usage, get the same output a year later.

Δ

Versioned

Pricing rules are immutable and diffable. You can see exactly what changed between any two rule versions and when.

Explainable

Every line item has a trace back to the contract clause, pricing rule, and usage event that produced it.

Built for teams that ship pricing changes.

Billing / Monetization Eng

Ship pricing changes safely with regression tests and blast-radius diffs. No more discovering bugs in production invoices.

Finance / RevOps

Certify invoices before issuance and reduce disputes. Replace manual audits with reproducible proofs.

Sales Ops

Validate enterprise contracts faster with "bill impact" reports. Stop deals from stalling on billing uncertainty.

Request early access

Tell us what you bill for. If you're a fit, we'll reach out with a short demo.

No spam. We'll only email if we think we can help.

Frequently asked questions

Is this a billing platform replacement?

No. BillCI is a verification and certification layer that complements your existing billing system. Your system of record stays the same — we recompute independently and flag discrepancies.

What inputs do you need to be accurate?

At minimum: contract terms (from your CPQ, CRM, or as structured exports), pricing rules (your rate cards / rule config), and usage aggregates (from Snowflake, BigQuery, or your billing DB). We also support ingesting from Stripe, Chargebee, and custom billing systems via API. More inputs increase coverage — our certification report tells you exactly what percentage of invoice dollars are covered.

What's the "CI" part?

Like CI/CD for code, BillCI simulates the impact of proposed changes — new contracts, pricing rule updates, catalog changes, amendments — produces a blast-radius report showing affected customers and dollar deltas, and blocks regressions before they hit production invoices.

What specific failure modes do you catch?

We focus on the edge cases that cause rerates and disputes: effective-dated amendments applied to the wrong period, tier boundary and rounding semantics mismatches, late-arriving usage and backfills, SKU mapping and catalog drift, commit drawdown / credit application ordering, volume pricing cliff effects, discount stacking order errors, timezone boundary misalignment, and pipeline order mismatches between your billing system and expected computation model.

Can you help with disputes?

Yes. Line-item diffs + reproducible explanation traces create a clean dispute packet: what changed, why the charge exists, and the exact dollar delta. Disputes become data rather than back-and-forth emails.