Case study: how a Sungai Petani electrical goods retailer cut stocktake from 2 days to 4 hours with a simple automation
A 3-branch Sungai Petani electrical goods retailer was spending 6 days a month on stocktake. We didn't sell them an ERP — we wired their barcode scanner to their POS and built a reconciliation script. Here's what it did.

The business
A 3-branch electrical goods retailer in Sungai Petani, Kedah. Family-run, opened in 2007. Stocks fans, switches, lighting, cables, water heaters, small appliances — the long tail of electrical goods a Kedah household actually buys. Around 8,500 active SKUs across the 3 branches, each branch carrying about 4,000 SKUs at any time.
This is the case study for the business automation side of what we do — a small, pragmatic build for a Kedah retailer that did not need an ERP rollout, did not need a transformation programme, and definitely did not need a new POS. It needed the existing barcode scanner and the existing POS to talk to each other.
The problem they were actually trying to solve
A monthly stocktake that consumed 2 working days per branch — 6 working days a month across the business. The owner and the 2 branch managers would close the branches on a Sunday, walk the shelves with a clipboard, and reconcile the count against an Excel file that one of the managers had built in 2018 and never quite finished. The process was painful for three specific reasons:
- The barcode scanner wasn't talking to the POS. The shop had a handheld barcode scanner that the staff used at the till. The scanner dumped counts into a CSV. The POS had its own stock file. Nobody had ever wired the two together.
- The Excel file lived on one manager's laptop. When she was on leave, stocktake stopped.
- The 2,000-SKU "long tail" never got counted accurately. The high-velocity SKUs (water heaters, common switches) were fine. The long tail — the 2,000 SKUs that turned over once a quarter — accumulated errors that didn't surface until the annual audit.
The owner had tried two things in the previous 24 months:
- An ERP pitch from a KL-based vendor. The quote was RM 180,000 for a 3-branch rollout with a 9-month timeline. The owner said no on the second call.
- Hiring a part-time stocktake contractor. Helped, but at RM 800 per branch per stocktake, it was costing RM 19,200 a year for a process that still took 1.5 days per branch.
What the owner said on the first call: "I want stocktake to take one afternoon per branch, not two days. I don't care how, I just want the long weekend back." That sentence is the brief.
What we built — and why this approach
A small business automation with three parts, sitting on top of the equipment and POS the shops already had:
- A reconciliation script that reads the barcode scanner's CSV export and the POS's stock export, then produces a variance report — what was scanned but not in POS, what was in POS but not scanned, and a confidence score per SKU based on scan history. Runs on a small laptop at the owner's house. No new server, no new software licence.
- A simple stocktake app (a small web app the branch managers open in a browser on the shop tablet) that guides them branch-by-branch, shelf-by-shelf, and uploads the scan file directly when they're done. No more clipboard. No more Excel. The app replaces the 2018 Excel file entirely.
- A dead-stock dashboard the owner opens monthly. Lists the 200-300 SKUs that haven't moved in 90 days, grouped by branch, with a recommended action (markdown, transfer, return to supplier). The single biggest margin-leak fix.
Why not the KL ERP vendor? Because the owner has 8,500 SKUs across 3 branches and a 12-year-old POS that works fine. She doesn't need a 9-month ERP rollout. She needs the existing scanner and the existing POS to talk to each other, and a dead-stock view she can act on. The build matches the shops, not the other way around. That's the honest by default line we keep in the call.
How the operation changed
Three concrete changes inside the first 6 weeks:
- Stocktake is now one afternoon per branch, not two days. The reconciliation script does the heavy lifting. The branch managers walk the shelves, the scanner counts, the script reconciles, the variance report prints. Sunday afternoons, not Sunday-and-Monday.
- The owner has a single source of truth. The web app replaces the 2018 Excel file. Both branch managers and the owner see the same numbers. The "on leave" risk is gone.
- Dead stock is now visible and acted on. Before, the 200-300 dead SKUs were an unknown margin leak. The dashboard surfaces them monthly. The owner has actioned roughly RM 18,000 of dead stock in the first 6 months — markdown to a clearance corner, transfers between branches, returns to suppliers.
The build is now in the second phase — a small procurement automation that reads the dead-stock dashboard and the live sales data, and suggests reorder quantities for the next buying cycle. That's a custom software layer on top of the business automation base, and pays back on a different line of the P&L.
The numbers, six months in
We don't do client testimonials. We do numbers. The retailer's view, six months after the stocktake automation went live:
- Stocktake time: 2 days/branch → 4 hours/branch. A 75% reduction. Across 3 branches, the owner has recovered roughly 12 working days in the first 6 months. Sunday is back.
- Stocktake contractor cost: RM 19,200/year → RM 0. The owner stopped using the part-time contractor after the third month. The build paid for itself in cost-avoidance alone.
- Dead stock actioned: RM 18,000 in the first 6 months. A mix of markdowns (60%), inter-branch transfers (25%), and supplier returns (15%). The owner's gross margin improved by ~1.8 percentage points in the period.
- Stocktake accuracy: ~92% to long tail SKUs → 98.5%. The variance report catches the long tail the old clipboard method missed. The annual audit was the cleanest in the shop's 18-year history.
- Owner Sunday stress: high → low. Less of a metric and more of a fact. The owner and her family have their Sundays back.
Total first-phase cost: RM 18,000 to RM 38,000, spread across 6 weeks. The web app is the main cost; the rest is the reconciliation script, the dead-stock dashboard, the integration with the existing POS, and the 90-day post-handover review.
Payback: 5 months on the cost-avoidance numbers alone, 3 months once the dead-stock actioning is included. The system is now in the second phase (procurement automation), and the second year is cheaper than the first.
What it would cost for your business
We don't publish a price sheet, because the price depends on what you're running. Three honest bands for a Kedah or Perak retailer:
- RM 15,000 – RM 30,000 (one-off). A first-phase stocktake automation for a 1 to 3-branch Kedah retailer with an existing POS, a handheld barcode scanner, and 2,000 to 10,000 SKUs. Includes the reconciliation script, the stocktake web app, and the dead-stock dashboard.
- RM 30,000 – RM 60,000 (one-off) + RM 1,000 – RM 2,500 / month retainer. A multi-branch build for a 4 to 10-branch retailer with cross-branch transfers, supplier return workflows, and a small data team to own the dashboards.
- RM 60,000 – RM 120,000 (one-off) + RM 2,500 – RM 5,000 / month retainer. A multi-location retailer with 10+ branches, e-commerce integration, and a procurement automation layer on top. Closer to a small ERP slice.
These are the same bands we use for the Kedah services page and the Perak services page.
What this looks like for your business
If you run a 1 to 5-branch retailer in Kedah, Penang, Perak or KL and your monthly stocktake is eating your Sundays, this kind of build is the right first move. We don't sell an ERP. We wire your existing scanner to your existing POS, build you a stocktake app and a dead-stock dashboard, and give you your weekends back.
The next step is a one-hour call, no slide deck. You tell us how many branches, how many SKUs, what your current stocktake takes. We tell you whether an automation build is the right answer, or whether the real fix is process discipline upstream. We won't pitch you either way. Get in touch and we'll set up the call.
If your bottleneck is on the F&B or hospitality side rather than the retail side, our Ipoh F&B case study shows the AI front-desk build for an F&B group, and our Langkawi resort case study shows the AI WhatsApp concierge. And if your bottleneck is in production rather than retail, our Taiping food manufacturer case study shows the AI maintenance build.
Frequently asked questions
The first phase for the Sungai Petani retailer was 6 weeks from kickoff to live. A single-branch first-phase build can land in 4 to 5 weeks. Multi-branch builds with cross-branch transfers and procurement automation take 3 to 4 months for the first two phases.
No. The build reads from your POS; it doesn't replace the POS. We've integrated with the common Malaysian retail POSes (AutoCount, SQL Account, a handful of smaller ones) and with generic CSV exports for shops running older systems.
Most handheld scanners since 2015 output a CSV or a keyboard-wedge format we can read. If yours is older than that, we say so on the first call. A new scanner costs RM 350-800 per branch.
Then you're in a different band. The build still works, but the data model and the dashboards need to be more sophisticated. We size the engagement around the SKU count, the branch count, and the existing systems — not around a vendor's standard SLA.
Tell us what you run.
We’ll spec the fix in a week.
Priced like a hire, not a project — around the cost of one admin a month. Most builds pay back in 30 days or less.
Get a build specMore for Kedah

Case study: how a Langkawi beach resort handled 2x booking volume with an AI WhatsApp concierge
A 32-room Langkawi resort was missing half their WhatsApp enquiries during peak season. We didn't replace their staff — we built them an AI concierge that handles 80% of messages and books 24/7. Here's what it did in 8 weeks.

Case study: how a Kulim electronics manufacturer cut visual inspection rejects by 40% with a thin AI vision system
A Kulim Hi-Tech Park electronics manufacturer was losing 8% of finished units to a missed defect in final visual inspection. We didn't sell them machine vision — we built them a small AI spot-checker. Here's what it did in 3 months.