API Dokumentation – Abruf von Aufträgen/Rechnungen und Gutschriften

API Dokumentation – Abruf von Aufträgen/Rechnungen und Gutschriften

Endpunkt /api/invoices/list zum Abruf von Auftraegen mit Umsaetzen, Positionen, Kunden- und Fahrzeugdaten.

Authentifizierung
Dieser Endpunkt erfordert den Parameter token mit dem gueltigen API-Token (aus den Systemeinstellungen).
Bei ungueltigem oder fehlendem Token wird HTTP 401 mit {"error": "Unauthorized. A valid token is required."} zurueckgegeben.

GET
/api/invoices/list

Gibt eine Liste von Auftraegen (Rechnungen, Werkstattauftraegen etc.) mit vollstaendiger Umsatz-/Gewinnaufschluesselung, Positionsdaten sowie verknuepften Kunden- und Fahrzeugdaten zurueck.

Parameter

Name Typ Beschreibung
token string API-Token Pflicht
start string Startdatum, Format: dd.mm.YYYY Pflicht
end string Enddatum, Format: dd.mm.YYYY Pflicht
statusid integer Status-Filter (Standard: -1, siehe Tabelle unten) optional
typecastid integer Dokumenttyp-Filter (Standard: 0 = alle positiven Typen) optional
branch integer Filial-ID optional
customerid integer Kunden-ID – nur Auftraege dieses Kunden optional
documentid integer Einzelnes Dokument per ID abrufen optional
processorid integer Bearbeiter/Mitarbeiter-ID optional
doneonly integer 1 = nur fertiggestellte Auftraege (is_ready = 1) optional
basedondelivery integer 1 = Datumsfilter auf Lieferdatum statt Belegdatum optional
basedonintakedate integer 1 = Datumsfilter auf Annahmedatum optional
includecredits integer 1 = Gutschriften in die Ergebnisse integrieren optional

Status-IDs (statusid)

Wert Bedeutung
-1 Alle Status (Standard)
0 Nur offene / Entwurf
1 Fakturiert
2 Bezahlt
3 Ueberfaellig
11 GA abgerechnet
-2 Fakturiert + Bezahlt + Ueberfaellig
-3 Fakturiert + Bezahlt + Ueberfaellig + Gutgeschrieben + GA abger.
-4 Fakturiert + Bezahlt + Ueberfaellig + Gutgeschrieben + Storniert + GA abger.
-5 Fakturiert + Ueberfaellig + GA abger.
-6 Alle inkl. Entwurf + Storniert
-7 Entwurf + Fakturiert + GA abgerechnet

Dokumenttyp-IDs (typecastid)

Wert Bedeutung
0 Alle regulaeren Auftragstypen (Standard, nur positive Typecasts)
> 0 Spezifischer Typ, z. B. WA, IA etc. (laut Konfiguration)
-6 GA Auftrag / Garantieauftrag
-5 Anzahlungsrechnung
-4 Interne Aufwendungen
Hinweis Datumsfilter: Standardmaessig wird nach dem Belegdatum (document_date) gefiltert. Mit basedondelivery=1 wird stattdessen das Lieferdatum, mit basedonintakedate=1 das Annahmedatum verwendet.

Beispiel-Aufrufe
GET /api/invoices/list?token=xxx&start=01.01.2026&end=31.01.2026

GET /api/invoices/list?token=xxx&start=01.01.2026&end=31.01.2026&statusid=0
    (nur offene Auftraege)

GET /api/invoices/list?token=xxx&start=01.01.2026&end=31.01.2026&statusid=-2&typecastid=1
    (fakturiert/bezahlt/ueberfaellig, nur Typ 1)

GET /api/invoices/list?token=xxx&start=01.01.2026&end=31.01.2026&customerid=200
    (alle Auftraege eines bestimmten Kunden)

GET /api/invoices/list?token=xxx&start=01.01.2026&end=31.01.2026&includecredits=1
    (inklusive Gutschriften)

Erfolgreiche Antwort (JSON Array)
[
  {
    "document_id": 1234,
    "intern_id": "WA20261234",
    "former_wa_id": "WA20261234",
    "status": 1,
    "typecast_id": 1,
    "typecast_name": "WA",
    "branch_id": 1,
    "document_date": "2026-01-15",
    "delivery_date": "2026-01-18",
    "intake_date": "2026-01-14",
    "outsource_date": null,
    "added_time": "2026-01-14 09:30:00",
    "added_by": 5,
    "parent_id": 0,
    "is_down_payment": false,
    "is_credit": false,
    "credited_invoice_intern_id": null,
    "processor_name": "Max Mustermann",

    "revenue": {
      "net_total": 1500.00,
      "article_total": 800.50,
      "aw_total": 450.00,
      "mobile_total": 0,
      "divers_total": 249.50,
      "package_total": 0,
      "ek_total": 520.30,
      "profit": 979.70,
      "profit_percent": 65.31,
      "article_profit": 480.20,
      "aw_profit": 350.00,
      "mobile_profit": 0,
      "divers_profit": 149.50,
      "package_profit": 0,
      "transit_profit": 0,
      "discount_global_percent": 0,
      "discount_global_price": 0,
      "aw_quantity_raw": 3.0
    },

    "customer": {
      "id": 200,
      "fibu": "10200",
      "company_name": "Muster GmbH",
      "forename": "Max",
      "surname": "Mustermann",
      "zip": "80331",
      "city": "Muenchen",
      "street": "Musterstr. 1",
      "email": "max@muster.de",
      "phone": "089 12345678"
    },

    "vehicle": {
      "id": 1085,
      "mobile_sign": "M-AB 1234",
      "name": "Golf VII",
      "fabricator": "Volkswagen",
      "modell": "1.4 TSI",
      "chassis_number": "WVWZZZ3CZWE123456",
      "mileage": 85000,
      "ez": "03/2019",
      "vehicle_key_code": "",
      "key_code": "1234",
      "motor_code": "CZDA",
      "general_inspection": "03/2026"
    },

    "foreign_vehicle": {
      "id": 502,
      "mobile_sign": "M-CD 5678",
      "name": "Passat Variant",
      "fabricator": "Volkswagen",
      "modell": "2.0 TDI",
      "chassis_number": "WVWZZZ3CZWE654321",
      "mileage": 120000,
      "ez": "06/2018",
      "vehicle_key_code": "",
      "key_code": "",
      "motor_code": "DFGA",
      "general_inspection": "06/2025",
      "source": "clientmobiles"
    },

    "positions": [
      {
        "position_type": "article",
        "id": "ART-001",
        "dbid": 55,
        "name": "Bremsscheibe vorne",
        "quantity": 2,
        "price": 89.50,
        "pricetotal": 179.00,
        "discount_percent": 0,
        "ek_price": 52.00,
        "profit": 127.00,
        "unit": "Stk.",
        "subpackages": null
      },
      {
        "position_type": "laborvalue",
        "id": "AW-010",
        "dbid": 12,
        "name": "Bremsenwechsel vorne",
        "quantity": 1.5,
        "price": 300.00,
        "pricetotal": 450.00,
        "discount_percent": 0,
        "ek_price": 100.00,
        "profit": 350.00,
        "unit": "AW",
        "subpackages": null
      }
    ],
    "positions_count": 2
  }
]

Fehler-Antworten
HTTP 401  { "error": "Unauthorized. A valid token is required." }

HTTP 200  { "error": "start and end parameters are required (dd.mm.YYYY)" }

Felder-Referenz

Auftrags-Objekt (Hauptebene)
Feld Typ Beschreibung
document_id integer Interne Dokument-ID
intern_id string Interne Belegnummer (z. B. „WA20261234“)
former_wa_id string Ehemalige WA-Nummer (nach Fakturierung)
status integer Belegstatus (0=Entwurf, 1=Fakturiert, 2=Bezahlt, 3=Ueberfaellig, 4=Gutgeschrieben, 5=Storniert, 11=GA abger.)
typecast_id integer Dokumenttyp-ID
typecast_name string Dokumenttyp-Name (z. B. „WA“)
branch_id integer Filial-ID
document_date string|null Belegdatum (YYYY-MM-DD)
delivery_date string|null Lieferdatum (YYYY-MM-DD)
intake_date string|null Annahmedatum (YYYY-MM-DD)
outsource_date string|null Auslagerungsdatum (YYYY-MM-DD)
added_time string|null Anlagedatum (YYYY-MM-DD HH:mm:ss)
added_by integer Bearbeiter-/Ersteller-ID
processor_name string Name des Bearbeiters
parent_id integer Verknuepfter uebergeordneter Beleg (0 wenn keiner)
is_down_payment boolean Ist Anzahlungsrechnung
is_credit boolean Ist Gutschrift (nur bei includecredits=1)
credited_invoice_intern_id string|null Intern-ID der gutgeschriebenen Rechnung
Umsatz-/Gewinn-Objekt (revenue)

Alle Betraege sind Netto in EUR.

Feld Typ Beschreibung
net_total float Netto-Gesamtbetrag
article_total float Umsatz Artikel/Ersatzteile
aw_total float Umsatz Arbeitswerte (Lohn)
mobile_total float Umsatz Fahrzeuge
divers_total float Umsatz Diverses
package_total float Umsatz Pakete
ek_total float Einkaufspreis gesamt
profit float Gewinn gesamt
profit_percent float Gewinnmarge in %
article_profit float Gewinn Artikel
aw_profit float Gewinn Arbeitswerte
mobile_profit float Gewinn Fahrzeuge
divers_profit float Gewinn Diverses
package_profit float Gewinn Pakete
transit_profit float Durchlaufende Posten
discount_global_percent float Globaler Rabatt in %
discount_global_price float Globaler Rabatt-Betrag
aw_quantity_raw float Anzahl verkaufter AW (Menge)
Kunden-Objekt (customer)

Ist null wenn kein Kunde zugeordnet ist.

Feld Typ Beschreibung
id integer Kunden-ID
fibu string FiBu-Nummer
company_name string Firmenname
forename string Vorname
surname string Nachname
zip string PLZ
city string Stadt
street string Strasse
email string E-Mail
phone string Telefon
Fahrzeug-Objekt (vehicle / foreign_vehicle)

vehicle enthalt das Fahrzeug, das zum Zeitpunkt der Auftragserstellung verknuepft war (Snapshot).
foreign_vehicle enthalt das Fremdfahrzeug (sofern vorhanden). Ist null wenn keine Fremdverknuepfung besteht.

Feld Typ Beschreibung
id integer Fahrzeug-ID
mobile_sign string Kennzeichen
name string Fahrzeugbezeichnung
fabricator string Hersteller
modell string Modell
chassis_number string Fahrgestellnummer (VIN)
mileage integer Kilometerstand
ez string Erstzulassung
vehicle_key_code string Fahrzeug-Schluesselcode
key_code string Schluesselcode
motor_code string Motorcode
general_inspection string HU/AU
source string Nur bei foreign_vehicle: "clientmobiles" oder "mobiles"
Fremdverknuepfung: Das Feld source gibt an, ob das Fremdfahrzeug aus der Kundenfahrzeug-Tabelle (clientmobiles) oder aus der Fahrzeug-/Bestandstabelle (mobiles) stammt.
Positions-Objekt (positions[])
Feld Typ Beschreibung
position_type string Positionstyp: article, laborvalue, package, group, mobile oder divers
id string Positions-ID / Artikelnummer
dbid integer|null Datenbank-ID des Artikels
name string Positionsbezeichnung
quantity float Menge
price float Einzelpreis (netto)
pricetotal float Gesamtpreis (netto)
discount_percent float Positionsrabatt in %
ek_price float Einkaufspreis (berechnet)
profit float Gewinn der Position
unit string Einheit (z. B. „Stk.“, „AW“)
subpackages array|null Unterelemente bei Paketen/Gruppen

Ähnliche Artikel