Rechnungspositionen

Alle Posi­tio­nen einer Rech­nung auflisten

GET /api/invoice-items?invoice_id={invoice_id}

Rech­nungs­po­si­tio­nen kön­nen immer nur für eine bestimmte Rech­nung zurück­ge­ge­ben wer­den.
Des­halb ist invoice_id ein Pflichtparameter.

<?xml version="1.0" encoding="UTF-8"?>
<invoice-items type="array">
    <invoice-item>
        ...
    <invoice-item>
    <invoice-item>
        ...
    <invoice-item>
</invoice-items>

Ein­zelne Posi­tion 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">61.88</total_gross>
    <total_net type="float">52.0</total_net>
</invoice-item>

Posi­tion erstellen

POST /api/invoice-items

Rech­nungs­po­si­tio­nen kön­nen nur für Rech­nun­gen mit Sta­tus Ent­wurf (DRAFT) erstellt werden.

XML-Element Beschrei­bung Typ Default-Wert Pflicht­feld
invoice_id ID der Rech­nung INT ja (nicht aber bei der Rech­nungs­er­stel­lung)
article_id ID des Arti­kels INT
unit Ein­heit ALNUM
quan­tity Menge FLOAT 0.0
unit_price Preis pro Einheit FLOAT 0.0
tax_name Steu­er­be­zeich­nung ALNUM Wert aus Ein­stel­lun­gen
tax_rate Steu­er­rate in Prozent FLOAT Wert aus Ein­stel­lun­gen
title Titel ALNUM
descrip­tion Beschrei­bung ALNUM

Die Rech­nungs­po­si­tion wird nach eve­nu­tell bereits beste­hen­den Posi­tio­nen 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>

Posi­tion bearbeiten

PUT /api/invoice-items/{id}

Hier gel­ten die sel­ben Para­me­ter wie beim Anle­gen, aller­dings kann die ver­knüpfte Rech­nung (invoice_id) nicht mehr geän­dert wer­den.
Rech­nungs­po­si­tio­nen kön­nen nur für Rech­nun­gen mit Sta­tus Ent­wurf (DRAFT) bear­bei­tet werden.

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

Posi­tion löschen

DELETE /api/invoice-items/{id}

Beim Löschen von Rech­nungs­po­si­tio­nen wird posi­tion für alle ver­blei­ben­den Posi­tio­nen neu ver­ge­ben (ohne die Sor­tie­rung zu ändern), um die evtl. ent­stan­dene Lücke wie­der zu fül­len.
Rech­nungs­po­si­tio­nen kön­nen nur für Rech­nun­gen mit Sta­tus Ent­wurf (DRAFT) gelöscht werden.