🧩 NetSuite4Omni
demo · sample data only
ERP connector platform · proof of concept

One reusable integration for hundreds of independent NetSuite accounts.

A connector platform where a customer's credentials, base URL, field names and custom fields are data on a connection — not code branches. Four NetSuite APIs behind one interface, bidirectional sync that is resumable, idempotent, conflict-aware and observable.

▶ Open the demo Repository

Opens the live Omni app, signed in to the demo account, on the documentation page.

Nothing signs in until you click — the demo account is shared, so this page never logs you in on its own.

Demo sign-in if asked: … / …

What the demo shows you

A landing pane and a documentation panel, each a note — one tab per document, so you can edit the docs and see the tab follow.

🔌 Four NetSuite APIs, one interface

  • SuiteTalk REST + SuiteQL (OAuth 2.0 / TBA)
  • SuiteTalk SOAP, TBA-signed envelopes
  • A RESTlet with a server-side delta window
  • SuiteScript: User Event push + Map/Reduce backfill

🛡️ Reliability is the product

  • Idempotent writes — a lost response cannot duplicate an invoice
  • Jittered retries that honour Retry-After
  • A per-connection circuit breaker
  • Conflict detection that refuses to guess

🧪 Evidence, not claims

  • 118 tests against a fake NetSuite that verifies signatures
  • A 15-step scenario that breaks things on purpose
  • Fault injection: 429s, 5xx, a lost write, schema drift
  • Every step prints its own numbers

Run it locally

No NetSuite account required — the bundled simulator speaks the real wire protocol.

git clone <this repo> && cd erp-connector-poc
make install        # python 3.11+ venv + deps
make demo           # the whole scenario in ~3s: 15 steps, each printing its evidence
make serve          # fake NetSuite :8011 + API :8000 + dashboard

Inside the demo account

The notes are real Omni notes: searchable, editable, and the page follows them.