# SAP Business One

> Wie SAP Business One über den Service Layer Seriennummern an BatteryPass liefert.

> [!NOTE]
> Diese Seite beschreibt ein Integrationsmuster. BatteryPass liefert keinen Konnektor für SAP Business One und hat
> keine Partnerschaft mit SAP; nichts hier ist eine Freigabe des Herstellers.

Der Zugang ist der Service Layer: OData V3 unter `/b1s/v1` und OData V4 unter `/b1s/v2`. Er arbeitet mit Sitzungen:
die Middleware meldet sich mit `POST /Login` an, hält das Sitzungs-Cookie und meldet sich neu an, wenn die Sitzung
abläuft. Nutzen Sie einen technischen Business-One-Benutzer, der nur Artikel, Seriennummern und Fertigungsaufträge
lesen darf.

Webhooks sind im Service Layer nicht dokumentiert; die Middleware fragt deshalb regelmäßig ab, etwa alle paar Minuten
nach Seriennummern, die seit dem letzten Lauf entstanden sind. Sie schreibt sie mit dem Preset `generic-csv` (GTIN,
Seriennummer, Herstelldatum, Produktionsstätte) in eine Datei und stellt sie bereit wie unter
[Einheiten aus der Fertigung](https://passport.kabin.sh/docs/de/integrations/workflows/units-from-production) beschrieben. Der Service Layer
selbst bleibt in Ihrem Netz; mit BatteryPass spricht nur die Middleware.

## Schnittstellen und Prüfstand

- **Hersteller:** SAP
- **On-Premise:** SAP Business One with Service Layer (SQL Server and SAP HANA)

Der Service Layer arbeitet mit Sitzungen: die Middleware meldet sich mit POST /Login an und hält das Sitzungs-Cookie. Webhooks sind im Service Layer nicht dokumentiert; Änderungen findet die Middleware per Abfrage.

Integrationsmuster, kein Konnektor: BatteryPass liefert keine ERP-Anbindung und ist bei keinem Hersteller zertifiziert.

| Schnittstelle                                                                                                                                                                           | Protokoll | Anmeldung | Ereignisse | Objekte                                                                                         | Prüfstand                                          |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------- | --------- | ---------- | ----------------------------------------------------------------------------------------------- | -------------------------------------------------- |
| [`Service Layer /b1s/v1`](https://learning.sap.com/courses/leveraging-the-sap-business-one-service-layer/logging-in-and-logging-out-using-service-layer-api) (Service Layer (OData V3)) | OData V3  | Sitzung   | keine      | Produkt-/Materialstamm, Charge/Seriennummer, Fertigungsauftrag, Lieferung/Warenausgang, Retoure | geprüft in der Herstellerdokumentation, 24.10.2026 |
| [`Service Layer /b1s/v2`](https://learning.sap.com/courses/leveraging-the-sap-business-one-service-layer/logging-in-and-logging-out-using-service-layer-api) (Service Layer (OData V4)) | OData V4  | Sitzung   | keine      | Produkt-/Materialstamm, Charge/Seriennummer, Fertigungsauftrag, Lieferung/Warenausgang, Retoure | geprüft in der Herstellerdokumentation, 24.10.2026 |

**Importvorlagen (Presets): Allgemeine CSV-Datei** (`generic-csv`): Für jedes ERP und für Dateien, die eine Middleware selbst schreibt: GTIN, Seriennummer, Herstelldatum, Produktionsstätte (Name oder GLN), Modellversion und Batteriestatus, mit deutschen und englischen Spaltennamen.

| Spalte im Export                                              | Feld in BatteryPass                                   |
| ------------------------------------------------------------- | ----------------------------------------------------- |
| `GTIN` (auch EAN, GTIN-13, GTIN-14)                           | GTIN (GS1) `identification.gtin`                      |
| `Serial number` (auch Seriennummer, serial_number)            | Seriennummer `identification.serial_number`           |
| `Manufacturing date` (auch Herstelldatum, manufacturing_date) | Herstellungsdatum `identification.manufacturing_date` |
| `Facility` (auch Produktionsstätte, Facility GLN, Werk-GLN)   | Herstellungsort `identification.manufacturing_place`  |
| `Model version` (auch Modellversion, model_version)           | Modellversion `model_version`                         |
| `Battery status` (auch Batteriestatus, battery_status)        | Batteriestatus `identification.battery_status`        |

## Abläufe

- [Einheiten aus der Fertigung](https://passport.kabin.sh/docs/de/integrations/workflows/units-from-production.md): Seriennummern aus Fertigungsrückmeldung oder Wareneingang werden als Import bereitgestellt; Mitglieder prüfen, übernehmen und geben frei, bevor ein Pass erscheint. Scopes des Schlüssels: import
- [Pass-Links zurück ins ERP](https://passport.kabin.sh/docs/de/integrations/workflows/passport-links-to-erp.md): Die Middleware folgt dem Änderungsfeed und schreibt den GS1 Digital Link und den Passstatus an den Seriennummernsatz im ERP, damit Etiketten und Lieferpapiere ihn tragen. Scopes des Schlüssels: read
- [Rücksendungen und Reparaturen als Lebenszyklus-Ereignisse](https://passport.kabin.sh/docs/de/integrations/workflows/returns-and-repairs.md): Abgeschlossene Reparaturen, Prüfungen und Komponententausche aus Service- oder Retourenaufträgen erscheinen als Ereignisse in der Historie der Einheit. Scopes des Schlüssels: read, condition
- [Produktänderung führt zu neuer Modellversion](https://passport.kabin.sh/docs/de/integrations/workflows/product-change.md): Eine Änderung am Produktstamm im ERP löst eine Benachrichtigung aus; ein Mitglied legt in BatteryPass eine neue Modellversion an. Deklarierte Daten werden nie automatisch geschrieben. Scopes des Schlüssels: read
