ERPNext Africa · migration playbook
Sage 300 → ERPNext Migration Playbook
Migrating off Sage 300 (formerly Accpac) onto ERPNext. The five-stage method follows the SysPro playbook; this page covers the Sage 300 specifics.
◆ Originated under imbilawork for the ERPNext Africa venture · June 2026 · reusable IP
· How Sage 300 differs
- "Accpac Views" business layer. Sage 300 exposes data through Views (its business-logic objects) as well as raw DB tables. Direct SQL is fastest, but writing back (not needed here) should go through Views — for read-only extraction, query the tables/SQL views.
- Database varies. MS SQL Server or Oracle on modern installs; older sites run Pervasive.SQL (harder to query — use the ODBC/Views route).
- Segmented GL accounts. The account number is segmented (account + segments like dept/division) → flatten into ERPNext's account tree + Cost Centers / Accounting Dimensions.
- Optional Fields — Sage 300's custom-field mechanism is scattered across modules; inventory those that carry real data and map to ERPNext custom fields.
- Many tables (Inventory Control alone has ~146) — lean on module data-flow knowledge; you only need the master + open-transaction tables.
· Extraction
Confirm the DB engine first. MS SQL / Oracle → direct read-only SQL (best). Pervasive → ODBC or the Accpac .NET/COM API (Views). Then the shared pattern: extract → stage to clean CSV → load (Data Import for masters, scripted ETL for transactions & opening balances). Documents flow OE → AR → IC → GL, so reconcile in that order.
· Module & table mapping
| Sage 300 (typical table) | → ERPNext |
|---|---|
GL accounts (GLAMF), segmented | Account (tree) + Cost Center / Dimensions |
GL transactions (GLPOST/GLJEH) | Journal Entry (opening + current-year) |
AR customers (ARCUS) | Customer (+ Group) |
AP vendors (APVEN) | Supplier (+ Group) |
| AR/AP open documents | Sales/Purchase Invoice (open) or opening JE |
IC items (ICITEM) + locations | Item + Warehouse; opening Stock Reconciliation |
OE orders (OEORDH/OEORDD) | Sales Order (open) |
PO orders (POPORH/detail) | Purchase Order (open) |
| Tax Services | Tax templates (+ csf_za VAT) |
Load order, opening-balances rule and cutover/reconciliation are identical to the SysPro playbook.
· Risks & gotchas
- Pervasive.SQL sources — slowest path; budget extra extraction time and confirm ODBC access.
- Segmented accounts — get the segment→tree/dimension mapping right or financial reports break.
- Optional Fields — easy to miss custom data living in them.
- Multi-currency & SA VAT — verify rounding on a sample; VAT201 via
csf_zawith accountant sign-off. - Reconcile to the cent before go-live — trial balance, AR/AP aging, stock valuation. Same non-negotiable.
Sources
Stephen Smith — Sage 300 tables & data flow · Sage 300 R&D — OE tables · Greytrix — SQL via Accpac Views · Sage 300 (overview) · shared method: SysPro → ERPNext playbook