Successful business accounting requires developers and analysts

uSwitch’s Energy Back Office plays an important support role for other areas of the business. One of the key internal stakeholders for the data collected by the Back Office is the finance team.

Finance departments shouldn’t be considered as operational parts of a business that can be left to “get on with it” whilst technical teams focus on what could be considered more “interesting” work. Instead, developers and analysts should support their finance team as it’s valuable for their company as a whole.

Problems faced by finance teams

  1. Finance teams need to work to Financial Reporting Standards when calculating and recording company accounts. The constant need to pass external financial audits means finance teams prefer to stick to tried and tested methodologies, which even if less technically efficient, have been shown to keep the auditors happy. For example, storing paper copies of invoices, which are physically checked and signed by a human.

  2. Another key concept in financial accounting is repeatability, and the need to trust that once a set of financial figures has been produced by a system, if the system is asked again, the same set of numbers will be produced. This is particularly important from an auditing perspective, as an auditor will often ask “where have these numbers come from, and can you get me these numbers again?”. A database administrator updating a database, or a developer fixing a bug in a service, could be seen as detrimental to this consistency.

  3. Financial teams need to be black and white wherever possible. When reporting values such as Accrued Income, Overs and Unders and Extended Credit, accountants often either lack understanding of, or choose to ignore statistical inference concepts such as margins of error or confidence intervals. In accounting, any allowance for error is viewed as the admittance that something may have gone wrong; this is unlike most other data arenas, where these concepts would be considered vital for backing up the integrity of a set of results.

  4. In more general terms, a reluctance to embrace technology could be limiting a finance team. The ever-faithful MS Excel is the cornerstone of an accountant’s toolkit, and developers will commonly get a request from their finance team: “This is a great financial reporting app you’ve built, but could you please add a download to CSV button?”. The comfort of recording figures in a platform that everyone in the accounting world understands, is often the underlying cause. However, this reliance on Excel can seem frustrating for developers, who see problems with Excel when used beyond a tool for simply storing numbers. These problems really become prominent when users start filling spreadsheets with arcane, complex formulae with no history or versioning. These formulae are particularly prone to breaking if dependencies start developing across spreadsheets saved across multiple locations. The lack of robust repeatability associated with number crunching without using code, and the lack of an easy way to securely share spreadsheets across users, also makes Excel less favourable amongst the more technical teams within a business. Members of finance teams can be so used to working around the limitations of a tool that they rarely realise an easier solution could exist.

How the developers and analysts should help

In the long term, developers and analysts assisting a finance team through close collaboration and by ensuring they have access to the right data will ensure that the business has an accurate view of performance over time. This is turn avoids sudden difficulties associated with failing an external audit which may include removal of investor funding or an action by a regulator.

As the main focus of analysts and developers is understanding customers, when working with a finance team they must first gain a thorough understanding of the different processes and problems and have a basic understanding of accounting principles; a basic understanding of accounting concepts such as accruing revenue, measuring cash flow and deciding when Overs / Unders can be necessary.

At the very least, this knowledge will give analysts and developers an idea of the jargon used, and help incorporate this jargon into a ubiquitous language shared by any apps they build — ensuring standardisation of terms across teams and services.

Another key way for these teams to work together is regular collaboration. At uSwitch, this has been achieved through relatively informal methods such as regular catch ups and shadowing sessions. Shadowing is particularly useful for gaining a first-hand understanding of a finance team’s current user experience.

It can help identifying where simple changes can be made, such as adding a view to a table, adding a calculated field to a table, or allowing historical data to be viewed as it was in the past. These changes get implemented quicker through shadowing than through drawn-out planning meetings.

Regular iterations of tweaking services, showcasing changes to the finance team and making further tweaks is vital for ensuring the finance team is involved throughout any development process, ensuring the end products are as useful as possible for them.

What can the results look like?

At uSwitch, the relationship between Finance and other teams has evolved over several years. The biggest change has been from using an analyst as the principal bridge between the finance and development teams, to implementing a dedicated analyst-development team in a support role for Finance. The advantages of these changes have been significant:

  • External reports, from which data is fed into internal financial apps, have been made more accurate and reliable by explicitly outlining reporting requirements in business partners’ contracts; this in turn improves the accuracy of the internal systems used to pick up and process incoming reports.
  • Accounting have adopted an accrual-based attribution model, greatly reducing swings in monthly Overs and Unders. Developers’ close involvement with Finance means they can now understand, support and prepare for external financial audits; this mitigates any possible audit security concerns and maintains robust change logs.
  • Processes that were previously manual, prone to human error or difficult to repeat, such as calculating invoiceable amounts and checking self-bills align with a month’s sales’ activity, have now been automated. Most importantly, this automation has been done whilst maintaining Finance’s trust in these services. Since automation, manual checks now take minutes rather than hours, and a number of payment errors have been identified and flagged with uSwitch’s business partners.
  • Finance are now more willing to change their processes in line with time-saving improvement the development team can implement, even at the expense of changing their workflows. Similarly, Finance are more willing to request changes, instead of being content carrying on with their “business as usual” way of doing things.
  • Finance now understand the uncertainties associated with incomplete data from uSwitch’s business partners. Finance can now comfortably include these uncertainties in their reports, and confidently explain these uncertainties to relevant stakeholders..

It’s worth the resource investment!

Finance teams are a vital component to the smooth running of all businesses. Ignoring the activities of finance teams from a technical perspective has the potential to put companies in a precarious position, so worth any technical resource investment where possible. This has the advantage of converting expensive external solutions into cheaper built-for-purpose in-house solutions, and making financial audits a much less daunting affair.

Simple adjustments such as closer collaboration between developers, analysts and finance teams; deeper understanding of the mutual problems the teams face; and a wider understanding of basic accounting principles means financial reporting can be made more repeatable, reliable, accurate and efficient.