Audit Your Data Before You Buy Field Service Software

Run this audit before you sign anything. Most shops find duplicate invoice numbers and receivables rows hidden inside their own spreadsheet.

Written by Serg Litvinov

Reporting basis: A receivables audit and workflow mapping process described here.

. 6 min read

The software usually works fine. What sinks the purchase is the data going into it. You buy a tool before anyone has looked hard at your own records, and six weeks later the same mess is on screen, running faster. What follows is the audit method we run before any shop of this size picks a system.

Test whether your invoice number points at one invoice

Most owners assume one number means one invoice. Test that before you trust any migration, integration or report that leans on it, because plenty of field software treats invoice number as a primary key without ever telling you.

Sweep the whole history of invoice and quote numbers and you’ll usually find nobody ever designed the numbering. Invoices climb into the thousands one year, then restart at a much lower number the next. A busy season often runs two or three numbering blocks side by side. When you try to identify an old document by number alone, duplicates turn up, and almost none of them are the same document. Rebuilding the identity of an old invoice ends up taking the number, the site and the amount together, not the number on its own.

Got more than a year or two of history in paper or spreadsheets? Pull every invoice number into one sorted list and count the duplicates. Any duplicate at all means your numbering is a label. Software that treats it as a key will import garbage, or quietly fold two real invoices into one record.

Find the exact spots where double entry happens

Owners describe double entry in a vague way, a feeling that staff type things twice. Go and find the handoffs. Wherever a human copies one document into another format, numbers drift and small errors pile up.

A typical shop’s paper trail runs like this: a technician fills in a paper work order by hand in the field, it comes back to the office as a photograph or a scan, and someone retypes it into a spreadsheet invoice template and numbers it by hand. Quotes often live in a separate template, assembled per client and site out of boilerplate scope-of-work paragraphs. Paper, a word processor and a spreadsheet, with a person carrying information from each one into the next.

Do this with one real job of your own, from the first phone call to the paid invoice. Write down every point where the information gets written down again in a different format or a different tool. The intake note that gets rewritten onto a scheduling board. The technician’s paper form that gets retyped into an invoice template. The quote that gets copied into an invoice by hand, one line at a time. New software has to kill the retyping at each of those points, or at minimum leave the step no worse than it is today.

Work out which form fields still have a reader

Fields on a paper form earn their place or they don’t. Somebody downstream reads a field for pay, for billing or for a compliance record. Or the field sits there because the printer laid the form out that way twenty years ago and nobody has asked about it since.

Field-map your own paper work order the same way you’d map anyone else’s: list every field, and next to it, name who reads it and why. Payroll wants the hours split. The office wants the compliance checklist on file for liability. The customer’s signature proves the visit happened. A field with no reader on that list is a field you can cut. Fields with a clear reader carry across one-to-one into whatever you buy, and paper-book fields that only existed to keep two numbering schemes apart tend to collapse into one system-assigned job number once the software hands out numbers itself.

Run the same pass over your own forms before you buy. Name the reader of every field and say what they do with it. Can’t name one? Put the field on the drop list. Can you? Then it has to appear somewhere in whatever you buy. Otherwise you find the gap months later, usually mid payroll dispute or mid billing complaint, when the record you needed was never captured.

Audit your receivables while they are still in the spreadsheet

Most businesses skip this step. It’s boring work, and every migration tool on the market offers to swallow your spreadsheet whole. Don’t let it. A hand-maintained receivables workbook that’s run for years almost always hides business-relevant problems its own totals will never show you: duplicate rows padding an outstanding-receivables total, invoice numbers that don’t identify anything reliably, rows counted in every total that nobody can actually see on screen because a filter range went stale against the data underneath it, invoices that show up as both outstanding and paid at once, entries with no dependable “bill-to” party recorded because only a job site address was ever typed in, and an outstanding book that’s piled up past 90 days in a handful of client relationships.

We ran exactly this audit, adversarially, against a fire-safety inspection contractor’s two hand-maintained Excel workbooks, re-deriving every figure directly from the raw files five separate times before anyone trusted the numbers enough to migrate them. The companion guide on cleaning up a receivables sheet walks through those specific numbers if you want to see what a worked example looks like. The method is the point here: re-derive, don’t re-sum, and close each finding with a decision a human made and wrote down. Anything ambiguous goes into a review queue as a question for whoever owns the data to answer.

Moving your own receivables? Keep the migration tool out of the judgment calls on duplicate rows, mismatched bill-to entities and payment status that contradicts itself. Dig those out first, settle each one by hand, then import. Importing bad data quickly leaves you the same mess behind a nicer screen.

The audit checklist

Work through this before you sign anything:

  1. Pull every invoice number from your last two years and count duplicates. Duplicates mean the number can’t be trusted as a key in your data, and you want that known before a vendor’s auto-import promises to make it one.
  2. Trace one real job start to finish and mark every handoff where a human retypes information into a new format. That list is your double-entry map, measured rather than guessed.
  3. Field-map your current forms. Name the reader for every field. Fields with no reader come off the list. Fields with one go into the requirements for whatever you buy.
  4. Re-derive your receivables totals from raw data, independently of the spreadsheet’s own summary formulas. Hunt for hidden or filtered rows, duplicate rows, and invoices marked paid and outstanding at the same time. See the companion receivables guide for what a full pass looks like.
  5. Decide your numbering cutover date now, while nothing is on fire, rather than at 9pm during a live migration.

Budget proper time for this. It runs longer than owners expect. It still costs a great deal less than finding the same defects after they’ve been imported, restated back to you by a system with a confident-looking interface that nobody in the building can argue with.

Common Questions

Want an answer on your own workflow?

Send us a rate card or a sample tender. We'll tell you whether a build fits.

Send a sample
Talk through a job