Zum Hauptinhalt springen
Hilfecenter

Feldreferenz: Spesen- und Belegfelder

Nachschlagewerk für die API-Felder von Belegart (expenseCategory) und Beleg (expense) – inklusive Pflichtfelder je Belegart.

Diese Referenz listet die Felder der API-Endpunkte expensecategory (Belegart, nur GET) und expense (Beleg) auf. Wie du sie verwendest, steht in Spesen & Belege über die API anlegen. Mit * markierte Felder sind beim Anlegen Pflicht.

Belegart – expensecategory

Nur GET, rein informativ. Über diesen Endpunkt suchst du die passende Belegart und ihre ID.

FeldDatentypBeschreibung
namestringName der Belegart
internalNamestringinterner Name der Belegart
descriptionstringBeschreibung
activebooleannutzbar ja/nein
typeenumBelegtyp
currencynumberWährungs-ID
defaultPaymentMethodenumStandard-Zahlungsart
defaultVehicleenumStandard-Fahrzeug

Beleg – expense (alle Felder)

Vollständige Übersicht aller Felder, die ein Beleg tragen kann. Welche davon je Belegart Pflicht sind, steht weiter unten.

FeldDatentypBeschreibung
datestringBelegdatum im ISO-Format (YYYY-MM-DD). Standard: aktueller Tag
numberstringBelegnummer (automatisch generiert)
voucherNumberstringNummer des Originalbelegs
descriptionstringBeschreibung
typeenumBelegtyp (Reisekosten, Provision usw.); durch die Belegart bestimmt
expenseCategorynumberID der Belegart
coworkernumberMitarbeiter-ID
projectnumberProjekt-ID
customernumberKunden-ID
financeRecordIDnumberRechnungs-ID
quantitynumberMenge (für Berechnungen mit Basispreis)
voucherCurrencyFactornumberWährungsfaktor des Belegs (automatisch generiert)
voucherVatnumberUmsatzsteuer des Belegs
voucherCurrencynumberWährungs-ID
voucherNettonumberNetto (Belegwährung)
voucherGrossnumberBrutto (Belegwährung)
voucherPrivateSharenumberprivater Anteil des Mitarbeiters; wird vom Erstattungsbetrag abgezogen (Belegwährung)
relevantNettonumberNettobetrag (Mandantenwährung)
externalBillableenumAbrechenbar gegenüber Organisation
externalNettonumberabrechenbarer Betrag für Organisation (Mandantenwährung)
projectBillableenumAbrechenbar gegenüber Projekt
projectNettonumberabrechenbarer Betrag für Projekt (Mandantenwährung)
coworkerBillableenumAbrechenbar gegenüber Mitarbeiter
coworkerNettonumberabrechenbarer Betrag für Mitarbeiter (Mandantenwährung)
coworkerNettoTaxfreenumbersteuerfreier abrechenbarer Betrag für Mitarbeiter (Mandantenwährung)
startLocationstringStartort
finishLocationstringZielort
distancenumberDistanz in Kilometern
overtimenumberÜberstunden in Minuten
vehicleenumFahrzeugtyp (privat / Firma)
paymentMethodenumZahlungsart (privat / Firma)
containsBreakfastbooleanenthält Frühstück
containsLunchbooleanenthält Mittagessen
containsDinnerbooleanenthält Abendessen
travelExpensenumberReise-ID
timeenumZeit für Verpflegungsmehraufwand
isTaxMandatorybooleanPflichtbesteuerung
costcenterOverridenumberKostenstellen-ID
costunitOverridenumberKostenträger-ID
costtypeOverridenumberKostenart-ID
costunitAutonumberKostenträger-ID (aus Belegart)
costtypeAutonumberKostenart-ID (aus Belegart)
costcenterAutonumberKostenstellen-ID (aus Belegart)

Pflichtfelder je Belegart

Allen Belegarten gemeinsam sind expenseCategory* und coworker* als Pflicht. Zusätzlich gelten je Typ:

Provision

Pflicht: expenseCategory*, coworker*, voucherNetto*. Optional u. a. project, customer, financeRecordID, voucherCurrency, relevantNetto, die Abrechenbar-Felder, travelExpense sowie die Kostenstellen-/Kostenträger-/Kostenart-Overrides.

Überstundenauszahlung (Overtime)

Pflicht: expenseCategory*, coworker*, coworkerNetto*, overtime*. Hinweis: Es muss mindestens einer der Werte coworkerNetto oder overtime angegeben werden.

Kilometergeld (Mileage)

Pflicht: expenseCategory*, coworker*, distance*, vehicle*. Optional u. a. voucherNumber, voucherNetto, startLocation, finishLocation, die Abrechenbar-Felder und die Kostenstellen-Overrides.

Material

Pflicht: expenseCategory*, coworker*, quantity*. quantity dient der Berechnung mit dem Basispreis.

Beleg (Expense voucher)

Pflicht: expenseCategory*, coworker*, quantity*, voucherNetto*, voucherGross*, paymentMethod*. Hinweis: Sind sowohl voucherNetto als auch voucherGross leer, wird der Basispreis der Belegart genutzt; ist keiner definiert, kommt ein Fehler. Ist nur voucherGross angegeben, wird voucherNetto berechnet.

Verpflegungsmehraufwand (Meal)

Pflicht: expenseCategory*, coworker*, containsBreakfast*, containsLunch*, containsDinner*, time*. Optional u. a. isTaxMandatory, die Abrechenbar-Felder und die Kostenstellen-Overrides.

Zuschlag (Supplement)

Pflicht: expenseCategory*, coworker*, voucherNetto*. Optional u. a. project, customer, die Abrechenbar-Felder, travelExpense und die Kostenstellen-Overrides.

Eingangsrechnung (Expense invoice)

Pflicht: expenseCategory*, coworker*, financeRecordID*, paymentMethod*. Optional u. a. voucherPrivateShare, die Abrechenbar-Felder und die Kostenstellen-Overrides.

Enum-Werte

Einige Felder erwarten feste Aufzählungswerte. Belegt sind unter anderem:

FeldBeispielwertBedeutung
externalBillable, projectBillable, coworkerBillableYES_MANUALabrechenbar, Betrag manuell gesetzt (Fallback: Wert der Belegart)
vehiclePRIVATEprivates Fahrzeug (alternativ Firmenfahrzeug)
paymentMethodPRIVATEprivat bezahlt (alternativ Firma)
time (Verpflegung)RATE_24HPauschale für 24 Stunden

Die jeweils gültigen Werte eines Enums liefert die API selbst über die zugehörige enum-Ressource (z. B. /api/enum/contactfieldtype); im API-Explorer kannst du sie durchsuchen.

Beispiel-Requests je Belegart

Jeweils ein POST /api/expense mit den Pflichtfeldern (IDs sind exemplarisch):

// Provision
{ "date": "2025-03-01", "description": "Provision", "expenseCategory": 176370223, "coworker": 54967, "voucherNetto": 100, "coworkerBillable": "YES_MANUAL" }

// Überstundenauszahlung
{ "date": "2025-03-07", "expenseCategory": 174025224, "coworker": 54967, "overtime": 60, "coworkerBillable": "YES_MANUAL" }

// Kilometergeld
{ "date": "2025-03-03", "expenseCategory": 11582821, "coworker": 54967, "distance": 100, "vehicle": "PRIVATE" }

// Material
{ "date": "2025-03-07", "expenseCategory": 15478132, "coworker": 54967, "quantity": 100, "coworkerBillable": "YES_MANUAL" }

// Beleg (Expense voucher)
{ "date": "2025-03-07", "expenseCategory": 12199867, "coworker": 54967, "quantity": 2, "voucherNetto": 200, "paymentMethod": "PRIVATE" }

// Verpflegungsmehraufwand
{ "date": "2025-03-10", "expenseCategory": 69707469, "coworker": 54967, "containsBreakfast": true, "containsLunch": true, "time": "RATE_24H" }

// Zuschlag
{ "date": "2025-03-14", "expenseCategory": 185792490, "coworker": 54967, "voucherNetto": 100, "coworkerBillable": "YES_MANUAL" }

// Eingangsrechnung
{ "date": "2025-03-13", "expenseCategory": 185767407, "coworker": 54967, "financeRecordID": 185797405, "paymentMethod": "PRIVATE" }

Hinweise

  • Automatisch generierte Felder (z. B. number, voucherCurrencyFactor) musst du nicht mitgeben.
  • Nicht als Pflicht markierte Beträge berechnet das System – ein manuelles Überschreiben kann beim späteren Bearbeiten im System wieder überschrieben werden.
  • Die Abrechenbar-Felder nutzen den Wert der Belegart als Fallback; abweichende Werte musst du manuell setzen.

Verwandte Themen