Zum Hauptinhalt springen

Lager

Base path: /api/inventory

Produkte

GET /inventory/products

Alle Produkte mit Kategorie- und Lieferantendaten abrufen.

Auth: Eingeloggt

Query parameters: search, supplier_id, page, limit

POST /inventory/products

Neues Produkt erstellen. article_number wird automatisch generiert.

Auth: Admin

FeldTypPflichtBeschreibung
namestringJaProduktname
skustringJaArtikelnummer
pricenumberJaVerkaufspreis (>= 0)
purchase_pricenumberJaEinkaufspreis (für Kostberechnungen erforderlich)
quantity_on_handintegerJaAktueller Lagerbestand
low_stock_thresholdintegerNeinAlert-Schwellenwert (Standard 5)
category_idintegerNeinProduktkategorie-ID
supplier_idintegerNeinLieferanten-ID
vat_rate_idintegerNeinMwSt.-Satz-ID
ean_codestringNeinEAN-Barcode

PUT /inventory/products/:id / DELETE /inventory/products/:id

Produkt aktualisieren oder löschen.


Produktkategorien

GET /inventory/categories / POST / PUT /:id / DELETE /:id

Produktkategorien verwalten.


Lagertransaktionen

GET /inventory/transactions

Lagerbewegungen abrufen.

Query parameters: product_id, from, to


Lieferanten

Base path: /api/suppliers

GET /suppliers

Alle Lieferanten abrufen.

Auth: Eingeloggt

Query parameters: active=true, page, limit

POST /suppliers

Neuen Lieferanten erstellen. creditor_number wird automatisch über die CRED-Sequenz generiert.

Auth: Admin

GET /suppliers/:id / PUT /:id / DELETE /:id

Einzelnen Lieferanten mit seinen letzten 20 Bestellungen abrufen, aktualisieren oder löschen.


Bestellungen

Base path: /api/suppliers (Bestellungs-Endpoints)

GET /suppliers/orders

Alle Bestellungen mit Lieferantennamen und Artikelanzahl abrufen.

Auth: Eingeloggt

Query parameters: status, page, limit

POST /suppliers/orders

Neue Bestellung erstellen. order_number wird automatisch über die IO-Sequenz generiert. Status: created.

Auth: Admin

FeldTypPflicht
supplier_idintegerJa
staff_idintegerNein
notesstringNein
order_dateDatumNein
expected_dateDatumNein

PUT /suppliers/orders/:id/items

Artikel auf einer Bestellung setzen (ersetzt vorhandene). Nur bei Status created oder ordered.

PUT /suppliers/orders/:id

Status oder Metadaten der Bestellung aktualisieren. Bei Übergang zu received wird Lagerbestand automatisch erhöht.

POST /suppliers/orders/:id/packing-slip / GET /suppliers/orders/:id/packing-slip

Lieferschein hochladen oder herunterladen.

GET /suppliers/packing-slips/zip

Alle Lieferscheine eines Jahres als ZIP herunterladen. Query parameters: year

DELETE /suppliers/orders/:id

Bestellung löschen. Für alle Statuse gültig.

Auth: Admin

BestellstatusLagerbestandseffekt
createdKeine Änderung
orderedKeine Änderung
receivedLagerbestand verringert; korrigierende Transaktionen erstellt; Lieferschein gelöscht
cancelledKeine Änderung

Response: { "ok": true }

Bestellstatuse

StatusBeschreibung
createdBestellung erstellt, Artikel werden hinzugefügt
orderedBestellung an Lieferant gesendet
receivedWare empfangen; Lager aktualisiert
cancelledBestellung storniert

Automatische Nummerierung

SequenzpräfixEntitätBeispiel
IOBestellungenIO2601, IO2602
CREDLieferanten-KreditorennummernCRED001, CRED002
ART_PRODUCTProdukt-ArtikelnummernART_PRODUCT001