Migration & onboarding

Get off your legacy system — cleanly, and reconciled to the dollar.

Migration is where most CAMA replacements stall. We treat it as a product with a repeatable pipeline — not an open-ended services engagement — and we prove the result by tying your new roll back to your old one, parcel for parcel and dollar for dollar.

The real problem

Legacy CAMA data is heterogeneous, messy, and load-bearing.

Decades of edits, custom fields, and workarounds leave every legacy roll a little different. Migrating it touches the data that bills are built on — so it has to be exact, not approximate. That is why so many deployments get stuck in a multi-year migration. We engineered the path off legacy as a product, with a defined pipeline and reconciliation built in, so onboarding has an end date.

The pipeline

Eight stages from your old roll to a clean cutover.

Each stage is repeatable and inspectable, so you always know where your data is and what has happened to it.

  • Ingest — pull the full legacy extract, in whatever shape it arrives.
  • Profile — automatically survey the data: field coverage, value distributions, and anomalies.
  • Map — align legacy fields to the OpenCAMA IQ model, documented and reviewable.
  • Transform — apply the conversions, code crosswalks, and normalizations the mapping calls for.
  • Validate — run rule checks; anything that fails is captured, never dropped.
  • Reconcile — tie counts and totals back to the legacy roll and itemize every difference.
  • Parallel-run — operate both systems side by side and compare.
  • Cutover — switch only once everything ties out, with a legacy snapshot retained.
The migration pipeline, eight stages Ingest, profile, map, transform, validate, reconcile, parallel-run and cutover, shown as a single sequence. Every stage is rerunnable and every exception is queued rather than discarded, and cutover happens only once the numbers tie out. Migration Pipeline — Legacy Roll to Cutover eight stages · each one repeatable and inspectable 1 Ingest full legacy extract in any shape 2 Profile coverage, spread, anomalies 3 Map legacy → IQ model, reviewable 4 Transform code crosswalks, normalizations 5 Validate rule checks — failures captured 6 Reconcile counts & totals, diffs itemized 7 Parallel-run both systems, side by side 8 Cutover only when it ties, snapshot kept Every stage rerunnable · every exception queued · cutover only on evidence You always know where your data is and what has happened to it.
Reconciliation to the dollar

We tie your new roll back to your old one — and itemize every difference.

This is the trust-builder. Before anyone signs off, we prove the migration is complete and correct against the system you already trust.

🔢

Parcel counts tie out

Total parcels in equals total parcels out — and where they don't, we show you exactly which records and why.

💵

Values tie out

Total assessed and taxable value reconciles back to the legacy roll, down to the dollar.

📑

Every discrepancy itemized

Differences aren't hand-waved into a rounding note — each one is listed, explained, and signed off.

opencamaiq.com / migration / reconciliation
Reconciliation — Legacy Roll vs OpenCAMA IQ A reconciliation report placing the legacy roll beside the migrated roll. Parcel counts, assessed value, taxable value and exemption counts each tie out to zero difference, and the records that do differ are listed individually with the disposition each one received. Reconciliation — Legacy Roll vs OpenCAMA IQ control totals tied out before anyone signs off CONTROL TOTAL LEGACY ROLL OPENCAMA IQ Δ Parcels 1,421,904 1,421,904 0 Assessed value $312.88B $312.88B $0 Taxable value $198.40B $198.40B $0 Exemptions granted 564,364 564,364 0 14 records differ — every one itemized, explained and signed off 9 · duplicate BBLs in the legacy extract — merged, lineage kept 4 · parcels with a null land class — defaulted per office rule 1 · sketch area beyond tolerance — redrawn and re-verified The gate is zero unexplained variance — not a finished load Nothing is hand-waved into a rounding note.
Validate, never silently drop

In tax data, a dropped record is a missing bill.

Nothing falls off the truck quietly. Every record that fails a check lands in an exception queue with full context, so a human decides — and that decision is logged.

  • Exception queue with context — each failed record shows the rule it tripped, its source values, and a suggested fix.
  • Building sketches — vector and raster sketches are carried and re-associated, not abandoned.
  • Photos & documents — imagery and attached files migrate with their parcels and metadata intact.
  • GIS / parcel geometry — spatial data is validated and aligned, so the map matches the roll.
  • Prior-year history — historical values come along for assessment caps, exemptions, and appeal defense.

The hard data types are the ones legacy migrations usually quietly lose. We handle them on purpose.

opencamaiq.com / migration / exceptions
Exception Queue — Nothing Falls Off the Truck An exception queue in which each record that failed a validation check is listed with the rule it tripped, its source values and a suggested fix, awaiting a logged human decision. Below, the data types that legacy migrations usually lose are shown as carried: sketches, photos and documents, GIS geometry and prior-year history. Exception Queue — Nothing Falls Off the Truck every failed record keeps its context until a person decides BBL 4-01180-0033 — land value exceeds total value source: land $410,000 · total $385,000 → apply land crosswalk L-12 Corrected BBL 3-00842-0117 — sketch area differs from record card source: sketch 2,140 sf · card 1,980 sf → redraw from imagery Queued BBL 1-00219-0044 — owner name unparseable in legacy field source: "SMITH,J & M TRUST" → split to trust entity Accepted Carried, not abandoned — the data types legacy migrations usually lose Building sketches Photos & documents GIS geometry Prior-year history A human decides — and the decision is logged In tax data, a dropped record is a missing bill.
Parallel run before cutover

Switch only when it ties out.

You don't take it on faith. OpenCAMA IQ runs alongside your current system until the numbers agree, then you flip the switch.

⏸️

Run side by side

Operate OpenCAMA IQ in parallel with your existing CAMA system over a real period, with live data, before anything is retired.

⚖️

Compare value by value

Hold the two systems against each other parcel by parcel and value by value, so any divergence surfaces before it matters.

🗄️

Retain a legacy snapshot

We keep a frozen snapshot of the legacy system at cutover — your fallback reference and historical record, preserved.

Reusable templates

Every migration makes the next one faster.

The first migration off a given legacy system is the hard one. We capture the mappings, transforms, and reconciliation rules as reusable templates — so the next county on the same legacy vendor onboards faster, and onboarding compounds instead of starting from zero each time.

See what you're migrating into on the platform overview, and how it's protected on the security & trust page.

Let's scope your migration off legacy.

Tell us your current CAMA system and roughly how many parcels. We'll show you the pipeline, the reconciliation report, and a realistic path to cutover with an end date.

Request a demo