The problem

A Business Process Outsourcing (BPO) company receives invoices with thousands of line items from their business partners. Each line on the invoice needs to be validated an on-charged to the BPO company's clients.

Compounding the challenge, the resources referenced on the invoices was not a direct match with resources in the BPO company's database. For example, a staff member on the invoice might be called bsmith but would be called Bob Smith in the BPO database.

The final step of the process was to create dozens of invoices from the dataset. This was done by manually uploading CSV files to Xero.

Each month, this task would take several days to perform and, due to the large amounts of data, was prone to errors.

The managed functions that solved the problem

We prepared a managed function that received the dataset by email, matches the invoice lines with resources in the BPO company's staff list and provides them with a consolidated dataset for their review.

They modify the spreadsheet as required and email it to another managed function that creates invoices in draft format in their Xero system.

They review the invoices, modify if required and send to their customers.

What makes managed functions well suited to solve this problem?

Matching resources on the invoice with resources on the invoice is particularly tricky. Equator's matching capability is particularly well-suited to this task. The domain is not too dissimilar to matching remittance lines to open items or to syncing products in catalogues.

Additionally, the sophisticated API capabilities of the managed functions makes it trivial to connect to sites with good APIs (such as Xero).