Import ERP history into canonical invoices and bank datasets

Import ERP history into canonical invoices and bank datasets

Historical ERP migrations in BusDK are deterministic and auditable. The standard workflow uses profile-driven import commands for invoices and bank datasets, with deterministic plan and result artifacts.

The profile carries mapping intent in repository data. Commands reference a versioned mapping profile and source ERP export tables, then apply deterministic mapping rules into canonical workspace datasets.

Command workflow

Use profile-driven import commands:

bus invoices import --profile imports/profiles/erp-invoices-2024.yaml --source exports/erp/invoices-2024.tsv --year 2024
bus bank import --profile imports/profiles/erp-bank-2024.yaml --source exports/erp/bank-2024.tsv --year 2024

Each run emits deterministic plan and result artifacts that include source row identifiers, mapping decisions, and produced canonical identifiers. Commit artifacts together with profile changes so reviews can focus on mapping intent and outcomes.

For reconciliation planning in this same migration flow, teams can use first-class bus reconcile propose/apply commands (described in Deterministic reconciliation proposals and batch apply). Candidate generation and exact-match preparation may still be script-driven in migration repositories when custom import-specific heuristics are needed (for example exports/2024/025-reconcile-sales-candidates-2024.sh and prepared exports/2024/024-reconcile-sales-exact-2024.sh).

Script-based alternative

Generated script migrations are still valid when you need custom one-off mapping logic. For example, a repository can keep exports/2024/017-erp-invoices-2024.sh and exports/2024/018-erp-bank-2024.sh as explicit append scripts.

When replay workflows include ERP history onboarding, replay logs can capture profile-import invocations and artifact references as plain Bus commands, preserving deterministic migration history in a reusable format.