Skip to content

Integration Leverage Catalog

Purpose: A registry of external resources β€” OSS connectors, templates, specs, and tooling β€” we can leverage to grow the number of ERP / system integrations we support faster than building each from scratch. This is a β€œwhat can we borrow, and how” reference, not a design doc.

Scope discipline: Our current focus is order automation (see the playbook half below). Sources are tagged [now] if they help the order-automation core today, or [later] if they belong to the deferred expansion (AR/AP, accounting, ecommerce). Don’t pull [later] sources into the stack until the order-automation playbook is standard across the connectors we already have.

Related internal docs (complement, don’t duplicate):

  • docs/onboarding/SOP-OB-002-new-erp-integration.md β€” the new-ERP build process
  • docs/onboarding/SOP-OB-003-erp-integration-build-checklist.md β€” the checklist
  • docs/integration-architecture-pattern.md β€” the architectural pattern
  • docs/architecture/erp-sync-architecture.md β€” the read/sync pipeline

How our integrations are shaped (so you know which source feeds what)

Section titled β€œHow our integrations are shaped (so you know which source feeds what)”

Every integration has two halves. Match each leverage source to the half it serves:

HalfWhat it doesOur runtimeOrder-automation surface
Read / SyncPull customers, products, ship-to β†’ Iceberg β†’ TypesenseDagster + DLT (Python)customers, products, shipping_addresses
Write / ActionPush orders into the ERPIERPService (TypeScript)createOrder (+ approveQuote, updateOrder, filterInvalidItems)
Auth / OnboardingStore creds, run OAuth, let customers self-connectNango (self-hosted, free tier)all of the above

A leverage source is useful in one of three ways:

  • RUN β€” drop it directly into our stack (only DLT-native sources qualify).
  • LEARN β€” read it to discover an API’s surface, then write our own (the Business Edge path).
  • REFERENCE β€” first-party spec/SDK to generate or validate a client.

SourceLicenseUseTagNotes
Nango (self-hosted)Free tier = Auth + Proxy; Functions runtime = enterpriseRUN[now]Credential vault + OAuth lifecycle + embeddable Connect UI + auth proxy. NANGO_ENCRYPTION_KEY (base64 32-byte, no rotation support) in 1Password. Proxy is HTTP-only β€” Eclipse E4’s MSSQL reads can’t proxy (vault-only there).
Nango providers.yamlMIT (verify)REFERENCE[now]800+ providers’ OAuth/base-URL/auth configs. Even for custom ERPs, copy the auth-mode shape into our own provider config.

SourceCoverageLicenseUseTagNotes
dlt verified-sources30+ prebuilt (SQL, Salesforce, etc.) + generic REST API + SQL DB sourcesApache-2.0RUN[now]β˜… Highest leverage β€” we already run DLT. The generic rest_api source covers any JSON ERP with config-only setup. Any SQL-backed ERP via the sql_database source.
dltHub source definitions / AI workbench9,700+ REST API source definitions it can scaffoldApache-2.0 (tool)RUN/LEARN[later]Scaffolds a typed DLT REST source from an API’s shape. Good accelerant when we add a new JSON ERP.
Singer taps (Meltano Hub)300+ community taps incl. some ERP/accountingMostly MIT/Apache (per-tap β€” verify)LEARN[later]Variable quality / many abandoned. Read for API surface + pagination; rarely worth running as-is. Python, so portable to DLT logic.
Airbyte connectors600+ incl. NetSuite, accountingELv2 / mixed (not fully OSS)REFERENCE[later]Java/Python CDK = runtime mismatch with DLT. Use as API-surface reference, not to run. License blocks productizing as a hosted connector.

C. Write / Action + API-surface leverage (feeds IERPService)

Section titled β€œC. Write / Action + API-surface leverage (feeds IERPService)”
SourceCoverageLicenseUseTagNotes
Pipedream components1,000+ apps, 1,000s of actions/sources (incl. niche ERPs like Business Edge)Source Available (since 2022-01-03)LEARN[now]β˜… How we discovered the Business Edge API. Read freely to learn endpoints/auth/payloads; do not vendor current code without a license review.
pipedream-mit (pre-2022 fork)Pipedream snapshot before MIT removalMITLEARN/RUN[now]Freely reusable but frozen/stale. Use when you need MIT-clean reference code; re-verify the API still matches.
Nango integration-templatesTS syncs+actions for NetSuite, QuickBooks, Xero, Sage Intacct, Odoo, ZohoMIT (verify)LEARN[later]Commodity-system templates. netsuite-tba (PO/invoice/customer create+update) and quickbooks (~50 actions) are complete. Map to our IERPService when we expand beyond order automation.
n8n nodes400+ app nodesSustainable Use License (fair-code)REFERENCE[later]Node.js, readable. Another API-surface reference when Pipedream lacks an app. License blocks SaaS resale of the code.

From prior deep research (see memory: ERP integration expansion research 2026-06-14). Verify every license before vendoring; learning is always fine.

Target ERPOSS reposLicense (per research β€” verify)UseTag
NetSuitefylein/netsuite-sdk-py, jacobsvante/netsuite, restsuiteMITLEARN/RUN[later]
Dynamics 365 Business Centralmicrosoft/ALAppExtensionsMITLEARN[later]
Epicor (Kinetic/P21-adjacent)community: TAIT, Epycor, bconner samplesmixed β€” verifyLEARN[now] (P21 context)
On-prem relay (AS/400, greenscreen, on-prem SQL)cloudflared, frpApache-2.0RUN[later] (WSO2/legacy ERP path)
Embeddable iPaaS building blockNango (above)ELv2/free-tierRUN[now]

E. First-party vendor specs (REFERENCE β€” generate/validate clients)

Section titled β€œE. First-party vendor specs (REFERENCE β€” generate/validate clients)”
ERPSpec artifactNotes
Prophet21OData $metadata (per-instance) + XML TransactionSet schemaWe already consume; v3/v4 detection.
NetSuiteSuiteTalk REST OpenAPI + SuiteQLOpenAPI generates a typed client.
AcumaticaContract-based REST OpenAPI (per-instance)Endpoint published by the instance.
Business Edge (CI Inc)Derived from Pipedream component (POST .../export.json, Basic DevKey:)No public docs β€” Pipedream is the de-facto spec.
SAP Business OneService Layer OData ($metadata)See docs/sap_integration_design_comprehensive.md.

Prioritized shortlist β€” min work / max impact for order automation

Section titled β€œPrioritized shortlist β€” min work / max impact for order automation”

In order, the leverage that moves the order-automation playbook forward now:

  1. Nango self-hosted (Auth + Proxy) β€” single credential vault + self-serve Connect UI for every order-automation connection. [now]
  2. dlt verified-sources rest_api + sql_database β€” config-only read/sync for any new JSON or SQL ERP, directly in our existing Dagster stack. [now]
  3. Pipedream components (LEARN) β€” fastest way to discover a niche ERP’s API surface before writing the IERPService write path. [now]
  4. First-party OpenAPI/$metadata (REFERENCE) β€” generate typed clients where the vendor publishes a spec (NetSuite, Acumatica, SAP B1). [now/later]

Deferred until the playbook is standard: Nango integration-templates, Airbyte/Singer at scale, the accounting/ecommerce sources, and the broader ERP-specific OSS connectors.


  • This is a living catalog. When you evaluate a new source, add a row with its license and use mode (RUN/LEARN/REFERENCE) β€” license is the part that bites later.
  • When a [later] source gets adopted, move its details into the relevant design doc and leave the catalog row pointing there.