Automate the Boring Stuff: Transaction Matching

by Tim Parker

Computers can automate a lot of tasks for us, reducing the amount of time spent doing routine and boring tasks.  Or at least help get us part of the way there, leaving us to handle the last, complicated bits.  Transaction matching is a good example, and one that has been examined since the early days of computer science.  Early accounting systems made attempts to reconcile bank records with transaction lists, with varying degrees of success, but no system managed to completely automate the process with 100% accuracy under all conditions.  And despite the advances in computing science, we still don’t have a fool-proof matching system to deploy.

Some transactions are easy to match.  If someone records a deposit of $123.45 in their ledger, and the bank transaction list shows an identical amount on that day, it’s a simple 1:1 match.  If every transaction was that simple, the matching algorithms would be commonplace.  But, of course, it’s not that simple.  Maybe the deposit was made a Friday, the last day of a month, after 5PM, and not recorded in the bank list until the following Monday on the next month.  Depending on how much transaction data is available to the computer, these records may not appear as obvious matches, hence introducing uncertainty.  Yes, if there’s only a single entry for $123.45 in the entire transaction history, you can have a high degree of certainty that they match, but there’s always the chance of a problem.  Suppose the transaction wrapped to the next fiscal year, for example.  But the vast majority of 1:1 transactions can be matched by algorithms, though.

Where it gets tricky is 1-to-many matches.  Suppose the company accountant lumps together seven $100 cheques from a customer into a single $700 deposit.  When the matching algorithm sees seven transactions that add up to $700, you’d think that would be pretty obvious.  But what if there’s three customers all paying by $100 cheques, on similar days: which belongs to which?  And does it matter, really?  Yes, it matters, as an issue such as a returned cheque could mess up the matching. 

Then there’s the complications, such as exchange rate issues.  An accountant may record a payment of $100USD in the company books, but the customer pays $125CDN.  How does the computer know these two items are related?  If the deposit is going in a $USD account, the transaction description will usually make it clear it was a payment in two currencies, and sometimes display the exchange rate involved, but a computer algorithm doesn’t read the descriptions and so has to try to figure out if each transaction could involve foreign exchange.  At variable exchange rates, not a consistent one.  Much harder to do with any degree of confidence.

Matching a small number of transactions is obviously much easier than large numbers.  But how good can we get while maintaining a very high degree of confidence in the results?  Don’t believe all the claims made by some matching algorithm companies: the hype exceeds the facts.  For simple matching, where 1:1 or a few 1:many or many:1 lineups are involved, algorithms can easily approach and meet 100% accuracy and confidence.  But as the volume of transactions, the number of complex 1:many and many:1 matches increases, confidence and accuracy start to drop.  By the time we get into complex many:many situations, the computer algorithms can be less than 50% accurate, and auditors can spend more time untangling the computer-generated mess than if they had done the whole thing manually.  Yes, advances in machine learning and artificial intelligence are getting better at predictive results, but there’s no 100% accurate system on the market or in a lab right now.

So what does this mean for the auditor?  Is it all doom-and-gloom?  Not in the least!  Today’s systems can help enormously with routine matching, as well as many complex matching situations.  If a system can approach 80% to 90% effectiveness, and leave the remaining 10-20% for human judgement, the number of hours saved can be significant.  In non-complex situations, the computer can get to 100% accuracy, but an auditor should still review the results.  In complex situations, the computer can leave the decisions to the auditor, or display recommendations, but in the end, the final decision has to be with the human reviewer.  So a computer-based matching algorithm system can save you from the routine, boring matching process and save significant time along the way, but it will never replace the decision making process an auditor takes for granted.  At least not yet.