Reconcile via the API
Be able to reconcile bank statement lines via the API.

Hi everyone,
Firstly, apologies – it’s obvious from the continuing comments that we declined this request too hastily and without the explanation it deserved.
We know that reconciling would be a valuable API feature, but reconciling requires fine grained access to bank statement data and unfortunately we’re not able to share that data via the API for commercial reasons.
At Xero we’re passionate about having an open API and providing small businesses with open access to their data. Unfortunately, many of the partners we rely on for statement data don’t share the same ideals.
Hopefully change is coming in the form of open banking. However, it will be a long time before we can openly share statement data via the API and provide a decent reconciliation experience to third-party apps. For that reason we will unfortunately leave this request as ‘declined’.
For the immediate future, we’re busy doing some really cool stuff to improve the in-product experience and automating bank rec as much as we can. We already have bank rules, auto-match, suggestions and cash coding but there’s lots more coming this year.
Again, we apologies for our lack of transparency on this thread. We do value the feedback on UserVoice and have shipped features with over 3000 votes in the last 12 months. We definitely dropped the ball on this one though.
Cheers,
Adam
-
Anonymous commented
Can we not just have access to the number of transactions that have been imported and that have yet to be reconciled?
-
Doug Logan commented
If the suggestion I just posted below would meet the majority of your needs with this requested feature, I would suggest you to vote for the following user-voice entry which has not been declined:
https://xero.uservoice.com/forums/5528-xero-accounting-api/suggestions/36208999-bank-rules-in-the-api -
Doug Logan commented
@Adam If we can't reconcile via the API due to partner limitations, can we at least create reconciliation rules based on the API, and perhaps have a way to have some of those reconciliation rules automatically applied without user intervention?
I think this would provide the desired functionality without ever letting us read your "partner's data", and thereby be within your agreements with the partners.
At the end-of-the day to have an API automatically reconcile something in general requires that you know specific details about the transaction in order for your program to work. These details could easily become very specific rules, as long as those rules were automatically applied.
To avoid the build-up of rules you could have another setting that makes a rule "one-time". I think this would cover the majority of the use-cases that someone might have for this feature.
For example, we can query the API of our payroll provider and we'd like to have that all hit the appropriate accounts in Xero and have it auto-reconciled.
To handle this we could do the following:
1) Create a bill that represents the Accounting Transactions.
2) Create a one-time rule that looks for the exact charge amount expected in our bank account, from our payroll provider, and reconciles it with the bill automatically.I would think that most if not all use-cases for this could follow a similar model.
In general I also think that "auto-reconciliation" would be something very helpful across the application features. Yes, there are many bank rules I'd want the rule to suggest a reconciliation rather than be automatic; but for at least half of even my existing bank rules it would be fine for them to be automatic.
-
Brad commented
+1 needed to complete the automation of receipts based on third party billing software.
-
Geoff Hughes commented
You can begin with a simple notification to state that funds have been debited (credited) to the Bank Accont. At least that way we can action it.
At the moment after a successful automated bank feed, the data sits there waiting for a human to log in.
You are currently blocking the flow of a key business workflow!!! -
Julia commented
This is needed at least to import budget actuals with link to their tracking IDs, in order to compare budgets in an external analytical tool.
-
Anonymous commented
Agree with everyone here, it is needed in the API endpoints
-
oshada perera commented
+1
We are a telco company and will able to get the obvious invoices get reconciled. So that bookkeeper doesn't have to bother with obvious ones.
Data matching is hit and a miss, therefore we have seen that bookkeeper keep on pressing ok sometimes even for incorrect matches.
If we can get reconciling done via api, and leave human intervention for non obvious ones that's going to save alot of hassle
-
Michael Schwartz commented
This is a necessity
-
Nick McGrath commented
"commercial reasons".... i.e. force people to use GoCardless and Stripe for automatic reconcilling type functionality to get fees and commissions, rather than make free transactions via direct deposit/bank transfer too easy for the customer...
-
George commented
+1
-
Anonymous commented
I understand the decline for this type of feature but it could be done without sensitive data breached. Example: a feature in the api where you can only POST the data to xero. If a match with payment reference matching, invoice, reference, account name or account number is matched with a total
amount match found inside xero it will reconcile and just return a success with the invoice that was reconiled or no success message if failed to find anything. This way no bank data information is passed outside of xero. -
Pete Everett commented
+1
-
Suryakant Patel commented
is there any aip, where we can get unreconcile list? I aware of api method "GetBankTransactionsAsync" but its not return all bank unreconcile items list, its returns only "Account Transactions" list
-
Stephanie Hope commented
Yes please to this! We want to be able to auto-match transactions so a reconciliation endpoint is needed.
-
Anonymous commented
+1!!
-
Matthew Bloch commented
To Aaron, if you are only ever reconciling one payment for multiple receivables, you can do this via the API. If you submit a BatchPayment with all your invoices lined up against the payment, the reconciliation screen will show that payment in green and let you match it up with one click.
(the same applies for payables)
What doesn't work is where you receive a payment for multiple invoices, minus the amount of a bill. It's annoying because you can mark these off against the payment manually, so Xero clealy understands that it's possible. But you can't yet automate it.
-
Lauren commented
Another +1 vote for this so we can auto-match transactions
-
Phil Dominick commented
+ Vote for this as we need this data to auto match transactions
-
Anonymous commented
We'd also love API access to reconciliation data! Consider this a +1