Context
Palmer's Financial Advice is an Australian financial services firm with 50+ employees and $1.25M+ AUD in quarterly revenue flowing across 200+ client accounts. They needed to migrate their entire client book off MYOB and onto Kloudconnect — without disrupting services, reporting timelines, or the team's confidence in their own data.
Financial migrations in regulated industries don't get to fail quietly. Senior accountants have to sign off on every record before it leaves the old system. The regulatory calendar keeps running whether the migration is halfway through or not. And the cost of a missed reconciliation isn't a software bug — it's a compliance event.
The Challenge
This is where data migrations go very wrong, very quickly:
- Regulatory reporting deadlines don't pause for infrastructure work. Whatever we built had to coexist with live reporting — both systems producing valid output in parallel for the cutover window.
- Manual re-entry of 200+ client profiles is error-prone and expensive. Every field re-typed is a field that can be mistyped. At that volume, a 1% error rate translates to 2+ reconciliations that will take days to untangle.
- Senior accountants needed to verify every record without burning weeks on reconciliation. "Verify everything" and "don't spend three months doing it" are the two constraints that usually eat the budget.
The usual play here is to throw junior staff at manual data entry, pray the error rate is low, and pay senior accountants overtime to reconcile what slips. I'd rather spend those hours building a pipeline that does the mechanical work without the error rate.
Approach
I designed an AI-augmented migration pipeline that automated the heavy lifting while keeping humans in the loop at every step that actually required judgment.
- Extract with GPT-4. Built Python scripts that parse legacy MYOB exports and normalize the output — name fields, account codes, transaction categories. Deterministic where the schema allows, GPT-4 where the source data is messy.
- Validate before upload. Designed Make.com workflows for bulk uploads to Kloudconnect with AI validation checkpoints — any inconsistency against expected patterns got flagged for human review before it touched production.
- Reconcile with AI assistance. Partnered with senior accountants on cross-referencing, with AI surfacing likely-match records so the human review was judgment-on-top, not line-by-line.
- Stage the waves. Executed the migration in staged waves — a subset of accounts at a time, each wave reconciled before the next started, so at no point was the live business dependent on untested migration output.
The guiding rule across the pipeline: an agent should escalate by default, not ship by default. Every AI checkpoint produced a flag or a pass, never a silent commit.
What I Built
- Python extraction layer — GPT-4 API integration for parsing and normalizing the financial data coming out of MYOB. Handles the cases where legacy free-text fields don't map cleanly to Kloudconnect's schema.
- Make.com validation pipeline — AI-powered checks on the bulk upload path. Inconsistencies flagged before they hit production: balance mismatches, duplicate account codes, unexpected category assignments.
- Reconciliation toolkit — cross-reference tooling for the accounting team, surfacing likely-match records and confidence scores so reviewers could spend time on the ambiguous cases rather than the obvious ones.
The pipeline wasn't one system; it was three layers that each handled a different shape of work. Python did the deterministic extraction. Make.com did the orchestration and validation. Claude and GPT-4 did the classification and judgment work that a junior accountant would otherwise have been doing at scale.
Timeline
Engagement ran August 2024 through March 2025. The rough shape:
- Discovery phase. Mapped MYOB export formats, reviewed Kloudconnect's ingestion schema, identified the fields where automated mapping was safe and where human review was non-negotiable.
- Pipeline build. Python extraction layer + Make.com validation workflows + reconciliation toolkit, built against a staging subset of accounts.
- Wave 1 migration. Smaller batch first. Flagged the edge cases nobody had found in discovery. Adjusted the pipeline. Reconciled to zero.
- Waves 2–N. Remaining accounts migrated in staged batches, each fully reconciled before the next began. No service disruption at any point.
- Cutover. Final records moved. Legacy MYOB decommissioned. Reporting continued on schedule.
Outcome
- All 200+ client accounts migrated with zero service disruption.
- ~70% reduction in manual data entry through AI-assisted extraction.
- Inconsistencies caught before production via validation checkpoints — no mid-migration reconciliation fire drills.
- $1.25M AUD quarterly revenue moved cleanly with zero reporting delays.
What I'd repeat
Stage the waves, make the AI escalate by default, and spend the discovery budget mapping exceptions before writing any code. The migrations that blow up are the ones where the team convinced themselves the data was cleaner than it actually was. The migrations that finish on time are the ones where the pipeline assumes the opposite — that anything worth automating is worth double-checking with a human who can sign their name to the result.
