Beleg erstellen
Mit diesem Endpunkt können Sie einen neuen Beleg erstellen.
Request
POST /api/v1/receipts
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 '{
"employee_id": "max.mustermann",
"date": "2024-11-15",
"receipt_type_id": "Fahrkarte",
"project_id": 456,
"payment_method": "privat",
"currency": "EUR",
"is_amount_net": false,
"note": "Berlin -> Hamburg (Deutsche Bahn)",
"receiptAmounts": [
{
"tax": 19.0,
"quantity": 1,
"amount": 89.90
}
]
}'Pflichtfelder
Die folgenden Felder sind beim Erstellen eines Belegs erforderlich:
- employee_id (string): Benutzername des Mitarbeiters (max. 255 Zeichen)
- date (string): Belegdatum im Format
YYYY-MM-DD - receipt_type_id (string): Belegart-Kennung (max. 255 Zeichen)
- project_id (integer): Projekt-ID
- payment_method (string): Zahlungsmethode (max. 255 Zeichen)
- currency (string): Währungscode, z.B. EUR, USD (max. 32 Zeichen)
- is_amount_net (boolean): Gibt an, ob der Betrag netto (
true) oder brutto (false) ist - receiptAmounts (array): Array von Belegbeträgen (mindestens ein Eintrag erforderlich)
- tax (number): Steuersatz in Prozent (0-100), muss mit dem Steuersatz der Belegart übereinstimmen
- quantity (number): Menge (mindestens 1)
- amount (number): Betrag (größer als 0)
Optionale Felder
- performance_date (string, nullable): Leistungsdatum im Format
YYYY-MM-DD(kann vom Belegdatum abweichen, wenn die Belegart dies unterstützt) - project_task_id (integer, nullable): Projektaufgaben-ID
- is_invoice_amount_net (boolean, nullable): Gibt an, ob der Rechnungsbetrag netto (
true) oder brutto (false) ist. Erforderlich, wenn ein receiptAmount einen invoicing_share > 0 hat - note (string, nullable): Notizen zum Beleg (max. 255 Zeichen)
- receiptAmounts[].private_share (number, nullable): Privatanteil (mindestens 0)
- receiptAmounts[].invoicing_share (number, nullable): Abrechnungsanteil (mindestens 0), wird nur berücksichtigt, wenn das Projekt Abrechnung erlaubt
Response
{
"data": {
"id": 123,
"employee_id": "max.mustermann",
"date": "2024-11-15",
"receipt_type_id": "Fahrkarte",
"currency": "EUR",
"invoice_amount_currency": null,
"note": "Berlin -> Hamburg (Deutsche Bahn)",
"payment_method": "privat",
"breakfast": 0,
"lunch_or_dinner": 0,
"location": null,
"is_amount_net": false,
"is_invoice_amount_net": false,
"billing_status": null,
"performance_date": "2024-11-15",
"client_id": null,
"created": "2024-11-15T14:23:45.000000Z",
"modified": "2024-11-15T14:23:45.000000Z",
"invoice_item_id": null,
"project_id": 456,
"project_task_id": null,
"ticket_id": null,
"subtask_id": null,
"filename": null
}
}Fehlercodes
- 401 Unauthorized: Ungültige oder fehlende Authentifizierung
- 422 Unprocessable Entity: Validierungsfehler - überprüfen Sie die Request-Daten
Beispiele
Beleg mit mehreren Beträgen
{
"employee_id": "max.mustermann",
"date": "2024-11-20",
"receipt_type_id": "Hotel",
"project_id": 789,
"payment_method": "Firmenkreditkarte",
"currency": "EUR",
"is_amount_net": true,
"is_invoice_amount_net": true,
"note": "Übernachtung Kundenbesuch München",
"receiptAmounts": [
{
"tax": 7.0,
"quantity": 2,
"amount": 120.00,
"private_share": 0,
"invoicing_share": 240.00
},
{
"tax": 19.0,
"quantity": 1,
"amount": 25.00,
"private_share": 0,
"invoicing_share": 25.00
}
]
}Beleg mit Leistungsdatum
{
"employee_id": "max.mustermann",
"date": "2024-11-22",
"performance_date": "2024-11-20",
"receipt_type_id": "Bewirtung",
"project_id": 456,
"project_task_id": 12,
"payment_method": "privat",
"currency": "EUR",
"is_amount_net": false,
"note": "Geschäftsessen mit Kunde",
"receiptAmounts": [
{
"tax": 19.0,
"quantity": 1,
"amount": 85.50
}
]
}