Skip to content
Developer

Kassen

Accounting4 EndpointsBilling / Kassen

Die Kassen.

GET/api/invoice/cash_register

Query parameters

idinteger
deletedbooleanThis property is used to mark an entity as deleted / archived | Default value: false
namestring
codestringKurzzeichen für die Belegnummer, etwa "VH" für Vereinsheim.
isActivebooleanStillgelegte Kassen nehmen keine Buchungen mehr an, bleiben aber mit ihrem Buch bestehen - die Aufzeichnungen sind aufzubewahren.
lockedThroughstringBis zu welchem Tag das Kassenbuch abgeschlossen ist. Der Kassenabschluss schiebt dieses Datum vor. Bis hierhin nimmt die Kasse keine Bewegung mehr an - auch nicht am selben Tag: die Chronologieprüfung allein ließ nach dem Monatsabschluss noch eine Bewegung mit dem letzten Tag des Monats zu, und der abgeschlossene Monat wäre hinterher ein anderer gewesen als der abgeschlossene.
ledgerAccountstringDas Bestandskonto dieser Kasse für die Bilanzierung. Je Kasse ein eigenes Konto, sonst stünden in der Bilanz beide Bestände auf einer Zeile und ließen sich nicht mehr trennen.
costCenterstringDie steuerliche Sphäre beim gemeinnützigen Verein. Eine Kasse gehört meist zu einem Bereich - die Kasse am Getränkestand zum wirtschaftlichen Geschäftsbetrieb, die Kasse der Geschäftsstelle zum ideellen Bereich.
createdstring
updatedstring
searchStringstringtext to search for in the list
orderFieldNamestringname of the order field
orderFieldSortstringsorting modeAllowed: DESCASC
pageintegerpage of the list
pageSizeintegernumber of entries for each page
withMaxPageNumberstringreturns the number of pages available as a header if this is set

Responses

200Kassenarray<CashRegister>

Show fields (10)
  • idinteger

    Primary key of the cash register. Internal ID.

  • codestring

    Kurzzeichen für die Belegnummer, etwa "VH" für Vereinsheim.

  • ledger_accountLedgerAccount

    Das Bestandskonto dieser Kasse für die Bilanzierung. Je Kasse ein eigenes Konto, sonst stünden in der Bilanz beide Bestände auf einer Zeile und ließen sich nicht mehr trennen.

    Show fields (15)
    • display_namestring
    • idinteger

      Primary key of the ledger account. Internal ID.

    • numberstring

      Kontonummer im Kontenrahmen, z.B. "1200" (SKR03 Bank) oder "40000" (SKR42). Als String geführt, weil SKR42 fünfstellig ist und führende Nullen bedeutungstragend sein können.

    • chart_of_accountsstring

      Chart of accounts the account belongs to, for example SKR03.

    • account_typestring

      Type of the account, for example asset or revenue.

    • default_taxTax

      Steuersatz, der beim Buchen auf dieses Konto vorgeschlagen wird. Bei Erlös- und Aufwandskonten ist der Satz durch die Kontonummer vorgegeben (etwa "Erlöse 19% USt"), deshalb hängt er am Konto und nicht an der einzelnen Buchung.

    • tax_accountLedgerAccount

      Gegenkonto für die Steuer, die beim Buchen auf dieses Konto entsteht. Bei Erlöskonten das Umsatzsteuerkonto, bei Aufwandskonten das Vorsteuerkonto. Damit lässt sich aus einem Bruttobetrag automatisch der dreizeilige Buchungssatz erzeugen.

    • expense_categoryExpenseCategory10

      Brücke zur EÜR: auf welcher Zeile der Anlage EÜR dieses Konto zählt. Erlaubt es, beide Gewinnermittlungsarten aus denselben Belegen zu bedienen - etwa im Wechseljahr oder wenn ein Verein den wirtschaftlichen Geschäftsbetrieb per EÜR und den Rest bilanziell führt.

    • cost_center_requiredboolean

      Ob auf diesem Konto eine Kostenstelle angegeben werden muss. Der SKR42 bildet die vier steuerlichen Sphären eines gemeinnützigen Vereins über Kostenstellen ab, nicht über getrennte Konten. Für die Erfolgskonten ist die Angabe dort deshalb Pflicht.

    • is_systemboolean

      Vom Kontenrahmen-Initialisierer angelegt. Nummer und Art sind dann durch den Rahmen vorgegeben und sollten nicht geändert werden.

    • is_activeboolean

      Konten lassen sich stilllegen, statt sie zu löschen - bebuchte Konten dürfen nicht verschwinden.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • namestring

      Name of the entity.

    • createdstring (date-time)

      Point in time the entity was created.

    • updatedstring (date-time)

      Point in time the entity was last updated.

  • cost_centerCostCenter

    Die steuerliche Sphäre beim gemeinnützigen Verein. Eine Kasse gehört meist zu einem Bereich - die Kasse am Getränkestand zum wirtschaftlichen Geschäftsbetrieb, die Kasse der Geschäftsstelle zum ideellen Bereich.

    Show fields (10)
    • display_namestring
    • idinteger

      Primary key of the cost center. Internal ID.

    • numberstring

      Number of the cost center.

    • spherestring

      Steuerliche Sphäre, null bei rein betriebswirtschaftlicher Gliederung.

    • is_systemboolean

      The cost center is created by the system and cannot be deleted.

    • is_activeboolean

      The cost center is active.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • namestring

      Name of the entity.

    • createdstring (date-time)

      Point in time the entity was created.

    • updatedstring (date-time)

      Point in time the entity was last updated.

  • is_activeboolean

    Stillgelegte Kassen nehmen keine Buchungen mehr an, bleiben aber mit ihrem Buch bestehen - die Aufzeichnungen sind aufzubewahren.

  • locked_throughstring (date-time)

    Bis zu welchem Tag das Kassenbuch abgeschlossen ist. Der Kassenabschluss schiebt dieses Datum vor. Bis hierhin nimmt die Kasse keine Bewegung mehr an - auch nicht am selben Tag: die Chronologieprüfung allein ließ nach dem Monatsabschluss noch eine Bewegung mit dem letzten Tag des Monats zu, und der abgeschlossene Monat wäre hinterher ein anderer gewesen als der abgeschlossene.

  • deletedboolean

    This property is used to mark an entity as deleted / archived

  • namestring

    Name of the entity.

  • createdstring (date-time)

    Point in time the entity was created.

  • updatedstring (date-time)

    Point in time the entity was last updated.

Request
curl --request GET \
  --url https://your-instance.iw-erp.de/api/invoice/cash_register \
  --header 'x-iw-jwt-token: <TOKEN>'
Response 200 application/json
[
  {
    "id": 42,
    "name": "Beispiel",
    "code": "string",
    "ledger_account": {
      "display_name": "Beispiel",
      "id": 42,
      "name": "Beispiel",
      "number": "string",
      "chart_of_accounts": "string",
      "account_type": "string",
      "cost_center_required": true,
      "is_system": true,
      "is_active": true,
      "deleted": true
    },
    "cost_center": {
      "display_name": "Beispiel",
      "id": 42,
      "name": "Beispiel",
      "number": "string",
      "sphere": "string",
      "is_system": true,
      "is_active": true,
      "deleted": true,
      "created": "2026-10-15T09:30:00+02:00",
      "updated": "2026-10-15T09:30:00+02:00"
    },
    "is_active": true,
    "locked_through": "2026-10-15T09:30:00+02:00",
    "deleted": true,
    "created": "2026-10-15T09:30:00+02:00",
    "updated": "2026-10-15T09:30:00+02:00"
  }
]

Legt eine Kasse an.

POST/api/invoice/cash_register

Request body application/json

  • namestring
  • codestring
  • ledger_accountinteger
  • cost_centerinteger

Responses

201Die angelegte Kasse

Request
curl --request POST \
  --url https://your-instance.iw-erp.de/api/invoice/cash_register \
  --header 'content-type: application/json' \
  --header 'x-iw-jwt-token: <TOKEN>' \
  --data '
{
  "name": "Kasse Vereinsheim",
  "code": "VH",
  "ledger_account": 42,
  "cost_center": 3
}
'

Ändert eine Kasse.

PUT/api/invoice/cash_register/{identifier}

Stammdaten, nicht Bewegungen - die bleiben unangetastet.

Path parameters

identifierrequiredstring

Responses

200Die geänderte Kasse

Request
curl --request PUT \
  --url https://your-instance.iw-erp.de/api/invoice/cash_register/42 \
  --header 'x-iw-jwt-token: <TOKEN>'

Legt eine Kasse still oder löscht sie, wenn sie nie bebucht wurde.

DELETE/api/invoice/cash_register/{identifier}

Eine Kasse mit Bewegungen zu löschen hiesse, ein Kassenbuch zu vernichten. Sie wird deshalb stillgelegt: keine neuen Buchungen, das Buch bleibt lesbar.

Path parameters

identifierrequiredstring

Responses

200Ob gelöscht oder stillgelegt wurde

Request
curl --request DELETE \
  --url https://your-instance.iw-erp.de/api/invoice/cash_register/42 \
  --header 'x-iw-jwt-token: <TOKEN>'