Skip to main content
Add-on Historical Tracking

Every change, every entity, forever.
Queryable.

As of 2025-06-14
unit_idrentstatus
4B$2,100OCC
4C$2,050OCC
4D$1,975VAC
Today
unit_idrentstatus
4B$2,350OCC
4C$2,200VAC
4D$2,100OCC

Your warehouse knows today. Ask what was true on June 14 and you get nothing.

Original lease terms. The rent before the mid-term adjustment. The technician before the reassignment. Normal audit questions your warehouse can't answer.

Historical Tracking makes "what was true when..." a normal SQL query.

What changes when your warehouse remembers

Point-in-time queries for every entity, natively

"Show me the rent roll as of March 31." A normal SQL query. Every entity queryable at any past moment, no reconstruction.

Audit conversations that end in one query, not ten

Every change timestamped, attributed, reversible. Compliance stops being a spreadsheet exercise.

Backtesting that trains on what was actually known

Train models on the state of the world at the time, not today's state projected backward. No more training on the future.

No CDC logic to maintain, ever

SCD Type 6 tables generate automatically, per entity, per integration. You query. We track. No effective-date columns to reason about, no breaking changes when a source system evolves.

Why building SCD Type 6 is easy to start and miserable to finish

The theory is well-known. Current rows, historical rows, effective-from, effective-to, change-type flags. A competent analytics engineer builds it for one entity in a week.

You have dozens of entities across every integration you've turned on.

The math doesn't work. Turn on the add-on and every entity across every source system is tracked the moment it lands.

scd_type_6/
├── residents/~950 lines
├── units/~820 lines
├── leases/~1,100 lines
├── work_orders/~740 lines
├── cdc_reconciler.pyedge case~620 lines
├── effective_dates.pyedge case~410 lines
├── soft_delete_handler.pyedge case~290 lines
├── backfill_jobs/~1,800 lines
└── tests/~4,200 lines
now multiply by every integration...

Stop losing yesterday's data to today's sync