Skip to content

Why esz-backend

Audience: all readersStatus: reference

ESZ runs on several systems, each good at one job: Salesforce for sales, Büro+ as today's ERP and Business Central as the next one, cePLUS for calibration, Hivebuy for purchasing, Personio and Microsoft 365 for people and accounts. esz-backend is the one place those systems connect through. This page explains what that is for; Platform and services describes how it is built.

Before and after

flowchart LR
  subgraph sg_before["Before"]
    direction LR
    b_sf["Salesforce"]:::ext -.- b_bp["Büro+"]:::ext
    b_bp -.- b_hb["Hivebuy"]:::ext
    b_sf -.- b_ce["cePLUS"]:::ext
    b_ce -.- b_bp
    b_hb -.- b_sf
  end
  subgraph sg_after["With esz-backend"]
    direction LR
    hub["esz-backend"]:::corebox
    a_sf["Salesforce"]:::ext --- hub
    a_bp["Büro+"]:::ext --- hub
    a_bc["Business Central"]:::ext --- hub
    a_ce["cePLUS"]:::ext --- hub
    a_hb["Hivebuy"]:::ext --- hub
    a_ms["Personio, Microsoft 365"]:::ext --- hub
  end
  classDef ext fill:#f9d6d6,stroke:#b04,color:#000
  classDef corebox fill:#cfeec9,stroke:#2a6,color:#000

Before, individual scripts connected pairs of systems, and whatever no script covered was copied by hand. Now each system is connected once, to esz-backend, and never directly to another system.

What it does

  • Connect. Every external system is integrated once, inside the service that owns its data, rather than once per system it talks to.
  • Keep data consistent. Synchronise master data such as customers and suppliers between systems according to each domain's field mappings and authority rules. The data pages describe which fields travel where and the limits of synchronisation.
  • Automate. Processes run without manual steps: sending mail with the signature marketing maintains centrally, e-invoices, offboarding.
  • Provide. Customers and colleagues reach data through secured access points, such as the customer portal and the published APIs.

Where it is heading

The goal is one continuous process, from quote to invoice, in which nobody copies data between systems by hand and every fact is maintained in one place.

flowchart LR
  quote["Quote<br/>Salesforce"]:::ext --> order["Order<br/>Business Central"]:::ext
  order --> intake["Device received<br/>matched to the order"]:::corebox
  intake --> calibration["Calibration<br/>cePLUS"]:::ext
  calibration --> certificate["Certificate<br/>customer portal"]:::corebox
  certificate --> invoice["Invoice<br/>Business Central"]:::ext
  classDef ext fill:#f9d6d6,stroke:#b04,color:#000
  classDef corebox fill:#cfeec9,stroke:#2a6,color:#000

This is the target, not today's state. The scope of Business Central is still being settled.

Shared language

The process above uses the company's agreed vocabulary: an esz product (calibration, training, CEPS) is applied to a manufacturer model, and a model plus a serial number is a device. The Glossary has the full list.

A change, end to end

When a customer moves and sales enter the new address in Salesforce, nobody re-enters it in Büro+ or Business Central. How that change travels through esz-backend is shown in Vendor mirrors.