cURL
curl --request POST \
--url https://api.maesn.dev/accounting/bookingProposals/async \
--header 'Content-Type: multipart/form-data' \
--header 'X-ACCOUNT-KEY: <x-account-key>' \
--header 'X-API-KEY: <x-api-key>' \
--form 'bookingProposal={
"id": "23a24449-6v28-446e-bb12-3f428073fc",
"addresses ": [
{
"city": "city"
}
],
"bankAccount": {
"id": "5a6b7f5dw45c1c-403e-ad56-202fbc312414",
"bic": "DEUTDEFF",
"code": "50010517",
"iban": "DE89370400440532013000",
"number": 5407324931
},
"bookingProposalDate": "2025-07-14T00:00:00Z",
"contact": {
"id": "eaa28f49-6028-4b6e-bb12-d8f6278073fc",
"accountNumber": 70000,
"name": "John Doe"
},
"currency": "EUR",
"deliveryDate": "2025-07-26T00:00:00Z",
"discountPaymentDate": "2025-07-16T00:00:00Z",
"discountPaymentDate2": "2025-07-18T00:00:00Z",
"dueDate": "2025-07-24T00:00:00Z",
"generatorName": "Maesn GmbH",
"journalCode": "60",
"isPaymentOrder": "true",
"ledgerName": "Eingangsrechnungen",
"lineItems": [
{
"id": "Item-112233",
"account": {
"id": "db32-4f56-8a9b-1234567890ab",
"code": "200",
"name": "EXPENSE",
"number": 4900
},
"description": "Item A",
"dimensions": [
{
"id": "eaa28f49-6028-4b6e-bb12-d8f6278073fc",
"code": "CS1",
"dimension": "CostCenter",
"name": "Jerde, Greenfelder and Jacobi"
}
],
"discountAmount": 100,
"discountAmount2": 50,
"discountPercentage": 20,
"discountPercentage2": 10,
"taxCode": "9",
"taxRatePercentage": 19,
"totalGrossAmount": 500,
"totalNetAmount": 450,
"type": "SERVICE"
}
],
"notes": "Bill for maintenance services",
"number": "1233330",
"orderId": "3344566",
"paidDate": "2025-07-20T00:00:00Z",
"paymentTermId": "03",
"status": "DRAFT",
"totalGrossAmount": 500,
"vatId": "DE987654321"
}' \
--form 'files=<string>' \
--form 'folderManagement={
"category": "Accounting",
"folder": "Invoices",
"register": "2025 January"
}' \
--form files.items='@example-file'import requests
url = "https://api.maesn.dev/accounting/bookingProposals/async"
files = { "files.items": ("example-file", open("example-file", "rb")) }
payload = {
"bookingProposal": "{
\"id\": \"23a24449-6v28-446e-bb12-3f428073fc\",
\"addresses \": [
{
\"city\": \"city\"
}
],
\"bankAccount\": {
\"id\": \"5a6b7f5dw45c1c-403e-ad56-202fbc312414\",
\"bic\": \"DEUTDEFF\",
\"code\": \"50010517\",
\"iban\": \"DE89370400440532013000\",
\"number\": 5407324931
},
\"bookingProposalDate\": \"2025-07-14T00:00:00Z\",
\"contact\": {
\"id\": \"eaa28f49-6028-4b6e-bb12-d8f6278073fc\",
\"accountNumber\": 70000,
\"name\": \"John Doe\"
},
\"currency\": \"EUR\",
\"deliveryDate\": \"2025-07-26T00:00:00Z\",
\"discountPaymentDate\": \"2025-07-16T00:00:00Z\",
\"discountPaymentDate2\": \"2025-07-18T00:00:00Z\",
\"dueDate\": \"2025-07-24T00:00:00Z\",
\"generatorName\": \"Maesn GmbH\",
\"journalCode\": \"60\",
\"isPaymentOrder\": \"true\",
\"ledgerName\": \"Eingangsrechnungen\",
\"lineItems\": [
{
\"id\": \"Item-112233\",
\"account\": {
\"id\": \"db32-4f56-8a9b-1234567890ab\",
\"code\": \"200\",
\"name\": \"EXPENSE\",
\"number\": 4900
},
\"description\": \"Item A\",
\"dimensions\": [
{
\"id\": \"eaa28f49-6028-4b6e-bb12-d8f6278073fc\",
\"code\": \"CS1\",
\"dimension\": \"CostCenter\",
\"name\": \"Jerde, Greenfelder and Jacobi\"
}
],
\"discountAmount\": 100,
\"discountAmount2\": 50,
\"discountPercentage\": 20,
\"discountPercentage2\": 10,
\"taxCode\": \"9\",
\"taxRatePercentage\": 19,
\"totalGrossAmount\": 500,
\"totalNetAmount\": 450,
\"type\": \"SERVICE\"
}
],
\"notes\": \"Bill for maintenance services\",
\"number\": \"1233330\",
\"orderId\": \"3344566\",
\"paidDate\": \"2025-07-20T00:00:00Z\",
\"paymentTermId\": \"03\",
\"status\": \"DRAFT\",
\"totalGrossAmount\": 500,
\"vatId\": \"DE987654321\"
}",
"files": "<string>",
"folderManagement": "{
\"category\": \"Accounting\",
\"folder\": \"Invoices\",
\"register\": \"2025 January\"
}"
}
headers = {
"X-API-KEY": "<x-api-key>",
"X-ACCOUNT-KEY": "<x-account-key>"
}
response = requests.post(url, data=payload, files=files, headers=headers)
print(response.text)const form = new FormData();
form.append('bookingProposal', '{
"id": "23a24449-6v28-446e-bb12-3f428073fc",
"addresses ": [
{
"city": "city"
}
],
"bankAccount": {
"id": "5a6b7f5dw45c1c-403e-ad56-202fbc312414",
"bic": "DEUTDEFF",
"code": "50010517",
"iban": "DE89370400440532013000",
"number": 5407324931
},
"bookingProposalDate": "2025-07-14T00:00:00Z",
"contact": {
"id": "eaa28f49-6028-4b6e-bb12-d8f6278073fc",
"accountNumber": 70000,
"name": "John Doe"
},
"currency": "EUR",
"deliveryDate": "2025-07-26T00:00:00Z",
"discountPaymentDate": "2025-07-16T00:00:00Z",
"discountPaymentDate2": "2025-07-18T00:00:00Z",
"dueDate": "2025-07-24T00:00:00Z",
"generatorName": "Maesn GmbH",
"journalCode": "60",
"isPaymentOrder": "true",
"ledgerName": "Eingangsrechnungen",
"lineItems": [
{
"id": "Item-112233",
"account": {
"id": "db32-4f56-8a9b-1234567890ab",
"code": "200",
"name": "EXPENSE",
"number": 4900
},
"description": "Item A",
"dimensions": [
{
"id": "eaa28f49-6028-4b6e-bb12-d8f6278073fc",
"code": "CS1",
"dimension": "CostCenter",
"name": "Jerde, Greenfelder and Jacobi"
}
],
"discountAmount": 100,
"discountAmount2": 50,
"discountPercentage": 20,
"discountPercentage2": 10,
"taxCode": "9",
"taxRatePercentage": 19,
"totalGrossAmount": 500,
"totalNetAmount": 450,
"type": "SERVICE"
}
],
"notes": "Bill for maintenance services",
"number": "1233330",
"orderId": "3344566",
"paidDate": "2025-07-20T00:00:00Z",
"paymentTermId": "03",
"status": "DRAFT",
"totalGrossAmount": 500,
"vatId": "DE987654321"
}');
form.append('files', '<string>');
form.append('folderManagement', '{
"category": "Accounting",
"folder": "Invoices",
"register": "2025 January"
}');
form.append('files.items', '{
"fileName": "example-file"
}');
const options = {
method: 'POST',
headers: {'X-API-KEY': '<x-api-key>', 'X-ACCOUNT-KEY': '<x-account-key>'}
};
options.body = form;
fetch('https://api.maesn.dev/accounting/bookingProposals/async', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.maesn.dev/accounting/bookingProposals/async",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"bookingProposal\"\r\n\r\n{\r\n \"id\": \"23a24449-6v28-446e-bb12-3f428073fc\",\r\n \"addresses \": [\r\n {\r\n \"city\": \"city\"\r\n }\r\n ],\r\n \"bankAccount\": {\r\n \"id\": \"5a6b7f5dw45c1c-403e-ad56-202fbc312414\",\r\n \"bic\": \"DEUTDEFF\",\r\n \"code\": \"50010517\",\r\n \"iban\": \"DE89370400440532013000\",\r\n \"number\": 5407324931\r\n },\r\n \"bookingProposalDate\": \"2025-07-14T00:00:00Z\",\r\n \"contact\": {\r\n \"id\": \"eaa28f49-6028-4b6e-bb12-d8f6278073fc\",\r\n \"accountNumber\": 70000,\r\n \"name\": \"John Doe\"\r\n },\r\n \"currency\": \"EUR\",\r\n \"deliveryDate\": \"2025-07-26T00:00:00Z\",\r\n \"discountPaymentDate\": \"2025-07-16T00:00:00Z\",\r\n \"discountPaymentDate2\": \"2025-07-18T00:00:00Z\",\r\n \"dueDate\": \"2025-07-24T00:00:00Z\",\r\n \"generatorName\": \"Maesn GmbH\",\r\n \"journalCode\": \"60\",\r\n \"isPaymentOrder\": \"true\",\r\n \"ledgerName\": \"Eingangsrechnungen\",\r\n \"lineItems\": [\r\n {\r\n \"id\": \"Item-112233\",\r\n \"account\": {\r\n \"id\": \"db32-4f56-8a9b-1234567890ab\",\r\n \"code\": \"200\",\r\n \"name\": \"EXPENSE\",\r\n \"number\": 4900\r\n },\r\n \"description\": \"Item A\",\r\n \"dimensions\": [\r\n {\r\n \"id\": \"eaa28f49-6028-4b6e-bb12-d8f6278073fc\",\r\n \"code\": \"CS1\",\r\n \"dimension\": \"CostCenter\",\r\n \"name\": \"Jerde, Greenfelder and Jacobi\"\r\n }\r\n ],\r\n \"discountAmount\": 100,\r\n \"discountAmount2\": 50,\r\n \"discountPercentage\": 20,\r\n \"discountPercentage2\": 10,\r\n \"taxCode\": \"9\",\r\n \"taxRatePercentage\": 19,\r\n \"totalGrossAmount\": 500,\r\n \"totalNetAmount\": 450,\r\n \"type\": \"SERVICE\"\r\n }\r\n ],\r\n \"notes\": \"Bill for maintenance services\",\r\n \"number\": \"1233330\",\r\n \"orderId\": \"3344566\",\r\n \"paidDate\": \"2025-07-20T00:00:00Z\",\r\n \"paymentTermId\": \"03\",\r\n \"status\": \"DRAFT\",\r\n \"totalGrossAmount\": 500,\r\n \"vatId\": \"DE987654321\"\r\n}\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"files\"\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"folderManagement\"\r\n\r\n{\r\n \"category\": \"Accounting\",\r\n \"folder\": \"Invoices\",\r\n \"register\": \"2025 January\"\r\n}\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"files.items\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n{\r\n \"fileName\": \"example-file\"\r\n}\r\n-----011000010111000001101001--",
CURLOPT_HTTPHEADER => [
"Content-Type: multipart/form-data",
"X-ACCOUNT-KEY: <x-account-key>",
"X-API-KEY: <x-api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.maesn.dev/accounting/bookingProposals/async"
payload := strings.NewReader("-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"bookingProposal\"\r\n\r\n{\r\n \"id\": \"23a24449-6v28-446e-bb12-3f428073fc\",\r\n \"addresses \": [\r\n {\r\n \"city\": \"city\"\r\n }\r\n ],\r\n \"bankAccount\": {\r\n \"id\": \"5a6b7f5dw45c1c-403e-ad56-202fbc312414\",\r\n \"bic\": \"DEUTDEFF\",\r\n \"code\": \"50010517\",\r\n \"iban\": \"DE89370400440532013000\",\r\n \"number\": 5407324931\r\n },\r\n \"bookingProposalDate\": \"2025-07-14T00:00:00Z\",\r\n \"contact\": {\r\n \"id\": \"eaa28f49-6028-4b6e-bb12-d8f6278073fc\",\r\n \"accountNumber\": 70000,\r\n \"name\": \"John Doe\"\r\n },\r\n \"currency\": \"EUR\",\r\n \"deliveryDate\": \"2025-07-26T00:00:00Z\",\r\n \"discountPaymentDate\": \"2025-07-16T00:00:00Z\",\r\n \"discountPaymentDate2\": \"2025-07-18T00:00:00Z\",\r\n \"dueDate\": \"2025-07-24T00:00:00Z\",\r\n \"generatorName\": \"Maesn GmbH\",\r\n \"journalCode\": \"60\",\r\n \"isPaymentOrder\": \"true\",\r\n \"ledgerName\": \"Eingangsrechnungen\",\r\n \"lineItems\": [\r\n {\r\n \"id\": \"Item-112233\",\r\n \"account\": {\r\n \"id\": \"db32-4f56-8a9b-1234567890ab\",\r\n \"code\": \"200\",\r\n \"name\": \"EXPENSE\",\r\n \"number\": 4900\r\n },\r\n \"description\": \"Item A\",\r\n \"dimensions\": [\r\n {\r\n \"id\": \"eaa28f49-6028-4b6e-bb12-d8f6278073fc\",\r\n \"code\": \"CS1\",\r\n \"dimension\": \"CostCenter\",\r\n \"name\": \"Jerde, Greenfelder and Jacobi\"\r\n }\r\n ],\r\n \"discountAmount\": 100,\r\n \"discountAmount2\": 50,\r\n \"discountPercentage\": 20,\r\n \"discountPercentage2\": 10,\r\n \"taxCode\": \"9\",\r\n \"taxRatePercentage\": 19,\r\n \"totalGrossAmount\": 500,\r\n \"totalNetAmount\": 450,\r\n \"type\": \"SERVICE\"\r\n }\r\n ],\r\n \"notes\": \"Bill for maintenance services\",\r\n \"number\": \"1233330\",\r\n \"orderId\": \"3344566\",\r\n \"paidDate\": \"2025-07-20T00:00:00Z\",\r\n \"paymentTermId\": \"03\",\r\n \"status\": \"DRAFT\",\r\n \"totalGrossAmount\": 500,\r\n \"vatId\": \"DE987654321\"\r\n}\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"files\"\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"folderManagement\"\r\n\r\n{\r\n \"category\": \"Accounting\",\r\n \"folder\": \"Invoices\",\r\n \"register\": \"2025 January\"\r\n}\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"files.items\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n{\r\n \"fileName\": \"example-file\"\r\n}\r\n-----011000010111000001101001--")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-KEY", "<x-api-key>")
req.Header.Add("X-ACCOUNT-KEY", "<x-account-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.maesn.dev/accounting/bookingProposals/async")
.header("X-API-KEY", "<x-api-key>")
.header("X-ACCOUNT-KEY", "<x-account-key>")
.body("-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"bookingProposal\"\r\n\r\n{\r\n \"id\": \"23a24449-6v28-446e-bb12-3f428073fc\",\r\n \"addresses \": [\r\n {\r\n \"city\": \"city\"\r\n }\r\n ],\r\n \"bankAccount\": {\r\n \"id\": \"5a6b7f5dw45c1c-403e-ad56-202fbc312414\",\r\n \"bic\": \"DEUTDEFF\",\r\n \"code\": \"50010517\",\r\n \"iban\": \"DE89370400440532013000\",\r\n \"number\": 5407324931\r\n },\r\n \"bookingProposalDate\": \"2025-07-14T00:00:00Z\",\r\n \"contact\": {\r\n \"id\": \"eaa28f49-6028-4b6e-bb12-d8f6278073fc\",\r\n \"accountNumber\": 70000,\r\n \"name\": \"John Doe\"\r\n },\r\n \"currency\": \"EUR\",\r\n \"deliveryDate\": \"2025-07-26T00:00:00Z\",\r\n \"discountPaymentDate\": \"2025-07-16T00:00:00Z\",\r\n \"discountPaymentDate2\": \"2025-07-18T00:00:00Z\",\r\n \"dueDate\": \"2025-07-24T00:00:00Z\",\r\n \"generatorName\": \"Maesn GmbH\",\r\n \"journalCode\": \"60\",\r\n \"isPaymentOrder\": \"true\",\r\n \"ledgerName\": \"Eingangsrechnungen\",\r\n \"lineItems\": [\r\n {\r\n \"id\": \"Item-112233\",\r\n \"account\": {\r\n \"id\": \"db32-4f56-8a9b-1234567890ab\",\r\n \"code\": \"200\",\r\n \"name\": \"EXPENSE\",\r\n \"number\": 4900\r\n },\r\n \"description\": \"Item A\",\r\n \"dimensions\": [\r\n {\r\n \"id\": \"eaa28f49-6028-4b6e-bb12-d8f6278073fc\",\r\n \"code\": \"CS1\",\r\n \"dimension\": \"CostCenter\",\r\n \"name\": \"Jerde, Greenfelder and Jacobi\"\r\n }\r\n ],\r\n \"discountAmount\": 100,\r\n \"discountAmount2\": 50,\r\n \"discountPercentage\": 20,\r\n \"discountPercentage2\": 10,\r\n \"taxCode\": \"9\",\r\n \"taxRatePercentage\": 19,\r\n \"totalGrossAmount\": 500,\r\n \"totalNetAmount\": 450,\r\n \"type\": \"SERVICE\"\r\n }\r\n ],\r\n \"notes\": \"Bill for maintenance services\",\r\n \"number\": \"1233330\",\r\n \"orderId\": \"3344566\",\r\n \"paidDate\": \"2025-07-20T00:00:00Z\",\r\n \"paymentTermId\": \"03\",\r\n \"status\": \"DRAFT\",\r\n \"totalGrossAmount\": 500,\r\n \"vatId\": \"DE987654321\"\r\n}\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"files\"\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"folderManagement\"\r\n\r\n{\r\n \"category\": \"Accounting\",\r\n \"folder\": \"Invoices\",\r\n \"register\": \"2025 January\"\r\n}\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"files.items\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n{\r\n \"fileName\": \"example-file\"\r\n}\r\n-----011000010111000001101001--")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.maesn.dev/accounting/bookingProposals/async")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-KEY"] = '<x-api-key>'
request["X-ACCOUNT-KEY"] = '<x-account-key>'
request.body = "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"bookingProposal\"\r\n\r\n{\r\n \"id\": \"23a24449-6v28-446e-bb12-3f428073fc\",\r\n \"addresses \": [\r\n {\r\n \"city\": \"city\"\r\n }\r\n ],\r\n \"bankAccount\": {\r\n \"id\": \"5a6b7f5dw45c1c-403e-ad56-202fbc312414\",\r\n \"bic\": \"DEUTDEFF\",\r\n \"code\": \"50010517\",\r\n \"iban\": \"DE89370400440532013000\",\r\n \"number\": 5407324931\r\n },\r\n \"bookingProposalDate\": \"2025-07-14T00:00:00Z\",\r\n \"contact\": {\r\n \"id\": \"eaa28f49-6028-4b6e-bb12-d8f6278073fc\",\r\n \"accountNumber\": 70000,\r\n \"name\": \"John Doe\"\r\n },\r\n \"currency\": \"EUR\",\r\n \"deliveryDate\": \"2025-07-26T00:00:00Z\",\r\n \"discountPaymentDate\": \"2025-07-16T00:00:00Z\",\r\n \"discountPaymentDate2\": \"2025-07-18T00:00:00Z\",\r\n \"dueDate\": \"2025-07-24T00:00:00Z\",\r\n \"generatorName\": \"Maesn GmbH\",\r\n \"journalCode\": \"60\",\r\n \"isPaymentOrder\": \"true\",\r\n \"ledgerName\": \"Eingangsrechnungen\",\r\n \"lineItems\": [\r\n {\r\n \"id\": \"Item-112233\",\r\n \"account\": {\r\n \"id\": \"db32-4f56-8a9b-1234567890ab\",\r\n \"code\": \"200\",\r\n \"name\": \"EXPENSE\",\r\n \"number\": 4900\r\n },\r\n \"description\": \"Item A\",\r\n \"dimensions\": [\r\n {\r\n \"id\": \"eaa28f49-6028-4b6e-bb12-d8f6278073fc\",\r\n \"code\": \"CS1\",\r\n \"dimension\": \"CostCenter\",\r\n \"name\": \"Jerde, Greenfelder and Jacobi\"\r\n }\r\n ],\r\n \"discountAmount\": 100,\r\n \"discountAmount2\": 50,\r\n \"discountPercentage\": 20,\r\n \"discountPercentage2\": 10,\r\n \"taxCode\": \"9\",\r\n \"taxRatePercentage\": 19,\r\n \"totalGrossAmount\": 500,\r\n \"totalNetAmount\": 450,\r\n \"type\": \"SERVICE\"\r\n }\r\n ],\r\n \"notes\": \"Bill for maintenance services\",\r\n \"number\": \"1233330\",\r\n \"orderId\": \"3344566\",\r\n \"paidDate\": \"2025-07-20T00:00:00Z\",\r\n \"paymentTermId\": \"03\",\r\n \"status\": \"DRAFT\",\r\n \"totalGrossAmount\": 500,\r\n \"vatId\": \"DE987654321\"\r\n}\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"files\"\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"folderManagement\"\r\n\r\n{\r\n \"category\": \"Accounting\",\r\n \"folder\": \"Invoices\",\r\n \"register\": \"2025 January\"\r\n}\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"files.items\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n{\r\n \"fileName\": \"example-file\"\r\n}\r\n-----011000010111000001101001--"
response = http.request(request)
puts response.read_body{
"meta": {
"warnings": [
"Field not used by target system"
],
"pagination": {
"total": 125,
"perPage": 50,
"currentPage": 1,
"totalPages": 3
}
},
"data": {
"taskId": "02cc5849-b23c-48fe-8a9b-96f74bfc9571"
}
}Booking Proposals
Create booking proposal async
POST
/
accounting
/
bookingProposals
/
async
cURL
curl --request POST \
--url https://api.maesn.dev/accounting/bookingProposals/async \
--header 'Content-Type: multipart/form-data' \
--header 'X-ACCOUNT-KEY: <x-account-key>' \
--header 'X-API-KEY: <x-api-key>' \
--form 'bookingProposal={
"id": "23a24449-6v28-446e-bb12-3f428073fc",
"addresses ": [
{
"city": "city"
}
],
"bankAccount": {
"id": "5a6b7f5dw45c1c-403e-ad56-202fbc312414",
"bic": "DEUTDEFF",
"code": "50010517",
"iban": "DE89370400440532013000",
"number": 5407324931
},
"bookingProposalDate": "2025-07-14T00:00:00Z",
"contact": {
"id": "eaa28f49-6028-4b6e-bb12-d8f6278073fc",
"accountNumber": 70000,
"name": "John Doe"
},
"currency": "EUR",
"deliveryDate": "2025-07-26T00:00:00Z",
"discountPaymentDate": "2025-07-16T00:00:00Z",
"discountPaymentDate2": "2025-07-18T00:00:00Z",
"dueDate": "2025-07-24T00:00:00Z",
"generatorName": "Maesn GmbH",
"journalCode": "60",
"isPaymentOrder": "true",
"ledgerName": "Eingangsrechnungen",
"lineItems": [
{
"id": "Item-112233",
"account": {
"id": "db32-4f56-8a9b-1234567890ab",
"code": "200",
"name": "EXPENSE",
"number": 4900
},
"description": "Item A",
"dimensions": [
{
"id": "eaa28f49-6028-4b6e-bb12-d8f6278073fc",
"code": "CS1",
"dimension": "CostCenter",
"name": "Jerde, Greenfelder and Jacobi"
}
],
"discountAmount": 100,
"discountAmount2": 50,
"discountPercentage": 20,
"discountPercentage2": 10,
"taxCode": "9",
"taxRatePercentage": 19,
"totalGrossAmount": 500,
"totalNetAmount": 450,
"type": "SERVICE"
}
],
"notes": "Bill for maintenance services",
"number": "1233330",
"orderId": "3344566",
"paidDate": "2025-07-20T00:00:00Z",
"paymentTermId": "03",
"status": "DRAFT",
"totalGrossAmount": 500,
"vatId": "DE987654321"
}' \
--form 'files=<string>' \
--form 'folderManagement={
"category": "Accounting",
"folder": "Invoices",
"register": "2025 January"
}' \
--form files.items='@example-file'import requests
url = "https://api.maesn.dev/accounting/bookingProposals/async"
files = { "files.items": ("example-file", open("example-file", "rb")) }
payload = {
"bookingProposal": "{
\"id\": \"23a24449-6v28-446e-bb12-3f428073fc\",
\"addresses \": [
{
\"city\": \"city\"
}
],
\"bankAccount\": {
\"id\": \"5a6b7f5dw45c1c-403e-ad56-202fbc312414\",
\"bic\": \"DEUTDEFF\",
\"code\": \"50010517\",
\"iban\": \"DE89370400440532013000\",
\"number\": 5407324931
},
\"bookingProposalDate\": \"2025-07-14T00:00:00Z\",
\"contact\": {
\"id\": \"eaa28f49-6028-4b6e-bb12-d8f6278073fc\",
\"accountNumber\": 70000,
\"name\": \"John Doe\"
},
\"currency\": \"EUR\",
\"deliveryDate\": \"2025-07-26T00:00:00Z\",
\"discountPaymentDate\": \"2025-07-16T00:00:00Z\",
\"discountPaymentDate2\": \"2025-07-18T00:00:00Z\",
\"dueDate\": \"2025-07-24T00:00:00Z\",
\"generatorName\": \"Maesn GmbH\",
\"journalCode\": \"60\",
\"isPaymentOrder\": \"true\",
\"ledgerName\": \"Eingangsrechnungen\",
\"lineItems\": [
{
\"id\": \"Item-112233\",
\"account\": {
\"id\": \"db32-4f56-8a9b-1234567890ab\",
\"code\": \"200\",
\"name\": \"EXPENSE\",
\"number\": 4900
},
\"description\": \"Item A\",
\"dimensions\": [
{
\"id\": \"eaa28f49-6028-4b6e-bb12-d8f6278073fc\",
\"code\": \"CS1\",
\"dimension\": \"CostCenter\",
\"name\": \"Jerde, Greenfelder and Jacobi\"
}
],
\"discountAmount\": 100,
\"discountAmount2\": 50,
\"discountPercentage\": 20,
\"discountPercentage2\": 10,
\"taxCode\": \"9\",
\"taxRatePercentage\": 19,
\"totalGrossAmount\": 500,
\"totalNetAmount\": 450,
\"type\": \"SERVICE\"
}
],
\"notes\": \"Bill for maintenance services\",
\"number\": \"1233330\",
\"orderId\": \"3344566\",
\"paidDate\": \"2025-07-20T00:00:00Z\",
\"paymentTermId\": \"03\",
\"status\": \"DRAFT\",
\"totalGrossAmount\": 500,
\"vatId\": \"DE987654321\"
}",
"files": "<string>",
"folderManagement": "{
\"category\": \"Accounting\",
\"folder\": \"Invoices\",
\"register\": \"2025 January\"
}"
}
headers = {
"X-API-KEY": "<x-api-key>",
"X-ACCOUNT-KEY": "<x-account-key>"
}
response = requests.post(url, data=payload, files=files, headers=headers)
print(response.text)const form = new FormData();
form.append('bookingProposal', '{
"id": "23a24449-6v28-446e-bb12-3f428073fc",
"addresses ": [
{
"city": "city"
}
],
"bankAccount": {
"id": "5a6b7f5dw45c1c-403e-ad56-202fbc312414",
"bic": "DEUTDEFF",
"code": "50010517",
"iban": "DE89370400440532013000",
"number": 5407324931
},
"bookingProposalDate": "2025-07-14T00:00:00Z",
"contact": {
"id": "eaa28f49-6028-4b6e-bb12-d8f6278073fc",
"accountNumber": 70000,
"name": "John Doe"
},
"currency": "EUR",
"deliveryDate": "2025-07-26T00:00:00Z",
"discountPaymentDate": "2025-07-16T00:00:00Z",
"discountPaymentDate2": "2025-07-18T00:00:00Z",
"dueDate": "2025-07-24T00:00:00Z",
"generatorName": "Maesn GmbH",
"journalCode": "60",
"isPaymentOrder": "true",
"ledgerName": "Eingangsrechnungen",
"lineItems": [
{
"id": "Item-112233",
"account": {
"id": "db32-4f56-8a9b-1234567890ab",
"code": "200",
"name": "EXPENSE",
"number": 4900
},
"description": "Item A",
"dimensions": [
{
"id": "eaa28f49-6028-4b6e-bb12-d8f6278073fc",
"code": "CS1",
"dimension": "CostCenter",
"name": "Jerde, Greenfelder and Jacobi"
}
],
"discountAmount": 100,
"discountAmount2": 50,
"discountPercentage": 20,
"discountPercentage2": 10,
"taxCode": "9",
"taxRatePercentage": 19,
"totalGrossAmount": 500,
"totalNetAmount": 450,
"type": "SERVICE"
}
],
"notes": "Bill for maintenance services",
"number": "1233330",
"orderId": "3344566",
"paidDate": "2025-07-20T00:00:00Z",
"paymentTermId": "03",
"status": "DRAFT",
"totalGrossAmount": 500,
"vatId": "DE987654321"
}');
form.append('files', '<string>');
form.append('folderManagement', '{
"category": "Accounting",
"folder": "Invoices",
"register": "2025 January"
}');
form.append('files.items', '{
"fileName": "example-file"
}');
const options = {
method: 'POST',
headers: {'X-API-KEY': '<x-api-key>', 'X-ACCOUNT-KEY': '<x-account-key>'}
};
options.body = form;
fetch('https://api.maesn.dev/accounting/bookingProposals/async', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.maesn.dev/accounting/bookingProposals/async",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"bookingProposal\"\r\n\r\n{\r\n \"id\": \"23a24449-6v28-446e-bb12-3f428073fc\",\r\n \"addresses \": [\r\n {\r\n \"city\": \"city\"\r\n }\r\n ],\r\n \"bankAccount\": {\r\n \"id\": \"5a6b7f5dw45c1c-403e-ad56-202fbc312414\",\r\n \"bic\": \"DEUTDEFF\",\r\n \"code\": \"50010517\",\r\n \"iban\": \"DE89370400440532013000\",\r\n \"number\": 5407324931\r\n },\r\n \"bookingProposalDate\": \"2025-07-14T00:00:00Z\",\r\n \"contact\": {\r\n \"id\": \"eaa28f49-6028-4b6e-bb12-d8f6278073fc\",\r\n \"accountNumber\": 70000,\r\n \"name\": \"John Doe\"\r\n },\r\n \"currency\": \"EUR\",\r\n \"deliveryDate\": \"2025-07-26T00:00:00Z\",\r\n \"discountPaymentDate\": \"2025-07-16T00:00:00Z\",\r\n \"discountPaymentDate2\": \"2025-07-18T00:00:00Z\",\r\n \"dueDate\": \"2025-07-24T00:00:00Z\",\r\n \"generatorName\": \"Maesn GmbH\",\r\n \"journalCode\": \"60\",\r\n \"isPaymentOrder\": \"true\",\r\n \"ledgerName\": \"Eingangsrechnungen\",\r\n \"lineItems\": [\r\n {\r\n \"id\": \"Item-112233\",\r\n \"account\": {\r\n \"id\": \"db32-4f56-8a9b-1234567890ab\",\r\n \"code\": \"200\",\r\n \"name\": \"EXPENSE\",\r\n \"number\": 4900\r\n },\r\n \"description\": \"Item A\",\r\n \"dimensions\": [\r\n {\r\n \"id\": \"eaa28f49-6028-4b6e-bb12-d8f6278073fc\",\r\n \"code\": \"CS1\",\r\n \"dimension\": \"CostCenter\",\r\n \"name\": \"Jerde, Greenfelder and Jacobi\"\r\n }\r\n ],\r\n \"discountAmount\": 100,\r\n \"discountAmount2\": 50,\r\n \"discountPercentage\": 20,\r\n \"discountPercentage2\": 10,\r\n \"taxCode\": \"9\",\r\n \"taxRatePercentage\": 19,\r\n \"totalGrossAmount\": 500,\r\n \"totalNetAmount\": 450,\r\n \"type\": \"SERVICE\"\r\n }\r\n ],\r\n \"notes\": \"Bill for maintenance services\",\r\n \"number\": \"1233330\",\r\n \"orderId\": \"3344566\",\r\n \"paidDate\": \"2025-07-20T00:00:00Z\",\r\n \"paymentTermId\": \"03\",\r\n \"status\": \"DRAFT\",\r\n \"totalGrossAmount\": 500,\r\n \"vatId\": \"DE987654321\"\r\n}\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"files\"\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"folderManagement\"\r\n\r\n{\r\n \"category\": \"Accounting\",\r\n \"folder\": \"Invoices\",\r\n \"register\": \"2025 January\"\r\n}\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"files.items\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n{\r\n \"fileName\": \"example-file\"\r\n}\r\n-----011000010111000001101001--",
CURLOPT_HTTPHEADER => [
"Content-Type: multipart/form-data",
"X-ACCOUNT-KEY: <x-account-key>",
"X-API-KEY: <x-api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.maesn.dev/accounting/bookingProposals/async"
payload := strings.NewReader("-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"bookingProposal\"\r\n\r\n{\r\n \"id\": \"23a24449-6v28-446e-bb12-3f428073fc\",\r\n \"addresses \": [\r\n {\r\n \"city\": \"city\"\r\n }\r\n ],\r\n \"bankAccount\": {\r\n \"id\": \"5a6b7f5dw45c1c-403e-ad56-202fbc312414\",\r\n \"bic\": \"DEUTDEFF\",\r\n \"code\": \"50010517\",\r\n \"iban\": \"DE89370400440532013000\",\r\n \"number\": 5407324931\r\n },\r\n \"bookingProposalDate\": \"2025-07-14T00:00:00Z\",\r\n \"contact\": {\r\n \"id\": \"eaa28f49-6028-4b6e-bb12-d8f6278073fc\",\r\n \"accountNumber\": 70000,\r\n \"name\": \"John Doe\"\r\n },\r\n \"currency\": \"EUR\",\r\n \"deliveryDate\": \"2025-07-26T00:00:00Z\",\r\n \"discountPaymentDate\": \"2025-07-16T00:00:00Z\",\r\n \"discountPaymentDate2\": \"2025-07-18T00:00:00Z\",\r\n \"dueDate\": \"2025-07-24T00:00:00Z\",\r\n \"generatorName\": \"Maesn GmbH\",\r\n \"journalCode\": \"60\",\r\n \"isPaymentOrder\": \"true\",\r\n \"ledgerName\": \"Eingangsrechnungen\",\r\n \"lineItems\": [\r\n {\r\n \"id\": \"Item-112233\",\r\n \"account\": {\r\n \"id\": \"db32-4f56-8a9b-1234567890ab\",\r\n \"code\": \"200\",\r\n \"name\": \"EXPENSE\",\r\n \"number\": 4900\r\n },\r\n \"description\": \"Item A\",\r\n \"dimensions\": [\r\n {\r\n \"id\": \"eaa28f49-6028-4b6e-bb12-d8f6278073fc\",\r\n \"code\": \"CS1\",\r\n \"dimension\": \"CostCenter\",\r\n \"name\": \"Jerde, Greenfelder and Jacobi\"\r\n }\r\n ],\r\n \"discountAmount\": 100,\r\n \"discountAmount2\": 50,\r\n \"discountPercentage\": 20,\r\n \"discountPercentage2\": 10,\r\n \"taxCode\": \"9\",\r\n \"taxRatePercentage\": 19,\r\n \"totalGrossAmount\": 500,\r\n \"totalNetAmount\": 450,\r\n \"type\": \"SERVICE\"\r\n }\r\n ],\r\n \"notes\": \"Bill for maintenance services\",\r\n \"number\": \"1233330\",\r\n \"orderId\": \"3344566\",\r\n \"paidDate\": \"2025-07-20T00:00:00Z\",\r\n \"paymentTermId\": \"03\",\r\n \"status\": \"DRAFT\",\r\n \"totalGrossAmount\": 500,\r\n \"vatId\": \"DE987654321\"\r\n}\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"files\"\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"folderManagement\"\r\n\r\n{\r\n \"category\": \"Accounting\",\r\n \"folder\": \"Invoices\",\r\n \"register\": \"2025 January\"\r\n}\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"files.items\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n{\r\n \"fileName\": \"example-file\"\r\n}\r\n-----011000010111000001101001--")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-KEY", "<x-api-key>")
req.Header.Add("X-ACCOUNT-KEY", "<x-account-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.maesn.dev/accounting/bookingProposals/async")
.header("X-API-KEY", "<x-api-key>")
.header("X-ACCOUNT-KEY", "<x-account-key>")
.body("-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"bookingProposal\"\r\n\r\n{\r\n \"id\": \"23a24449-6v28-446e-bb12-3f428073fc\",\r\n \"addresses \": [\r\n {\r\n \"city\": \"city\"\r\n }\r\n ],\r\n \"bankAccount\": {\r\n \"id\": \"5a6b7f5dw45c1c-403e-ad56-202fbc312414\",\r\n \"bic\": \"DEUTDEFF\",\r\n \"code\": \"50010517\",\r\n \"iban\": \"DE89370400440532013000\",\r\n \"number\": 5407324931\r\n },\r\n \"bookingProposalDate\": \"2025-07-14T00:00:00Z\",\r\n \"contact\": {\r\n \"id\": \"eaa28f49-6028-4b6e-bb12-d8f6278073fc\",\r\n \"accountNumber\": 70000,\r\n \"name\": \"John Doe\"\r\n },\r\n \"currency\": \"EUR\",\r\n \"deliveryDate\": \"2025-07-26T00:00:00Z\",\r\n \"discountPaymentDate\": \"2025-07-16T00:00:00Z\",\r\n \"discountPaymentDate2\": \"2025-07-18T00:00:00Z\",\r\n \"dueDate\": \"2025-07-24T00:00:00Z\",\r\n \"generatorName\": \"Maesn GmbH\",\r\n \"journalCode\": \"60\",\r\n \"isPaymentOrder\": \"true\",\r\n \"ledgerName\": \"Eingangsrechnungen\",\r\n \"lineItems\": [\r\n {\r\n \"id\": \"Item-112233\",\r\n \"account\": {\r\n \"id\": \"db32-4f56-8a9b-1234567890ab\",\r\n \"code\": \"200\",\r\n \"name\": \"EXPENSE\",\r\n \"number\": 4900\r\n },\r\n \"description\": \"Item A\",\r\n \"dimensions\": [\r\n {\r\n \"id\": \"eaa28f49-6028-4b6e-bb12-d8f6278073fc\",\r\n \"code\": \"CS1\",\r\n \"dimension\": \"CostCenter\",\r\n \"name\": \"Jerde, Greenfelder and Jacobi\"\r\n }\r\n ],\r\n \"discountAmount\": 100,\r\n \"discountAmount2\": 50,\r\n \"discountPercentage\": 20,\r\n \"discountPercentage2\": 10,\r\n \"taxCode\": \"9\",\r\n \"taxRatePercentage\": 19,\r\n \"totalGrossAmount\": 500,\r\n \"totalNetAmount\": 450,\r\n \"type\": \"SERVICE\"\r\n }\r\n ],\r\n \"notes\": \"Bill for maintenance services\",\r\n \"number\": \"1233330\",\r\n \"orderId\": \"3344566\",\r\n \"paidDate\": \"2025-07-20T00:00:00Z\",\r\n \"paymentTermId\": \"03\",\r\n \"status\": \"DRAFT\",\r\n \"totalGrossAmount\": 500,\r\n \"vatId\": \"DE987654321\"\r\n}\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"files\"\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"folderManagement\"\r\n\r\n{\r\n \"category\": \"Accounting\",\r\n \"folder\": \"Invoices\",\r\n \"register\": \"2025 January\"\r\n}\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"files.items\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n{\r\n \"fileName\": \"example-file\"\r\n}\r\n-----011000010111000001101001--")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.maesn.dev/accounting/bookingProposals/async")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-KEY"] = '<x-api-key>'
request["X-ACCOUNT-KEY"] = '<x-account-key>'
request.body = "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"bookingProposal\"\r\n\r\n{\r\n \"id\": \"23a24449-6v28-446e-bb12-3f428073fc\",\r\n \"addresses \": [\r\n {\r\n \"city\": \"city\"\r\n }\r\n ],\r\n \"bankAccount\": {\r\n \"id\": \"5a6b7f5dw45c1c-403e-ad56-202fbc312414\",\r\n \"bic\": \"DEUTDEFF\",\r\n \"code\": \"50010517\",\r\n \"iban\": \"DE89370400440532013000\",\r\n \"number\": 5407324931\r\n },\r\n \"bookingProposalDate\": \"2025-07-14T00:00:00Z\",\r\n \"contact\": {\r\n \"id\": \"eaa28f49-6028-4b6e-bb12-d8f6278073fc\",\r\n \"accountNumber\": 70000,\r\n \"name\": \"John Doe\"\r\n },\r\n \"currency\": \"EUR\",\r\n \"deliveryDate\": \"2025-07-26T00:00:00Z\",\r\n \"discountPaymentDate\": \"2025-07-16T00:00:00Z\",\r\n \"discountPaymentDate2\": \"2025-07-18T00:00:00Z\",\r\n \"dueDate\": \"2025-07-24T00:00:00Z\",\r\n \"generatorName\": \"Maesn GmbH\",\r\n \"journalCode\": \"60\",\r\n \"isPaymentOrder\": \"true\",\r\n \"ledgerName\": \"Eingangsrechnungen\",\r\n \"lineItems\": [\r\n {\r\n \"id\": \"Item-112233\",\r\n \"account\": {\r\n \"id\": \"db32-4f56-8a9b-1234567890ab\",\r\n \"code\": \"200\",\r\n \"name\": \"EXPENSE\",\r\n \"number\": 4900\r\n },\r\n \"description\": \"Item A\",\r\n \"dimensions\": [\r\n {\r\n \"id\": \"eaa28f49-6028-4b6e-bb12-d8f6278073fc\",\r\n \"code\": \"CS1\",\r\n \"dimension\": \"CostCenter\",\r\n \"name\": \"Jerde, Greenfelder and Jacobi\"\r\n }\r\n ],\r\n \"discountAmount\": 100,\r\n \"discountAmount2\": 50,\r\n \"discountPercentage\": 20,\r\n \"discountPercentage2\": 10,\r\n \"taxCode\": \"9\",\r\n \"taxRatePercentage\": 19,\r\n \"totalGrossAmount\": 500,\r\n \"totalNetAmount\": 450,\r\n \"type\": \"SERVICE\"\r\n }\r\n ],\r\n \"notes\": \"Bill for maintenance services\",\r\n \"number\": \"1233330\",\r\n \"orderId\": \"3344566\",\r\n \"paidDate\": \"2025-07-20T00:00:00Z\",\r\n \"paymentTermId\": \"03\",\r\n \"status\": \"DRAFT\",\r\n \"totalGrossAmount\": 500,\r\n \"vatId\": \"DE987654321\"\r\n}\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"files\"\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"folderManagement\"\r\n\r\n{\r\n \"category\": \"Accounting\",\r\n \"folder\": \"Invoices\",\r\n \"register\": \"2025 January\"\r\n}\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"files.items\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n{\r\n \"fileName\": \"example-file\"\r\n}\r\n-----011000010111000001101001--"
response = http.request(request)
puts response.read_body{
"meta": {
"warnings": [
"Field not used by target system"
],
"pagination": {
"total": 125,
"perPage": 50,
"currentPage": 1,
"totalPages": 3
}
},
"data": {
"taskId": "02cc5849-b23c-48fe-8a9b-96f74bfc9571"
}
}Field support per integration

DATEV Unternehmen Online
DATEV Unternehmen Online
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.string
required
Show properties
Show properties
string
The
id field represents the unique identifier of the booking proposal.The
id must be a valid UUID; otherwise, it will be ignored.This field is only relevant and used when uploading files with the booking proposal.bankAccount
Show properties
Show properties
string
The
bic field must respect the following pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}[A-Z0-9]{0,3}$.Example: DEUTDEFF.string
The
code must respect the following pattern: ^([1-9]|[0-9]{2,10})$If code is provided, then number is required.Example: 37040044string
The
iban field must respect the following pattern: ^[A-Z]{2}[0-9]{2}[A-Z0-9]{1,30}$.Example: DE89370400440532013000.number
The
number field must be 1-10 digits long and includes only numbers.If number is provided, then code is required.Example: 532013000string
required
For date format details visits the
Standardized Data section.Contact
Show properties
Show properties
number
The
accountNumber field represents the account number of the contact associated with the booking proposal.It must be a valid number. The length must be equal to the account configured length + 1.It is the customer account number for INVOICE and CREDIT_NOTE or the vendor account number for BILL and VENDOR_CREDIT.string
The
name field represents the name of the contact associated with the booking proposal.It cannot exceed 50 characters in length.enum
required
The
currency field supports ISO 4217 (3-letter codes).
For details visits the Standardized Data section.string
For date format details visits the
Standardized Data section.string
For date format details visits the
Standardized Data section.The discountPaymentDate field represents the date until which a discount (discountAmount and discountPercentage in line items) can be applied to the payment.If discountPaymentDate is provided, then discountAmount and discountPercentage are required for each line item.Its value must be earlier than the dueDate and later than the bookingProposalDate.string
For date format details visits the
Standardized Data section.The discountPaymentDate2 field represents the date until which a discount (discountAmount2 and discountPercentage2 in line items) can be applied to the payment.If provided, discountPaymentDate, discountAmount, discountPercentage, discountAmount2 and discountPercentage2 are required for each line item.Its value must be earlier than the dueDate and later than the bookingProposalDate and discountPaymentDate.string
For date format details visits the
Standardized Data section.The dueDate field represents the date by which the payment for the booking proposal is expected to be made.It is required when discount fields are provided. It must be after the bookingProposalDate.string
required
If not provided, the fallback value
Integration will be used.boolean
The
isPaymentOrder field determines whether a payment instruction (transfer for bills or direct debit for invoices) should
be automatically created when the booking proposal is processed.It must be false if paymentTermId is equal to 9.string
required
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.For
INVOICE and CREDIT_NOTE booking proposals, the ledgerName must be of type ACCOUNT_RECEIVABLE, and for BILL and VENDOR_CREDIT booking proposals, it must be of type ACCOUNT_PAYABLE.BookingLineItem[]
required
Depending on the Rechnungsdatenschnittstelle (invoice data interface) settings in DATEV Unternehmen Online, either a single booking proposal or one booking proposal per line item is created. Please check your configuration to ensure the desired behavior.
Show properties
Show properties
Account
Show properties
Show properties
string
The
name field specifies the name of the general ledger account linked to the individual line item.It cannot exceed 40 characters in length.number
The
number field specifies the general ledger account linked to the individual line item.It must be a valid number. The length must be equal to the account configured length.string
The
description field provides details about the specific line item in the booking proposal.It cannot exceed 60 characters in length.Dimension[]
Only 2 dimensions are allowed per line item.
Show properties
Show properties
string
The
name field specifies the name of the dimension associated with the line item.It cannot exceed 36 characters in length. It must follow the pattern : ^([\S][\S ]{0,34}[\S]|[\S]{0,1})$.Example: Marketing.number
The
discountAmount field represents the fixed amount to be discounted if paid by the discountPaymentDate.It must be a positive number with up to 8 digits before the decimal point and exactly 2 digits after.It cannot exceed the line item’s totalGrossAmount.number
The
discountAmount2 field represents the fixed amount to be discounted if paid by the discountPaymentDate2.It must be a positive number with up to 8 digits before the decimal point and exactly 2 digits after.It cannot exceed the line item’s totalGrossAmount and the discountAmount.number
The
discountPercentage field represents the percentage to be discounted if paid by the discountPaymentDate.It must be a positive number with up to 2 digits before the decimal point and up to 2 digits after.It cannot exceed 100%.number
The
discountPercentage2 field represents the percentage to be discounted if paid by the discountPaymentDate2.It must be a positive number with up to 2 digits before the decimal point and up to 2 digits after.It must be less then the discountPercentage.string
The
taxCode field represents the BU code associated with the line item.It must be max 4 characters long. Only numbers are allowed.number
The
taxRatePercentage field represents the tax rate applied to the line item.It must be a positive number.number
required
The
totalGrossAmount field represents the total gross amount for the specific line item.It must be a number with up to 10 digits before the decimal point and up to 2 digits after.It cannot be zero.string
The
notes field allows for additional information or comments related to the booking proposal.
It cannot exceed 120 characters in length.string
required
The
number field represents the document number.It must match the pattern: ^[a-zA-Z0-9$%&*\+\-/]{0,36}$.string
The
orderId field represents the order identifier associated with the booking proposal.It must match the pattern: ^[a-zA-Z0-9$%&*+\-./]{1,30}$.string
For date format details visits the
Standardized Data section.string
The
paymentTermId field represents the identifier of the payment term associated with the booking proposal.It is max 3 characters long. It must includes only numbers.If provided, the discount fields are not allowed.number
required
The
totalGrossAmount field represents the total gross amount for the entire booking proposal.It cannot be zero and must equal the sum of the totalGrossAmount of all line items.It must always be a positive amount. The bookingType (INVOICE, BILL, CREDIT_NOTE, VENDOR_CREDIT) determines the document type.string
The
vatId field represents the VAT identification number associated with the booking proposal.It must match pattern: ^[0-9a-zA-Z\. _]{1,15}$.BookingType
required
Available options:
INVOICE, BILL, CREDIT_NOTE, VENDOR_CREDITfile[]
The
files array can be used to attach files to the booking proposal.The name of the uploaded files must include the file extension, for example
invoice.pdf.FolderManagement
The
folderManagement object defines the three-level folder structure for a booking proposal. If not provided, the default structure will be used.
Lexware Office
Lexware Office
This endpoint 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.string
required
Show properties
Show properties
Contact
required
Show properties
Show properties
string
required
The
id field represents the Lexware Office contact ID associated with the booking proposal.string
For date format details visit the
Standardized Data section.string
For date format details visit the
Standardized Data section.Only supported for
bookingType: INVOICE. Providing this field for BILL will result in a validation error.string
For date format details visit the
Standardized Data section.BookingLineItem[]
required
Show properties
Show properties
Account
required
Show properties
Show properties
string
required
The
id field specifies the Lexware Office category (account) ID linked to the line item.number
required
Must be a positive number.
number
required
The
totalGrossAmount field represents the total gross amount for the line item. It must have at most 2 decimal places.string
string
number
The
totalGrossAmount field represents the total gross amount for the entire booking proposal. It must have at most 2 decimal places.BookingType
required
Available options:
INVOICE, BILL.file[]
The
files array can be used to attach a file to the booking proposal.Only one file is supported. The file name must include the extension, for example
invoice.pdf.
SevDesk
SevDesk
This endpoint 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.string
required
Show properties
Show properties
Contact
required
enum
For details visit the
Standardized Data section.string
For date format details visit the
Standardized Data section.string
For date format details visit the
Standardized Data section.BookingLineItem[]
required
string
string
For date format details visit the
Standardized Data section.enum
The
status field controls the voucher status. Accepted values: DRAFT, OPEN.BookingType
required
Available options:
INVOICE, BILL, CREDIT_NOTE, VENDOR_CREDIT.file[]
The
files array can be used to attach a file to the booking proposal.Only one file is supported. The file name must include the extension, for example
invoice.pdf.Query Parameters
Body
multipart/form-data
Last modified on July 24, 2026
Was this page helpful?
⌘I