---
title: "Reverse a manual journal entry (Storno)"
method: POST
path: "/journal-entries/{id}/reverse"
tags: ["Journal Entries"]
---

# Reverse a manual journal entry (Storno)

`POST /journal-entries/{id}/reverse`

## Request

- Base URL: `https://api.lumabill.ch/v1`
- URL: `https://api.lumabill.ch/v1/journal-entries/{id}/reverse`
- Auth: HTTP bearer

Posts a Storno for a MANUAL entry: a new numbered entry on the original's date with debit and credit swapped, linked via `reversedEntryId`. The original stays in the journal. An entry can be reversed once; its fiscal year must be open. Errors (400 with `errorCode`): `NOT_MANUAL`, `ALREADY_REVERSED`, `IS_REVERSAL`, `FISCAL_YEAR_CLOSED`.

## Response `201`

Storno posted

- StornoResult
  - `id` string, uuid: The Storno (reversal) entry
  - `entrySeq` integer, nullable: Buchungsnummer of the Storno entry
  - `reversedEntryId` string, uuid
  - `message` string

## Other responses

- `400`: Validation error
- `401`: Invalid or missing API key
- `403`: Subscription required or read-only key on a write endpoint
- `404`: Resource not found
- `429`: Rate limit exceeded
- `500`: Internal server error

---

[API](https://skmtc.dev/lumabill/apis/lumabill-api.md) · [All operations](https://skmtc.dev/lumabill/apis/lumabill-api/llms.txt) · [OpenAPI document](https://skmtc.dev/lumabill/apis/lumabill-api/revisions/e48e7099b545?raw)
