ERP sync
Where: Settings → ERP sync
Settings → ERP sync connects Sokisoko to your ERP or accounting system: orders and invoices flow out, inventory updates flow in, all over a signed connection so replays and forgeries are rejected, and idempotently so nothing is double-posted. Setting up a connector is a one-time exercise with your operator or ERP consultant; day to day you’ll use this page to check the connector’s status and recent sync activity.

Settings → ERP sync — signed connector for orders, invoices and stock
Connecting SAP Business One
Where: Settings → Integrations → ERP → SAP Business One → Connect.
You need a Service Layer user made for this integration, not a person's login. Fill the form exactly as B1 knows the values:
| Field | What to enter |
|---|---|
| Service Layer URL | https://your-b1-host:50000 — the Service Layer, not the client |
| Company database | the company's database name, e.g. SBO_GALAXY |
| Username / Password | the integration user; sealed in the vault the moment you press Connect & sync, and never shown again |
| Base price list # | the B1 price list whose prices become the storefront list price (1 unless you use another) |
| Default currency | used when a B1 price carries no currency, e.g. KES |
Pressing Connect & sync creates the connection, seals the credentials and lets the first pull start on the next sweep (within 15 minutes). Then press Warehouses on the connection and map each B1 warehouse code to one of your warehouses — stock lands only in mapped warehouses; unmapped codes fall back to your default warehouse.
SAP stays the record: items, stock, customers and prices arrive from B1 and are read-only here unless a record is claimed as local (Catalog → product → Sync authority). Prices pulled from B1 obey price visibility, so a quote-only store never shows them publicly.
What the web originates flows back: a buyer who signs up becomes a B1 Business Partner (code
<prefix><number>, both set on the connection) and a confirmed order becomes a B1 Sales Order
carrying the order number as the customer reference, so a retry never books it twice. Edit
on a connection sets how often changes are pulled, every 5 minutes at the fastest.
ERP behind a firewall: the Windows bridge
When the ERP is only reachable inside the customer's network, install the SokiSoko ERP Bridge (a Windows service, see sozuri/sokisoko-erp-bridge) on a machine on that network. It polls SAP Business One or Odoo locally and pushes the same records to Sokisoko over HTTPS, so no inbound firewall rule is needed. Setup:
- Create the matching connection here (SAP Business One or Odoo) and note its connection id (shown on the connection). Leave its ERP credentials blank — the bridge holds them.
- Create an API key (Settings → API keys) with the
erp.managescope. - On the Windows machine, open the bridge's setup console (http://127.0.0.1:8735), pick the ERP system, fill in its URL + login plus your Sokisoko URL, the API key and the connection id, press both Test buttons, then Save settings.
The bridge mirrors items, stock, prices and customers on the connection's pull interval; status and errors appear in the same sync log as a server-side pull. Outbound (buyers and orders to the ERP) is unaffected — it keeps running from the server, so the server still needs its own route to the ERP for that, or outbound stays queued until one exists.
ERPNext: the SokiSoko Sync app
ERPNext needs no bridge — install the SokiSoko Sync Frappe app (see sozuri/sokisoko-erpnext-sync) on the ERPNext bench. It adds a SokiSoko Settings page (URL, API key, connection id, price list) with Test connection and Sync now buttons, and pushes items, customers, selling prices and warehouse stock nightly via the scheduler — same ingest endpoint, same sync log here.