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>