Alle Eingangsrechnungen auflisten
GET /api/incomings
<?xml version="1.0" encoding="UTF-8"?>
<incomings type="array" page="1" per_page="100" total="2">
<incoming>
...
</incoming>
<incoming>
...
</incoming>
</incomings>
Über Parameter kann gefiltert werden:
GET /api/incomings?incoming_number=RE123
Listet alle Eingangsrechnungen auf, die „RE123“ in der Rechnungsnummer haben. Groß- und Kleinschreibung wird ignoriert.
Folgende Filter-Parameter stehen zur Verfügung:
Parameter |
Beschreibung |
supplier_id |
ID des Lieferanten |
incoming_number |
Eingangsrechnungsnummer |
status |
Eingangsrechnungsstatus (OPEN, PAID, OVERDUE). Mehrere Stati können per Komma getrennt werden und werden ODER-Verknüpft. |
from |
Nur Eingangsrechnung ab diesem Datum (Format YYYY-MM-DD) |
to |
Nur Eingangsrechnung bis zu diesem Datum (Format YYYY-MM-DD) |
note |
Freitextsuche im Anmerkungstext |
tags |
Kommaseparierte Liste der Schlagworte |
Eingangsrechnungen aggregiert auflisten
GET /api/incomings?group_by=supplier
Eingangsrechnungen können auch gruppiert abgerufen werden. Obiges Beispiel gruppiert alle Eingangsrechnungen nach Lieferant.
Folgende Werte stehen für den Parameter group_by zur Verfügung:
Wert |
Beschreibung |
supplier |
Lieferant |
status |
Rechnungsstatus |
day |
Tag |
week |
Woche (beginnt mit Montag) |
month |
Monat |
year |
Jahr |
Es kann auch nach mehreren Kriterien gruppiert werden. Dabei werden die gewünschten Werte einfach per Komma aneinandergehängt (?group_by=supplier,year). Die Reihenfolge der Werte bestimmt dabei die Reihenfolge der Aggregation.
Der Gruppierungs-Parameter kann auch mit den restlichen Filtern kombiniert werden.
<?xml version="1.0" encoding="UTF-8"?>
<incoming-groups type="array" currency_code="USD">
<incoming-group>
<total_gross type="float">347.28</total_gross>
<total_net type="float">291.83</total_net>
<supplier_id type="integer">476</supplier_id>
<incoming-params>
<supplier_id type="integer">476</supplier_id>
</incoming-params>
</incoming-group>
<incoming-group>
<total_gross type="float">1127.53</total_gross>
<total_net type="float">947.50</total_net>
<supplier_id type="integer">477</supplier_id>
<incoming-params>
<supplier_id type="integer">477</supplier_id>
</incoming-params>
</incoming-group>
</incoming-groups>
Einzelne Eingangsrechnung aufrufen
GET /api/incomings/{id}
<?xml version="1.0" encoding="UTF-8"?>
<incoming>
<id type="integer">1</id>
<supplier_id type="integer">123</supplier_id>
<created type="datetime">2007-12-13T12:12:00+01:00</created>
<number>123</number>
<status>OPEN</status>
<date type="date">2009-10-14</date>
<due_date type="date">2009-10-24</due_date>
<address>Billomat GmbH & Co. KG
Hollertszug 26
57562 Herdorf
Deutschland</address>
<note>Kassenbeleg für Wareneinkauf</note>
<total_gross type="float">107.1</total_gross>
<total_net type="float">90.0</total_net>
<paid_amount type="float">20.0</paid_amount>
<open_amount type="float">99.0</open_amount>
<currency_code>EUR</currency_code>
<quote type="float">1.0000</quote>
<expense_account_number type="integer">12345</expense_account_number>
<label>Rechnung.pdf</label>
<client_number>12345</client_number>
<category>goods</category>
</incoming>
status kann folgende Werte haben:
- OPEN (offen)
- OVERDUE (überfällig)
- PAID (bezahlt)
Die Rechnungskommentare und Zahlungen können gesondert abgerufen werden.
Eingangsrechnung erstellen
POST /api/incomings
Erstellt eine neue Eingangsrechnung.
XML-Element |
Beschreibung |
Typ |
Default-Wert |
Pflichtfeld |
supplier_id |
ID des Lieferanten |
INT |
|
ja |
address |
komplette Absendeadresse |
ALNUM |
Adresse des Lieferanten |
|
number |
Rechnungsnummer |
ALNUM |
|
ja |
date |
Rechnungsdatum |
DATE |
|
js |
due_date |
Fälligkeitsdatum |
DATE |
|
|
note |
Anmerkungstext |
ALNUM |
|
|
total_net |
Gesamtbetrag netto |
FLOAT |
|
|
total_gross |
Gesamtbetrag brutto |
FLOAT |
|
|
currency_code |
Währung |
ISO-Währungscode |
Währung des Lieferanten |
|
quote |
Währungskurs (für Umrechnung in Standard-Währung) |
FLOAT |
1.0000 |
|
base64file |
Base64-kodiertes PDF oder Bild. |
BASE64FILE |
|
|
expense_account_number |
Aufwandskontonummer |
INT |
|
|
label |
Bezeichnung |
ALNUM |
|
|
client_number |
Kundennummer beim Lieferanten |
ALNUM |
|
|
category |
Kategorie |
ALNUM |
|
|
Die übrigen Eigenschaften der Eingangsrechnung werden automatisch berechnet.
<incoming>
<supplier_id>1</supplier_id>
<number>RE124</number>
<date>2009-11-18</date>
<note>Telefonrechnung</note>
</incoming>
<?xml version="1.0" encoding="UTF-8"?>
<incoming>
<id type="integer">1234</id>
<supplier_id type="integer">1</supplier_id>
<created type="datetime">2007-12-13T12:12:00+01:00</created>
<number>RE124</number>
<date type="date">2009-11-18</date>
<note>Telefonrechnung</note>
...
</incoming>
Eingangsrechnung bearbeiten
PUT /api/incomings/{id}
Kommentare können nicht direkt über die Eingangsrechnung bearbeitet werden. Bitte dafür über die entsprechende Ressource gehen.
<incoming>
<date>2009-10-13</date>
</incoming>
Eingangsrechnung löschen
DELETE /api/incomings/{id}
Löscht eine Eingangsrechnung inkl. aller dazugehöriger Dokumente (PDF) und Kommentare.
PDF einer Eingangsrechnung aufrufen
GET /api/incomings/{id}/pdf
An dieser Stelle kann außerdem der Parameter format=pdf verwendet werden, um das PDF direkt mit Mimetype „application/pdf“ aufzurufen.
<pdf>
<id type="integer">4882</id>
<created type="datetime">2009-09-02T12:04:15+02:00</created>
<incoming_id type="integer">240</incoming_id>
<filename>incoming_123.pdf</filename>
<mimetype>application/pdf</mimetype>
<filesize>70137</filesize>
<base64file>{base64-kodiertes PDF}</base64file>
</pdf>