cURL
curl --request POST \
--url https://api.maesn.dev/accounting/expenses \
--header 'Content-Type: multipart/form-data' \
--header 'X-ACCOUNT-KEY: <x-account-key>' \
--header 'X-API-KEY: <x-api-key>' \
--form 'files=<string>' \
--form 'expense={
"accountCode": "200",
"accountId": "6527a18d2-748e-4bda-9f4c-02b08a9622cd",
"accountNumber": 70000,
"currency": "EUR",
"customerId": "8a32de4f-55cc-4962-b000-a2a20662b821",
"description": "Expense_07/25 for business trip",
"documentId": "c77fbedb-1ff3-4fed-8716-4d3e3fc85ccf",
"exchangeRate": "1",
"expenseLines": [
{
"accountCode": "200",
"accountId": "56dec6c2-b14c-43ea-87bb-cc67b0ba2545",
"accountNumber": 4900,
"currency": "EUR",
"description": "Gasoline for business trip",
"dimensions": [
{
"id": "efa82f42-fd85-11e1-a21f-0800200c9a33",
"categoryName": "CostCenter",
"name": "Material/Waren"
}
],
"documentNumber": "EXP-12345",
"exchangeRate": 1,
"itemId": "9fc4f3a2-5b8e-4d1b-8a0c-9f6e7d2f3e4b",
"taxRate": {
"id": "1895b05b-38a6-4a6a-9653-166389894350",
"code": "03",
"name": "Tax19",
"taxRatePercentage": "19"
},
"totalGrossAmount": 119,
"totalNetAmount": 100
}
],
"journalCode": "60",
"ledgerName": "Payroll",
"note": "Gasoline for business trip",
"paymentTermId": "d2f3e4b5-6a7b-8c9d-0e1f-2g3h4i5j6k7l",
"paymentType": "CASH",
"supplierId": "52c049b9-91b7-4828-b346-e1eeadfa31dd",
"totalGrossAmount": 119,
"totalNetAmount": 100,
"totalTaxAmount": 5,
"transactionDate": "2025-07-15T00:00:00Z"
}' \
--form files.items='@example-file'{
"meta": {
"warnings": [
"Field not used by target system"
],
"pagination": {
"total": 125,
"perPage": 50,
"currentPage": 1,
"totalPages": 3
}
},
"data": {
"id": "9dea18d2-748e-4bda-9f4c-02b08a9622cd",
"accountCode ": "200",
"accountId ": "6527a18d2-748e-4bda-9f4c-02b08a9622cd",
"accountNumber ": 70000,
"createdDate": "2025-07-15T00:00:00Z",
"currency": "EUR",
"customerId": "8a32de4f-55cc-4962-b000-a2a20662b821",
"description": "Expense_07/25 for business trip",
"documentId": "c77fbedb-1ff3-4fed-8716-4d3e3fc85ccf",
"exchangeRate": "1",
"expenseLines": [
{
"id": "b9dade6b-2b69-42c9-bcd4-841960f6cd9f",
"accountCode": "200",
"accountId": "56dec6c2-b14c-43ea-87bb-cc67b0ba2545",
"accountNumber": 4900,
"createdDate ": "2025-07-15T00:00:00Z",
"currency": "EUR",
"description": "Gasoline for business trip",
"dimensions": [
{
"id": "efa82f42-fd85-11e1-a21f-0800200c9a33",
"categoryName": "CostCenter",
"name": "Material/Waren"
}
],
"documentNumber": "EXP-12345",
"exchangeRate": 1,
"itemId": "9fc4f3a2-5b8e-4d1b-8a0c-9f6e7d2f3e4b",
"taxRate": {
"id": "1895b05b-38a6-4a6a-9653-166389894350",
"code": "03",
"name": "Tax19",
"taxRatePercentage": "19"
},
"totalGrossAmount": 119,
"totalNetAmount": 100,
"updatedDate": "2025-07-15T00:00:00Z"
}
],
"files": [
"file1.pdf"
],
"journalCode": "60",
"ledgerName": "Payroll",
"note": "Gasoline for business trip",
"paymentTermId": "d2f3e4b5-6a7b-8c9d-0e1f-2g3h4i5j6k7l",
"paymentType": "CASH",
"supplierId": "52c049b9-91b7-4828-b346-e1eeadfa31dd",
"taskId ": "ADB4457839PXTC2220",
"type": "EXPENSE",
"totalGrossAmount": 119,
"totalNetAmount": 100,
"totalTaxAmount": 19,
"transactionDate": "2025-07-15T00:00:00Z",
"updatedDate": "2025-07-15T00:00:00Z"
}
}Expenses
Create expense
POST
/
accounting
/
expenses
cURL
curl --request POST \
--url https://api.maesn.dev/accounting/expenses \
--header 'Content-Type: multipart/form-data' \
--header 'X-ACCOUNT-KEY: <x-account-key>' \
--header 'X-API-KEY: <x-api-key>' \
--form 'files=<string>' \
--form 'expense={
"accountCode": "200",
"accountId": "6527a18d2-748e-4bda-9f4c-02b08a9622cd",
"accountNumber": 70000,
"currency": "EUR",
"customerId": "8a32de4f-55cc-4962-b000-a2a20662b821",
"description": "Expense_07/25 for business trip",
"documentId": "c77fbedb-1ff3-4fed-8716-4d3e3fc85ccf",
"exchangeRate": "1",
"expenseLines": [
{
"accountCode": "200",
"accountId": "56dec6c2-b14c-43ea-87bb-cc67b0ba2545",
"accountNumber": 4900,
"currency": "EUR",
"description": "Gasoline for business trip",
"dimensions": [
{
"id": "efa82f42-fd85-11e1-a21f-0800200c9a33",
"categoryName": "CostCenter",
"name": "Material/Waren"
}
],
"documentNumber": "EXP-12345",
"exchangeRate": 1,
"itemId": "9fc4f3a2-5b8e-4d1b-8a0c-9f6e7d2f3e4b",
"taxRate": {
"id": "1895b05b-38a6-4a6a-9653-166389894350",
"code": "03",
"name": "Tax19",
"taxRatePercentage": "19"
},
"totalGrossAmount": 119,
"totalNetAmount": 100
}
],
"journalCode": "60",
"ledgerName": "Payroll",
"note": "Gasoline for business trip",
"paymentTermId": "d2f3e4b5-6a7b-8c9d-0e1f-2g3h4i5j6k7l",
"paymentType": "CASH",
"supplierId": "52c049b9-91b7-4828-b346-e1eeadfa31dd",
"totalGrossAmount": 119,
"totalNetAmount": 100,
"totalTaxAmount": 5,
"transactionDate": "2025-07-15T00:00:00Z"
}' \
--form files.items='@example-file'{
"meta": {
"warnings": [
"Field not used by target system"
],
"pagination": {
"total": 125,
"perPage": 50,
"currentPage": 1,
"totalPages": 3
}
},
"data": {
"id": "9dea18d2-748e-4bda-9f4c-02b08a9622cd",
"accountCode ": "200",
"accountId ": "6527a18d2-748e-4bda-9f4c-02b08a9622cd",
"accountNumber ": 70000,
"createdDate": "2025-07-15T00:00:00Z",
"currency": "EUR",
"customerId": "8a32de4f-55cc-4962-b000-a2a20662b821",
"description": "Expense_07/25 for business trip",
"documentId": "c77fbedb-1ff3-4fed-8716-4d3e3fc85ccf",
"exchangeRate": "1",
"expenseLines": [
{
"id": "b9dade6b-2b69-42c9-bcd4-841960f6cd9f",
"accountCode": "200",
"accountId": "56dec6c2-b14c-43ea-87bb-cc67b0ba2545",
"accountNumber": 4900,
"createdDate ": "2025-07-15T00:00:00Z",
"currency": "EUR",
"description": "Gasoline for business trip",
"dimensions": [
{
"id": "efa82f42-fd85-11e1-a21f-0800200c9a33",
"categoryName": "CostCenter",
"name": "Material/Waren"
}
],
"documentNumber": "EXP-12345",
"exchangeRate": 1,
"itemId": "9fc4f3a2-5b8e-4d1b-8a0c-9f6e7d2f3e4b",
"taxRate": {
"id": "1895b05b-38a6-4a6a-9653-166389894350",
"code": "03",
"name": "Tax19",
"taxRatePercentage": "19"
},
"totalGrossAmount": 119,
"totalNetAmount": 100,
"updatedDate": "2025-07-15T00:00:00Z"
}
],
"files": [
"file1.pdf"
],
"journalCode": "60",
"ledgerName": "Payroll",
"note": "Gasoline for business trip",
"paymentTermId": "d2f3e4b5-6a7b-8c9d-0e1f-2g3h4i5j6k7l",
"paymentType": "CASH",
"supplierId": "52c049b9-91b7-4828-b346-e1eeadfa31dd",
"taskId ": "ADB4457839PXTC2220",
"type": "EXPENSE",
"totalGrossAmount": 119,
"totalNetAmount": 100,
"totalTaxAmount": 19,
"transactionDate": "2025-07-15T00:00:00Z",
"updatedDate": "2025-07-15T00:00:00Z"
}
}Field support per integration

Business Central
Business Central
If you’re not using the Interactive Authentication Flow, make sure the query parameters
environmentName and companyId are correctly populated.
You can obtain these values by using the GET Environments and GET Companies endpoints available under the Authentication section.Show properties
Show properties
Available options (3-letter ISO 4217):
AED, AFN, ALL, AMD, ANG, AOA, ARS, AUD, AWG, AZN, BAM, BBD, BDT, BGN, BHD, BIF, BMD, BND, BOB, BRL, BSD, BTN, BWP, BYR, BZD, CAD, CDF, CHF, CLP, CNY, COP, CRC, CUC, CVE, CZK, DJF, DKK, DOP, DZD, EEK, EGP, ERN, ETB, EUR, FJD, FKP, GBP, GEL, GHS, GIP, GMD, GNF, GQE, GTQ, GYD, HKD, HNL, HRK, HTG, HUF, IDR, ILS, INR, IQD, IRR, ISK, JMD, JOD, JPY, KES, KGS, KHR, KMF, KPW, KRW, KWD, KYD, KZT, LAK, LBP, LKR, LRD, LSL, LTL, LVL, LYD, MAD, MDL, MGA, MKD, MMK, MNT, MOP, MRO, MUR, MVR, MWK, MXN, MYR, MZM, NAD, NGN, NIO, NOK, NPR, NZD, OMR, PAB, PEN, PGK, PHP, PKR, PLN, PYG, QAR, RON, RSD, RUB, SAR, SBD, SCR, SDG, SEK, SGD, SHP, SLL, SOS, SRD, SYP, SZL, THB, TJS, TMT, TND, TRY, TTD, TWD, TZS, UAH, UGX, USD, UYU, UZS, VEB, VND, VUV, WST, XAF, XCD, XDR, XOF, XPF, YER, ZAR, ZMK, ZWR
DATEV Unternehmen Online
DATEV Unternehmen Online
This endpoint has been deprecated. Please use the
Create Expense Async endpoint.This endpoints is asynchronous. To check the status of the request, use the
GET asyncTask endpoint.
For more info about asynchronous tasks visit the Asynchronous Task section.If you’re not using the Interactive Authentication Flow, make sure the query parameter
companyId is accurately populated with the appropriate company ID. You can obtain this value by using the GET Companies endpoint available under the Authentication section.Show properties
Show properties
The
currency field supports ISO 4217 (3-letter codes).
For details visits the Standardized Data section.Show properties
Show properties
The
accountNumber field specifies the general ledger account linked to the expense line.The
description field provides details about the specific expense line.It cannot exceed 60 characters in length.Show properties
Show properties
The
name field specifies the name of the dimension associated with the expense line.It cannot exceed 36 characters in length. It must follow the pattern : ^([\S][\S ]{0,34}[\S]|[\S]{0,1})$.Example: Marketing.The
documentNumber field represents the document number reference.It must match the pattern: ^[a-zA-Z0-9$%&*\+\-/]{0,36}$.The
ledgerName field represents the name of the correct ledger folder where the data will be sent to.To get the correct name, you can use the GET Accounts endpoint.The
ledgerName must be of type CASH.The
note field allows for additional information or comments related to the expense.
It cannot exceed 120 characters in length.
Exact Online
Exact Online
If you’re not using the Interactive Authentication Flow, make sure the query parameter
companyId is correctly populated.
You can obtain this value by using the GET Companies endpoint available under the Authentication section.Show properties
Show properties
The
accountId represents the id of the GL account of type BANK related to the expense.You can obtain this value by using the GET Accounts endpoint.Available options (3-letter ISO 4217):
AED, AFN, ALL, AMD, ANG, AOA, ARS, AUD, AWG, AZN, BAM, BBD, BDT, BGN, BHD, BIF, BMD, BND, BOB, BRL, BSD, BTN, BWP, BYR, BZD, CAD, CDF, CHF, CLP, CNY, COP, CRC, CUC, CVE, CZK, DJF, DKK, DOP, DZD, EEK, EGP, ERN, ETB, EUR, FJD, FKP, GBP, GEL, GHS, GIP, GMD, GNF, GQE, GTQ, GYD, HKD, HNL, HRK, HTG, HUF, IDR, ILS, INR, IQD, IRR, ISK, JMD, JOD, JPY, KES, KGS, KHR, KMF, KPW, KRW, KWD, KYD, KZT, LAK, LBP, LKR, LRD, LSL, LTL, LVL, LYD, MAD, MDL, MGA, MKD, MMK, MNT, MOP, MRO, MUR, MVR, MWK, MXN, MYR, MZM, NAD, NGN, NIO, NOK, NPR, NZD, OMR, PAB, PEN, PGK, PHP, PKR, PLN, PYG, QAR, RON, RSD, RUB, SAR, SBD, SCR, SDG, SEK, SGD, SHP, SLL, SOS, SRD, SYP, SZL, THB, TJS, TMT, TND, TRY, TTD, TWD, TZS, UAH, UGX, USD, UYU, UZS, VEB, VND, VUV, WST, XAF, XCD, XDR, XOF, XPF, YER, ZAR, ZMK, ZWRAvailable options:
EXPENSE
Lexware Office
Lexware Office
Supported Request Parameters:
Show properties
Show properties
Show properties
Show properties
The
accountId field specifies the id of the posting category in Lexware that represents the general ledger account linked to the individual line item within the expense.To get the correct accountId, you can use the GET Accounts endpoint.The
documentNumber field represents the document number reference.Show properties
Show properties
The
taxRatePercentage field represents the tax rate applied to the expense line.It must be a positive number.The
note field allows for additional information or comments related to the expense.
QuickBooks
QuickBooks
Supported Request Parameters:
Show properties
Show properties
To get the correct id, you can use the
GET Accounts endpoint.
The account type has to be of type Cash, Credit Card, Check, the same as the paymentType field.Available options (3-letter ISO 4217):
AED, AFN, ALL, AMD, ANG, AOA, ARS, AUD, AWG, AZN, BAM, BBD, BDT, BGN, BHD, BIF, BMD, BND, BOB, BRL, BSD, BTN, BWP, BYR, BZD, CAD, CDF, CHF, CLP, CNY, COP, CRC, CUC, CVE, CZK, DJF, DKK, DOP, DZD, EEK, EGP, ERN, ETB, EUR, FJD, FKP, GBP, GEL, GHS, GIP, GMD, GNF, GQE, GTQ, GYD, HKD, HNL, HRK, HTG, HUF, IDR, ILS, INR, IQD, IRR, ISK, JMD, JOD, JPY, KES, KGS, KHR, KMF, KPW, KRW, KWD, KYD, KZT, LAK, LBP, LKR, LRD, LSL, LTL, LVL, LYD, MAD, MDL, MGA, MKD, MMK, MNT, MOP, MRO, MUR, MVR, MWK, MXN, MYR, MZM, NAD, NGN, NIO, NOK, NPR, NZD, OMR, PAB, PEN, PGK, PHP, PKR, PLN, PYG, QAR, RON, RSD, RUB, SAR, SBD, SCR, SDG, SEK, SGD, SHP, SLL, SOS, SRD, SYP, SZL, THB, TJS, TMT, TND, TRY, TTD, TWD, TZS, UAH, UGX, USD, UYU, UZS, VEB, VND, VUV, WST, XAF, XCD, XDR, XOF, XPF, YER, ZAR, ZMK, ZWRAvailable options:
CASH, CREDIT_CARD, CHECK
Twinfield
Twinfield
If you’re not using the Interactive Authentication Flow, make sure the query parameter
companyId is correctly populated.
You can obtain this value by using the GET Companies endpoint available under the Authentication section.Show properties
Show properties

Xero
Xero
Supported Request Parameters:
The
Show properties
Show properties
The
accountIdfield represents the id of the GL account of type BANK that is used for the expense.To get the correct id, you can use the GET Accounts endpoint.Available options (3-letter ISO 4217):
AED, AFN, ALL, AMD, ANG, AOA, ARS, AUD, AWG, AZN, BAM, BBD, BDT, BGN, BHD, BIF, BMD, BND, BOB, BRL, BSD, BTN, BWP, BYR, BZD, CAD, CDF, CHF, CLP, CNY, COP, CRC, CUC, CVE, CZK, DJF, DKK, DOP, DZD, EEK, EGP, ERN, ETB, EUR, FJD, FKP, GBP, GEL, GHS, GIP, GMD, GNF, GQE, GTQ, GYD, HKD, HNL, HRK, HTG, HUF, IDR, ILS, INR, IQD, IRR, ISK, JMD, JOD, JPY, KES, KGS, KHR, KMF, KPW, KRW, KWD, KYD, KZT, LAK, LBP, LKR, LRD, LSL, LTL, LVL, LYD, MAD, MDL, MGA, MKD, MMK, MNT, MOP, MRO, MUR, MVR, MWK, MXN, MYR, MZM, NAD, NGN, NIO, NOK, NPR, NZD, OMR, PAB, PEN, PGK, PHP, PKR, PLN, PYG, QAR, RON, RSD, RUB, SAR, SBD, SCR, SDG, SEK, SGD, SHP, SLL, SOS, SRD, SYP, SZL, THB, TJS, TMT, TND, TRY, TTD, TWD, TZS, UAH, UGX, USD, UYU, UZS, VEB, VND, VUV, WST, XAF, XCD, XDR, XOF, XPF, YER, ZAR, ZMK, ZWRIf
supplierId is not provided, customerId is required.Show properties
Show properties
accountCode field represents the code of the GL account that is used for the expense line.To get the correct code, you can use the GET Accounts endpoint.If
customerId is not provided, supplierId is required.Available options:
EXPENSE, REFUNDLast modified on June 10, 2026
Was this page helpful?
⌘I