Neuen Beleg buchen
Validiert die Nutzdaten und leitet sie an das Beleg-Backend weiter; der angelegte Beleg wird in derselben Form wie bei GET /receipts/{receipt} zurückgegeben.
Verfügbarkeit: Nur Vollversion — eine Clock-Instanz antwortet auf diesen Endpunkt mit 404.
Request
curl --request POST \
--url 'https://www.zep-online.de/zepinstanz/next/api/v1/receipts' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {token}' \
--header 'Content-Type: application/json' \
--data '{
"id": 1,
"employee_id": "max.mustermann",
"date": "2024-07-20T00:00:00.000000Z",
"performance_date": "2024-11-15",
"receipt_type_id": "Fahrkarte",
"project_id": 16,
"project_task_id": 1,
"payment_method": "privat",
"currency": "EUR",
"is_amount_net": false,
"is_invoice_amount_net": false,
"note": "Familienurlaub",
"receiptAmounts": [
{
"tax": 12.5,
"quantity": 12.5,
"amount": 12.5,
"private_share": 12.5,
"invoicing_share": 12.5
}
]
}'Request-Body
- Name
id- Type
- integer, nullable
- Description
Der zu aktualisierende Beleg; entfällt beim Anlegen eines neuen Belegs.
- Name
employee_id- Type
- string, nullable
- Description
Der Benutzername des Mitarbeiters, für den dieser Beleg gebucht wird.
- Name
date- Type
- string (date-time), erforderlich
- Description
Das Datum, an dem die Ausgabe erfasst wurde.
- Name
performance_date- Type
- string (date-time), nullable
- Description
Das Datum, an dem die zugrunde liegende Leistung oder Ausgabe tatsächlich stattgefunden hat, falls es vom Buchungsdatum abweicht.
- Name
receipt_type_id- Type
- string, erforderlich
- Description
Die Belegart, unter der diese Ausgabe gebucht ist, z. B. Reise oder Mahlzeit.
- Name
project_id- Type
- integer, erforderlich
- Description
Das Projekt, auf das dieser Beleg gebucht ist.
- Name
project_task_id- Type
- integer, nullable
- Description
Der Vorgang, auf den dieser Beleg gebucht wird; muss zum angegebenen Projekt gehören.
- Name
payment_method- Type
- string, erforderlich
- Description
Wie die Ausgabe bezahlt wurde — z. B. bar, Firmenkarte oder Rechnung.
- Name
currency- Type
- string, erforderlich
- Description
Der dreistellige Währungscode, in dem die nachfolgenden Betragsfelder angegeben sind.
- Name
is_amount_net- Type
- boolean, erforderlich
- Description
Ob die Beträge in receiptAmounts Nettobeträge (ohne Steuer) statt Bruttobeträge sind.
- Name
is_invoice_amount_net- Type
- boolean, nullable
- Description
Ob der fakturierbare Betrag ein Nettobetrag (ohne Steuer) ist; erforderlich, sobald eine Zeile einen invoicing_share enthält.
- Name
note- Type
- string, nullable
- Description
Eine Freitextnotiz zum Beleg.
- Name
receiptAmounts- Type
- Liste von object, erforderlich
- Description
Die Aufschlüsselung dieses Belegs nach Steuersatz und Betrag: ein Eintrag pro Mehrwertsteuersatz, auf den der Betrag aufgeteilt ist.
- Name
receiptAmounts.tax- Type
- number, erforderlich
- Description
Der Mehrwertsteuersatz dieser Zeile in Prozent. Muss einer der Steuersätze sein, die die Belegart zulässt.
- Name
receiptAmounts.quantity- Type
- number, erforderlich
- Description
Wie viele Einheiten diese Zeile umfasst.
- Name
receiptAmounts.amount- Type
- number, erforderlich
- Description
Der Betrag der Zeile zum oben angegebenen Mehrwertsteuersatz.
- Name
receiptAmounts.private_share- Type
- number, nullable
- Description
Der Teil des Betrags, der privat getragen und nicht erstattet wird.
- Name
receiptAmounts.invoicing_share- Type
- number, nullable
- Description
Der Teil des Betrags, der an den Kunden weiterberechnet wird. Wird ignoriert, sofern das Projekt nicht die Abrechnung von Belegen erlaubt.
Response
{
"data": {
"id": 1,
"employee_id": "max.mustermann",
"date": "2024-07-20T00:00:00.000000Z",
"receipt_type_id": "Fahrkarte",
"currency": "EUR",
"invoice_amount_currency": "string",
"note": "Familienurlaub",
"payment_method": "privat",
"breakfast": "string",
"lunch_or_dinner": "string",
"location": "D",
"is_amount_net": false,
"is_invoice_amount_net": false,
"billing_status": {
"id": 1,
"name": "beliebig"
},
"performance_date": "2024-11-15",
"client_id": 1,
"created": "2024-07-20T11:30:00.000000Z",
"modified": "2024-07-20T12:30:00.000000Z",
"invoice_item_id": 1,
"project_id": 16,
"project_task_id": 1,
"ticket_id": 1234,
"subtask_id": 1,
"filename": "Allgemeine_Geschaeftsbedingungen.pdf"
}
}Response-Felder
- Name
id- Type
- integer
- Description
Die eindeutige Kennung des Belegs.
- Name
employee_id- Type
- string, nullable
- Description
Der Benutzername des Mitarbeiters, der diesen Beleg eingereicht hat.
- Name
date- Type
- string, nullable
- Description
Das Datum, an dem die Ausgabe erfasst wurde.
- Name
receipt_type_id- Type
- string
- Description
Die Belegart, unter der diese Ausgabe gebucht ist, z. B. Reise oder Mahlzeit.
- Name
currency- Type
- string
- Description
Der dreistellige Währungscode, in dem die Beträge des Belegs angegeben sind.
- Name
invoice_amount_currency- Type
- string
- Description
Die Währung des fakturierbaren Reisekostenbetrags, wenn sie von der Buchungswährung abweicht.
- Name
note- Type
- string, nullable
- Description
Eine Freitextnotiz zum Beleg.
- Name
payment_method- Type
- string
- Description
Wie die Ausgabe bezahlt wurde — z. B. bar, Firmenkarte oder Rechnung.
- Name
breakfast- Type
- string
- Description
Der Betrag, der von der Verpflegungspauschale abgezogen wird, weil ein Frühstück gestellt wurde, in der Währung des Belegs; 0, wenn keines gestellt wurde.
- Name
lunch_or_dinner- Type
- string
- Description
Der Betrag, der von der Verpflegungspauschale abgezogen wird, weil ein Mittag- oder Abendessen gestellt wurde, in der Währung des Belegs; 0, wenn keines gestellt wurde.
- Name
location- Type
- string, nullable
- Description
Der Ort, an dem die Ausgabe angefallen ist; wird zur Ermittlung der Pauschalsätze verwendet.
- Name
is_amount_net- Type
- boolean
- Description
Ob die Beträge des Belegs Nettobeträge (ohne Steuer) statt Bruttobeträge sind.
- Name
is_invoice_amount_net- Type
- boolean
- Description
Ob der fakturierbare Betrag ein Nettobetrag (ohne Steuer) statt eines Bruttobetrags ist.
- Name
billing_status- Type
- object, nullable
- Description
Der Abrechnungsstatus des Belegs — ob er noch abgerechnet werden muss, in einer Rechnung enthalten ist oder bereits abgerechnet wurde.
- Name
billing_status.id- Type
- integer
- Description
Der gespeicherte Wert. Vergleichen Sie gegen diesen, nicht gegen name.
- Name
billing_status.name- Type
- string
- Description
Die lesbare Bezeichnung in der Sprache des Mandanten. Nicht parsen.
Einer der Werte:
"beliebig","Not billed","Freigegebene","Billed"
- Name
performance_date- Type
- string, nullable
- Description
Das Datum, an dem die zugrunde liegende Leistung oder Ausgabe tatsächlich stattgefunden hat, falls es vom Buchungsdatum abweicht.
- Name
client_id- Type
- integer, nullable
- Description
Eine clientseitig erzeugte ID, die die mobile App vergibt, wenn sie diesen Beleg offline anlegt; wird serverseitig verwendet, um doppelte Übermittlungen bei der App-Synchronisation zu erkennen und zu überspringen. Kein Verweis auf einen Kunden oder Ansprechpartner.
- Name
created- Type
- string (date-time), nullable
- Description
Wann der Belegdatensatz erstmals angelegt wurde.
- Name
modified- Type
- string (date-time), nullable
- Description
Wann der Belegdatensatz zuletzt geändert wurde.
- Name
invoice_item_id- Type
- integer, nullable
- Description
Die Rechnungsposition, über die dieser Beleg abgerechnet wurde, sobald er abgerechnet ist.
- Name
project_id- Type
- integer
- Description
Das Projekt, auf das dieser Beleg gebucht ist.
- Name
project_task_id- Type
- integer, nullable
- Description
Der Vorgang, auf den dieser Beleg gebucht ist, falls das Projekt Vorgänge verwendet.
- Name
ticket_id- Type
- integer, nullable
- Description
Das Ticket, auf das dieser Beleg gebucht ist, falls er aus einem Ticket stammt.
- Name
subtask_id- Type
- integer, nullable
- Description
Die Teilaufgabe des Tickets, auf die dieser Beleg gebucht ist, falls er aus einer solchen stammt.
- Name
filename- Type
- string, nullable
- Description
Der Name der hochgeladenen Belegdatei, nur vorhanden, sobald eine Datei angehängt wurde.