Blog

How to cross-check building permits against the assessment roll

Every assessor's office has some version of this process already. A clerk pulls the permit log from the building department, somebody matches parcel numbers by hand, and the ones that don't line up get flagged for a field visit. It works, as far as it goes. The problem is what it doesn't catch.

The basic match

The permit cross-check starts with two lists: issued permits with a status of finaled or closed, and the current assessment roll. You're looking for permits tied to a parcel number that hasn't had a corresponding value change since the permit closed.

A few things make the match harder than it sounds:

  • Building department systems and assessor CAMA systems rarely share a parcel ID format out of the box. Addresses get typed differently, APNs get truncated, and you end up reconciling by street address as a fallback.
  • Permit status matters. A permit that's open or expired isn't proof anything got built. You want finaled permits, or at minimum a certificate of occupancy, before you treat the work as real.
  • Timing lag is normal. A permit can close one year and not show up as a roll change for two or three more, depending on how your jurisdiction schedules reassessment. Most closed permits without a roll change yet are simply waiting for the next reassessment cycle to run.

Once you've got a clean match, you hand the exceptions, permits with no corresponding roll change, to a field team or at least to someone who can check the aerial from last year's flyover. That's the part that eats staff time: you're generating a list of maybes and then spending days confirming which ones are real.

Where permit-only reconciliation breaks down

The permit list only tells you about work somebody filed for. It says nothing about the addition that went up without a permit, the pool that got poured over a weekend, the shed-turned-workshop that never crossed a counter. In most counties, unpermitted work is a meaningful share of the unassessed square footage on the books, and no amount of cleaner permit matching finds it, because there's no permit to match.

This is the gap between "permit data reconciliation" and "roll reconciliation." The first tells you whether your own records agree with the building department's. The second tells you whether the roll agrees with what's actually standing on the parcel. Those are different questions, and a lot of offices only have the tooling to answer the first one.

If you've run a clean permit cross-check and still want to know what's built but not on the roll, the next step is a comparison of the parcel against the ground, not against another paper record. That's a year-over-year imagery pass: this year's aerial or satellite capture against last year's, lined up with the current roll, flagged wherever something new shows up that the roll doesn't account for. You get a ranked list, by estimated added value, ready to route to the same field verification step you already run on permit exceptions. It's the same workflow you have now, just fed by a source that doesn't depend on someone filing paperwork first.

A practical order of operations

For offices building or tightening this process, a reasonable sequence looks like:

  1. Reconcile permit records against the roll first, since that's the cheapest pass and clears out a real chunk of the backlog.
  2. Confirm permit status (finaled, not just issued) before treating a mismatch as a true gap.
  3. Set a lag window, usually one to two reassessment cycles, before flagging a closed permit as overdue.
  4. Route the remaining exceptions to field verification, same as always.
  5. For the unpermitted side of the ledger, run an imagery comparison across the full roll once a year rather than spot-checking parcels on a tip or a complaint.

That last step is where most offices still do blind spot-checks: a neighbor complaint, a drive-by during an unrelated visit, maybe a sampling of high-value neighborhoods. It catches some of it. It doesn't touch the rest of the roll.

If you want to see what a full-roll pass of that kind looks like for your county, Tax Gap Detection runs the comparison and hands you the ranked list.

Worth setting up once your permit cross-check is already running clean.