diff --git a/doc/ocmf/powermeter_start_transaction.md b/doc/ocmf/powermeter_start_transaction.md
new file mode 100644
index 000000000..efb8b7c0a
--- /dev/null
+++ b/doc/ocmf/powermeter_start_transaction.md
@@ -0,0 +1,52 @@
+```mermaid
+sequenceDiagram
+autonumber
+participant Powermeter
+participant EvseManager
+participant OCPP
+participant CSMS
+
+title Start of a Transaction
+
+Note over EvseManager: User plugs in EV and authorizes
+
+EvseManager->>OCPP: Event(SessionStarted)
+
+OCPP->>CSMS: StatusNotification.req(Preparing)
+CSMS-->>OCPP: StatusNotification.conf
+
+alt successful case
+ EvseManager->>Powermeter: startTransaction
+ Powermeter-->>EvseManager: startTransaction Response (OK/ID)
+
+ EvseManager->>OCPP: Event(TransactionStarted)
+ OCPP->>CSMS: StartTransaction.req
+ CSMS-->>OCPP: StartTransaction.conf
+
+ Note over EvseManager: Transaction started successfully
+
+else startTransaction failing due to power loss
+ EvseManager->>Powermeter: startTransaction
+ Powermeter-->>EvseManager: startTransaction Response (FAIL)
+
+ EvseManager->>OCPP: Event(Deauthorized)
+
+ OCPP->>CSMS: StatusNotification.req(Finishing)
+ CSMS-->>OCPP: StatusNotification.conf
+
+ EvseManager->>OCPP: raiseError (PowermeterTransactionStartFailed)
+ OCPP->>CSMS: StatusNotification.req(Finishing, PowermeterTransactionStartFailed)
+ CSMS-->>OCPP: StatusNotification.conf
+
+ Note over EvseManager: Transaction did not start
+end
+
+alt EvseManager configured to become inoperative in case of Powermeter CommunicationError
+ Powermeter->>EvseManager: raise_error(CommunicationError)
+ Note over Powermeter,EvseManager: Powermeter raises a CommunicationError
and EvseManager is registered for notification
+ EvseManager->>OCPP: raise_error (Inoperative)
+ OCPP->>CSMS: StatusNotification.req(Faulted)
+ CSMS-->>OCPP: StatusNotification.conf
+end
+
+```
\ No newline at end of file
diff --git a/doc/ocmf/powermeter_stop_transaction.md b/doc/ocmf/powermeter_stop_transaction.md
new file mode 100644
index 000000000..5c36d14b1
--- /dev/null
+++ b/doc/ocmf/powermeter_stop_transaction.md
@@ -0,0 +1,46 @@
+```mermaid
+sequenceDiagram
+autonumber
+participant Powermeter
+participant EvseManager
+participant OCPP
+participant CSMS
+
+title Stopping Transaction in Error
+
+Note over Powermeter, CSMS: Transaction is running
+
+Powermeter->>Powermeter: detects a
CommunicationError
+Note over Powermeter,EvseManager: Powermeter raises a CommunicationError
and EvseManager is registered for notification
+Powermeter->>EvseManager: raise_error (CommunicationFault)
+Powermeter->>OCPP: raise_error (CommunicationFault)
+
+OCPP->>CSMS: StatusNotification.req(Charging, CommunicationFault)
+CSMS-->>OCPP: StatusNotification.conf
+
+alt EvseManager configured to become inoperative in case of PowermeterCommError
+ EvseManager->>EvseManager: Pause charging
+ EvseManager->>OCPP: raiseError (Inoperative)
+ OCPP->>CSMS: StatusNotification.req(Faulted)
+ Note over EvseManager: Note that we would just continue charging otherwise
+end
+
+Note over Powermeter, CSMS: User stops the transaction
+
+alt successful case (Powermeter has no CommunicationError)
+ EvseManager->>Powermeter: stopTransaction (ID)
+ Powermeter-->>EvseManager: stopTransaction Response (OK/OCMF)
+ EvseManager->>OCPP: Event(TransactionFinished(OCMF))
+
+ OCPP->>CSMS: StopTransaction.req(OCMF)
+ CSMS-->>OCPP: StopTransaction.conf
+else stopTransaction failing due to subsequent power loss (this applies as well when Powermeter still in CommunicationError)
+ EvseManager->>Powermeter: stopTransaction (ID)
+ Powermeter->>EvseManager: stopTransaction Response (FAIL)
+ EvseManager->>OCPP: Event(TransactionFinished)
+
+ Note right of OCPP: In this case we can't stop the transaction including the OCMF
+ OCPP->>CSMS: StopTransaction.req()
+ CSMS-->>OCPP: StopTransaction.conf
+end
+```
\ No newline at end of file