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
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
name | string | Ja | Produktname |
sku | string | Ja | Artikelnummer |
price | number | Ja | Verkaufspreis (>= 0) |
purchase_price | number | Ja | Einkaufspreis (für Kostberechnungen erforderlich) |
quantity_on_hand | integer | Ja | Aktueller Lagerbestand |
low_stock_threshold | integer | Nein | Alert-Schwellenwert (Standard 5) |
category_id | integer | Nein | Produktkategorie-ID |
supplier_id | integer | Nein | Lieferanten-ID |
vat_rate_id | integer | Nein | MwSt.-Satz-ID |
ean_code | string | Nein | EAN-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
| Feld | Typ | Pflicht |
|---|---|---|
supplier_id | integer | Ja |
staff_id | integer | Nein |
notes | string | Nein |
order_date | Datum | Nein |
expected_date | Datum | Nein |
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
| Bestellstatus | Lagerbestandseffekt |
|---|---|
created | Keine Änderung |
ordered | Keine Änderung |
received | Lagerbestand verringert; korrigierende Transaktionen erstellt; Lieferschein gelöscht |
cancelled | Keine Änderung |
Response: { "ok": true }
Bestellstatuse
| Status | Beschreibung |
|---|---|
created | Bestellung erstellt, Artikel werden hinzugefügt |
ordered | Bestellung an Lieferant gesendet |
received | Ware empfangen; Lager aktualisiert |
cancelled | Bestellung storniert |
Automatische Nummerierung
| Sequenzpräfix | Entität | Beispiel |
|---|---|---|
IO | Bestellungen | IO2601, IO2602 |
CRED | Lieferanten-Kreditorennummern | CRED001, CRED002 |
ART_PRODUCT | Produkt-Artikelnummern | ART_PRODUCT001 |