Alle Positionen einer Rechnung auflisten
GET /api/invoice-items?invoice_id={invoice_id}
Rechnungspositionen können immer nur für eine bestimmte Rechnung zurückgegeben werden.
Deshalb ist invoice_id ein Pflichtparameter.
Response: 200 OK<?xml version="1.0" encoding="UTF-8"?> <invoice-items type="array"> <invoice-item> ... <invoice-item> <invoice-item> ... <invoice-item> </invoice-items>
Einzelne Position aufrufen
GET /api/invoice-items/{id}
Response: 200 OK<?xml version="1.0" encoding="UTF-8"?> <invoice-item> <id type="integer">1</id> <invoice_id type="integer">1</invoice_id> <position type="integer">1</position> <unit>Stück</unit> <quantity type="float">5.2</quantity> <unit_price type="float">10.0</unit_price> <tax_name>MwSt</tax_name> <tax_rate type="float">19.0</tax_rate> <title>Visitenkarten</title> <description>Wunderschöne 4c Visitenkarten</description> <total_gross type="float">61.88</total_gross> <total_net type="float">52.0</total_net> </invoice-item>
Position erstellen
POST /api/invoice-items
Erstellt eine neue Rechnungsposition.
Rechnungspositionen können nur für Rechnungen mit Status Entwurf (DRAFT) erstellt werden.
XML-Element | Beschreibung | Typ | Default-Wert | Pflichtfeld |
|---|---|---|---|---|
invoice_id | ID der Rechnung | INT | ja (nicht aber bei der Rechnungserstellung) | |
unit | Einheit | ALNUM | ||
quantity | Menge | FLOAT | 0.0 | |
unit_price | Preis pro Einheit | FLOAT | 0.0 | |
tax_name | Steuerbezeichnung | ALNUM | Wert aus Einstellungen | |
tax_rate | Steuerrate in Prozent | FLOAT | Wert aus Einstellungen | |
title | Titel | ALNUM | ||
description | Beschreibung | ALNUM |
Die Rechnungsposition wird nach evenutell bereits bestehenden Positionen angefügt.
Request Body<invoice-item> <invoice_id>1</invoice_id> <unit>Stück</unit> <quantity>5.2</quantity> <unit_price>10.0</unit_price> <tax_name>MwSt</tax_name> <tax_rate>19.0</tax_rate> <title>Visitenkarten</title> <description>Wunderschöne 4c Visitenkarten</description> </invoice-item>
Response: 201 Created<?xml version="1.0" encoding="UTF-8"?> <invoice-item> <id type="integer">1</id> <invoice_id type="integer">1</invoice_id> <created>2007-12-13T12:12:00+01:00</created> <position type="integer">1</position> <unit>Stück</unit> <quantity type="float">5.2</quantity> <unit_price type="float">10.0</unit_price> <tax_name>MwSt</tax_name> <tax_rate type="float">19.0</tax_rate> <title>Visitenkarten</title> <description>Wunderschöne 4c Visitenkarten</description> <total_gross type="float">61.88</total_gross> <total_net type="float">52.0</total_net> </invoice-item>
Position bearbeiten
PUT /api/invoice-items/{id}
bearbeitet eine bestehende Position.
Hier gelten die selben Parameter wie beim Anlegen, allerdings kann die verknüpfte Rechnung (invoice_id) nicht mehr geändert werden.
Rechnungspositionen können nur für Rechnungen mit Status Entwurf (DRAFT) bearbeitet werden.
Request Body<invoice-item> <unit>Stunde</unit> <quantity>8.5</quantity> </invoice-item>
Response: 200 OK
Position löschen
DELETE /api/invoice-items/{id}
Löscht eine Rechnungsposition.
Beim Löschen von Rechnungspositionen wird position für alle verbleibenden Positionen neu vergeben (ohne die Sortierung zu ändern), um die evtl. entstandene Lücke wieder zu füllen.
Rechnungspositionen können nur für Rechnungen mit Status Entwurf (DRAFT) gelöscht werden.
Response: 200 OK
