The Xero app now allows you to have control over the sender’s name, email address and reply to address (see http://blog.xero.com/2013/06/more-control-over-your-emails/) which was a key requirement for using the API to trigger an invoice to be emailed. Previous Xero releases also added the ability to have online viewing of invoices and email templates for sending invoices, statements etc.
In amongst our other top developer requests we are now actively looking at how we can offer this functionality to developers.
Please remember you can download PDF’s of invoices which allows you to email invoices yourself and you can also mark these invoices as sent.
Be able to create and manage repeating invoices (http://help.xero.com/#Accounts_RepeatingInvoice) via the API.365 votes
Today we released the ability to retrieve repeating invoices via a new RepeatingInvoices endpoint: http://developer.xero.com/documentation/api/repeating-invoices/
We have not yet begun work to create repeating invoices, so this endpoint will initially only have utility for those looking to use it for reporting.
We will leave this feature request open and update it as soon as we have further news to share on creating repeating invoices via the API.
I'm requesting "web hooks" for the Xero API.
Here's how they work: Customer provides a URL (http://myserver.com/xero/changed) to Xero, and when something is changed, Xero notifies that URL, perhaps indicating which records have changed.
The Xero API provides methods that you can query and compare with previous results to see what has changed. However, this is not performant for large data sets, and detecting changes involves a lot of code.
The competition has it - web hooks are supported by QuickBooks. Let's get them in Xero - it's a superior product in every other way.351 votes
Just an update on this request. We still are planning on doing this and as it has worked it’s way up the request list, we are now actively scoping. No ETA yet however.
Please note that some comments seem to be missing the utility of the modified since http parameter: http://developer.xero.com/documentation/getting-started/http-requests-and-responses/#title2 – this can be used to retrieve new & modified resources to keep your app in sync
Be able to import bank statement lines into a bank account in Xero. This would be useful for custom bank accounts or banks that do not have a direct feed into Xero289 votes
Thanks for your votes everyone. As we have completed other requests this one has creeped up the list and is overdue an update.
We do agree this would be a useful feature to expose via the API. We will begin scoping this shortly and update you when development begins, but no ETA yet.
We have reviewed some of your comments and use cases below however, and have written up an article on some possible existing API options: https://community.xero.com/developer/discussion/3879525/ – note this may not apply to your situation, but hopefully useful to some.
Be able to reconcile bank statement lines via the API.220 votes
Reconciliation via the API is not a planned feature for the short-medium term as we look to address other feature requests.
For some of your scenarios consider using the approach described in our guide for handling payment processor receipts in Xero could be a whole lot more efficient. http://developer.xero.com/documentation/api-guides/handling-payment-processor-receipts-in-xero/
Even if you have a statement line for every invoice payment (rather than a statement line equalling many payments) you could utilise a clearing account to pay off invoices and then use Xero cash/fast coding to code all the bank statement lines of a similar pattern to the clearing account.
While we will continue listening to requests on this thread, there are a number of significant issues that prevent us from working on this for the time being.
My company has an app that services a very large niche market- all of those clients (tens of thousands) also need accounting. Our current app has rudimentary accounting in it but we are seeking to set up a sync with a dedicated cloud-app for all the accounting. Purchase Orders are crucial to this niche market and if we could sync them with Xero via api it would make a huge difference.
(Provide GET/PUT/POST PurchaseOrders endpoint)208 votes
We’re certainly looking to offer Purchase Order functionality via the Xero API. It is amongst a list of top priority feature requests that we are working through as quickly as we can. There are a few items ahead of this so I’ll change the status on this item when we are actively working on this.
Expose invoice History & Notes through the API178 votes
See the latest comments on this below172 votes
The BankTransactions endpoint now supports creating overpayments and prepayments – see http://developer.xero.com/documentation/api/banktransactions/#title7
Note – The ability to allocate an over/payment to an invoice will be supported in a future release. This request will be kept open until this task is finished.
The Invoices endpoint will also be improved in a future release to make it easier to identify when an over/prepayment is applied to an invoice.
If you can now do what you need with over/prepayments, consider moving your vote(s) to another request.
Xero has recently released online invoicing functionality within the main application (http://help.xero.com/#OnlineInvoices).
Be able to retrieve the online invoicing URL via the Xero API.
Note that this URL is only generated when the invoice is emailed within the Xero application. Exposing this field will be of limited value until further work is done to be able to email an invoice from Xero via the API (but that is a separate issue).160 votes
Unfortunately this field is not as easy to provide as it might seem – it is only generated when an invoice is sent through the online invoicing system, and is not present for all invoices.
As a first step, we will look to return it when it is present, and schedule further work to allow the creation of an online invoicing URL via the API at a later date.
Be able to create tracking options via the API. Also when creating invoices via the API allow the creation of tracking options within Xero's existing tracking groups if they don't exist.128 votes
No ETA on when we might be able to do this yet, but definitely something we want to get to – keep voting and let us know of specific use cases you might have – they are always useful when we look at scoping development.
1) include transaction source and id to be able to link back to the source document of the journal eg AP/AR invoice etc 2) allow endpoint to be filtered by accounting date to be able to get just a certain period.107 votes
I have an internal system that handles all the other metrics for our business, but the financial data is missing.
We could either hand-enter the necessary data or build some sort of import functionality, but it would be best to query Xero directly so I can use that data in my internal system.
Thanks for listening!88 votesAdminxero (Admin, Xero) responded
You currently need to be a standard user in Xero to grant rights to a 3rd party application. Adding permission options for apps is on our radar
When you GET a Contact via the API you are returned the ContactGroups that they belong to. But if you try and update their ContactGroups with a PUT or POST the API will just ignore the ContactGroups XML element.
It would be really useful for automating the organisation of Contacts, if you allowed us to update the ContactGroups for a Contact in a similar way that you can add LineItems to an Invoice.75 votes
Be able to update the EU Country field via the API. This is required and seems very strange to be left out of the API.70 votes
there are some situations where it's useful to add a note to an invoice that's include in the invoice PDF. e.g a message about the reverse charge VAT treatment for EC customers. I would guess there's more exceptions like this where a note would be useful.69 votes
You might consider adding a comment-only line item to the invoice. This would get printed on the PDF of the invoice.
If the message is to be added to lots of invoices, you could even consider defining a price list item with a description only. This would save re-typing the comment for each invoice.
A third option is adding a comment onto a docx branding theme template. If all EC customers could be assigned the same branding theme, the comment could be hard-coded onto the docx template.
We’ll certainly consider other options to make life easier for our customers.
E-mailing updates to receivable accounts about their payments via the API would be very useful. Via the web interface, this is possible by sending a statement. API request is to be able to retrieve a statement report and email it via the API69 votes
The majority of our invoices are for many hundred thousands of units, each of which cost something like USD$0.00015.
The API currently rounds this LineAmount to 0.00 then complains that my total doesn't equal the sum of the lines.56 votes
While we will be unable to provide this feature until more than two decimal places are supported within the main application (feature request thread here: https://community.xero.com/business/discussion/51751/), we will certainly look to support this if it does become possible.
Recent updates allow the creation of accounts and bank accounts via the API:
Work continues to allow the bulk creation/replacement of a chart of accounts, and editing existing COA values.
Have the ability get get payments via the PaymentID and also create payments via POST53 votes
We’re currently working on the Payments endpoint, adding GET method and adding more fields when creating the payments (e.g. currency rate).
We will consider adding a POST method, but this wouldn’t add the ability to update a payment – this is a limitation of the core accounting engine.
The current budget summary API report (http://blog.xero.com/developer/api/reports/#BudgetSummary) returns the overall budget summary report. Within Xero, you can create additional budgets which can be filtered by tracking category. This request is to:
- Provide a Budgets API endpoint
- Allow the budget summary report be filtered by budget52 votes
- Don't see your idea?