curl --request POST \
--url https://{host}/api/v3/expenseTempItems \
--header 'Authorization: <authorization>' \
--header 'Content-Type: application/json' \
--data '
{
"expenseNatureId": 1,
"purchasedOn": "2025-01-01",
"paymentMethodId": 1,
"quantity": 1,
"originalTransaction": {
"currencyId": "EUR",
"grossAmount": 25
},
"processedAmounts": {
"grossAmount": 25,
"currencyId": "EUR"
},
"deviceId": "Web",
"ownerId": 1,
"merchant": "SNCF",
"comment": "Travel to Paris",
"expenseReceipts": [
{
"id": "f0d01fd0-5f27-4061-8dca-bee6318b0103"
}
]
}
'{
"id": 12,
"purchasedOn": "2025-01-01",
"originalTransaction": {
"grossAmount": 25,
"currencyId": "EUR",
"isExpenseAbroad": false
},
"processedAmounts": {
"grossAmount": 25,
"currencyId": "EUR",
"netAmount\"": 25,
"vatBases": [
{
"countryVatRateId": 2,
"countryVatRate": {
"id": "2,",
"name": "<string>",
"url": "<string>"
},
"vatAmount\"": 25,
"amountExcludingVat\"": 25
}
]
},
"expenseNatureId": 1,
"quantity": 1,
"ownerId": 1,
"paymentMethodId": 1,
"deviceId": "Web",
"mileage": null,
"effectiveQuantity": 1,
"attendees": {
"internal": [],
"external": []
},
"axisSections": [],
"customFields": {},
"merchant": "SNCF",
"comment": "Travel to Paris",
"expenseReceipts": [],
"authorizedActions": {
"isCancellable": true,
"isEditable": true
},
"sourceId": {
"id": 6
},
"statusId": {
"id": 0
}
}Create a new temporary-expense-item.
Attaching a receipt: if the expense nature requires a receipt, you must first upload the file via POST /lucca-files/api/uploads, then create an ExpenseReceipt via POST /api/v3/expenseReceipts, and finally reference the receipt’s id in the expenseReceipts array. Do not pass the file upload ID directly — see the Attaching receipts guide for the full workflow.
curl --request POST \
--url https://{host}/api/v3/expenseTempItems \
--header 'Authorization: <authorization>' \
--header 'Content-Type: application/json' \
--data '
{
"expenseNatureId": 1,
"purchasedOn": "2025-01-01",
"paymentMethodId": 1,
"quantity": 1,
"originalTransaction": {
"currencyId": "EUR",
"grossAmount": 25
},
"processedAmounts": {
"grossAmount": 25,
"currencyId": "EUR"
},
"deviceId": "Web",
"ownerId": 1,
"merchant": "SNCF",
"comment": "Travel to Paris",
"expenseReceipts": [
{
"id": "f0d01fd0-5f27-4061-8dca-bee6318b0103"
}
]
}
'{
"id": 12,
"purchasedOn": "2025-01-01",
"originalTransaction": {
"grossAmount": 25,
"currencyId": "EUR",
"isExpenseAbroad": false
},
"processedAmounts": {
"grossAmount": 25,
"currencyId": "EUR",
"netAmount\"": 25,
"vatBases": [
{
"countryVatRateId": 2,
"countryVatRate": {
"id": "2,",
"name": "<string>",
"url": "<string>"
},
"vatAmount\"": 25,
"amountExcludingVat\"": 25
}
]
},
"expenseNatureId": 1,
"quantity": 1,
"ownerId": 1,
"paymentMethodId": 1,
"deviceId": "Web",
"mileage": null,
"effectiveQuantity": 1,
"attendees": {
"internal": [],
"external": []
},
"axisSections": [],
"customFields": {},
"merchant": "SNCF",
"comment": "Travel to Paris",
"expenseReceipts": [],
"authorizedActions": {
"isCancellable": true,
"isEditable": true
},
"sourceId": {
"id": 6
},
"statusId": {
"id": 0
}
}API key. Value must be formatted like so: lucca application={api_key}.
The ExpenseTempItem, or "temporary expense" is an expense that has not yet been declared (within an expense report) by its owner (the user who made the expense). Once submitted within an expense report, the expense turns into an ExpenseClaimItem.
Day the expense was made.
Expense amount in original currency.
Show child attributes
Various amounts in the establishment's currency.
Show child attributes
Nature of the expense: Meals, Train, Taxi, Hotels, Taxi, Mileage... List depends on the app configuration.
x >= 1The quantity when the expense type is 'Quantity'.
x >= 1Unique identifier of the user that made this expense.
How this expense was made: the owner used his money, an enterprise debit card, or a Cleemy card:
0, 1, 3 "Web"Additional information when the expense type is mileage.
Show child attributes
Additional information when the expense type is 'Invitation'.
Show child attributes
Show child attributes
Values for custom fields.
Show child attributes
Merchant of the expense.
The expense receipts (PDF file, image, ...) attached to this expense. Technically, there could be more than one, but in reality, there’s usually just one.
Important: to attach a receipt when creating or updating an expense, you must first upload the file via POST /lucca-files/api/uploads, then create an ExpenseReceipt via POST /api/v3/expenseReceipts (providing the uploadId), and finally reference the receipt by its id here. Passing the file upload ID directly will result in a 403 Forbidden error. See the Attaching receipts guide.
Show child attributes
The source describes how the expense was created:
Show child attributes
Show child attributes
Show child attributes
Status of the expense.
Show child attributes
Show child attributes
OK
The ExpenseTempItem, or "temporary expense" is an expense that has not yet been declared (within an expense report) by its owner (the user who made the expense). Once submitted within an expense report, the expense turns into an ExpenseClaimItem.
Show child attributes
Was this page helpful?