ERPNext Africa · migration playbook

SysPro → ERPNext Migration Playbook

A reusable methodology for migrating mid-market manufacturers and distributors from SYSPRO ERP to ERPNext — discovery, functional mapping, data migration, cutover, and the risks that bite.

Assumes ERPNext v15+ and a SysPro 7/8 source (SQL Server backend). Work it in order; every engagement starts at Assessment and produces a client-specific mapping workbook before any data moves.

Principles1 · Reconcile or it didn't happen — trial balance, stock valuation & AR/AP aging match to the cent before go-live. 2 · Phased beats big-bang. 3 · Opening balances + current-year detail only. 4 · Load in dependency order. 5 · SA localisation (VAT201, multi-currency, CoA roll-ups) is explicit.

01 · Discovery & Assessment

Understand the SysPro footprint, agree the migration shape, and set the reconciliation contract before any data moves. Migrations fail in scoping, not loading.

Scope the footprint

  • Modules in use (not licensed) — GL, Cash Book, AP, AR, Inventory, Sales/Purchase Orders, Quotations, BOM, WIP/Manufacturing, MRP, Lot/Serial, Landed Cost, Fixed Assets.
  • Customisations — VBScript/business-object customisations, custom SRS reports, e-sign flows. The usual scope-creep source; rarely 1:1.
  • Integrations — bank feeds, EDI, CRM, e-commerce, POS, payroll, BI (each a cutover of its own).
  • Data volumes — row counts per major table (drives tooling).
  • Localisation — SA VAT (VAT201), multi-currency, multi-company, multi-warehouse, costing method.

Confirm data extraction path

SysPro stores everything in Microsoft SQL Server: (1) direct read-only SQL (best), (2) SysPro queries/SRS exports to CSV, (3) e.net business objects. Confirm access rights early — VAR-hosted / cloud instances may restrict raw SQL.

Choose the shape

Phased / modular is the default for mid-market clients — migrate and prove one module at a time. Big-bang only for small, clean datasets.

The reconciliation contract — agree up front, in writingTrial balance @ cutover (line by line) · AR & AP aging (total + per party) · stock on-hand qty and valuation per warehouse · open SO/PO/WIP · bank balances. Do not go live until they match exactly.

A clean migration runs ~6–10 weeks incl. data prep, parallel run & training; complex manufacturing/multi-company adds to that.

02 · Module & Data Mapping

Map the object, then its fields. Get chart of accounts, groups and tax right first — everything downstream depends on them.

SysPro table prefixes (verify per client version/instance)

PrefixModuleTypical tables
Gen*General LedgerGenMaster, GenJournalDetail, GenBalances
Ar* / Ap*AR / APArCustomer, ArTrnDetail / ApSupplier, ApTrnDetail
Cb*Cash BookCbBank, CbTransaction
Inv*InventoryInvMaster, InvWarehouse, InvMovements
Sor* / Por*Sales / Purchase OrdersSorMaster/SorDetail · PorMasterHdr/Detail
Bom* / Wip*BOM / WIPBomStructure, BomOperations · WipMaster

Functional mapping (selected)

SysProERPNextNotes
GL accounts (structured/free)Account (tree)Roll-up segments → nested account groups
AR/AP open itemsSales/Purchase Invoice (or opening JE)Open items only; closed → archive
SA VATTax templates + VAT201 via csf_zaMap SysPro tax codes → ERPNext templates
Stock item / warehousesItem / Warehouse (tree)Opening qty+valuation via Stock Reconciliation
Sales/Purchase OrdersSales/Purchase OrderOpen only
BOM / operationsBOM / Operation+Workstation+RoutingMulti-level → nested; work centre → Workstation
WIP / MRPWork Order+Job Card / Production PlanOpen jobs only; re-plan MRP, don't lift-and-shift

Keep SysPro codes as ERPNext name where sensible. Groups before records. Record every decision in the mapping workbook.

03 · Data Migration — Extract, Transform, Load

ERPNext's Data Import handles master data well; larger or interlinked data needs scripted ETL or the API. The practical SysPro pattern: read SQL Server → stage to clean CSV → import; transactions/opening balances via scripted, reconciled loads.

Load sequence (dependency order — do not reorder)

  1. Company + fiscal years + currencies
  2. Chart of Accounts (tree) + Cost Centers
  3. Tax templates (+ csf_za VAT)
  4. Groups & dimensions — Customer/Supplier/Item Groups, UOMs, Warehouses, Price Lists
  5. Master data — Customers, Suppliers, Items, Item Prices, BOMs, Workstations/Routings
  6. Opening stock — Stock Reconciliation (qty + valuation per item/warehouse)
  7. Opening financial balances — opening JE (trial balance), open AR/AP
  8. Open transactions — open SOs, POs, Work Orders
  9. Current-year detail (only if in-system history is needed)
Opening-balances golden ruleImport balances as of the cutover date, then current-year detail only — don't drag years of history into the live ledger; archive it. Reconcile each step against SysPro before moving on. Idempotent, re-runnable loads; at least two full dry-runs before go-live.

04 · Cutover & Go-Live

  • Timing — month-end / low-activity window; freeze SysPro master-data during the final extract+load.
  • Parallel run — ERPNext alongside SysPro ~2 weeks; enter new transactions in both, reconcile weekly.
  • Reconciliation gate (go/no-go) — GL trial balance, AR/AP aging, stock qty+valuation, open SO/PO/WIP, bank balances must all tie, signed off by the client finance lead.
  • SysPro → read-only post-cutover (history & audit, not edited).
  • Rollback — define failure, the decision owner, and the way back, before go-live.
  • Hypercare — 2–4 weeks intensive support + daily mini-reconciliation; decommission only after a clean period-end on ERPNext.

05 · Risks & Gotchas

  • Customisations don't port — VBScript/business objects/SRS reports → re-implement or retire (#1 scope-creep source).
  • WIP & costing differ — reconcile valuation; re-plan manufacturing rather than lift-and-shift. MRP is a different engine.
  • Dirty masters — dedupe, fix UOMs, resolve blank/zero prices, drop obsolete records (cleanse in staging).
  • CoA shape — structured/segmented → tree; get the roll-up right or every report is wrong.
  • SA localisation — VAT201 via csf_za (accountant sign-off); verify multi-currency rounding on a sample.
  • Data access — restricted SQL on hosted/cloud SysPro; confirm extraction rights + how long SysPro stays available.
  • People/process — default to phased; never skip parallel run, training, or rollback plan; don't forget integration cutover.
The meta-riskIf you can't reconcile to the cent, you don't go live. Treat any unexplained variance as a defect, not a rounding nuisance.

Sources

SYSPRO: Manufacturing · Inventory · General Ledger · ERP Research overview
ERPNext migration: Solufy step-by-step · Infintrix (object/field mapping) · FOSS ERP · Frappe Data Migration Tool · ERPGulf migration-scripts · LST · Ksolves
Cutover / opening balances: rtCamp · TechCloudPro · Sigzen · KPC checklist · Threadgold