All articles

Workshops · Other services

Why your workshop's supplier invoices never match the bank statement

Parts invoices arrive on paper and by email, get paid in batches, and month-end reconciliation becomes archaeology. Extraction plus payment matching is the fix.

Muvik TeamSeptember 4, 20263 min read

A car workshop buys parts the way it always has. The supplier's van drops the brake pads and a paper invoice. The distributor emails a PDF. The parts counter at the dealer prints one at pickup. By Friday there is a pile, and the pile gets paid in a batch by bank transfer with a reference the accountant chose.

Then month end comes and someone tries to make the pile agree with the bank statement.

Three ledgers that disagree

There are three records of the same parts, and they are kept by three different people at three different times:

  1. The supplier's invoice: what was bought, at what price, for which car
  2. The customer's invoice: what the car's owner was charged, including the parts
  3. The bank: what was actually paid, to whom, when, under which reference

The supplier invoice is keyed into the accounting system at some point, maybe. The customer invoice is raised in the invoicing system when the car leaves. The bank statement arrives monthly. None of them link to each other by anything better than a plate number someone might have written on a post-it.

So the questions that matter cannot be answered without a day of matching:

  • Did every part we bought make it onto a customer's bill?
  • Which supplier invoices are still unpaid?
  • Which customer has paid, and for what, and is the "RM 407.04 TRF" on the statement the one from Tuesday?

Parts that never got billed

The first question is the expensive one. A part bought for a job that never appears on the customer's invoice is a straight loss, and it is invisible unless someone checks line by line. Workshops that do check find them every month: the second oil filter, the wiper blade added at the last minute, the bulb the mechanic fitted because it was quicker than asking.

The check is mechanical. Take every line on every supplier invoice. Find the customer invoice for that plate in that week. Look for the part. Billed, not billed, or billed on a different invoice than the one written on the supplier's docket. It is tedious, which is why it doesn't get done, which is why the loss stays invisible.

Payments with no name on them

The third question is the one that ruins Fridays. Customers pay by bank transfer and post a screenshot of the slip in the WhatsApp group. The slip says an amount, a date and whatever the customer typed in the reference field, which is sometimes the plate, sometimes the invoice number, sometimes "service", and sometimes nothing.

Matching a slip to an invoice is a small deduction each time. Plate on the slip matches a customer with an open invoice for that amount: certain. Amount matches exactly one open invoice around that date and nothing else: probable, worth a confirmation. Amount matches nothing: a part payment, or a different customer, or a typo. Multiply by every payment in a month.

Reading, then matching

Both problems have the same cause. The information exists, on paper and in photos and in three systems that don't talk. Someone has to read it and match it.

That reading and matching is what can now be handed off. The supplier invoice is read from the scan: supplier, date, plate, every line. Each line is checked against the customer invoice ledger and marked billed, not billed, or check this, with the invoice it was found on. The purchase invoice is keyed into the accounting system and then verified against what the accounting system shows. The payment slip is read from the WhatsApp photo and matched to the open invoice, with the reason written down in plain words: plate WWE 7863 on the receipt matches this invoice's customer, and the amount matches what is outstanding.

A person still verifies every match. They verify a proposal with a reason attached, instead of building the match from nothing on a Friday afternoon.

The bank statement stops being a mystery, because every line on it already has a name.


More articles