BE Teck Notes Back to be-teck.com

4 min read

What a goods receipt note is, and why it is not the challan

The GRN is your own record of what arrived, written by your side. Confuse it with the vendor's challan and you have no independent check on anything.

A goods receipt note is the store's statement of what it actually received.

That is the entire definition, and every useful property of a GRN follows from one word in it: own. The challan is the vendor's document. The invoice is the vendor's document. The GRN is yours. It is the only one of the three written by somebody whose interest is in the number being right rather than being high.

What goes on it#

At minimum: the date and time of receipt, who received it, the purchase or work order it belongs to, the vendor, the material, the quantity your side counted, the unit that quantity is in, the vehicle, and the delivery challan number it corresponds to.

Then two fields that are usually missing and matter more than most of the above:

  • The condition. Broken bags, wet cement, bent bars, short by three pieces. If there is nowhere to write it, it will be written nowhere.
  • Whether it was accepted, rejected or accepted in part. A GRN that can only say "received" cannot describe the most common awkward case, which is a load you take in and argue about afterwards.

Why the vendor's paper cannot do this job#

Consider what happens if you skip the GRN and simply post the challan quantity into stock, which is what a great many organisations do because it is faster.

Your stock now says exactly what the vendor said it should say. The vendor's invoice will also say what the vendor said. So the invoice will agree with your stock perfectly, every time, including on the deliveries that were short. You have built a check that cannot fail, which is the same thing as no check at all.

The GRN exists to introduce a second, independent number into the process. That independence is not paperwork. It is the mechanism.

Where GRNs go wrong#

It is written later, from the challan. Somebody collects the day's slips and enters them in the evening, copying the vendor's quantities. The document now exists and the independence does not. If the GRN is not written at the point and moment of receipt, by the person who counted, it is a transcription, not a receipt.

Nobody records the unit. Twelve of what? Bags, tonnes, running feet, cubic metres, pieces. A store that holds one material in two units will eventually be wrong about it, which is a big enough problem on its own that we wrote about the unit of measure and where it leaks money.

There is no way to correct one. This is the most damaging of the three, because it converts a small error into a permanent one.

The undo that did not exist#

A storekeeper types the wrong quantity into a receipt. It happens the way every typing mistake happens: at the end of a long afternoon, on a phone, with a lorry waiting.

In our own system there was, for a long time, no way to undo it. The number stayed wrong. The correction happened on paper, in a note, and in the memory of the one person who knew which entry was the bad one.

When we came to fix that, we found the code to reverse a stock entry already existed. It had been written. It had no callers — no button, no menu item, no route anywhere in the application. And wiring it up turned out not to be safe: six separate faults had to be repaired first, including one reader of stock positions that never checked the cancelled flag at all, so a reversed receipt would have gone on counting for ever.

The full account is in the piece on code that was written and never wired. The part that belongs here is why nobody had ever asked for the button: because a workaround existed and it worked. Somebody knew how to make the number look right again with a second entry and a note. Within months that was simply how a wrong receipt got fixed. The gap had not closed. It had been staffed.

How a correction should work#

Not by editing the original row. A receipt that can be edited is a receipt nobody can rely on, because the number you are reading today is not necessarily the number that was entered.

The correct shape is two rows written in one movement: the original marked cancelled, and a reversing entry of the opposite sign which is itself born cancelled. A reader that filters out cancelled rows sees neither. A reader that forgets to filter sees both, and both add to zero. The answer is right under either reading, which is what you want when you cannot personally audit every piece of code that will ever count your stock.

Add two more things and it is finished: state the effect in numbers before acting — the store reads this much, cancelling this leaves that much — and require a reason that actually reaches the record. A cancellation with no stated reason is an unexplained hole in the stock ledger, and unexplained holes are what audits are made of.

What a good GRN buys you#

Once your side has an independent, timestamped, correctable record of what arrived, three things become possible that were not possible before.

You can hold the invoice against it, which is three-way matching and is the single largest source of recovered money in purchase accounting.

You can hold your book stock against physical stock, and when they disagree you have dated entries to walk back through rather than a shrug. The wider version of that disagreement is why the site's numbers and the office's diverge.

And you can answer the question a vendor asks six weeks later — are you saying we short-delivered you? — with a document written on the day by the person who counted, rather than with an opinion.

The vendor's paper says what they sent. Yours says what you got. Keep both.

Have a gap worth closing?

If something in your daily work is broken in a way everybody has stopped complaining about, that is exactly what we want to hear.

Write to hello@be-teck.com

More notes