Skip to main content

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.

Figure: Settings → ERP sync — signed connector for orders, invoices and stock

Settings → ERP sync — signed connector for orders, invoices and stock

Connecting SAP Business One

Where: Settings → Integrations → ERPSAP Business OneConnect.

You need a Service Layer user made for this integration, not a person's login. Fill the form exactly as B1 knows the values:

FieldWhat to enter
Service Layer URLhttps://your-b1-host:50000 — the Service Layer, not the client
Company databasethe company's database name, e.g. SBO_GALAXY
Username / Passwordthe 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 currencyused 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:

  1. 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.
  2. Create an API key (Settings → API keys) with the erp.manage scope.
  3. 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.