ERPNext Africa
ERPNext Africa · the offer for online + B2B sellers

Shopify sells it. ERPNext runs it. Xero counts it.

One operating core for African businesses that sell online and to corporate customers — stock in one place, quotes that don't fall through the cracks, purchasing that credits the job it was bought for. Shopify stays your storefront; Xero stays your accountant's truth; ERPNext owns everything in between.

Built and proved twice in 2026: a make-to-order furniture maker (1,300 items, Shopify + Paystack, payments reconciled to the cent) and a gifting retailer (800 products, Shopify + Xero, both sync directions proved in a sandbox in one day). Names on request, never on websites.

01 · Who this is for

Gifting, retail, food, décor, small manufacturers with a direct channel: 2–20 staff, R5m–R80m turnover, already on Shopify or about to be, running stock in a spreadsheet, a WooCommerce plugin or the accounting package, and quoting corporate orders by email.

What you have todayWhat it costs youWhat replaces it
Stock in three places — the store, the accounting package, a spreadsheetOverselling, stock-outs, an afternoon a week reconcilingERPNext is the one owner of stock; Shopify only ever displays the sellable quantity
Corporate quotes by email, re-typed into invoicesSlow quotes, duplicates, things that fall through the cracksQuote → job → reserve or order per line → receive → fulfil, with an owner per step
QuickBooks or Sage used as a stock systemAn accounting tool doing a job it was never built forXero as the ledger, fed one way from ERPNext
Cin7 Core, Unleashed, KatanaR6k–R11k a month in USD, forever, and you rent itOpen source you own, hosted in South Africa

02 · The three rules we never negotiate away

Every failed Shopify–ERP–accounting integration we have been called in to fix broke one of these.

1 · Stock has one owner: ERPNext.Shopify only displays the sellable-warehouse quantity. No bidirectional stock sync, ever.
2 · Money has one owner: the ledger.ERPNext's accounting is used for stock valuation and to generate documents; nobody reads it for the numbers. Xero (or Sage) is the truth.
3 · Nothing writes to the live store until a counted, non-negative opening stock is loaded.The inventory push is the last switch we ever flip.

03 · What runs where

Shopify (storefront, checkout, payments — Payfast or Paystack) ▲ stock for the sellable warehouse orders ▼ ┌────┴────────────────────────────────────────────────────────┐ │ ERPNext — stock, warehouses, items, pricing, quotes, │ │ corporate jobs, purchasing, receiving, reservations │ └────┬────────────────────────────────────────────────────────┘ │ corporate invoices + payments, one way ▼ Xero (or Sage) — the ledger, the accountant's truth Shopify consumer sales reach Xero through Xero's own Shopify app, never via the ERP.
LayerComponentNotes
StorefrontShopify — yoursPayfast or Paystack; Shopify Payments is not available in South Africa
Operations coreERPNext v15/v16 + the official Shopify connector (ecommerce_integrations) + erpnext_south_africa + a small custom appThe custom app carries the connector patches and guards we have already paid for once
LedgerXero preferred; Sage supported; QuickBooks only as a migration sourceXero's own Shopify app for consumer sales; our Cloudflare Worker pushes corporate invoices
Edge and glueCloudflare Workers and PagesEnquiry-form intake, the Xero push, small portals, BI dashboards
HostingFrappe Cloud (Johannesburg or Cape Town) or your own cloud account — your choiceData in South Africa either way
AIERPNext MCP connector + role agentsFinance, warehouse and exec agents on top of the same data — a product line, not a promise

Two warehouses, not two hundred. Website (what Shopify may sell) and Corporate (held for jobs). "A warehouse per job" is a reservation against a sales order, not a warehouse. Moving-average valuation, stock reservation on, auto-reserve on purchase receipt on.

04 · What ERPNext does for you that Shopify apps and accounting packages cannot

  • Quotes with images, bundles and custom lines — existing or new client, edited and re-sent, an owner and a status on a board.
  • Per-line sourcing on an accepted job — from website stock, in part, or order it all; to-order lines land on a supplier ordering board; the purchase order per supplier; goods arriving are credited to the job that bought them.
  • Execution checklists — packaging, ribbon, tags, delivery date, notes; a step owner; at-a-glance status.
  • Stock accuracy the store can trust — sellable stock and stock held for jobs are never confused, and the store only ever sees the former.
  • Trade without premium-tier e-commerce fees — price lists, credit limits and B2B logins are native.
  • Draft orders and a second Shopify location are a fine four-week stopgap — we recommend them on day one. They cannot do per-line sourcing, supplier boards, receipt-to-job crediting or checklists.

05 · How we deliver — sandbox first, always

Sandbox (a Shopify dev store + our ERPNext sandbox + a Xero demo) → sign-off → live store read-only (orders in) → physical count → opening stock → lock negative stock → inventory push → price push only on request.

StageWhatDuration
Proof of concept, LiteYour real data in a sandbox, one integration proven end to end, findings and a go / no-go1 week
Proof of concept, Standard+ data load and a reconciliation sample, walkthroughs2–3 weeks
Production build (Standard)Stock and quote core, connector live, migration, count, training4–6 weeks elapsed
Managed serviceMonitoring, backups, upgrades, connector re-patching, support desk — you still operate the businessMonthly
AI role agentsFinance, warehouse and exec agents on the MCP connectorSetup + monthly
Data-quality rules that decide the timelineA unique SKU per sellable variant. Shopify variants that are really personalisation options (gift message, ribbon colour) are not stock variants and collapse to one item. The Shopify vendor field is unreliable; suppliers come from the accounting export. Costs ex-VAT. Fix these before the count and the build is days; leave them and it is weeks.

06 · What it costs

ZAR, ex-VAT. Fixed fee per phase. A proof of concept is never free — and it is credited in full against the build. Founding customers of a new pattern are anchored lower and told so in writing.

Proof of concept · Lite
from R40,000

One week, your data, one integration proven, go / no-go. Credited 100% against the build.

Production build · Standard
from R100,000

Stock and quote core, connector live, migration, count, training. 4–6 weeks.

Add-ons, quoted at go-ahead
R12k – R55k

Execution checklists and finance edges; B2B customer portal; gift-builder and storefront features; BI layer.

Managed service
R3,500 – R9,500 / mo

Care (8 h) · Operate (20 h) · Partner (40 h). Hosting passed through at cost on top. Overflow at the consultant rate.

Full commercial model, including the manufacturing patterns: The commercial model.

07 · Where it runs — your account, your keys

Everything runs in accounts you own: your Frappe Cloud team or your cloud project, your Shopify store, your Xero, your GitHub organisation with all the code. Backups restore anywhere. If we part ways, you keep the lot. The choice between Frappe Cloud, your own cloud, a local data centre and self-hosting is a real one with real trade-offs — the hosting decision tree walks it.

08 · The usual objections, answered straight

ObjectionAnswer
"Why not just Shopify apps?"Draft orders and a second location are a fine four-week stopgap and we recommend them on day one. They cannot do per-line stock sourcing, supplier ordering boards, receipt-to-job crediting or job checklists.
"Why not Cin7 / Unleashed?"Strong stock, R6k–R11k a month in USD forever, no quotes with images, no checklists, no enquiry intake — and you rent it.
"Why not Odoo?"A peer with prettier quotes; paid connectors and a per-user licence. Our patterns and patches are ERPNext. Fallback if quote presentation decides the deal.
"Do we lose the accountant?"No. Xero stays the ledger; receipts are allocated there from the bank feed and ERPNext reads paid status back. Never bidirectional.
"What if we part ways?"Everything runs in accounts you own. Backups restore anywhere. The playbooks that built it are published on this site.
Talk to us Read the Shopify setup playbook

Sources

The two 2026 builds behind this page (make-to-order furniture on our own cloud box; gifting retailer on Frappe Cloud Johannesburg) · Shopify → ERPNext setup · Operating with Shopify · Xero ↔ ERPNext · Frappe's ecommerce_integrations (1.17 on v16, 1.20 on v15) · Shopify Dev Dashboard app policy (legacy custom apps closed to merchant stores from 1 Jan 2026).