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-ElementBeschreibungTypDefault-WertPflichtfeld
invoice_idID der RechnungINTja (nicht aber bei der Rechnungserstellung)
article_idID des Artikels, setzt bei Neuanlage zusätzlich die Werte aus ArtikelINT
unitEinheitALNUM
quantityMengeFLOAT0.0
unit_pricePreis pro EinheitFLOAT0.0
tax_nameSteuerbezeichnungALNUMStandard-Steuersatz
tax_rateSteuerrate in ProzentFLOATStandard-Steuersatz
titleTitelALNUM
descriptionBeschreibungALNUM
reductionRabatt (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.