ERPNext Africa · migration playbook
Microsoft Dynamics → ERPNext
"Dynamics" is several different products — the migration changes depending on which one. Identify it first, then apply the shared SysPro method.
◆ Originated under imbilawork for the ERPNext Africa venture · June 2026 · reusable IP
· Which Dynamics? (this decides everything)
| Product | Shape | How you get the data out |
|---|---|---|
| Dynamics GP (Great Plains) | On-prem, SQL Server, well-known table names. (Microsoft is sunsetting GP — common reason to move.) | Direct SQL — the cleanest of the three. |
| Business Central / NAV | Table-per-entity; cloud (BC) or on-prem (NAV). Customisations live in extensions. | OData/REST API (BC) or SQL (on-prem NAV). Code-customised tables may not export cleanly. |
| Dynamics 365 F&O | Enterprise scale & complexity. | Data Management Framework / data entities (OData export). Heaviest. |
Confirm the exact product + version + on-prem/cloud before scoping. A GP migration (SQL tables) and an F&O migration (data entities) are very different jobs.
· Extraction by product
- GP — read-only SQL against the company DB. Master tables:
GL00100(accounts),RM00101(customers),PM00200(vendors),IV00101(items),SOP10100/10200(sales docs). Open-item & summary tables for AR/AP/GL balances. - BC/NAV — pull via the OData/REST API (Customers, Vendors, Items, G/L Entries, Sales/Purchase docs). For on-prem NAV with SQL access, query the SQL tables; note code-customised tables may need bespoke handling.
- F&O — export through data entities (OData) / DMF; expect larger volumes and longer timelines.
Then the shared pattern: extract → stage to clean CSV → load (Data Import for masters; scripted ETL for transactions & opening balances).
· Mapping (target is the same ERPNext)
| Dynamics concept (GP table e.g.) | → ERPNext |
|---|---|
Chart of accounts (GL00100) | Account (tree) + Dimensions (GP/F&O analytical dims → Accounting Dimensions / Cost Centers) |
| G/L entries | Journal Entry (opening + current-year) |
Customers (RM00101) / Vendors (PM00200) | Customer / Supplier |
| Open AR/AP | Sales/Purchase Invoice (open) or opening JE |
Items (IV00101) | Item + Warehouse; opening Stock Reconciliation |
| Sales/Purchase documents | Sales Order / Purchase Order (open) |
| Tax setup | Tax templates (+ csf_za VAT) |
Load order, opening-balances rule and cutover/reconciliation as per the SysPro playbook.
· Risks & gotchas
- Wrong-product assumptions — scoping a BC job as if it were GP (or vice-versa) is the classic mistake.
- Extension/code-customised data (BC/NAV) — may not export through standard APIs; needs bespoke extraction.
- Analytical dimensions (GP/F&O) — map to ERPNext Accounting Dimensions / Cost Centers, not parallel ledgers.
- F&O scale — volumes push to scripted ETL and a longer timeline.
- SA VAT & multi-currency — VAT201 via
csf_za; verify rounding. Reconcile to the cent before go-live.
Sources
MS Learn — GP data overview · MS Learn — NAV migration · Rand Group — GP tables/migration · CRM Software Blog — GP data · shared method: SysPro → ERPNext playbook