Stand behind a hardware counter for one morning and the trouble with general-purpose billing software shows itself. The same anchor bolt is on the wall in four sizes and two brands. Wire leaves three metres at a time, cut from a ninety-metre coil. Small screws are weighed, not counted. And the man buying all of it is a contractor who will settle "after the slab", which means an account that has to stay accurate for months.
This is a checklist for that shop: what the software has to do, why, and how to test each point on your own stock before you pay for anything. We did the same exercise for medical stores, where the difficulty is batches and expiry. Where Layerdots ERP is the answer we say so, and where the test is the same for any product we say that too.
The same anchor bolt in twelve sizes
A pharmacy's difficulty is batches. A hardware shop's is variants. "Anchor bolt" is not a product. An 8×60 anchor of one brand is, and it sells at its own price and runs out on its own day, separately from the 10×80 beside it. When each size is typed in as a fresh item with the name spelt a little differently every time, the catalogue decays. Within a year there are three spellings of one fastener, each holding a little stock, none of them right.
The requirement is ordinary discipline, and the software has to make that discipline cheap. One naming pattern that carries brand and size, "anchor SS 8x60" or whatever your counter already says aloud. A search fast enough to narrow to that size while the mason is waiting. Barcodes where the box has one, name search where it does not. Stock held per size, because "we have anchors" is no answer when the size he needs is the one that ran out.
Do not judge this on demo data. Load one wall of your own fasteners into the trial and watch whether the counter search keeps up with the queue.
Wire by the metre, screws by the kilo
Half the stock in a hardware shop is not a count of pieces. Wire and chain sell by the metre off a coil. Small fasteners sell by weight. If the quantity box accepts whole numbers only, the stock figure becomes fiction inside a week: 2.5 kg of screws entered as 2 mints half a kilo that does not exist, and entered as 3 it quietly eats half a kilo that does. The cut piece is the same story. A 90-metre coil that has sold 63 metres is now a 27-metre coil, and the stock screen should say 27.
The day-one test: bill 2.5 metres of wire off a fresh coil, then open the stock screen. If the box refused the decimal, or the coil now reads 87 or 88 metres, keep looking.
The contractor who settles after the slab
A contractor is a running account. Material goes out over weeks, a load of cement today, fittings on Thursday, a boy sent with a slip on Saturday, and the money comes back in lumps whenever his own client pays him. So the software needs a ledger per customer: every credit bill filed under the name, every payment knocking the balance down, and an outstanding figure you can read out over the phone without turning pages.
It also has to be clear about the middle of the story. When a six-month account is finally settled, the argument is never about the total. It is about which bills the ₹20,000 he gave in March was meant to clear. A ledger that shows each payment against the bills it settled ends that argument before it starts. And you want the balance in front of you before the next load leaves the shop, not discovered at Diwali. Running credit so that it comes back is its own article.
Forty lines at nine at night
Purchase entry is the grind of this trade. A bill from the electrical wholesaler runs to forty lines of sizes, brands, quantities and rates, and every one of them has to reach the stock system, usually after the shutters are down. Software trials die here rather than at billing. Billing is the easy part.
In Layerdots ERP you photograph the supplier's invoice, from the phone app or from the computer, and the lines are read into a purchase entry for you to check and save. You still check it; the software does the typing. Each page of an invoice counts as one scan. The trial includes 10 scans, the Basic plan 50 a month, Gold 80 and Platinum 200, and extra scans can be bought at ₹1.60 each on any plan. Scanning is one of the few things in the app that needs internet.
Two GST rates on one delivery
A hardware or building-materials bill routinely mixes tax rates, and the rates move. Cement was charged at 28% until the GST Council's 56th meeting on 3 September 2025 cut it to 18%, effective 22 September 2025 under the CBIC's notification; cement makers such as UltraTech circulated the same advisory to their dealer networks. Natural sand under HSN 2505 is listed at 5% in the published HSN rate guides we checked in August 2026. Building bricks and roofing tiles still carry 12% under a notification of their own, which we wrote up because so many rate lists dropped it. One tempo of goods can therefore carry three rates on one bill, and last September's rate on cement is not this September's.
So the software has to hold the rate and the HSN code on each line, never one rate for the whole bill, and at month end it has to produce something the portal accepts. Layerdots builds the GSTR-1 upload files themselves, the portal JSON and the Offline Tool Excel with the HSN summary sheets, and checks the period and GSTIN before you file, so a rejection is found at your desk and not on the portal on the 11th.
Staff logins and the wrong tap
A hardware counter is rarely a one-man post. In Layerdots each staff member signs in under their own name, and an admin ticks which parts of the app that login can open. Billing, inventory, purchases, customers, expenses, reports, history and settings are each a separate permission. Expenses being separate matters here, because rent and salaries have no place on a counter clerk's screen. Whether a given person may sign in from the phone app is decided per person as well.
Busy counters also mis-tap. A deleted bill, purchase or expense goes to a recycle bin and can be restored for 30 days before it is purged, so a wrong tap in the evening rush is an errand rather than a lost record. If you want deletion to ask for a password first, that is a setting.
The printer you already own
Hardware shops accumulate printers the way they accumulate everything else, whatever a closing shop sold cheap. Software that assumes one roll width prints clipped or shrunken receipts on anything else. Layerdots prints A4 and A5 invoices, thermal receipts on 80 mm and 58 mm rolls, and a custom width you set with a slider after measuring your paper edge to edge with a ruler. In most shops the printer already on the counter is the right printer. Which paper suits which kind of selling is a separate question.
The godown has no signal
Plenty of hardware stock lives where the internet does not, in a basement or a tin shed across the yard. Layerdots keeps the shop's books in a folder on your own computer, and billing, stock, reports and backups all run with no internet at all; the reasons for building it that way are set out separately. The phone app pairs with the shop PC over your own Wi-Fi by scanning a QR code, and it needs no internet either: stock lookup, today's sales, barcode scanning with the camera, and photographing a supplier's invoice straight into the PC. If the Wi-Fi reaches the godown, the stock answer reaches it too. Internet is needed only for invoice scanning, Cloud Sync and updates.
Questions that come up
Is there a separate hardware edition?
No. It is the same app the medical stores run. You choose your business type at setup and the
defaults follow: a hardware counter runs as a retail or wholesale shop with A4 invoices by
default, and A5 or thermal is a setting away.
What does it cost?
Seven days free with full features, no card and no online account. After that, Basic is
₹3,800 + GST = ₹4,484 a year for one shop with 50 invoice scans a month; Gold is ₹7,000 + GST
= ₹8,260 for up to two shops and 80 scans; Platinum is ₹11,000 + GST = ₹12,980 for up to
six shops and 200 scans. The pricing section has the rest. The
same app runs on Windows and on Mac.
