Less noise, more data. Get the biggest data report on software developer careers in South Africa.

Dev Report mobile

Platform45: Automating Corporate Expense Reconciliation

15 July 2022 , by Shannagh Hare

The team at Platform45 employed Investec’s Programmable Banking API to take the paperwork out of a cumbersome process : corporate card spend management. Here’s how they did it.

Platform45: Automating Corporate Expense Reconciliation

The problem

Reconciling business expenses with credit card transactions is at best a tedious process that involves manually checking dozens, maybe hundreds of credit card transactions against those in the company ledger. At worst, it’s a nightmare for the finance team in the event of discrepancies. It’s the sort of dull, time-consuming task that is just ripe for disruption.

That’s what the team at Platform45 were thinking when they started developing “Spend(d) Co”, a corporate card spend management solution for CFOs, accountants and Investec cardholders that aims to take the drudgery out of spend reconciliation.

Check out the product demo here.

The approach

The developers understood that companies need to be able to capture, categorise and export transactions on corporate cards – preferably effortlessly, accurately and efficiently. They also knew from first-hand experience that doing manual, paper-based reconciliation was a pain. Sensing an opportunity to make everyone’s lives easier, they started working on a solution to automate the process. The project manifesto reads simply: “Admin is hard. We hate it. Automate it.”

Platform45 built Spend(d) Co using Investec’s Programmable Banking APIs using the Ruby on Rails framework, ensuring the solution would support both corporate and private banking APIs. Having completed the initial prototype, they then proceeded to dog food it for more than six months using a developer’s personal card, successfully processing and automatically matching R270 000 in company transactions.

How it works

Spend(d) Co provides immediate transactions on all card purchases to the cardholder.

“We bought a corporate gift using the card in December,” explains developer Rijnhardt Kotze. “We actually received the Spend(d) Co notification before the store sent the invoice to the relevant email address. It’s that immediate.”

Logging in

For security and convenience, Spend(d) Co supports single sign-on. “The solution piggybacks on the company’s authentication, treating them as a trusted authentication provider,” says Rijnhardt. Presently, there are a couple of ways to log in: through “myapplications” on Microsoft.com or by providing your email address on Spend(d) Co. You can also click through the notification email from Spend(d) Co, which will automatically log you in. Rijnhardt points out that once the solution has been released, the team will be implementing three-legged OAuth.

User interface

Once in the user interface, you’ll find the merchant name, timestamp and amount are automatically populated. You can then choose an expense category, write a brief description of why you spent the money and upload a supporting invoice – or multiple documents, if necessary.

Rijnhardt acknowledges that some transactions by their nature don’t generate an invoice – he gives the example of parking for the Gautrain, where you simply tap your card to pay. In this case, you can select the option to bypass the document requirement when creating the expense.

Transaction mapping

Spend(d) Co also supports automatic transaction mapping between the API and the authorisation you receive. “This removes the need for manual reconciliation because the transaction and authorisation have already been mapped.”

What’s next?

The team hopes to add automatic categorisation further down the development road. “This is something that certainly can be done, but we just haven’t got there yet,” says Rijnhardt. “There are a lot of possibilities in terms of features that can be added.”

Rijnhardt acknowledges that the team is also still grappling with some challenges: “The ICIB API presently returns two transactions for every real transaction – one while pending and another when it clears. The private banking API, on the other hand, only returns the transaction once it’s cleared.”

Platform 45 is presently solving these issues while implementing new UI/UX designs. They’re onboarding their first corporate user soon, with plans to roll the solution out to more businesses.

If you’re interested in learning more about the solution, get in touch with Platform45.

Get involved in the Programmable Banking Community

If you have questions or just want to say “hi” to the Programmable Banking Community core team, you can pop us a mail, and we will get back to you.

If you want to see more from what the community has been up to, you can:


Recent posts

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.