Use a "Word Cloud" with user-specified rules to match customer payments
I receive customer payments from multiple sources. Experience shows that each customer will use a reference that comprises:
their name or variants thereof
the invoice number, part thereof or an old invoice number
the full amount or non-matching amounts
none of the above!
A simple matching method I once designed for a MS Access application was to do the following:
Example deposit text: Payment Received: Abalone Gh xx0292 Payment xxxxxx4697
Remove all phrases defined as junk in the description using customized rules created by the user. E.g. ="Payment Received:", starts with "payment xxxxxx". Operators like AND, OR, etc can also be included to create create more control.
Result deposit text: Abalone Gh xx0292
Create a "word cloud": Parse the description supplied by the bank into "words" using [space] as a delimiter.
Allow the user to click on a "cloud word" to filter with an optional mode
- e.g. mode="Customer Name", word="Abalone" lists all customer names containing that word
-e.g. mode="Invoice", word="xx0292" lists all invoices ending in the numeric portion "0292".
Additional operators like "begins with","ends with", "contains" would be extremely useful.
A filter that allows you to override a "cloud word" is also a good idea- for example "Abalone" might be misspelled and should be "Abalonie"
Tying up the different mode filters would also give more relevant results e.g. mode="Customer Name", word="Abalone" AND mode="Invoice", word="xx0292"
I speak from experience when I say this method is far faster than the current manual matching method, and even the possible matches. A lot of my invoices have the same amounts and they all get listed.
Kind regards.