Inspiration

Expend was set up two years ago to tackle the nightmare of filing expenses. After we solved this problem we moved on to getting our system to integrate with key partners. We chose Xero as one of our first because we use it ourselves and the fact that Xero offered a extensive API for us to utilise.

What it does

Expend allows our customers to issue debit cards to their employees and assign them a budget from a shared pot of money. Then our integration synchronises the data the employees generate with Xero in real-time. Whenever a transaction is performed using an Expend card we automatically send that to Xero. Later when the employee provides us with the expense information within our app, the transaction is updated in real-time within Xero, with us being sure to categorise it correctly, attach any receipt images and also any notes the employee made. We drive a lot of functionality from settings the customer configured on our dashboard (see attachment). They provide us with a mapping from Expense categories, which are shown to employees in the app, into their Xero Chart of Accounts. We then assign any transactions for that Expense categories to the appropriate account in Xero. Our integration allows real-time insights into company spending from the moment its activated.

How we built it

We decided what our perfect Expend-Xero integration would look like and then worked with Xero's API and various accountants to make our integration as great as possible. We also worked closely with Xero's staff to ensure we addressed any common issues that integrations have.

Challenges we ran into

It was hard to ensure that we handled as many error cases as possible without needing the user to interact with us or Xero. Our integration now catches, fixes, and retries many of the problems our users uncovered so that they don't need to manually intervene, and to allow our integration to as "set and forget" as possible.

Accomplishments that we're proud of

The integration only requires minimal set up from the end user. We automate a lot, and we are looking to automate even more in the future. Our integration also tries to recover from errors as best as possible, but they do occur we allow the user to debug them themselves and then use our dashboard to manually retry any errors they think are fixed.

What I learned

I learnt about the features the Xero API provides and also a whole lot about book-keeping.

What's next for Expend

We're always looking to add new features that our customers request, and this integration is only the start of this journey

Built With

Share this project:

Updates