Connecting to Moneybird
Moneybird has sandbox administrations and tokens you create yourself.
Getting access
For your own administration you create a personal token yourself. With it, your software can connect without an application or a waiting period.
If you are building software that has to work for other Moneybird users too, you register an app and sign-in runs on OAuth. The user grants permission themselves and you never see their password.
Every request goes to an address containing the administration number. If you work with several administrations, your software has to know which one applies. The API is on version 2 and answers in JSON or XML.
Testing without touching your live administration
Moneybird offers sandbox administrations. They have every feature a normal administration has, and invoices created in one carry a watermark so they cannot be mistaken for real invoices.
The limits
Moneybird allows 150 requests per five minutes per IP address. For reports the limit is lower, at 50 per five minutes. If you exceed it, the API responds with status code 429 and states how long to wait.
For most integrations that is more than enough. The limit becomes noticeable during an initial import, when you want to transfer a few thousand customers or invoices at once. An integration that reads the stated wait time and respects it then transfers the data in batches.
Sources
Frequently asked questions
Can we create and hold the token ourselves?
That is our preference. The token stays yours and you can revoke access at any moment, including if you ever continue with someone else.
Our accountant works in our Moneybird administration. Will they notice the integration?
Entries made by the integration appear in the administration in the same way as any other. Agree up front how an invoice from the integration is recognisable, for instance by its own number series, so your accountant can see which invoices come from the integration.
What happens to an invoice Moneybird rejects?
In a well-built integration, that invoice appears on a list that someone checks, together with the reason for the rejection.
Can we move to another package later?
You can. The part of your software that communicates with Moneybird is then replaced. We keep that part separate for this reason, so the rest of your software does not depend on it.