Why esz-backend¶
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.