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.

<?xml version="1.0" encoding="UTF-8"?>
<invoice-items type="array" page="1" per_page="100" total="2">
    <invoice-item>
        ...
    <invoice-item>
    <invoice-item>
        ...
    <invoice-item>
</invoice-items>

Einzelne Position aufrufen

GET /api/invoice-items/{id}
<?xml version="1.0" encoding="UTF-8"?>
<invoice-item>
    <id type="integer">1</id>
    <article_id type="integer">123</article_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">49.98</total_gross>
    <total_net type="float">42.0</total_net>
    <reduction>10</reduction>
    <total_gross_unreduced type="float">61.88</total_gross_unreduced>
    <total_net_unreduced type="float">52.0</total_net_unreduced>
</invoice-item>

Position erstellen

POST /api/invoice-items

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)
article_id ID des Artikels, setzt bei Neuanlage zusätzlich die Werte aus Artikel INT
unit Einheit ALNUM
quantity Menge FLOAT 0.0
unit_price Preis pro Einheit FLOAT 0.0
tax_name Steuerbezeichnung ALNUM Standard-Steuersatz
tax_rate Steuerrate in Prozent FLOAT Standard-Steuersatz
title Titel ALNUM
description Beschreibung ALNUM
reduction Rabatt (Absolut oder als Prozentwert: 10/10%) ALNUM

Die Rechnungsposition wird nach evenutell bereits bestehenden Positionen angefügt.

<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>
<?xml version="1.0" encoding="UTF-8"?>
<invoice-item>
    <id type="integer">1</id>
    <article_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}

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.

<invoice-item>
    <unit>Stunde</unit>
    <quantity>8.5</quantity>
</invoice-item>

Position löschen

DELETE /api/invoice-items/{id}

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.