Municipal data migration you can undo
A validation-first migration workbench that imports a legacy system section by section, keeps every batch reversible until you commit it, and carries legacy identifiers through so migrated records stay traceable.
The part you are dreading. It should not be.
Nothing is written until you commit. Every batch validates against a per-row error report first, twenty-four templates document exactly what each file needs, and legacy identifiers travel with the data so you can reconcile against the old system afterwards.
24
Import templates with documented columns
5
Steps: create, upload, validate, review, commit
10
In-screen day-to-day import surfaces
0
Committed rows before you approve them
Reversible until you commit
Create a batch, upload, validate, review, then commit or discard. A bad file is thrown away rather than cleaned up after it has landed.
Errors you can act on
A per-row error report shows exactly which rows fail and why, instead of a single failure message that tells you nothing about the file.
History, not just balances
Templates cover notices, penalties, collections, arrears transfers, statement transactions, credits and write-offs, plus GL, AR and AP listings.
Traceable to the old system
Legacy owner, property and assessment identifiers carry through onto migrated records so you can reconcile against the source after go-live.
Five steps, reversible for four of them
Five steps, and the batch stays reversible for four of them.
/images/municipal/mig-batch-validation.png
Drop the image at this path · recommended 1600 × 1050 px
The per-row error report. Fix the file, revalidate, then commit.
Create a batch. Each section of the legacy system becomes its own batch, so a bad utility file never touches a good property file.
Upload the file. CSV or Excel, against a documented template with a required and optional column list and a sample row.
Validate. The batch is checked and a per-row error report is produced, so you see exactly which rows fail and why rather than a single failure message.
Review the rows. Inspect what will be created before anything is written.
Commit or discard. Commit writes the batch. Discard throws it away. Until you commit, nothing has landed, so a bad file is discarded rather than cleaned up afterwards.
Legacy identifiers travel with the data. Fields such as legacy owner ID, legacy property ID and legacy assessment ID are carried through, so a migrated record stays traceable to the source system for as long as you need it.
Also included
Twenty-four files with documented columns
Each template ships with a documented required and optional column list and a sample row, so the export from your current system can be shaped before it is ever uploaded.
/images/municipal/mig-templates.png
Drop the image at this path · recommended 1600 × 1050 px
Each template documents its required and optional columns and ships a sample row.
Settings first. Tax and utility settings templates load the configuration the transactional data depends on, so numbering, accounts and rules exist before the records that use them arrive.
Balances, not just masters. The templates cover statement transactions, arrears transfers, penalties, credits and write-offs, so a migrated account carries its history rather than only its current balance.
| Area | Templates |
|---|---|
| Configuration | Tax Settings, Utility Settings, Mill Rates, Tax Charge Rules |
| Property and assessment | Property Owners, Properties, Assessments |
| Tax activity | Tax Notices, Tax Penalties and Interest, Tax Collections, Tax Arrears Transfers, Property Tax Statement Transactions, Tax Credits, Tax Write-Offs |
| Utility activity | Utility Accounts, Utility Bills, Utility Bill Lines, Utility Penalties and Adjustments, Utility Payments, Utility Payment Allocations, Utility Credits |
| Accounting | General Ledger Import, AR Listing, AP Listing |
Also included
Routine imports live inside the screens
Migration is a one-time exercise. Routine imports live inside the screens that use them, behind the same guided wizard.
/images/municipal/mig-import-wizard.png
Drop the image at this path · recommended 1600 × 1050 px
Auto-detected headers, sample values per column and per-row validation before commit.
Where the wizard appears. Properties, property owners, assessments, meter readings, batch tax payments, batch utility payments, assets, polling places, election results and fuel transactions.
How it behaves. It auto-detects column headers against a large alias dictionary, shows sample values per mapped column, validates and transforms values with numeric parsing, type normalisation and range checks, and reports per-row errors before commit.
Import modes where they matter. The assessment import supports an import-as-revised-assessments mode. The property import can create or link the owner record in the same pass. The owner import deduplicates on account number and can link to an existing property by roll number.
Named import profiles. AMI head-end files, fuel-card files, polling places and election results each support reusable named profiles with column mapping, defaults, a dry-run preview and a run audit, so a monthly file becomes a two-click operation.
Also included
Migration questions
Nothing is written. Validation produces a per-row error report and the batch stays uncommitted, so you fix the file and revalidate, or discard the batch entirely. Only the commit step writes data.
Yes, and that is how the workbench is designed. Each section of the legacy system becomes its own batch. A common sequence is settings, then owners and properties, then assessments and mill rates, then tax activity, then utility accounts and activity, then the accounting listings.
Yes. Legacy identifiers such as legacy owner ID, legacy property ID and legacy assessment ID are carried through onto the migrated records, so you can reconcile against the source system after go-live rather than trusting the import blindly.
Yes. The template set covers tax notices, penalties and interest, collections, arrears transfers, statement transactions, credits and write-offs on the tax side, and bills, bill lines, penalties and adjustments, payments, payment allocations and credits on the utility side, plus a general ledger import and AR and AP listings.
Awditify migration is free and the team will handle the import for you, or run it alongside your staff if you would rather keep control of the mapping. See the migration page for how it works across the platform.
The rest of the platform
Every module posts to the same ledger, so these are not integrations. They are the same system.
Property tax
Property Tax
Assessment roll, mill rates, notices, collections, arrears, penalty rules, tax sales and certificates.
ExploreUtilities
Utilities
Accounts, meters, tiered rates, batch bill runs, deposits, receivables, AMI ingestion and tax-roll transfer.
ExploreMunicipal finance
Municipal Finance
Fund accounting, PS 3410 grant tracking and thirteen PSAB statements generated from live ledger data.
ExploreAsset management
Asset Management
PS 3150 registry, amortisation, disposals, infrastructure, fleet, work orders and capital planning.
ExploreCitizen portal
Citizen Portal
A white-label public site on your own domain for balances, payments, applications, 311 and council information.
ExploreSend us an export and we will validate it
A property file, an owner file and a year of assessments is enough to show you exactly what a migration into Awditify would look like.