cURL
curl --request GET \
--url https://api.maesn.dev/accounting/journalEntries \
--header 'X-ACCOUNT-KEY: <x-account-key>' \
--header 'X-API-KEY: <x-api-key>'import requests
url = "https://api.maesn.dev/accounting/journalEntries"
headers = {
"X-API-KEY": "<x-api-key>",
"X-ACCOUNT-KEY": "<x-account-key>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'X-API-KEY': '<x-api-key>', 'X-ACCOUNT-KEY': '<x-account-key>'}
};
fetch('https://api.maesn.dev/accounting/journalEntries', 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/journalEntries",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"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"
"net/http"
"io"
)
func main() {
url := "https://api.maesn.dev/accounting/journalEntries"
req, _ := http.NewRequest("GET", url, nil)
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.get("https://api.maesn.dev/accounting/journalEntries")
.header("X-API-KEY", "<x-api-key>")
.header("X-ACCOUNT-KEY", "<x-account-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.maesn.dev/accounting/journalEntries")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-KEY"] = '<x-api-key>'
request["X-ACCOUNT-KEY"] = '<x-account-key>'
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": [
{
"id": "8df2df10-0fae-40ad-9d22-f25e5ab0ba23",
"accountId": "94fdb7fd-13ae-47a6-8a2a-000e6ddc60d9",
"accountingPeriodId": "2021-06",
"accountingReason": "COMMERCIAL",
"createdDate": "2021-01-01T00:00:00Z",
"currency": "EUR",
"description": "Hotel for dreamforce",
"documentId": "b5e624e5-fb9e-4836-a443-87a3820f5b48",
"files": [
"file1.pdf"
],
"exchangeRate": "1,2045",
"isProvisional": "false",
"isReversal": false,
"journalLineItems": [
{
"id": "123f57fd-13ae-47a6-8a2a-000e6ddc60d9",
"accountCode": "4034",
"accountId": "da33b47c-98ca-4410-9c59-5db485ecaeb0",
"accountNumber": 8200,
"createdDate ": "2021-01-01T00:00:00Z",
"currency": "EUR",
"customerId": "782d89b56-13ae-47a6-8a2a-45e6ddc50d9",
"debitCreditIndicator": "DEBIT",
"description": "Uitgesteld 21600001 Kantoor 01-01-2021-31-12-2021",
"dimensions": [
{
"id": "efa82f42-fd85-11e1-a21f-0800200c9a33",
"categoryName": "CostCenter",
"code": "KD1",
"name": "Material/Waren"
}
],
"documentId": "b5e624e5-fb9e-4836-a443-87a3820f5b48",
"documentNumber": "123456789",
"exchangeRate": 1,
"supplierId": "998933b56-13ae-47a6-8a32a-45e6ddc50d9",
"taxRate": {
"id": "1895b05b-38a6-4a6a-9653-166389894350",
"code": "03",
"name": "Tax19",
"taxRatePercentage": "19"
},
"thirdPartyCode": "112233",
"totalGrossAmount": 1190,
"totalNetAmount": 1000,
"totalTaxAmount": 190,
"updatedDate": "2021-01-01T00:00:00Z"
}
],
"journalCode": "60",
"journalType": "FIN",
"number ": "21900030",
"recordType": "STANDARD",
"transactionDate": "2021-01-01T00:00:00Z",
"updatedDate": "2021-01-01T00:00:00Z",
"version": "AAAAACnY3os1"
}
]
}Journal Entries
Get journal entries
GET
/
accounting
/
journalEntries
cURL
curl --request GET \
--url https://api.maesn.dev/accounting/journalEntries \
--header 'X-ACCOUNT-KEY: <x-account-key>' \
--header 'X-API-KEY: <x-api-key>'import requests
url = "https://api.maesn.dev/accounting/journalEntries"
headers = {
"X-API-KEY": "<x-api-key>",
"X-ACCOUNT-KEY": "<x-account-key>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'X-API-KEY': '<x-api-key>', 'X-ACCOUNT-KEY': '<x-account-key>'}
};
fetch('https://api.maesn.dev/accounting/journalEntries', 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/journalEntries",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"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"
"net/http"
"io"
)
func main() {
url := "https://api.maesn.dev/accounting/journalEntries"
req, _ := http.NewRequest("GET", url, nil)
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.get("https://api.maesn.dev/accounting/journalEntries")
.header("X-API-KEY", "<x-api-key>")
.header("X-ACCOUNT-KEY", "<x-account-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.maesn.dev/accounting/journalEntries")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-KEY"] = '<x-api-key>'
request["X-ACCOUNT-KEY"] = '<x-account-key>'
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": [
{
"id": "8df2df10-0fae-40ad-9d22-f25e5ab0ba23",
"accountId": "94fdb7fd-13ae-47a6-8a2a-000e6ddc60d9",
"accountingPeriodId": "2021-06",
"accountingReason": "COMMERCIAL",
"createdDate": "2021-01-01T00:00:00Z",
"currency": "EUR",
"description": "Hotel for dreamforce",
"documentId": "b5e624e5-fb9e-4836-a443-87a3820f5b48",
"files": [
"file1.pdf"
],
"exchangeRate": "1,2045",
"isProvisional": "false",
"isReversal": false,
"journalLineItems": [
{
"id": "123f57fd-13ae-47a6-8a2a-000e6ddc60d9",
"accountCode": "4034",
"accountId": "da33b47c-98ca-4410-9c59-5db485ecaeb0",
"accountNumber": 8200,
"createdDate ": "2021-01-01T00:00:00Z",
"currency": "EUR",
"customerId": "782d89b56-13ae-47a6-8a2a-45e6ddc50d9",
"debitCreditIndicator": "DEBIT",
"description": "Uitgesteld 21600001 Kantoor 01-01-2021-31-12-2021",
"dimensions": [
{
"id": "efa82f42-fd85-11e1-a21f-0800200c9a33",
"categoryName": "CostCenter",
"code": "KD1",
"name": "Material/Waren"
}
],
"documentId": "b5e624e5-fb9e-4836-a443-87a3820f5b48",
"documentNumber": "123456789",
"exchangeRate": 1,
"supplierId": "998933b56-13ae-47a6-8a32a-45e6ddc50d9",
"taxRate": {
"id": "1895b05b-38a6-4a6a-9653-166389894350",
"code": "03",
"name": "Tax19",
"taxRatePercentage": "19"
},
"thirdPartyCode": "112233",
"totalGrossAmount": 1190,
"totalNetAmount": 1000,
"totalTaxAmount": 190,
"updatedDate": "2021-01-01T00:00:00Z"
}
],
"journalCode": "60",
"journalType": "FIN",
"number ": "21900030",
"recordType": "STANDARD",
"transactionDate": "2021-01-01T00:00:00Z",
"updatedDate": "2021-01-01T00:00:00Z",
"version": "AAAAACnY3os1"
}
]
}Field support per integration

bexio
bexio

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.enum
Available options:
5, 10, 20, 50, 100number
boolean
string
string
string
string
string
string

DATEV Rechnungswesen
DATEV Rechnungswesen
This endpoint is asynchronous. The response returns a
taskId. Use GET/asyncTask/{taskId} to check the task status and obtain the response data once it is ready.For more info about asynchronous tasks visit the Asynchronous Task section.The query parameter
fiscalYearStartDate is required and must be a valid date.If you’re not using the Interactive Authentication Flow, make sure the query parameter
companyId is correctly populated.enum
Available options:
COMMERCIAL, TAX, IFRS, CALCULATION, INDEPENDENT, OTHERstring
enum
Available options:
DEBIT, CREDITstring
string
boolean
JournalLineItem[]
string
enum
Indicates which phase of the fiscal year the journal entry belongs to.
Available options :
STANDARD OPENING CLOSINGstring

Dinero
Dinero
If you’re not using the Interactive Authentication Flow, make sure the query parameter
companyId is correctly populated.By default, returns journal entries for the current calendar year. Pass
lastModifiedAt to fetch entries from an earlier date — results are aggregated across fiscal year boundaries automatically.Only finalized journal entries (booked) will be retrieved.
boolean
string
Show object
Show object
string
Fetch entries from this date onwards (filtered by transaction date, not modification date). When omitted, defaults to January 1st of the current year.
For date format details visit the
For date format details visit the
Standardized Data section.string
boolean
Indicates whether the journal entry is provisional (draft) or booked (finalized).If set to
true, the journal entry is provisional ; if set to false, the journal entry is booked.It retrieves always
false since the endpoint only works for finalized journal entries.JournalLineItem[]
string
string
For date format details visit the
Standardized Data section.string

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.enum
Available options:
5, 10, 20, 50, 100number
boolean
string
string
string
string
string
string
string
string

fortnox
fortnox

Odoo
Odoo
Query parameters:Supported response fields:
enum
Available options:
5, 10, 20, 50, 100number
boolean
string
string
enum
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, ZWRstring
string
string
string
string

Sage Active
Sage Active
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. Please use the id field as the companyId.enum
Available options:
5, 10, 20, 50, 100number
boolean
string
string
string
string
JournalLineItem[]
string
string
string
string

Visma e-conomic
Visma e-conomic
This endpoint retrieves draft journal entries only.
enum
Available options:
5, 10, 20, 50, 100number
boolean
string
string
string
string
boolean
Indicates whether the journal entry is provisional (draft) or booked (finalized).
Always returns
true since this endpoint only retrieves draft entries.string
JournalLineItem[]
string
string
string

Xero
Xero
Query parameters:Supported response fields:
enum
Available options:
5, 10, 20, 50, 100number
boolean
string
string
string
string
JournalLineItem[]
Show properties
Show properties
string
string
enum
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, ZWRstring
enum
Available options:
DEBIT, CREDITstring
string
string
number
number
number
string
string
string
string
Headers
API key
Example:
"example value"
Account key
Example:
"example value"
Query Parameters
Available options:
5, 10, 20, 50, 100 Last modified on September 4, 2026
Was this page helpful?