SAP S/4HANA (on-premise and Private Edition)
How an on-premise SAP S/4HANA or a Private Edition hands serial numbers to BatteryPass.
This page describes an integration pattern. BatteryPass ships no connector for SAP S/4HANA and has no partnership with SAP; nothing here is a vendor approval.
The OP_ APIs of the SAP Business Accelerator Hub mirror the cloud APIs: OP_API_MATERIALSERIALNUMBER_0001 for
serial numbers, OP_API_BATCH_SRV_0001 for batches and OP_API_PRODUCTION_ORDER_2_SRV_0001 for production orders.
The middleware usually reaches the system through SAP Cloud Connector or a reverse proxy in the plant network; the
SAP system itself is never exposed to the internet. Only the middleware talks to BatteryPass, with its own key.
For units from production the middleware reads the serial
numbers of a batch and writes a file with the sap-serial-numbers preset (material number, serial number, posting
date of the goods receipt). It assumes the model identifier in BatteryPass is the SAP material number.
Changes to the material master can arrive as MATMAS IDocs through ALE change pointers, or as RAP business events
through SAP Event Mesh. SERDAT is the ALE serialisation message, not a serial number IDoc: serial numbers come
through the OData APIs. Passport links flow back as in the passport links workflow.
Interfaces and how they were checked
- Vendor
- SAP
- Deployments
- On-premise: On-premise and Private Edition with the OP_ APIs of the SAP Business Accelerator Hub
The OP_ APIs mirror the cloud APIs; the middleware usually reaches the system through SAP Cloud Connector or a reverse proxy in the plant network, never directly from the internet.
An integration pattern, not a connector: BatteryPass ships no ERP connector and holds no vendor certification.
| Interface | Protocol | Sign-in | Events | Objects | Checked |
|---|---|---|---|---|---|
OP_API_PRODUCT_SRV_0001Product master | OData V2 | Basic auth, X.509 certificate | none | Product/material master | checked in the vendor documentation, 24/10/2026 |
OP_API_MATERIALSERIALNUMBER_0001Serial numbers | OData V4 | Basic auth, X.509 certificate | none | Batch/serial number | checked in the vendor documentation, 24/10/2026 |
OP_API_BATCH_SRV_0001Batches | OData V2 | Basic auth, X.509 certificate | none | Batch/serial number | checked in the vendor documentation, 24/10/2026 |
OP_API_PRODUCTION_ORDER_2_SRV_0001Production orders | OData V2 | Basic auth, X.509 certificate | none | Production order | checked in the vendor documentation, 24/10/2026 |
OP_CUSTOMERRETURN_0001Customer returns | OData V4 | Basic auth, X.509 certificate | none | Return | checked in the vendor documentation, 24/10/2026 |
MATMASIDoc for the material master | IDoc | Basic auth, X.509 certificate | Business events (not signed) | Product/material master | checked in the vendor documentation, 24/10/2026 |
RAP business eventsBusiness events of the RAP model | REST | OAuth 2.0 client credentials, X.509 certificate | Business events (not signed) | Product/material master, Production order | checked in the vendor documentation, 24/10/2026 |
Notes
MATMAS: SERDAT is the ALE serialisation message, not a serial number IDoc; serial numbers come through the OData APIs. ALE distribution sends MATMAS through change pointers whenever a material changes.RAP business events: Through SAP Event Mesh or Advanced Event Mesh; thin events, the middleware reads the data afterwards.
Import presets
SAP serial number list (sap-serial-numbers): A list of serial numbers from SAP S/4HANA as a middleware assembles it from the serial number API or the goods receipt from production. Assumes that the battery model's model identifier in BatteryPass is the SAP material number. The posting date of the goods receipt stands in for the manufacturing date; the plant stays unmapped (choose the facility in the import options).
| Column in the export | Field in BatteryPass |
|---|---|
Material (also Product, Materialnummer, Produkt) | Model identifier / SKU identification.model_identifier |
SerialNumber (also Serial Number, Serialnummer) | Serial number identification.serial_number |
PostingDate (also Posting Date, Buchungsdatum) | Manufacturing date identification.manufacturing_date |
Generic CSV file (generic-csv): For any ERP and for files a middleware writes itself: GTIN, serial number, manufacturing date, facility (name or GLN), model version and battery status, with German and English column names.
| Column in the export | Field in BatteryPass |
|---|---|
GTIN (also EAN, GTIN-13, GTIN-14) | GTIN (GS1) identification.gtin |
Serial number (also Seriennummer, serial_number) | Serial number identification.serial_number |
Manufacturing date (also Herstelldatum, manufacturing_date) | Manufacturing date identification.manufacturing_date |
Facility (also Produktionsstätte, Facility GLN, Werk-GLN) | Place of manufacture identification.manufacturing_place |
Model version (also Modellversion, model_version) | Model version model_version |
Battery status (also Batteriestatus, battery_status) | Battery status identification.battery_status |
Workflows
- Units from production: Serial numbers from the production confirmation or goods receipt are staged as an import; members review, commit and approve before any passport appears. Key scopes: import
- Passport links back into the ERP: The middleware follows the change feed and writes the GS1 Digital Link and the passport status to the serial number record in the ERP, so labels and delivery papers carry it. Key scopes: read
- Condition data from BMS and service: A battery management system or a service tool reports measurements such as capacity fade or cycles; BatteryPass accepts newer measurements and publishes according to the organisation's policy. Key scopes: readcondition
- Returns and repairs as lifecycle events: Completed repairs, inspections and component replacements from service or return orders appear as events in the unit's history. Key scopes: readcondition
- Product change leads to a new model version: A change to the product master in the ERP triggers a notification; a member creates a new model version in BatteryPass. Declared data is never written automatically. Key scopes: read