As a business owner who uses Xero, I found it tricky to keep track of my client payments. Not knowing whom to chase or which invoices are outstanding can lead to cash flow problems. There didn't seem to be an automated way to add Xero information to my calendar. I wanted to automate that process.

What it does

InView integrates with Xero to allow companies to sync their invoices and bills to their regular desktop and mobile calendars with ease. The provided iCal feed has each invoice and bill as an event on the calendar. They are placed on the day they are due and have a 9am alert to keep everyone subscribed to the calendar in the loop.

Status icons for pending, paid and overdue items are included in the event title for seeing what's going within your company on at a glance.


How I built it

I built the app using Ruby on Rails and deployed to Heroku. OAuth is used to authenticate Xero organisations and a Ruby based wrapper for API calls is included. A useful calendar library helps with formatting data in a calendar friendly fashion.

Challenges I ran into

iCal feeds have many gotchas and there's a whole set of problems around providing valid integration links for the huge suite of calendar clients out there.

Accomplishments that I'm proud of

I'm particularly proud of the calendar caching process I devised for boosting performance. If a user updates their calendar settings (turning off deep-linking to Xero for example) the calendar cache is invalidated and allows for realtime updates for anyone subscribed.

What I learned

With any project and idealised use case, there's always an alternative way in which to use it. I learned that people can be quite ingenious. One user of InView is a bookkeeper that has many clients. They use InView and then pass on the calendar feed to their clients so that they know who to chase up. It's a great use of the app and one that I didn't initially think of.

What's next for InView

I recently introduced a Slack integration for sending teams a daily digest of invoices and bills. I'd like to investigate this route further and perhaps extend on that as there are many features of Slack that could be used to help the users of Xero.

Share this project: