LedgerOS · Phase 5 · M10
Data Migration Framework
Prepare imports for cutover. Execution runs through the accounting engine and the Financial Event Bus — never directly into ledger tables.
Migration invariants
- • Historical rows land as financial events, not as raw journal entries.
- • Opening balances post as a single balanced journal under normal approval controls.
- • No client-specific rules encoded in this UI — templates are source-agnostic.
- • Preparation only: files are staged for review; execution is a separate operator run.
Chart of Accounts
pending
Canonical account list keyed by account_code. Loaded before any transactional import.
account_codenametypesubtypeparent_codeactive
Owner: Accounting Lead
Notes: Awaiting final Zoho Books mapping review.
Customers
pending
Customers keyed by external_id (Zoho contact ID) with billing/shipping addresses.
external_idnameemailphonebilling_address_jsonstatus
Owner: Ops
Notes: Zoho export scheduled; dedup against ServiceConnect customer IDs pending.
Vendors
pending
Vendors and payables terms keyed by external_id.
external_idnametax_idterms_daysdefault_expense_account
Owner: AP
Notes: Vendor consolidation still in review with the accounting lead.
Opening Balances
blocked
Per-account debit/credit balances as of the cutover date. Posted as a single opening-balance journal under normal controls.
account_codedebitcreditas_of_datememo
Owner: Controller
Notes: Blocked on final cutover date + Zoho trial balance reconciliation.
Historical Transactions
blocked
Last N months of ledger-preserving history. Posted through the Financial Event Bus — no direct writes.
external_idevent_typeoccurred_atpayload_json
Owner: Integration Owner
Notes: Awaiting Zoho export cadence + retention decision.
