Learn how Maesn handles Rate Limiting for all supported systems.
For the moment maesn’s unified APIs do not implement any specific rate limits. However, it is important to notice that the systems made available through the API implement their own rate limits and that these limits apply to our tenants.
It is considered good practice to implement retry logic when encountering specific error codes and this is especially true for error code 429: Too many requests. This error code indicates that the API is receiving requests at a higher rate than it can handle and unless a retry mecahnism is implemented, the requests will be lost.The best practice for implementing retry logic is called “expontential backoff”. We recommend to retry the request after an initial one-minute delay and increasing the delay exponentially with each additional retry. I.e. if a request fails due toe a 429 error, the first retry is made after one minute, the next after two minutes, then 4 minutes, etc.For more information about handling various response codes and automatic retries, see our error handling guide.
The bexio API enforces a rate limit, that limits the number of requests per minute a client can make. Currently, the limit is not published.Source: bexio Developer Portal
For the Exact Online REST API, the following rate limits apply:
Minutely limit - your app can make 60 API calls, per company, per minute.
Daily limit - your app can make 5,000 API calls, per company, per day.
The following limits are effective as of 1 July 2021:
You must not request new access token more than once every 10 minutes. You can only request for a new access token after 570 seconds from the time you successfully received the previous access token.
No more than 10 errors per API key, per user, per company, per endpoint, and per hour. When you exceed this limit, your API key will be temporarily blocked from making further requests. The block will automatically be lifted after one hour and will gradually increase when you continue making these errors. Response code 400, 401, 403, and 404 are counted as errors.
Mandatory filtering on single and bulk endpoints where sync APIs are available.
Based on fair use policy, Exact will take corrective action by throttling your app if the limit has been exceeded excessively. Some examples of excessive actions are repeated download of unchanged data every day, log in attempts to inactive accounts, and overloading the token endpoint.Source: Exact Online Knowledge Base
There is no published limit on the number of API requests for FreshBooks. However, they state that requests will be rate-limited if too many calls are made within a short period of time. Additionally, a maximum of 100 results will be returned for list methods, regardless of the value sent with the per_page parameter.Source: FreshBooks API documentation
The Lexware API uses the token bucket algorithm to maintain a stable rate of requests against the resource endpoints. The limits refer to all endpoints of the Lexware API at the same time:
A client can make up to 2 requests per second to the Lexware API.
Source: Lexware Office API documentationSeparate rate-limits apply for the Lexware Office Partner API. Contact us for more information.
To ensure the availability and integrity of Sage Active Public API V2, a rate limit of 3000 requests per application per minute has been set. The rate limit is set for each unique client application.Source: Sage Active Developer Portal
The Snelstart API enforces a rate limit in the development and testing environment.
Each developer key is valid for 90 days and allows a limited number of API calls, though the exact limit is not publicly specified.
Twinfield uses a system of “API credits”. Query requests as defined below will cost 1 API credit, and ‘Other requests’ will cost 3 API credits.All GET requests in the Maesn API fall under the ‘query requests‘ category with a cost of 1 API credit and all POST request fall under ‘Other requests’ with a cost of 3 API credits.
The Xentral API is currently rate limited independent of the plan to 100 requests/minute (one request per 600ms).Bursts of up to 300 simultaneous requests are accepted and processed as follows:
the first two requests are processed immediately
the following requests (up to 300 requests) will be queued and processed with a fixed rate of one request per 600ms (300 requests in a burst will take up to three minutes to get processed).
the response for the requests in a burst will be delayed until the request is processed.
The limits mentioned above are flagged as due to change. Please check the Xentral developer portal regularly for the latest values
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.schema.json","name":"maesn","colors":{"primary":"#27A691","light":"#5DCFBC","dark":"#004253"},"logo":{"light":"https://mintcdn.com/maesn/gCd41Ws3USFubam4/logo/maesn-light.svg?fit=max\u0026auto=format\u0026n=gCd41Ws3USFubam4\u0026q=85\u0026s=ba936398d19fd8fe8fb10d7b41c80170","dark":"https://mintcdn.com/maesn/gCd41Ws3USFubam4/logo/maesn-dark.svg?fit=max\u0026auto=format\u0026n=gCd41Ws3USFubam4\u0026q=85\u0026s=a831914dd5d3b84e5886f319d696df75","href":"https://docs.maesn.com"},"favicon":"https://mintcdn.com/maesn/gCd41Ws3USFubam4/logo/maesn-favicon.svg?fit=max\u0026auto=format\u0026n=gCd41Ws3USFubam4\u0026q=85\u0026s=0467d15b5d0ab2458326fa937d685118","navbar":{"primary":{"type":"button","label":"Get an API key","href":"https://www.maesn.com/contact/"}},"footer":{"socials":{"website":"https://www.maesn.com","github":"https://github.com/maesndev","linkedin":"https://www.linkedin.com/company/maesn-integration","youtube":"https://www.youtube.com/@Maesn_One-API"}},"seo":{"metatags":{"author":"Lennart Svensson","canonical":"https://docs.maesn.com"},"indexing":"all"},"integrations":{"gtm":{"tagId":"GTM-NRQ25WDW"}},"metadata":{"timestamp":true},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"maesn","hasAudioNarration":false,"actualSubdomain":"maesn","customDomains":["docs.maesn.com"],"gitSource":{"type":"github","owner":"maesndev","repo":"docs-2","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6adb65c5ba699f216aba9e88","collectionId":"f3ca4de8-309a-41d5-a1d5-a360a910995f","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6adb65c5ba699f216aba9e88"},"feedback":{"thumbs":true,"edits":false},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6adb65c5ba699f216aba9e88","clientVersion":"0.0.3966","searchFilterCounts":[{"language":"default","tag":"API reference","count":142},{"language":"default","tag":"Accounting","count":126},{"language":"default","tag":"Integrations","count":32},{"language":"default","tag":"Get started","count":17},{"language":"default","tag":"Use cases","count":13},{"language":"default","tag":"Journal Entries","count":11},{"language":"default","tag":"Contacts","count":7},{"language":"default","tag":"Bills","count":6},{"language":"default","tag":"Booking Proposals","count":6},{"language":"default","tag":"Items","count":6}]},"assistantConfig":{},"hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":".integration-table table{width:100%;table-layout:fixed}.integration-table table th:first-child{width:40%}.integration-table table th:not(:first-child){width:15%;text-align:center}.integration-table table td:not(:first-child){text-align:center;padding:8px 4px}"}],"page":{"pagePath":"rate-limits","slug":"/rate-limits","pageMetadata":{"title":"Rate limiting","description":"Learn how Maesn handles Rate Limiting for all supported systems.","keywords":["Maesn API rate limiting","Maesn accounting api limits"],"href":"/rate-limits"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Learn how Maesn handles Rate Limiting for all supported systems.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,li:`li`,p:`p`,ul:`ul`,..._provideComponents(),...props.components},{Heading,Warning}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`For the moment maesn’s unified APIs do not implement any specific rate limits. However, it is important to notice that the systems made available through the API implement their own rate limits and that these limits apply to our tenants.`}),`\n`,_jsx(Heading,{level:`2`,id:`automatic-retry`,children:`Automatic retry`}),`\n`,_jsx(_components.p,{children:`It is considered good practice to implement retry logic when encountering specific error codes and this is especially true for error code 429: Too many requests. This error code indicates that the API is receiving requests at a higher rate than it can handle and unless a retry mecahnism is implemented, the requests will be lost.`}),`\n`,_jsx(_components.p,{children:`The best practice for implementing retry logic is called “expontential backoff”. We recommend to retry the request after an initial one-minute delay and increasing the delay exponentially with each additional retry. I.e. if a request fails due toe a 429 error, the first retry is made after one minute, the next after two minutes, then 4 minutes, etc.`}),`\n`,_jsxs(_components.p,{children:[`For more information about handling various response codes and automatic retries, see our `,_jsx(_components.a,{href:`/guides/error-handling`,children:`error handling guide`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`target-system-rate-limits`,children:`Target system rate limits`}),`\n`,_jsx(Heading,{level:`3`,id:`abaconnect`,children:`AbaConnect`}),`\n`,_jsx(_components.p,{children:`The AbaConnect Webservices only supports one active request at a time.`}),`\n`,_jsxs(_components.p,{children:[`Source: `,_jsx(_components.a,{href:`https://downloads.abacus.ch/fileadmin/ablage/abaconnect/zipfiles/documents/AbaConnect_UsingWebServices.pdf`,children:`AbaConnect Webservice documentation`})]}),`\n`,_jsx(Heading,{level:`3`,id:`abacus`,children:`abacus`}),`\n`,_jsx(_components.p,{children:`For the abacus API, the following rate limits apply:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`200 calls per minute`}),`\n`,_jsx(_components.li,{children:`12’000 calls per hour`}),`\n`,_jsx(_components.li,{children:`30’000 calls per day`}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`Source: `,_jsx(_components.a,{href:`https://apihub.abacus.ch/odata`,children:`abacus API documentation`})]}),`\n`,_jsx(Heading,{level:`3`,id:`bexio`,children:`bexio`}),`\n`,_jsx(_components.p,{children:`The bexio API enforces a rate limit, that limits the number of requests per minute a client can make. Currently, the limit is not published.`}),`\n`,_jsxs(_components.p,{children:[`Source: `,_jsx(_components.a,{href:`https://docs.bexio.com/#section/API-basics/Rate-Limiting`,children:`bexio Developer Portal`})]}),`\n`,_jsx(Heading,{level:`3`,id:`buchhaltungsbutler`,children:`BuchhaltungsButler`}),`\n`,_jsx(_components.p,{children:`For the BuchhaltungsButler API, the following rate limits apply:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`100 requests per customer per minute`}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`Source: `,_jsx(_components.a,{href:`https://app.buchhaltungsbutler.de/docs/api/`,children:`BuchhaltungsButler API documentation`})]}),`\n`,_jsx(Heading,{level:`3`,id:`datev-rechnungswesen`,children:`DATEV Rechnungswesen`}),`\n`,_jsx(_components.p,{children:`No rate-limits are known for the DATEV Online APIs at the time of writing.`}),`\n`,_jsx(Heading,{level:`3`,id:`datev-unternehmen-online`,children:`DATEV Unternehmen Online`}),`\n`,_jsx(_components.p,{children:`No rate-limits are known for the DATEV Online APIs at the time of writing.`}),`\n`,_jsx(Heading,{level:`3`,id:`dinero`,children:`Dinero`}),`\n`,_jsx(_components.p,{children:`The Dinero API enforces a rate limit of 100 requests per minute, per organization, on a ClientID basis.`}),`\n`,_jsx(Heading,{level:`3`,id:`exact-online`,children:`Exact Online`}),`\n`,_jsx(_components.p,{children:`For the Exact Online REST API, the following rate limits apply:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Minutely limit - your app can make 60 API calls, per company, per minute.`}),`\n`,_jsx(_components.li,{children:`Daily limit - your app can make 5,000 API calls, per company, per day.`}),`\n`]}),`\n`,_jsx(_components.p,{children:`The following limits are effective as of 1 July 2021:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`You must not request new access token more than once every 10 minutes. You can only request for a new access token after 570 seconds from the time you successfully received the previous access token.`}),`\n`,_jsx(_components.li,{children:`No more than 10 errors per API key, per user, per company, per endpoint, and per hour. When you exceed this limit, your API key will be temporarily blocked from making further requests. The block will automatically be lifted after one hour and will gradually increase when you continue making these errors. Response code 400, 401, 403, and 404 are counted as errors.`}),`\n`,_jsx(_components.li,{children:`Mandatory filtering on single and bulk endpoints where sync APIs are available.`}),`\n`]}),`\n`,_jsx(_components.p,{children:`Based on fair use policy, Exact will take corrective action by throttling your app if the limit has been exceeded excessively. Some examples of excessive actions are repeated download of unchanged data every day, log in attempts to inactive accounts, and overloading the token endpoint.`}),`\n`,_jsxs(_components.p,{children:[`Source: `,_jsx(_components.a,{href:`https://support.exactonline.com/community/s/knowledge-base#All-All-DNO-Simulation-gen-apilimits`,children:`Exact Online Knowledge Base`})]}),`\n`,_jsx(Heading,{level:`3`,id:`fortnox`,children:`fortnox`}),`\n`,_jsx(_components.p,{children:`For the fortnox REST API, the following rate limit apply:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`The limit per access-token is 25 requests per 5 seconds. This equals to 300 requests per minute.`}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`Source: `,_jsx(_components.a,{href:`https://api.fortnox.se/apidocs#section/Documentation/Rate-limits`,children:`fortnox API documentation`})]}),`\n`,_jsx(Heading,{level:`3`,id:`freeagent`,children:`FreeAgent`}),`\n`,_jsx(_components.p,{children:`For FreeAgent API, the following rate limits apply:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`120 user requests per minute`}),`\n`,_jsx(_components.li,{children:`3600 user requests per hour`}),`\n`,_jsx(_components.li,{children:`15 token refreshes per minute`}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`Source: `,_jsx(_components.a,{href:`https://dev.freeagent.com/docs/introduction#rate-limits`,children:`FreeAgent API documentation`})]}),`\n`,_jsx(Heading,{level:`3`,id:`freshbooks`,children:`FreshBooks`}),`\n`,_jsx(_components.p,{children:`There is no published limit on the number of API requests for FreshBooks. However, they state that requests will be rate-limited if too many calls are made within a short period of time. Additionally, a maximum of 100 results will be returned for list methods, regardless of the value sent with the per_page parameter.`}),`\n`,_jsxs(_components.p,{children:[`Source: `,_jsx(_components.a,{href:`https://www.freshbooks.com/api/limits`,children:`FreshBooks API documentation`})]}),`\n`,_jsx(Heading,{level:`3`,id:`holded`,children:`Holded`}),`\n`,_jsx(_components.p,{children:`The holded API has a rate-limit of 1500 requests per 60 seconds.`}),`\n`,_jsx(Heading,{level:`3`,id:`lexware-office`,children:`Lexware Office`}),`\n`,_jsxs(_components.p,{children:[`The Lexware API uses `,_jsx(_components.a,{href:`https://en.wikipedia.org/wiki/Token_bucket`,children:`the token bucket algorithm`}),` to maintain a stable rate of requests against the resource endpoints. The limits refer to all endpoints of the Lexware API at the same time:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`A client can make up to 2 requests per second to the Lexware API.`}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`Source: `,_jsx(_components.a,{href:`https://developers.lexware.io/docs/#lexware-api-documentation-introduction`,children:`Lexware Office API documentation`})]}),`\n`,_jsx(_components.p,{children:`Separate rate-limits apply for the Lexware Office Partner API. Contact us for more information.`}),`\n`,_jsx(Heading,{level:`3`,id:`microsoft-business-central`,children:`Microsoft Business Central`}),`\n`,_jsx(_components.p,{children:`Business Central imposes a range of strict and well-defined limits both per environment and user. Some examples:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Per environment:`,`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`5 concurrent requests`}),`\n`,_jsx(_components.li,{children:`100 concurrent connections`}),`\n`,_jsx(_components.li,{children:`300/600 requests per minute in the sandbox/production environment`}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`Per user:`,`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`5 concurrent requests`}),`\n`,_jsx(_components.li,{children:`100 concurrent connections`}),`\n`,_jsx(_components.li,{children:`6000 requests within a 5-minute sliding window`}),`\n`]}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`Source: `,_jsx(_components.a,{href:`https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/administration/operational-limits-online`,children:`Microsoft Developer Portal`})]}),`\n`,_jsx(Heading,{level:`3`,id:`moneybird`,children:`Moneybird`}),`\n`,_jsx(_components.p,{children:`The Moneybird API has a rate-limit of 150 requests per 5 minutes.`}),`\n`,_jsx(Heading,{level:`3`,id:`odoo`,children:`Odoo`}),`\n`,_jsx(_components.p,{children:`1 call/sec is the official rate limit for Odoo.`}),`\n`,_jsx(Heading,{level:`3`,id:`pennylane`,children:`Pennylane`}),`\n`,_jsx(_components.p,{children:`The Pennylane API has a rate-limit of 5 requests per second.`}),`\n`,_jsx(Heading,{level:`3`,id:`procountor`,children:`Procountor`}),`\n`,_jsx(_components.p,{children:`The Procountor API has a rate limit of maximum 60 requests per second per customer on production server.`}),`\n`,_jsx(Heading,{level:`3`,id:`qonto`,children:`Qonto`}),`\n`,_jsx(_components.p,{children:`Qonto implement the following rate limits:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`1000 requests / 10 seconds`}),`\n`,_jsx(_components.li,{children:`10000 requests / 10 minutes`}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`quickbooks`,children:`QuickBooks`}),`\n`,_jsx(_components.p,{children:`QuickBooks implement the following rate limits and throttles:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`For Online API endpoints:`,`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`500 requests per minute per realm ID`}),`\n`,_jsx(_components.li,{children:`10 concurrent requests per realm ID and app`}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`For Batch endpoints:`,`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Recommended maximum number of payloads in a single batch request is 30`}),`\n`,_jsx(_components.li,{children:`Throttled at 40 requests per minute, per realm ID`}),`\n`]}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`Source: `,_jsx(_components.a,{href:`https://developer.intuit.com/app/developer/qbo/docs/learn/rest-api-features#limits-and-throttles`,children:`Intuit Developer Portal`})]}),`\n`,_jsx(Heading,{level:`3`,id:`sage-active`,children:`Sage Active`}),`\n`,_jsx(_components.p,{children:`To ensure the availability and integrity of Sage Active Public API V2, a rate limit of 3000 requests per application per minute has been set. The rate limit is set for each unique client application.`}),`\n`,_jsxs(_components.p,{children:[`Source: `,_jsx(_components.a,{href:`https://developer.sage.com/sageactive/concepts/bestpractices/`,children:`Sage Active Developer Portal`})]}),`\n`,_jsx(Heading,{level:`3`,id:`sevdesk`,children:`sevdesk`}),`\n`,_jsx(_components.p,{children:`The sevdesk API enforces a rate limit, that limits the number of requests per minute a client can make. Currently, the limit is not published.`}),`\n`,_jsx(Heading,{level:`3`,id:`snelstart`,children:`Snelstart`}),`\n`,_jsx(_components.p,{children:`The Snelstart API enforces a rate limit in the development and testing environment.\nEach developer key is valid for 90 days and allows a limited number of API calls, though the exact limit is not publicly specified.`}),`\n`,_jsx(Heading,{level:`3`,id:`twinfield`,children:`Twinfield`}),`\n`,_jsx(_components.p,{children:`Twinfield uses a system of “API credits”. Query requests as defined below will cost 1 API credit, and ‘Other requests’ will cost 3 API credits.`}),`\n`,_jsx(_components.p,{children:`All GET requests in the Maesn API fall under the ‘query requests‘ category with a cost of 1 API credit and all POST request fall under ‘Other requests’ with a cost of 3 API credits.`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Per IP Address`,`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`1000 API credits per minute`}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`Per ClientId`,`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`1000 API credits per minute`}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`Per OrganisationId`,`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`1000 API credits per minute`}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`Per ClientId and OrganisationId combination`,`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`500 API credits per minute`}),`\n`]}),`\n`]}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`visma-eaccounting`,children:`Visma eAccounting`}),`\n`,_jsx(_components.p,{children:`Visma eAccounting implements the following rate limits:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`600 requests per minute`}),`\n`,_jsx(_components.li,{children:`Limit is registered per client and endpoint/URL`}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`visma-e-conomic`,children:`Visma e-conomic`}),`\n`,_jsx(_components.p,{children:`Visma e-conomic implements the following rate limits:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`50.000 requests per 24 hours`}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`weclapp`,children:`weclapp`}),`\n`,_jsx(_components.p,{children:`The weclapp API enforces a rate limit, that limits the number of requests per minute a client can make. Currently, the limit is not published.`}),`\n`,_jsx(Heading,{level:`3`,id:`xentral`,children:`Xentral`}),`\n`,_jsx(_components.p,{children:`The Xentral API is currently rate limited independent of the plan to 100 requests/minute (one request per 600ms).`}),`\n`,_jsx(_components.p,{children:`Bursts of up to 300 simultaneous requests are accepted and processed as follows:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`the first two requests are processed immediately`}),`\n`,_jsx(_components.li,{children:`the following requests (up to 300 requests) will be queued and processed with a fixed rate of one request per 600ms (300 requests in a burst will take up to three minutes to get processed).`}),`\n`,_jsx(_components.li,{children:`the response for the requests in a burst will be delayed until the request is processed.`}),`\n`]}),`\n`,_jsx(Warning,{children:`The limits mentioned above are flagged as due to change. Please check the Xentral developer portal regularly for the latest values`}),`\n`,_jsxs(_components.p,{children:[`Source: `,_jsx(_components.a,{href:`https://developer.xentral.com/reference/rate-limiting`,children:`Xentral Developer Portal`})]}),`\n`,_jsx(Heading,{level:`3`,id:`xero`,children:`Xero`}),`\n`,_jsx(_components.p,{children:`Xero implements three types of rate limiting against the respective tenant:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Concurrent calls: 5 calls in progress at one time`}),`\n`,_jsx(_components.li,{children:`Minute Limit: 60 calls in a rolling 60-second window`}),`\n`,_jsx(_components.li,{children:`Daily Limit: 5000 calls in a rolling 24-hour window`}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`Source: `,_jsx(_components.a,{href:`https://developer.xero.com/documentation/guides/oauth2/limits/`,children:`Xero Developer Portal`})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Rate limiting","description":"Learn how Maesn handles Rate Limiting for all supported systems.","keywords":["Maesn API rate limiting","Maesn accounting api limits"],"href":"/rate-limits"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Automatic retry","slug":"automatic-retry","depth":2,"children":[]},{"title":"Target system rate limits","slug":"target-system-rate-limits","depth":2,"children":[{"title":"AbaConnect","slug":"abaconnect","depth":3,"children":[]},{"title":"abacus","slug":"abacus","depth":3,"children":[]},{"title":"bexio","slug":"bexio","depth":3,"children":[]},{"title":"BuchhaltungsButler","slug":"buchhaltungsbutler","depth":3,"children":[]},{"title":"DATEV Rechnungswesen","slug":"datev-rechnungswesen","depth":3,"children":[]},{"title":"DATEV Unternehmen Online","slug":"datev-unternehmen-online","depth":3,"children":[]},{"title":"Dinero","slug":"dinero","depth":3,"children":[]},{"title":"Exact Online","slug":"exact-online","depth":3,"children":[]},{"title":"fortnox","slug":"fortnox","depth":3,"children":[]},{"title":"FreeAgent","slug":"freeagent","depth":3,"children":[]},{"title":"FreshBooks","slug":"freshbooks","depth":3,"children":[]},{"title":"Holded","slug":"holded","depth":3,"children":[]},{"title":"Lexware Office","slug":"lexware-office","depth":3,"children":[]},{"title":"Microsoft Business Central","slug":"microsoft-business-central","depth":3,"children":[]},{"title":"Moneybird","slug":"moneybird","depth":3,"children":[]},{"title":"Odoo","slug":"odoo","depth":3,"children":[]},{"title":"Pennylane","slug":"pennylane","depth":3,"children":[]},{"title":"Procountor","slug":"procountor","depth":3,"children":[]},{"title":"Qonto","slug":"qonto","depth":3,"children":[]},{"title":"QuickBooks","slug":"quickbooks","depth":3,"children":[]},{"title":"Sage Active","slug":"sage-active","depth":3,"children":[]},{"title":"sevdesk","slug":"sevdesk","depth":3,"children":[]},{"title":"Snelstart","slug":"snelstart","depth":3,"children":[]},{"title":"Twinfield","slug":"twinfield","depth":3,"children":[]},{"title":"Visma eAccounting","slug":"visma-eaccounting","depth":3,"children":[]},{"title":"Visma e-conomic","slug":"visma-e-conomic","depth":3,"children":[]},{"title":"weclapp","slug":"weclapp","depth":3,"children":[]},{"title":"Xentral","slug":"xentral","depth":3,"children":[]},{"title":"Xero","slug":"xero","depth":3,"children":[]}]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/maesn/b9f4cde31e61c54c/hubspot.js"],"subdomain":"maesn","siteName":"maesn","title":"Rate limiting - maesn","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-08-14T14:38:10.940Z","gitLastModified":"2026-08-14T14:37:45.000Z","originalFileLocation":"rate-limits.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Learn how Maesn handles Rate Limiting for all supported systems.\">\u003cmeta data-mint-head name=\"application-name\" content=\"maesn\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/maesn/WJYcicI1ZlNx491k/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/maesn/WJYcicI1ZlNx491k/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/maesn/WJYcicI1ZlNx491k/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/maesn/WJYcicI1ZlNx491k/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/maesn/WJYcicI1ZlNx491k/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/maesn/WJYcicI1ZlNx491k/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/maesn/WJYcicI1ZlNx491k/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/maesn/WJYcicI1ZlNx491k/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/maesn/WJYcicI1ZlNx491k/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Rate limiting - maesn\">\u003cmeta data-mint-head property=\"og:description\" content=\"Learn how Maesn handles Rate Limiting for all supported systems.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"maesn\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.maesn.com/rate-limits\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://maesn.mintlify.app/_mintlify/api/og/v2?division=Get+started\u0026amp;title=Rate+limiting\u0026amp;description=Learn+how+Maesn+handles+Rate+Limiting+for+all+supported+systems.\u0026amp;theme=8d1fcb7d18805d920691c9fa\u0026amp;signature=9ebd4e8047e1343c9145b2e321932e44b7bdbf93ef0c494976e0a79fa5fcdaa8\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Rate limiting - maesn\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Learn how Maesn handles Rate Limiting for all supported systems.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://maesn.mintlify.app/_mintlify/api/og/v2?division=Get+started\u0026amp;title=Rate+limiting\u0026amp;description=Learn+how+Maesn+handles+Rate+Limiting+for+all+supported+systems.\u0026amp;theme=8d1fcb7d18805d920691c9fa\u0026amp;signature=9ebd4e8047e1343c9145b2e321932e44b7bdbf93ef0c494976e0a79fa5fcdaa8\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/maesn/WJYcicI1ZlNx491k/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"maesn\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#27A691\">\u003cmeta data-mint-head name=\"author\" content=\"Lennart Svensson\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.maesn.com/rate-limits\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/rate-limits.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.maesn.com/#organization\",\"name\":\"maesn\",\"url\":\"https://docs.maesn.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/maesn/gCd41Ws3USFubam4/logo/maesn-light.svg?fit=max\u0026auto=format\u0026n=gCd41Ws3USFubam4\u0026q=85\u0026s=ba936398d19fd8fe8fb10d7b41c80170\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.maesn.com#website\",\"name\":\"maesn\",\"url\":\"https://docs.maesn.com\",\"publisher\":{\"@id\":\"https://docs.maesn.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.maesn.com/rate-limits#webpage\",\"url\":\"https://docs.maesn.com/rate-limits\",\"name\":\"Rate limiting\",\"description\":\"Learn how Maesn handles Rate Limiting for all supported systems.\",\"dateModified\":\"2026-08-14T14:37:45.000Z\",\"isPartOf\":{\"@id\":\"https://docs.maesn.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.maesn.com/rate-limits#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.maesn.com/rate-limits#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Get started\",\"item\":\"https://docs.maesn.com/introduction\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Rate limiting\",\"item\":\"https://docs.maesn.com/rate-limits\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.maesn.com/rate-limits#article\",\"headline\":\"Rate limiting\",\"name\":\"Rate limiting\",\"description\":\"Learn how Maesn handles Rate Limiting for all supported systems.\",\"url\":\"https://docs.maesn.com/rate-limits\",\"mainEntityOfPage\":{\"@id\":\"https://docs.maesn.com/rate-limits#webpage\"},\"dateModified\":\"2026-08-14T14:37:45.000Z\",\"keywords\":\"Maesn API rate limiting, Maesn accounting api limits\",\"publisher\":{\"@id\":\"https://docs.maesn.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.maesn.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"maesn\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"maesn","nav":{"global":null,"groups":[{"group":"Get started","pages":[{"title":"Introduction","href":"/introduction"},{"title":"Explore our integrations","mode":"wide","href":"/integrations-overview"},{"title":"Authentication","description":"Learn how to authenticate to the maesn Unified API.","href":"/authentication"},{"title":"Rate limiting","href":"/rate-limits"},{"title":"Filtering, Ordering, \u0026 Pagination","description":"Learn how Maesn Unified API handles Filtering, Ordering and Pagination to access exactly the data that you need.","href":"/filtering-ordering-pagination"},{"title":"Standardized Data","href":"/standardization"},{"title":"Raw Data","href":"/raw-data"},{"title":"Passthrough","href":"/pass-through"},{"title":"Asynchronous Task","href":"/async-task"},{"title":"Idempotency","tag":"Beta","href":"/idempotency"},{"title":"Sandboxes","href":"/sandboxes"},{"title":"TypeScript SDK","href":"/sdk"},{"title":"OpenAPI specs","href":"/openapi-specs"},{"title":"MCP Server","href":"/mcp-server"},{"title":"Webhooks","href":"/webhooks"},{"title":"Welcome to maesn!","mode":"wide","sidebarTitle":"About maesn","href":"/what-is-maesn"},{"title":"Changelog","href":"/changelog"}]},{"group":"Guides","pages":[{"title":"Quick start","href":"/guides/quick-start"},{"title":"maesn Connect","href":"/guides/maesn-connect"},{"title":"Test maesn's Unified API with Postman","sidebarTitle":"Postman","href":"/guides/postman"},{"title":"Keeping data fresh","href":"/guides/keep-data-fresh"},{"title":"Error handling","mode":"wide","href":"/guides/error-handling"}]},{"group":"Integrations","pages":[{"title":"Endpoint coverage","mode":"wide","sidebarTitle":"Overview","href":"/integrations"},{"title":"AbaConnect","sidebarTitle":"AbaConnect","href":"/integrations/abaconnect"},{"title":"Abacus","sidebarTitle":"Abacus","href":"/integrations/abacus"},{"title":"bexio","sidebarTitle":"bexio","href":"/integrations/bexio"},{"title":"BuchhaltungsButler","sidebarTitle":"BuchhaltungsButler","href":"/integrations/buchhaltungsbutler"},{"title":"DATEV Rechnungswesen","sidebarTitle":"DATEV Rechnungswesen","href":"/integrations/datev-rechnungswesen"},{"title":"DATEV Unternehmen Online","sidebarTitle":"DATEV Unternehmen Online","href":"/integrations/datev-unternehmen-online"},{"title":"Dinero","sidebarTitle":"Dinero","href":"/integrations/dinero"},{"title":"Exact Online","sidebarTitle":"Exact Online","href":"/integrations/exact-online"},{"title":"fortnox","sidebarTitle":"fortnox","href":"/integrations/fortnox"},{"title":"FreeAgent","sidebarTitle":"FreeAgent","href":"/integrations/freeagent"},{"title":"FreshBooks","sidebarTitle":"FreshBooks","href":"/integrations/freshbooks"},{"title":"Holded","sidebarTitle":"Holded","href":"/integrations/holded"},{"title":"Lexware Office","sidebarTitle":"Lexware Office","href":"/integrations/lexware-office"},{"title":"Microsoft Business Central","sidebarTitle":"Microsoft Business Central","href":"/integrations/microsoft-dynamics-365-business-central"},{"title":"Moneybird","sidebarTitle":"Moneybird","href":"/integrations/moneybird"},{"title":"Odoo","sidebarTitle":"Odoo","href":"/integrations/odoo"},{"title":"Pennylane","sidebarTitle":"Pennylane","href":"/integrations/pennylane"},{"title":"Procountor","sidebarTitle":"Procountor","href":"/integrations/procountor"},{"title":"Qonto","sidebarTitle":"Qonto","href":"/integrations/qonto"},{"title":"QuickBooks","sidebarTitle":"QuickBooks","href":"/integrations/quickbooks"},{"title":"Sage Accounting","sidebarTitle":"Sage Accounting","href":"/integrations/sage-accounting"},{"title":"Sage Active","sidebarTitle":"Sage Active","href":"/integrations/sage-active"},{"title":"sevdesk","sidebarTitle":"sevdesk","href":"/integrations/sevdesk"},{"title":"Snelstart","sidebarTitle":"Snelstart","href":"/integrations/snelstart"},{"title":"Twinfield","sidebarTitle":"Twinfield","href":"/integrations/twinfield"},{"title":"Tripletex","sidebarTitle":"Tripletex","href":"/integrations/tripletex"},{"title":"Visma eAccounting (Spiris)","sidebarTitle":"Visma eAcccounting","href":"/integrations/visma-eaccounting"},{"title":"Visma e-conomic","sidebarTitle":"Visma e-conomic","href":"/integrations/visma-e-conomic"},{"title":"weclapp","sidebarTitle":"weclapp","href":"/integrations/weclapp"},{"title":"Xentral","sidebarTitle":"Xentral","href":"/integrations/xentral"},{"title":"Xero","sidebarTitle":"Xero","href":"/integrations/xero"}]},{"group":"Use cases","pages":[{"title":"Explore our use cases","href":"/use-cases"},{"title":"Capture invoices \u0026 bills","href":"/use-cases/capture-invoices"},{"title":"Debt management","href":"/use-cases/debt-management"},{"title":"Fetch invoices","href":"/use-cases/fetch-invoices"},{"title":"Fetch bills","href":"/use-cases/fetch-bills"},{"title":"Synchronize contacts","href":"/use-cases/sync-contacts"},{"title":"Synchronize expenses","href":"/use-cases/sync-expenses"},{"title":"Synchronize items","href":"/use-cases/sync-items"},{"title":"Create invoices","href":"/use-cases/create-invoices"},{"title":"Accounts payable","href":"/use-cases/accounts-payable"},{"title":"Accounts receivable","href":"/use-cases/accounts-receivable"},{"title":"Create bookings","href":"/use-cases/create-bookings"},{"title":"DATEV use cases","href":"/use-cases/datev-overview"}]},{"group":"API reference","pages":[{"group":"Accounting","pages":[{"title":"Accounting API","sidebarTitle":"Overview","href":"/api-reference/accounting-endpoints/accounting-overview"},{"group":"Accounts","pages":[{"openapi":"GET /accounting/accounts","title":null,"href":"/api-reference/accounting-endpoints/accounts/get-accounts"},{"openapi":"get /accounting/accounts/{accountId}","title":null,"href":"/api-reference/accounting-endpoints/accounts/get-account"},{"openapi":"post /accounting/accounts","title":null,"href":"/api-reference/accounting-endpoints/accounts/create-account"}]},{"group":"Async Task","pages":[{"openapi":"get /accounting/asyncTask/{taskId}","title":null,"href":"/api-reference/accounting-endpoints/asynctask/get-async-task-info"}]},{"group":"Bank Accounts","pages":[{"openapi":"GET /accounting/bankAccounts","title":null,"href":"/api-reference/accounting-endpoints/bankaccounts/get-bank-accounts"},{"openapi":"GET /accounting/bankAccounts/{bankAccountId}","title":null,"href":"/api-reference/accounting-endpoints/bankaccounts/get-bank-account"},{"openapi":"post /accounting/bankAccounts","title":null,"href":"/api-reference/accounting-endpoints/bankaccounts/create-bank-account"}]},{"group":"Bills","pages":[{"openapi":"get /accounting/bills","title":null,"href":"/api-reference/accounting-endpoints/bills/get-bills"},{"openapi":"get /accounting/bills/{billId}","title":null,"href":"/api-reference/accounting-endpoints/bills/get-bill"},{"openapi":"post /accounting/bills","title":null,"href":"/api-reference/accounting-endpoints/bills/create-bill"},{"openapi":"put /accounting/bills/{billId}","title":null,"href":"/api-reference/accounting-endpoints/bills/update-bill"},{"openapi":"delete /accounting/bills/{billId}","title":null,"href":"/api-reference/accounting-endpoints/bills/delete-bill"},{"openapi":"get /accounting/bills/{billId}/document","title":null,"href":"/api-reference/accounting-endpoints/bills/get-bill-document"}]},{"group":"Bill Lines","pages":[{"openapi":"get /accounting/bills/{billId}/lineItems","title":null,"href":"/api-reference/accounting-endpoints/billlineitems/get-bill-lines"},{"openapi":"post /accounting/bills/{billId}/lineItems","title":null,"href":"/api-reference/accounting-endpoints/billlineitems/create-bill-line"},{"openapi":"put /accounting/bills/{billId}/lineItems/{lineItemId}","title":null,"href":"/api-reference/accounting-endpoints/billlineitems/update-bill-line"}]},{"group":"Booking Proposals","pages":[{"openapi":"get /accounting/bookingProposals","title":null,"href":"/api-reference/accounting-endpoints/bookingproposals/get-booking-proposals"},{"openapi":"get /accounting/bookingProposals/{bookingProposalId}","title":null,"href":"/api-reference/accounting-endpoints/bookingproposals/get-booking-proposal"},{"openapi":"get /accounting/bookingProposals/{bookingProposalId}/document","title":null,"href":"/api-reference/accounting-endpoints/bookingproposals/get-booking-proposal-document"},{"openapi":"POST /accounting/bookingProposals","title":null,"href":"/api-reference/accounting-endpoints/bookingproposals/create-booking-proposal"},{"openapi":"POST /accounting/bookingProposals/async","title":null,"href":"/api-reference/accounting-endpoints/bookingproposals/create-booking-proposal-async"},{"openapi":"POST /accounting/bookingProposals/{bookingProposalId}/attachments","title":null,"href":"/api-reference/accounting-endpoints/bookingproposals/attachments/create-booking-proposal-attachment"}]},{"group":"Contacts","pages":[{"openapi":"get /accounting/contacts","title":null,"href":"/api-reference/accounting-endpoints/contacts/get-contacts"},{"openapi":"get /accounting/contacts/{contactId}","title":null,"href":"/api-reference/accounting-endpoints/contacts/get-contact"},{"openapi":"post /accounting/contacts","title":null,"href":"/api-reference/accounting-endpoints/contacts/create-contact"},{"openapi":"put /accounting/contacts/{contactId}","title":null,"href":"/api-reference/accounting-endpoints/contacts/put-contact"},{"openapi":"patch /accounting/contacts/{contactId}","title":null,"href":"/api-reference/accounting-endpoints/contacts/patch-contact"},{"openapi":"post /accounting/contacts/bulk","title":null,"href":"/api-reference/accounting-endpoints/contacts/create-contacts-bulk"},{"openapi":"get /accounting/contacts/async","title":null,"href":"/api-reference/accounting-endpoints/contacts/get-contacts-async"}]},{"group":"Credit Notes","pages":[{"openapi":"GET /accounting/creditNotes","title":null,"href":"/api-reference/accounting-endpoints/creditnotes/get-credit-notes"},{"openapi":"GET /accounting/creditNotes/{creditNoteId}","title":null,"href":"/api-reference/accounting-endpoints/creditnotes/get-credit-note"},{"openapi":"POST /accounting/creditNotes","title":null,"href":"/api-reference/accounting-endpoints/creditnotes/create-credit-note"},{"openapi":"get /accounting/creditNotes/{creditNoteId}/documents","title":null,"href":"/api-reference/accounting-endpoints/creditnotes/get-credit-note-documents"}]},{"group":"Currencies","pages":[{"openapi":"get /accounting/currencies","title":null,"href":"/api-reference/accounting-endpoints/currencies/get-currencies"}]},{"group":"Customers","pages":[{"openapi":"get /accounting/customers","title":null,"href":"/api-reference/accounting-endpoints/customers/get-customers"},{"openapi":"get /accounting/customers/{contactId}","title":null,"href":"/api-reference/accounting-endpoints/customers/get-customer"},{"openapi":"post /accounting/customers","title":null,"href":"/api-reference/accounting-endpoints/customers/create-customer"},{"openapi":"put /accounting/customers/{contactId}","title":null,"href":"/api-reference/accounting-endpoints/customers/update-customer"},{"openapi":"patch /accounting/customers/{contactId}","title":null,"href":"/api-reference/accounting-endpoints/customers/patch-customer"}]},{"group":"Dimensions","pages":[{"openapi":"get /accounting/dimensions","title":null,"href":"/api-reference/accounting-endpoints/dimensions/get-dimensions"},{"openapi":"get /accounting/dimensions/{dimension}","title":null,"href":"/api-reference/accounting-endpoints/dimensions/get-dimensions-by-dimension"}]},{"group":"Expenses","pages":[{"openapi":"get /accounting/expenses","title":null,"href":"/api-reference/accounting-endpoints/expenses/get-expenses"},{"openapi":"get /accounting/expenses/{expenseId}","title":null,"href":"/api-reference/accounting-endpoints/expenses/get-expense"},{"openapi":"post /accounting/expenses","title":null,"href":"/api-reference/accounting-endpoints/expenses/create-expense"},{"openapi":"post /accounting/expenses/async","title":null,"href":"/api-reference/accounting-endpoints/expenses/create-expense-async"}]},{"group":"Files","pages":[{"openapi":"post /accounting/files","title":null,"href":"/api-reference/accounting-endpoints/files/upload-file"},{"openapi":"post /accounting/files/async","title":null,"href":"/api-reference/accounting-endpoints/files/upload-file-async"},{"openapi":"get /accounting/files/documentTypes","title":null,"href":"/api-reference/accounting-endpoints/files/get-document-types"},{"openapi":"get /accounting/files/documentExtensions","title":null,"href":"/api-reference/accounting-endpoints/files/get-document-extensions"}]},{"group":"Fiscal Years","pages":[{"openapi":"get /accounting/fiscalYears","title":null,"href":"/api-reference/accounting-endpoints/fiscalyears/get-fiscal-years"},{"openapi":"get /accounting/fiscalYears/{fiscalYearId}","title":null,"href":"/api-reference/accounting-endpoints/fiscalyears/get-fiscal-year"}]},{"group":"Goods Receipts","pages":[{"openapi":"GET /accounting/goodsReceipts","title":null,"href":"/api-reference/accounting-endpoints/goodsreceipts/get-goods-receipts"},{"openapi":"GET /accounting/goodsReceipts/{goodsReceiptId}","title":null,"href":"/api-reference/accounting-endpoints/goodsreceipts/get-goods-receipt"}]},{"group":"Goods Receipt Lines","pages":[{"openapi":"GET /accounting/goodsReceipts/{goodsReceiptId}/lineItems","title":null,"href":"/api-reference/accounting-endpoints/goodsreceiptlineitems/get-goods-receipt-lines"},{"openapi":"GET /accounting/goodsReceipts/{goodsReceiptId}/lineItems/{lineItemId}","title":null,"href":"/api-reference/accounting-endpoints/goodsreceiptlineitems/get-goods-receipt-line"}]},{"group":"Invoices","pages":[{"openapi":"get /accounting/invoices","title":null,"href":"/api-reference/accounting-endpoints/invoices/get-invoices"},{"openapi":"get /accounting/invoices/{invoiceId}","title":null,"href":"/api-reference/accounting-endpoints/invoices/get-invoice"},{"openapi":"post /accounting/invoices","title":null,"href":"/api-reference/accounting-endpoints/invoices/create-invoice"},{"openapi":"patch /accounting/invoices/{invoiceId}","title":null,"href":"/api-reference/accounting-endpoints/invoices/patch-invoice"},{"openapi":"get /accounting/invoices/{invoiceId}/document","title":null,"href":"/api-reference/accounting-endpoints/invoices/get-invoice-document"}]},{"group":"Invoice Lines","pages":[{"openapi":"get /accounting/invoices/{invoiceId}/lineItems","title":null,"href":"/api-reference/accounting-endpoints/invoicelineitems/get-invoice-lines"},{"openapi":"get /accounting/invoices/{invoiceId}/lineItems/{lineItemId}","title":null,"href":"/api-reference/accounting-endpoints/invoicelineitems/get-invoice-line"},{"openapi":"post /accounting/invoices/{invoiceId}/lineItems","title":null,"href":"/api-reference/accounting-endpoints/invoicelineitems/create-invoice-line"},{"openapi":"patch /accounting/invoices/{invoiceId}/lineItems/{lineItemId}","title":null,"href":"/api-reference/accounting-endpoints/invoicelineitems/patch-invoice-line"}]},{"group":"Items","pages":[{"openapi":"get /accounting/items","title":null,"href":"/api-reference/accounting-endpoints/items/get-items"},{"openapi":"get /accounting/items/{itemId}","title":null,"href":"/api-reference/accounting-endpoints/items/get-item"},{"openapi":"post /accounting/items","title":null,"href":"/api-reference/accounting-endpoints/items/create-item"},{"openapi":"patch /accounting/items/{itemId}","title":null,"href":"/api-reference/accounting-endpoints/items/patch-item"},{"openapi":"put /accounting/items/{itemId}","title":null,"href":"/api-reference/accounting-endpoints/items/update-item"},{"openapi":"delete /accounting/items/{itemId}","title":null,"href":"/api-reference/accounting-endpoints/items/delete-item"}]},{"group":"Journals","pages":[{"openapi":"GET /accounting/journals","title":null,"href":"/api-reference/accounting-endpoints/journals/get-journals"}]},{"group":"Journal Entries","pages":[{"openapi":"GET /accounting/journalEntries","title":null,"href":"/api-reference/accounting-endpoints/journalentries/get-journal-entries"},{"openapi":"GET /accounting/journalEntries/async","title":null,"href":"/api-reference/accounting-endpoints/journalentries/get-journal-entries-async"},{"openapi":"GET /accounting/journalEntries/{journalEntryId}","title":null,"href":"/api-reference/accounting-endpoints/journalentries/get-journal-entry"},{"openapi":"POST /accounting/journalEntries","title":null,"href":"/api-reference/accounting-endpoints/journalentries/create-journal-entry"},{"openapi":"PUT /accounting/journalEntries/{journalEntryId}","title":null,"href":"/api-reference/accounting-endpoints/journalentries/update-journal-entry"},{"openapi":"PATCH /accounting/journalEntries/{journalEntryId}","title":null,"href":"/api-reference/accounting-endpoints/journalentries/patch-journal-entry"},{"openapi":"delete /accounting/journalEntries/{journalEntryId}","title":null,"href":"/api-reference/accounting-endpoints/journalentries/delete-journal-entry"},{"openapi":"POST /accounting/journalEntries/bulk","title":null,"href":"/api-reference/accounting-endpoints/journalentries/create-journal-entries-bulk"},{"openapi":"GET /accounting/journalEntries/{journalEntryId}/Attachments","title":null,"href":"/api-reference/accounting-endpoints/journalentries/attachments/get-journal-entry-attachments"},{"openapi":"GET /accounting/journalEntries/{journalEntryId}/Attachments/{attachmentId}","title":null,"href":"/api-reference/accounting-endpoints/journalentries/attachments/get-journal-entry-attachment"},{"openapi":"POST /accounting/journalEntries/{journalEntryId}/Attachments","title":null,"href":"/api-reference/accounting-endpoints/journalentries/attachments/create-journal-entry-attachment"}]},{"group":"Offers","pages":[{"openapi":"get /accounting/offers","title":null,"href":"/api-reference/accounting-endpoints/offers/get-offers"},{"openapi":"get /accounting/offers/{offerId}","title":null,"href":"/api-reference/accounting-endpoints/offers/get-offer"},{"openapi":"get /accounting/offers/{offerId}/document","title":null,"href":"/api-reference/accounting-endpoints/offers/get-offer-document"},{"openapi":"post /accounting/offers","title":null,"href":"/api-reference/accounting-endpoints/offers/create-offer"}]},{"group":"Offer Lines","pages":[{"openapi":"get /accounting/offers/{offerId}/lineItems","title":null,"href":"/api-reference/accounting-endpoints/offerlineitems/get-offer-lines"},{"openapi":"get /accounting/offers/{offerId}/lineItems/{lineItemId}","title":null,"href":"/api-reference/accounting-endpoints/offerlineitems/get-offer-line"}]},{"group":"Open Items","pages":[{"openapi":"get /accounting/openItems","title":null,"href":"/api-reference/accounting-endpoints/openitems/get-open-items"},{"openapi":"get /accounting/openItems/async","title":null,"href":"/api-reference/accounting-endpoints/openitems/get-open-items-async"}]},{"group":"Payments","pages":[{"openapi":"get /accounting/payments","title":null,"href":"/api-reference/accounting-endpoints/payments/get-payments"},{"openapi":"get /accounting/payments/{paymentId}","title":null,"href":"/api-reference/accounting-endpoints/payments/get-payment"},{"openapi":"post /accounting/payments","title":null,"href":"/api-reference/accounting-endpoints/payments/create-payment"},{"openapi":"delete /accounting/payments/{paymentId}","title":null,"href":"/api-reference/accounting-endpoints/payments/delete-payment"}]},{"group":"Payment Terms","pages":[{"openapi":"get /accounting/paymentTerms","title":null,"href":"/api-reference/accounting-endpoints/paymentterms/get-payment-terms"},{"openapi":"get /accounting/paymentTerms/{paymentTermId}","title":null,"href":"/api-reference/accounting-endpoints/paymentterms/get-payment-term"},{"openapi":"post /accounting/paymentTerms","title":null,"href":"/api-reference/accounting-endpoints/paymentterms/create-payment-term"}]},{"group":"Projects","pages":[{"openapi":"GET /accounting/projects","title":null,"href":"/api-reference/accounting-endpoints/projects/get-projects"},{"openapi":"GET /accounting/projects/{projectId}","title":null,"href":"/api-reference/accounting-endpoints/projects/get-project"},{"openapi":"POST /accounting/projects","title":null,"href":"/api-reference/accounting-endpoints/projects/create-project"},{"openapi":"get /accounting/projects/async","title":null,"href":"/api-reference/accounting-endpoints/projects/get-projects-async"}]},{"group":"Purchase Orders","pages":[{"openapi":"GET /accounting/purchaseOrders","title":null,"href":"/api-reference/accounting-endpoints/purchaseorders/get-purchase-orders"},{"openapi":"GET /accounting/purchaseOrders/{purchaseOrderId}","title":null,"href":"/api-reference/accounting-endpoints/purchaseorders/get-purchase-order"}]},{"group":"Purchase Order Lines","pages":[{"openapi":"GET /accounting/purchaseOrders/{purchaseOrderId}/lineItems","title":null,"href":"/api-reference/accounting-endpoints/purchaseorderlineitems/get-purchase-order-lines"},{"openapi":"GET /accounting/purchaseOrders/{purchaseOrderId}/lineItems/{lineItemId}","title":null,"href":"/api-reference/accounting-endpoints/purchaseorderlineitems/get-purchase-order-line"}]},{"group":"Reason Codes","pages":[{"openapi":"get /accounting/reasonCodes","title":null,"href":"/api-reference/accounting-endpoints/reasoncodes/get-reason-codes"}]},{"group":"Sales Orders","pages":[{"openapi":"GET /accounting/salesOrders","title":null,"href":"/api-reference/accounting-endpoints/salesorders/get-sales-orders"},{"openapi":"GET /accounting/salesOrders/{salesOrderId}","title":null,"href":"/api-reference/accounting-endpoints/salesorders/get-sales-order"},{"openapi":"POST /accounting/salesOrders","title":null,"href":"/api-reference/accounting-endpoints/salesorders/create-sales-order"}]},{"group":"Sales Order Lines","pages":[{"openapi":"GET /accounting/salesOrders/{salesOrderId}/lineItems","title":null,"href":"/api-reference/accounting-endpoints/salesorderlineitems/get-sales-order-lines"}]},{"group":"Suppliers","pages":[{"openapi":"get /accounting/suppliers","title":null,"href":"/api-reference/accounting-endpoints/suppliers/get-suppliers"},{"openapi":"get /accounting/suppliers/{contactId}","title":null,"href":"/api-reference/accounting-endpoints/suppliers/get-supplier"},{"openapi":"post /accounting/suppliers","title":null,"href":"/api-reference/accounting-endpoints/suppliers/create-supplier"},{"openapi":"put /accounting/suppliers/{contactId}","title":null,"href":"/api-reference/accounting-endpoints/suppliers/update-supplier"},{"openapi":"patch /accounting/suppliers/{contactId}","title":null,"href":"/api-reference/accounting-endpoints/suppliers/patch-supplier"}]},{"group":"Tax Rates","pages":[{"openapi":"get /accounting/taxRates","title":null,"href":"/api-reference/accounting-endpoints/taxrates/get-tax-rates"},{"openapi":"get /accounting/taxRates/{taxRateId}","title":null,"href":"/api-reference/accounting-endpoints/taxrates/get-tax-rate"}]},{"group":"Tolerance Limits","pages":[{"openapi":"get /accounting/toleranceLimits","title":null,"href":"/api-reference/accounting-endpoints/tolerancelimits/get-tolerance-limits"}]},{"group":"Transactions","pages":[{"openapi":"post /accounting/transactions","title":null,"href":"/api-reference/accounting-endpoints/transactions/create-transaction"}]},{"group":"Trial Balance","pages":[{"openapi":"get /accounting/trialBalance","title":null,"href":"/api-reference/accounting-endpoints/trialbalance/get-trial-balance"}]},{"group":"Units","pages":[{"openapi":"get /accounting/units","title":null,"href":"/api-reference/accounting-endpoints/units/get-units"}]},{"group":"Vendor Credits","pages":[{"openapi":"get /accounting/vendorCredits","title":null,"href":"/api-reference/accounting-endpoints/vendorcredits/get-vendor-credits"},{"openapi":"post /accounting/vendorCredits","title":null,"href":"/api-reference/accounting-endpoints/vendorcredits/create-vendor-credit"},{"openapi":"put /accounting/vendorCredits/{vendorCreditId}","title":null,"href":"/api-reference/accounting-endpoints/vendorcredits/update-vendor-credit"},{"openapi":"delete /accounting/vendorCredits/{vendorCreditId}","title":null,"href":"/api-reference/accounting-endpoints/vendorcredits/delete-vendor-credit"}]}]},{"group":"Authentication","pages":[{"openapi":"get /auth/{TARGET_SYSTEM}","title":null,"href":"/api-reference/auth/get-auth"},{"openapi":"post /auth/{TARGET_SYSTEM}","title":null,"href":"/api-reference/auth/post-auth"},{"openapi":"get /auth/environments","title":null,"href":"/api-reference/auth/get-environments"},{"openapi":"get /auth/companies","title":null,"href":"/api-reference/auth/get-companies"},{"openapi":"post /auth/accounts/{TARGET_SYSTEM}","title":null,"href":"/api-reference/auth/create-account"}]},{"group":"Tenant Management","pages":[{"openapi":"post /tenants/register-system","title":null,"href":"/api-reference/accounting-endpoints/tenants/register-end-system"},{"openapi":"post /tenants/add-callback-url","title":null,"href":"/api-reference/accounting-endpoints/tenants/add-callback-url"},{"openapi":"get /tenants/get-end-user-list","title":null,"href":"/api-reference/accounting-endpoints/tenants/get-end-user-list"},{"openapi":"delete /tenants/delete-end-user","title":null,"href":"/api-reference/accounting-endpoints/tenants/delete-end-user"},{"openapi":"post /tenants/signing-secret","title":null,"href":"/api-reference/accounting-endpoints/tenants/create-signing-secret"},{"openapi":"post /tenants/submission-page-style","title":"Set submission page style","href":"/api-reference/accounting-endpoints/tenants/set-submission-page-style"}]},{"group":"User","pages":[{"title":"User API","sidebarTitle":"Overview","href":"/api-reference/user-endpoints/user-overview"},{"group":"Users","pages":[{"openapi":"get /user/user-info","title":null,"href":"/api-reference/user-endpoints/user/user-info"}]}]},{"group":"Webhooks","pages":[{"openapi":"post /webhooks","title":null,"href":"/api-reference/webhooks/create-webhook"},{"openapi":"get /webhooks","title":null,"href":"/api-reference/webhooks/get-webhooks"},{"openapi":"delete /webhooks/{webhookId}","title":null,"href":"/api-reference/webhooks/delete-webhook"}]}]},{"group":"Knowledgebase","pages":[{"title":"DATEV service configuration","href":"/knowledgebase/datev-service-configuration"}]}]},"title":"Rate limiting - maesn","buildId":"dpl_cadrRc5H9XQiJQbDFN5mcYRs2PAj","deploymentId":"dpl_cadrRc5H9XQiJQbDFN5mcYRs2PAj","dynamics":[],"chunks":[]}