Skip to content

Connecting your ERP securely

How an ERP, its middleware and BatteryPass work together, who does what, and what never leaves your systems.

Your ERP knows products, serial numbers, production orders, deliveries and returns. BatteryPass holds the battery passports built from that data. This section shows how to connect the two so that data flows without anyone copying spreadsheets by hand, and so that declared passport data still enters BatteryPass only through a person in your organisation who stands behind it.

These pages describe integration patterns, not products: BatteryPass ships no ERP connector, holds no vendor certification and has no partnership with an ERP vendor. You build the connection with your middleware or iPaaS, on the published API.

The architecture

flowchart LR
  ERP["ERP<br/>(production, serials,<br/>deliveries, returns)"] -->|"outbox or event"| MW["Middleware / iPaaS"]
  MW -->|"API key, scope import:<br/>stage spreadsheet"| API["BatteryPass API"]
  MW -->|"API key, scope condition:<br/>measurements, events"| API
  API -->|"API key, scope read:<br/>change feed, passports, QR"| MW
  MW -->|"Digital Link, status"| ERP
  API --> PORTAL["Portal: members review,<br/>commit, approve"]
  PORTAL -->|"members publish"| PUB["Published passport<br/>(signed, public tier online)"]
  1. The ERP records what happens (a production confirmation, a goods receipt, a returned battery) and keeps the change in an outbox table or raises an event.
  2. The middleware (your own service or an iPaaS) collects the change, turns it into what BatteryPass expects and calls the API with a key of your organisation.
  3. BatteryPass checks every request against the key's scope, validates the data with the same rules as the portal and records every write in the audit log.
  4. Members of your organisation review in the portal: they commit staged imports, approve values and publish passports. Keys cannot do any of this.
  5. The middleware reads back what it needs (passport status, GS1 Digital Link, QR code) through the change feed and writes it to the ERP record.

Who does what

ActorCanCannot
Key with scope importUpload a CSV or XLSX file, map it (also with an import preset), validate it and read its resultCommit the import, approve values, publish
Key with scope conditionReport measured condition data and lifecycle eventsChange declared data such as capacity or chemistry
Key with scope readRead models, units, values, passports, exports and the change feedWrite anything
Editor (member)Commit a validated import; the units are created as draftsApprove values or publish
Reviewer, admin, owner (member)Approve imported values, publish passportsApprove values they recorded themselves while the four-eyes rule is on; publish while required data is missing
Owner (member)Create and revoke API keys in Settings → API keys

The four-eyes rule is a setting of your organisation. Condition data reported with a key is stored as approved measurements without a reviewer; that is how measured data is meant to work (see Condition data and lifecycle).

What never flows

BatteryPass needs data about batteries, not about people. Keep these in your ERP:

  • customer names, addresses, contact data and order numbers;
  • names of employees, operators or service technicians;
  • prices, margins and supplier conditions;
  • vehicle, owner or location data of a battery in use.

A serial number is enough to link a passport, an event or a measurement to the record in your ERP. The security page explains data minimisation and the rest of the security model.

The five workflows

Middleware and standards

  • iPaaS and middleware: n8n, Make, Power Automate, MuleSoft, Boomi, Workato, Zapier and SAP Integration Suite with a BatteryPass key, and how each polls the change feed.
  • Standards: how BatteryPass data relates to DIN DKE SPEC 99100, the IDTA battery passport submodels and Catena-X.

ERP systems

The ERP registry lists, per system, the interfaces an integration can use, how they authenticate, whether they announce changes, and how and when we checked each fact. It is the same data the portal shows under Settings → Integrations.

SystemVendorDeploymentsChecked
SAP S/4HANA Cloud Public EditionSAPCloudchecked in the vendor documentation
SAP S/4HANA (on-premise and Private Edition)SAPOn-premisechecked in the vendor documentation
SAP Business OneSAPOn-premisechecked in the vendor documentation
Microsoft Dynamics 365 Business CentralMicrosoftCloud, On-premisechecked in the vendor documentation
Microsoft Dynamics NAV 2018MicrosoftOn-premisechecked in the vendor documentation
Microsoft Dynamics 365 Finance and Supply Chain ManagementMicrosoftCloudchecked in the vendor documentation
Oracle NetSuiteOracleCloudchecked in the vendor documentation
Oracle Fusion Cloud Supply Chain ManagementOracleCloudchecked in the vendor documentation
OdooOdoo S.A.Cloud, On-premisechecked in the vendor documentation
Infor CloudSuite (M3, LN)InforCloud, On-premisechecked in the vendor documentationnot checked
IFS CloudIFSCloud, On-premisecommunity or marketing source only
Epicor KineticEpicorCloud, On-premisecommunity or marketing source only
Sage X3SageCloud, On-premisenot checked
abas ERPabas Software (Forterro)On-premise, Cloudcommunity or marketing source only
proALPHA ERPproALPHAOn-premisenot checked
weclappweclappCloudchecked in the vendor documentation
XentralXentral ERP SoftwareCloudchecked in the vendor documentation

"Checked in the vendor documentation" means we read the vendor's public documentation on the date given. It is not a test against a live system and not an endorsement by the vendor. Entries marked "community or marketing source only" or "not checked" need confirmation in your project.

On this page