# Kapitel 7 – Verarbeitung von Ladevorgängen

## Ziel dieses Kapitels

Nachdem Stammdaten und Vertragsinformationen erfolgreich aus Gridware nach ERPNext synchronisiert wurden, bildet die Verarbeitung der Ladevorgänge den nächsten zentralen Schritt innerhalb der ERPNext-Lösung.

Jeder einzelne Ladevorgang repräsentiert die Nutzung eines Ladepunkts und bildet die kleinste abrechnungsrelevante Einheit des Systems. Erst durch die anschließende Aggregation mehrerer Ladevorgänge innerhalb eines Abrechnungszeitraums entstehen kaufmännische Belege wie Kunden- oder Lieferantenabrechnungen.

Dieses Kapitel beschreibt den Aufbau des Gridware Usage Doctypes sowie dessen Rolle innerhalb des gesamten Abrechnungsprozesses.

## 7.1 Fachlicher Hintergrund

Ein Gridware Usage repräsentiert einen einzelnen Ladevorgang und bildet die kleinste abrechnungsrelevante Einheit innerhalb des Systems. Jeder Ladevorgang entsteht ausschließlich in Gridware und wird anschließend vollständig nach ERPNext synchronisiert. Der Gridware Usage stellt dabei das technische und fachliche Abbild eines einzelnen Ladevorgangs dar.

Im Gegensatz zu vielen Integrationen werden die Daten nicht innerhalb von ERPNext berechnet oder nachträglich angereichert. Bereits beim Abruf aus Gridware enthält der Datensatz sämtliche relevanten Informationen, die für die spätere kaufmännische Verarbeitung benötigt werden.

Hierzu gehören unter anderem:

- die zugehörigen Vertragsinformationen,
- der Contract Type,
- der zahlende Kunde,
- der beteiligte Lieferant,
- sämtliche Preisinformationen,
- die Verbrauchswerte,
- sowie weitere technische und kaufmännische Informationen.

ERPNext übernimmt diese Informationen unverändert und verwendet sie als Grundlage für die spätere Aggregation und Rechnungsstellung.

Der Gridware Usage bildet damit die Basis für:

- Customer Usage Data
- Supplier Usage Data
- Kundenabrechnungen
- Lieferantenabrechnungen
- Auswertungen und Reports

## 7.2 Architekturprinzip

Der Gridware Usage wurde bewusst als Spiegelbild der Gridware-Daten entwickelt. Das bedeutet, dass ERPNext keine fachlichen Informationen wie Preise, Vertragszuordnungen oder beteiligte Parteien selbst berechnet. Stattdessen werden diese Informationen bereits vollständig von Gridware bereitgestellt und unverändert übernommen.

## 7.3 Lebenszyklus eines Ladevorgangs

Die Verarbeitung eines Ladevorgangs erfolgt in mehreren Schritten.

```text
Gridware
        ↓
Gridware Usage
        ↓
Customer Usage Data
        ↓
Supplier Usage Data
        ↓
Sales Invoice / Purchase Invoice

```

Nachdem der Ladevorgang aus Gridware synchronisiert wurde, wird er den entsprechenden Kunden- und Lieferantenaggregationen zugeordnet. Erst diese Aggregationen bilden die Grundlage für die spätere Rechnungsstellung.

Es gibt in den Settings <span class="sand-dj266r sand-at24cr sand-xzm5a7">keine</span> Schaltfläche „alle Usages neu holen“. Usages kommen mit den Verträgen. Nachziehen geht über <span class="sand-dj266r sand-at24cr sand-xzm5a7">Abruf fehlgeschlagener/ausstehender Transaktionen wiederholen</span>.

<p class="callout warning">Nur Transaktionen mit Status `DONE` oder `DONE_WITH_TERMINATION` werden verarbeitet.</p>

## 7.4 Aufbau des Gridware Usage Doctypes

Der Gridware Usage Doctype gliedert sich in mehrere logisch getrennte Bereiche. Gemeinsam bilden sie sämtliche technischen und kaufmännischen Informationen eines einzelnen Ladevorgangs ab.

#### [![Screenshot 2026-07-24 at 10.38.44.png](https://becharged.phamos.eu/uploads/images/gallery/2026-07/scaled-1680-/screenshot-2026-07-24-at-10-38-44.png)](https://becharged.phamos.eu/uploads/images/gallery/2026-07/screenshot-2026-07-24-at-10-38-44.png)

[![Screenshot 2026-07-24 at 10.39.16.png](https://becharged.phamos.eu/uploads/images/gallery/2026-07/scaled-1680-/screenshot-2026-07-24-at-10-39-16.png)](https://becharged.phamos.eu/uploads/images/gallery/2026-07/screenshot-2026-07-24-at-10-39-16.png)

#### Usage Information

Dieser Bereich enthält die grundlegenden Informationen zum Ladevorgang. Gespeichert werden unter anderem:

<table id="bkmrk-feld-datentyp-quelle"><thead><tr><th>Feld</th><th>Datentyp</th><th>Quelle</th><th>Beschreibung</th></tr></thead><tbody><tr><td>`gridware_usage_id`</td><td>Int (unique)</td><td>Gridware API</td><td>**Externe Identifikator**</td></tr><tr><td>`uuid`</td><td>Text</td><td>Gridware API</td><td>Eindeutige UUID</td></tr><tr><td>`status`</td><td>Select</td><td>Intern</td><td>Pending / Complete / Failed</td></tr><tr><td>`receipt_number`</td><td>Text</td><td>Gridware API</td><td>Quittungsnummer</td></tr><tr><td>`start`</td><td>Datetime</td><td>Gridware API</td><td>Ladestart</td></tr><tr><td>`end`</td><td>Datetime</td><td>Gridware API</td><td>Ladeende</td></tr><tr><td>`duration`</td><td>Int</td><td>Gridware API</td><td>Dauer in Sekunden</td></tr><tr><td>`state`</td><td>Text</td><td>Gridware API</td><td>Zustand aus Gridware</td></tr></tbody></table>

Die Gridware Usage ID dient als eindeutiger technischer Identifikator zwischen Gridware und ERPNext.

- <span class="sand-dj266r sand-at24cr sand-xzm5a7">Pending</span> bedeutet: Details fehlen noch.
- <span class="sand-dj266r sand-at24cr sand-xzm5a7">Complete</span> ist die Voraussetzung für die Aggregation.
- <span class="sand-dj266r sand-at24cr sand-xzm5a7">Failed</span> muss nachgezogen werden.

Der Status wird direkt aus Gridware übernommen und beschreibt den aktuellen Bearbeitungszustand des Ladevorgangs.

#### Consumption Information

Dieser Bereich beschreibt den tatsächlichen Energieverbrauch. API liefert Wh, ERPNext zeigt zusätzlich kWh (geteilt durch 1000)

Hier werden unter anderem gespeichert:

<table id="bkmrk-feld-datentyp-transf"><thead><tr><th>Feld</th><th>Datentyp</th><th>Transformation</th><th>Beschreibung</th></tr></thead><tbody><tr><td>`consumption_start_in_wh`</td><td>Float</td><td>API → DB</td><td>Zählerstand Start (Wh)</td></tr><tr><td>`consumption_end_in_wh`</td><td>Float</td><td>API → DB</td><td>Zählerstand Ende (Wh)</td></tr><tr><td>`consumption_value_in_wh`</td><td>Float</td><td>API → DB</td><td>Verbrauch in Wh</td></tr><tr><td>`consumption_start_in_kwh`</td><td>Float</td><td>Wh ÷ 1000</td><td>Zählerstand Start (kWh)</td></tr><tr><td>`consumption_end_in_kwh`</td><td>Float</td><td>Wh ÷ 1000</td><td>Zählerstand Ende (kWh)</td></tr><tr><td>`consumption_value_in_kwh`</td><td>Float</td><td>Wh ÷ 1000</td><td>Verbrauch in kWh</td></tr><tr><td>`rental_object_id`</td><td>Text</td><td>Gridware API</td><td>Ladesäulen-ID</td></tr><tr><td>`rental_object_display_name`</td><td>Text</td><td>Gridware API</td><td>Ladesäulen-Name

</td></tr></tbody></table>

Diese Informationen dienen später als Grundlage für die Verbrauchsauswertung und Rechnungsstellung.

#### Usage Price Details

Im Bereich **Usage Price Details** werden sämtliche von Gridware berechneten Kosten übernommen.

Je nach Vertragsmodell können folgende Kostenarten vorhanden sein:

**Struktur:** Netto + Brutto für jede Kostenart

<table id="bkmrk-kostenart-netto-feld"><thead><tr><th>Kostenart</th><th>Netto Feld</th><th>Brutto Feld</th></tr></thead><tbody><tr><td>Fix</td><td>`usage_price_total_fix_costs_excl_vat`</td><td>`usage_price_total_fix_costs_incl_vat`</td></tr><tr><td>Energy</td><td>`usage_price_total_energy_costs_excl_vat`</td><td>`usage_price_total_energy_costs_incl_vat`</td></tr><tr><td>Time</td><td>`usage_price_total_time_costs_excl_vat`</td><td>`usage_price_total_time_costs_incl_vat`</td></tr><tr><td>Parking</td><td>`usage_price_total_parking_costs_excl_vat`</td><td>`usage_price_total_parking_costs_incl_vat`</td></tr><tr><td>Reservation</td><td>`usage_price_total_reservation_costs_excl_vat`</td><td>`usage_price_total_reservation_costs_incl_vat`</td></tr></tbody></table>

Sowohl Netto- als auch Bruttopreise werden gespeichert. Preise kommen aus der API in Cent und werden in Euro mit zwei Dezimalstellen gespeichert.

ERPNext übernimmt diese Werte unverändert. Eine erneute Preisberechnung innerhalb ERPNext erfolgt nicht.

#### User Information

Dieser Bereich beschreibt den Nutzer des Ladevorgangs.

Hierzu gehören unter anderem:

<table id="bkmrk-feld-datentyp-quelle-1"><thead><tr><th>Feld</th><th>Datentyp</th><th>Quelle</th><th>Beschreibung</th></tr></thead><tbody><tr><td>`user_usage_medium_subject_type`</td><td>Text</td><td>Gridware API</td><td>Subject Type (Person/Org)</td></tr><tr><td>`user_usage_medium_label`</td><td>Text</td><td>Gridware API</td><td>Nutzer-Identifikator (NFC)</td></tr><tr><td>`user_name`</td><td>Text</td><td>Gridware API</td><td>Zahlender Kunde (Name)</td></tr><tr><td>`user_person_id`</td><td>Int</td><td>Gridware API</td><td>Person ID</td></tr><tr><td>`gridware_party_person`</td><td>Link</td><td>Query</td><td>Verknüpfung → Gridware Party (Person)</td></tr><tr><td>`user_organization_id`</td><td>Int</td><td>Gridware API</td><td>Organization ID</td></tr><tr><td>`gridware_party_organization`</td><td>Link</td><td>Query</td><td>Verknüpfung → Gridware Party (Org)</td></tr><tr><td>`user_references`</td><td>JSON</td><td>Gridware API</td><td>Weitere Referenzen</td></tr></tbody></table>

Dadurch kann jeder Ladevorgang eindeutig einer Person oder Organisation zugeordnet werden.

Über die Gridware Party erfolgt die Verknüpfung mit den kaufmännischen Stammdaten innerhalb ERPNext.

#### Authorizing Contracts

Dieser Bereich stellt die Verbindung zwischen dem Ladevorgang und dem zugrunde liegenden Vertrag her.

Gespeichert werden unter anderem:

<table id="bkmrk-feld-datentyp-beschr"><thead><tr><th>Feld</th><th>Datentyp</th><th>Beschreibung</th></tr></thead><tbody><tr><td>`gridware_authorizing_contract_id`</td><td>Text</td><td>Contract ID aus API</td></tr><tr><td>`cpo_offer_id`</td><td>Text</td><td>CPO Offer ID</td></tr><tr><td>`contract_type`</td><td>Text</td><td>Vertragstyp</td></tr><tr><td>`contract_simple_name`</td><td>Text</td><td>Kurzbeschreibung</td></tr><tr><td>`contract_number`</td><td>Text</td><td>Vertragsnummer</td></tr></tbody></table>

Dadurch erhält jeder Ladevorgang sämtliche Informationen, die für die spätere kaufmännische Verarbeitung erforderlich sind.

Der Vertrag bestimmt unter anderem:

- welches Vertragsmodell gilt,
- welcher Lieferant beteiligt ist,
- welche Kunden berücksichtigt werden,
- welche Billing Rules angewendet werden.

#### Payment Information

Im letzten Abschnitt werden die Zahlungsinformationen gespeichert.

Aktuell wird insbesondere die **Payment Method Reference ID** übernommen.

<table id="bkmrk-feld-datentyp-beschr-1"><thead><tr><th>Feld</th><th>Datentyp</th><th>Beschreibung</th></tr></thead><tbody><tr><td>`payment_method_ref_id`</td><td>Int</td><td>Payment Method ID</td></tr><tr><td>`payment_method_ref_identifier`</td><td>Text</td><td>Payment Method Name</td></tr><tr><td>`payment_method_ref_type`</td><td>Text</td><td>Typ (SEPA, CARD, etc.)</td></tr><tr><td>`payment_method_ref_card_type`</td><td>Text</td><td>Kartentyp (bei CARD)</td></tr></tbody></table>

Dieser Bereich bildet die Grundlage für zukünftige Erweiterungen der Zahlungsabwicklung und dient der eindeutigen Zuordnung der verwendeten Zahlungsmethode.

## 7.5 Verwendung innerhalb der ERPNext-Lösung

Der Gridware Usage dient ausschließlich als technische Datengrundlage. Er wird selbst nicht direkt fakturiert. Stattdessen bildet er die Grundlage für die weitere kaufmännische Verarbeitung.

Mehrere Gridware Usages werden innerhalb einer Billing Period zusammengefasst und anschließend zu folgenden Objekten aggregiert:

- Customer Usage Data
- Supplier Usage Data

Diese Aggregationen bilden wiederum die Grundlage für die Erstellung von Kunden- und Lieferantenrechnungen.

## 7.6 Abgrenzung zu Customer Usage Data und Supplier Usage Data

Es ist wichtig, zwischen dem Gridware Usage und den späteren Aggregationsobjekten zu unterscheiden.

<table id="bkmrk-gridware-usage-custo"><thead><tr><th>Gridware Usage</th><th>Customer / Supplier Usage Data</th></tr></thead><tbody><tr><td>Einzelner Ladevorgang</td><td>Zusammenfassung mehrerer Ladevorgänge</td></tr><tr><td>Technisches Abbild aus Gridware</td><td>Kaufmännische Aggregation innerhalb ERPNext</td></tr><tr><td>Wird direkt aus Gridware übernommen</td><td>Wird innerhalb ERPNext erzeugt</td></tr><tr><td>Keine Rechnungsstellung</td><td>Grundlage für die Rechnungsstellung</td></tr></tbody></table>

Während der Gridware Usage den unveränderten Ursprung eines Ladevorgangs darstellt, enthalten Customer Usage Data und Supplier Usage Data die kaufmännisch aufbereiteten Daten für die spätere Abrechnung.

## 7.7 Zusammenfassung

Der Gridware Usage bildet die technische Grundlage der gesamten Abrechnungslösung.

Jeder Ladevorgang wird vollständig aus Gridware übernommen und unverändert innerhalb ERPNext gespeichert. Dadurch bleibt Gridware das führende System für sämtliche Nutzungsdaten, während ERPNext die Rolle des kaufmännischen Verarbeitungssystems übernimmt.

Die eigentliche Geschäftslogik beginnt erst im nächsten Schritt mit der Aggregation mehrerer Gridware Usages zu Customer Usage Data und Supplier Usage Data, welche die Basis für die spätere Rechnungsstellung bilden.