REST DokumentationBelegePOST Neuen Beleg buchen

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

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 '{
       "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.

Aus der OpenAPI-Spezifikation erzeugt — Änderungen gehören in den Quellcode, nicht auf diese Seite.