Skip to content
All work

Integration Architecture

ERP Integration Platform

Internal partner and employee platforms providing secure 24/7 web access to SAP Business One, with Saltbox-orchestrated workflows connecting ERP, HR, and finance systems.

Context

Vision33 runs its business on SAP Business One. Partners and employees needed round-the-clock web access to ERP data — orders, billing, HR records — but the ERP itself is a transactional system of record, not a web backend. Meanwhile, each new system (HR, finance, third-party SaaS) was being wired to the ERP with its own point-to-point connector, and the data silos between them were growing.

Constraints

  • The ERP cannot absorb web-scale read traffic or be exposed directly to partner-facing applications.
  • Financial and HR data demand strict access control — partner and employee views are entirely different trust levels.
  • Integrations had to be maintainable by a small team: every new point-to-point connector added a permanent maintenance liability.

Architecture

SAP Business One ERP · system of record Saltbox integration workflows SQL Server operational store Cloud Functions Azure · AWS automation Partner Portal ASP.NET Core Employee Portal ASP.NET Core
Portals read from the operational store; Saltbox workflows and cloud functions keep it in sync with the ERP, HR, and finance systems.

The portals are ASP.NET Core applications that read from a SQL Server operational store rather than querying the ERP live. Saltbox workflows and Azure/AWS cloud functions own the synchronization: they move data between SAP Business One, HR, and finance systems, and keep the operational store current. The ERP stays the single system of record; everything else is a projection of it.

Decisions & Trade-offs

  • Integration hub over point-to-point connectors. Centralizing flows on Saltbox trades an added platform dependency for linear (not quadratic) growth in connections — and one place to monitor, retry, and audit every flow.
  • Replicate-and-serve over live ERP queries. Serving reads from the operational store accepts bounded staleness in exchange for 24/7 availability and full isolation of the ERP from web traffic. For the workflows involved, minutes-old data is indistinguishable from live.
  • Two portals, one platform. Partner and employee applications share the data layer and integration workflows but are separate apps — the trust boundary is enforced by architecture, not by role checks inside a shared codebase.

Impact

The platform eliminated the data silos between ERP, HR, and finance, gave partners and employees secure self-service access without touching the ERP directly, and became the foundation the automated billing engine was built on. It has been in continuous production use and active evolution for years — from .NET Framework origins to .NET Core and cloud deployment.

Next case · Financial Automation

Automated Billing & Tax Engine