Now available on PyPI

Your Excel models are changing.
Do you know when?

TestSheet detects silent changes in financial models — before they flow into board decks, investor reports, or key decisions.

You're on the list. We'll be in touch!

No spam. Unsubscribe anytime.

See it in action

terminal
# Capture a golden-master baseline
testsheet baseline "Q3 Model.xlsx"
✓ Baseline written to .testsheet/baseline.json

# Someone edits the model. Run the check.
testsheet run "Q3 Model.xlsx" --html report.html

CHANGES DETECTED — PENDING REVIEW

Sheet Address Kind Baseline Current
──────────── ──────── ───────────── ─────────── ────────
Assumptions B4 value_only 8.5% 9.2%
Assumptions B7 value_only 1,200 1,350
DCF D12 error_introd $4,821,000 #REF!

# Review changes, then approve the new version
testsheet approve "Q3 Model.xlsx"
✓ Approved: Q3 Model.xlsx is now the new baseline.
The problem

Excel models break silently.
No one finds out until it matters.

A single changed assumption can cascade through hundreds of cells. By the time someone notices the numbers are wrong, the damage is already done.

😱

Silent cell changes

An input gets updated. Formulas cascade. Nobody notices until the board meeting.

📋

No audit trail

"Who changed this?" There's no way to know what changed, when, or by how much.

🔒

Broken formulas

#REF! errors appear after a restructure. No one checks every cell manually.

🔀

Version confusion

v12_final_FINAL.xlsx. Which one is right? What changed between versions?


Everything you need to trust your models.

🔎

Drift detection

Compare any two versions cell-by-cell. Classifies changes as value, formula, error, new, or deleted.

🛡

Invariant rules

Define business logic constraints — revenue must be positive, totals must tie — and enforce them automatically.

📄

Beautiful reports

Standalone HTML reports you can email to stakeholders. No login required to view.

CI/CD integration

Drop into GitHub Actions or any CI pipeline. Fail builds when models drift unexpectedly.

Approve workflow

Intentional changes? Run testsheet approve to promote the new version as the golden master.

Float tolerance

Configure numeric tolerance to ignore rounding noise. Only flag changes that actually matter.

How it works

Three commands. That's it.

1

Install

pip install testsheet-xl
Works with any .xlsx file. No Excel required.

2

Baseline

testsheet baseline model.xlsx
Captures the golden-master snapshot of your model.

3

Run

testsheet run model.xlsx
Detects every change since the baseline. Every time.

Be the first to know what's next.

We're building a team version with web UI, version history, and collaborative review.
Sign up for early access.

You're on the list!

No spam. Unsubscribe anytime.