Xero - beautiful accounting software

Xero Business Community

Xero Business Community

Hi everyone, Come on over to the new discussions in Xero Central. It’s a more intuitive way to connect and chat all things business with one another. Ask questions, dish out answers, and get involved.

You can still view topics in the Xero Business Community to see all the useful knowledge that’s been shared there; and you can restart conversations you feel have been of huge value to you on Xero Central.

If you have brilliant ideas for innovations, you can keep on adding feature requests in the Xero Business Community, and voting on existing requests. There’s more in store, as we come up with the best way to take on your thoughts and share developments
Community > Using Xero Connected Apps >

API System limits

Started by Kristian Salter -   in Using Xero Connected Apps


We are considering integrating our bespoke CRM and stock control system that we are developing with Xero.

The system limits on the developer wepage - https://developer.xero.com/documentation/auth-and-limits/xero-api-limits#Systemlimits recommends that we don't generate over 1000 sales invoices per month and have contacts in excess of 10k.

Our company exceeds these limits. Have you any advice / thoughts in these areas?
Hi Kristian

I realise that it's now 3 months since you posted and you may already have had the answer you need and made a decision. We are in the same boat as you, having moved from Sage Line 50 to Xero and doing our own bespoke integration of our internal CRM/ERP system.

What i can suggest is that you pass your Xero API calls through a filtering function which records the call totals per day and per minute to a database table. At the end of each day you can then report on these figures and see if at any point in the week or month you are nearing your API limits and adjust the code or train users accordingly.

You should also consider batching up your API calls, e.g. if you are low on remaining calls for the 24 hour period, you could schedule some calls to happen at the start of the next day if they are not time critical.

Also, cache as much of Xero's database as you can. We use four API calls a day to download the entire chart of accounts, list of tax codes and all the tracking categories. This means that we don't then need to use API calls to examine these throughout the day, instead i can just use an SQL query.

If you want to exchange details of implementation experiences, please let me know!


Craig Edwards  

I am hitting the same issues with my app, even though I'm not sending up a huge number of transactions , it seems to be down to the time between each set. So I've built in a delay every 10th transaction as per the discuss at https://community.xero.com/developer/discussion/9349853/
Having got your application working is this how you would recommend doing it?


Karen Gibbons