StopTransaction

Closes a charging session and reports the final meter reading, the reason, and any buffered meter data.

Version
OCPP 1.6
Direction
Charge Point → CSMS
Feature profile
Core

StopTransaction ends a session. Besides the closing meter reading it carries a reason, which is the field that makes operational reporting possible — distinguishing a driver unplugging from a power loss from a remote stop.

It can also carry transactionData: meter values buffered during the session, delivered in bulk at the end.

Request

FieldTypeRequiredDescription
transactionIdintegerRequiredThe id returned by StartTransaction.
meterStopintegerRequiredMeter reading in Wh at the end of the session.
timestampdateTimeRequiredWhen the session ended.
idTagIdTokenOptionalThe token that stopped the session, when one was presented.
reasonReasonOptionalWhy the session ended. Absent means Local.
transactionDataMeterValue[]OptionalMeter values collected during the session.
json
[2, "19223201", "StopTransaction", {
  "transactionId": 8814,
  "meterStop": 1216800,
  "timestamp": "2026-09-09T12:47:31.000Z",
  "idTag": "04A1B2C3D4E580",
  "reason": "EVDisconnected"
}]

Response

FieldTypeRequiredDescription
idTagInfoIdTagInfoOptionalPresent only when idTag was supplied in the request.
json
[3, "19223201", {
  "idTagInfo": { "status": "Accepted" }
}]

Values

Reason

ValueMeaning
EmergencyStopThe emergency stop button was pressed.
EVDisconnectedThe cable was disconnected at the vehicle.
HardResetA hard reset ended the session.
LocalStopped locally — a token was presented at the charger. This is the default when reason is omitted.
OtherNone of the other reasons apply.
PowerLossSupply to the charge point was lost.
RebootThe charge point rebooted.
RemoteStopped by RemoteStopTransaction.
SoftResetA soft reset ended the session.
UnlockCommandStopped by UnlockConnector.
DeAuthorizedThe token was de-authorized during the session.

Implementation notes

Omitting `reason` means `Local`, not "unknown". A charger that never sends the field makes every session look driver-terminated, and hides power losses and emergency stops from your reporting entirely.

The response omits idTagInfo when the request had no idTag. A CSMS that always includes it is being harmlessly generous; a charger that requires it will break.

transactionData is the mechanism for delivering meter values that could not be sent live. Expect it to arrive after a reconnect, carrying timestamps well in the past.