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), segmentedAccount (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 documentsSales/Purchase Invoice (open) or opening JE
IC items (ICITEM) + locationsItem + Warehouse; opening Stock Reconciliation
OE orders (OEORDH/OEORDD)Sales Order (open)
PO orders (POPORH/detail)Purchase Order (open)
Tax ServicesTax 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_za with 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