All posts
Case study·Ipoh·Automation·10 min read

Case study: how an Ipoh wholesaler cut stock reconciliation to 11 min

A 19-year Ipoh wholesale distributor ran 90-min nightly stock counts. A business automation build got it to 11 min by week 4. Cost, payback, what it would take for your Perak operation.

·By The pitchdeck.my team
Ipoh Automation case study — A 19-year Ipoh wholesale distributor ran 90-min nightly stock counts

A 19-year-old family-run wholesale distributor in the Ipoh industrial belt was closing the warehouse every night with 90 minutes of stock reconciliation — clipboard tallies, pen-and-paper, and a 9pm ritual that the staff called "the class." We spec'd a business automation build around how the warehouse actually counts, not an off-the-shelf ERP. By week four, end-of-day reconciliation was down to 11 minutes. Stock variance fell by three-quarters, and the owner was no longer staying until 10pm three nights a week. This is the case study.

The business

A 19-year-old wholesale distributor in the Menglembu light-industrial belt, founded by the current owner's father in 2006. Started as a single-counter sundry wholesaler in old-town Ipoh near Jalan Mustapha Al-Bakri, then moved to a 9,200 sqft warehouse + showroom in Menglembu in 2014. The second generation took over in 2019 and has since grown the operation to 11 staff: 3 counter staff, 4 warehouse pickers, 2 delivery drivers, 1 accounts clerk, and the owner doing finance + ops.

They stock fast-moving consumer goods — cooking oil, rice, flour, sugar, condensed milk, instant noodles, bottled water, detergent, and tissue — plus HORECA-size packs for the coffee shops and hawker stalls that define Ipoh white-coffee heritage. They supply about 340 retail accounts across Perak: independent grocers in Ipoh old town, the Tambun wet-market wholesalers, kopitiam chains in Pengkalan and Chemor, and a smaller set of HORECA accounts in the Cameron Highlands agri-tourism trade. Roughly 55% of orders go out via their two delivery lorries, the rest are counter collection. Average order size: RM 380 to RM 620. Daily order volume: 90 to 130.

This is the case study for the business automation side of what we do — a small, tightly scoped build that takes the manual reconciliation work off the warehouse floor and gives the staff their evenings back.

The problem they were actually trying to solve

The end-of-day reconciliation was eating the operation alive. Three concrete leaks, all from the same root cause — stock counts lived in six different places, none of them talking to each other:

  • End-of-day reconciliation took 90 minutes. The owner, the warehouse supervisor, and the most senior picker would stay until 9pm every night, walking the warehouse with a clipboard, counting fast-moving SKUs against a tally sheet, then re-keying the variances into SQL Account by hand. They called it "the 9pm class." It happened 6 nights a week.
  • Stock variance was 3 to 4% per week. Roughly RM 6,500 to RM 9,000 per month of unexplained stock loss — a mix of miscounts at the counter, broken-bag write-offs that never made it back to the system, and small outright leakage. The owner had no way to know which was which.
  • The next day started blind. Because the reconciliation didn't finish until 9:30pm, the counter staff came in at 7:30am the next day with stock figures that were already 10 hours stale. They'd oversell a SKU by 9:15am, the warehouse would short-pick, and a customer would leave without their full order. About 8% of counter collections had a partial-fill issue every day.

The owner said on the first call: "Kak, my staff and I are not warehouse people — we're wholesale people. The 9pm class is the reason I haven't had a meal with my kids in a week. I don't need a system — I need the counting done by something that doesn't get bored."

What we built — and why this approach

A small business-automation layer built around how the warehouse actually counts, in four parts:

  1. A barcode-driven receiving process. Every incoming pallet from the supplier gets scanned at the receiving bay — SKU, quantity, batch number. The system writes it to the live stock register in under 3 seconds. Before, the same data was touched three times: the receiving clerk wrote it on a paper slip, the supervisor re-keyed it into SQL Account the next morning, and the warehouse picker found out about it only when the stock was supposed to be on the shelf.
  2. A bin-level live stock register. Every bin in the warehouse has a location code (A1-03, A1-04, B2-07, etc.). Every pick, every transfer, every write-off updates the register in real time. The wall-mounted dashboard at the supervisor's desk shows live stock for the 240 fastest-moving SKUs. The "did we actually receive it?" question is structurally impossible now.
  3. An automated end-of-day reconciliation engine. At 7:30pm sharp, the system runs a reconciliation pass: it scans the day's transaction log (sales, transfers, write-offs), subtracts from the morning opening balance, and posts the variance to a small dashboard. The supervisor walks the warehouse once — only for the 8 to 15 SKUs the system flagged as variance over RM 50. The 9pm class became the 7:45pm class.
  4. A write-off approval flow with photos. Every bag break, every damaged carton, every short-expiry write-off now needs a photo plus a one-line reason. The owner reviews the next morning over breakfast. Write-offs fell because the staff knew the photo was required.

Why not just buy an off-the-shelf ERP like SAP Business One or Acumatica? Because the workflows are too specific. The way a Menglembu wholesaler handles broken bags of rice. The way a HORECA pack of 5kg cooking oil is different from the retail 1kg pack with the same SKU. The fact that the counter staff and the Pengkalan kopitiam owner are on a first-name basis, and the "kak, esok boleh hantar lagi 2 kampit tak?" — "sister, can you send another 2 sacks tomorrow?" — trust pattern is part of how the business actually runs. An ERP assumes clean data from a clean PO. This warehouse doesn't have that. The custom automation was spec'd to match.

This is the kind of build we do under our business automation service — opinionated, tightly scoped, around a Perak wholesale operation's actual workflow.

How the operation changed

Three concrete shifts inside the first 6 weeks:

  • The warehouse staff stopped the 9pm class. Before, the owner, the supervisor, and the senior picker would walk the warehouse with a clipboard until 9pm every night. Now they walk it for 11 minutes at 7:30pm, only for the SKUs the system flagged. The supervisor is home by 8pm most nights. The senior picker is home by 7:45pm. Counter re-keying time dropped from 11 hours per week to under 1 hour, and that hour got redirected to walk-in customers — small packs, oil refills, household orders — that previously went unsold.
  • Counter overselling fell sharply. Before, the counter staff had stock figures that were 10 hours stale — the previous night's close. Now they have a live view on the counter terminal. Partial-fill counter collections fell from roughly 8% of orders to under 2%. Customers got their full orders on time, and the "kak, you said you had it" apology calls dropped from 8 to 10 a week to 1 or 2 a week.
  • Write-offs became accountable. The photo-required flow surfaced that roughly 60% of write-offs were staff-attributable, mostly broken bags from rough handling in bin A3-04 (rice bags falling off the top row). The owner used the data to fix the stacking pattern and the damage rate fell 70% in the next month. The remaining 40% were supplier-side — short pallets, expired batches — and now go back to the supplier with a photo the same day instead of being silently absorbed.

The numbers, 4 weeks in

We don't do client testimonials. We do numbers. The distributor's view, 4 weeks after the automation went live:

  • End-of-day reconciliation: 90 minutes → 11 minutes. That's roughly RM 1,500 per month of staff time redirected to inbound receiving and customer service, where it actually earns money.
  • Stock variance: 3 to 4% per week → 0.8% per week. Roughly RM 4,500 to RM 6,500 per month of unexplained loss eliminated.
  • Counter partial-fill rate: 8% of orders → under 2%. Counter sales up 11% in the first 4 weeks — same staff, same building, more orders sold cleanly.
  • Write-offs: 2.6% of receiving volume → 1.4%. Photo-required flow plus better bin stacking saved roughly RM 3,200 per month.
  • Owner after-hours work: 15 to 18 hours per week → 4 to 5 hours per week. A second-generation owner with three kids, recovered 10+ hours a week.
  • Total first-phase cost: RM 32,000 (one-off build) + RM 1,500/month maintenance. Includes the barcode receiving layer, the bin-level live register, the automated reconciliation engine, the write-off approval flow, and 90 days of tuning. Payback period: 9 weeks.

What it would cost for your business

Three rough pricing bands, based on the size of the warehouse and the number of moving SKUs:

  • Small wholesale (under 200 SKUs, single counter, single warehouse bay) — RM 14,000 to RM 18,000 one-off + RM 600 to RM 900/month. Fits: small sundry wholesalers in Ipoh old town, single-counter FMCG distributors, family-run HORECA suppliers in the Kinta Valley. We do these in 3 to 4 weeks.
  • Mid-size wholesale (200 to 800 SKUs, 2 to 4 warehouse bays, mixed counter + delivery) — RM 28,000 to RM 42,000 one-off + RM 1,400 to RM 2,200/month. Fits: the distributor in this case study, most of the FMCG wholesalers in the Menglembu and Falim light-industrial belt, mid-size HORECA packers. We do these in 5 to 7 weeks.
  • Multi-branch wholesale (800+ SKUs, multiple branches, central warehouse + regional cross-dock) — RM 55,000 to RM 85,000 one-off + RM 2,800 to RM 4,500/month. Fits: regional FMCG distributors, agri-commodity traders serving the Cameron Highlands packers, multi-state HORECA suppliers. We do these in 8 to 12 weeks.

For the broader pattern of how a Perak wholesale operation runs and what automation fits it best, see our Perak services page. For businesses outside wholesale — clinics, dental groups, schools — see this Ipoh school case study for a custom-software build at a similar price band.

What this looks like for your business

If you're running a wholesale operation in Perak and the end-of-day reconciliation is eating your warehouse staff alive — and you have a sense that the 3 to 4% weekly stock variance is bigger than it should be — the path is the same as this distributor's. We come in for a half-day, walk the warehouse, count one SKU with your supervisor to baseline the actual error rate, then write you a one-page spec with the price band and the payback period. There's no obligation, and we don't pitch you either way.

If you're not in wholesale but the pattern looks similar — the manual reconciliation, the after-hours, the staff work that nobody's measuring — we do this kind of automation across FMCG distribution, HORECA, Ipoh white-coffee processing, and the Kinta Valley manufacturing belt. See how an Ipoh accounting firm cut month-end work from 12 days to 4 for a related automation pattern, or how a Taiping auto-parts shop cut dispatch time from 4 hours to 35 min for a workflow automation in a different Perak industry.

Start a conversation with us — tell us what your operation looks like today, and we'll tell you honestly whether automation is the right next step or whether the cheaper fix is just a better SOP.

About the author

The pitchdeck.my team

I run pitchdeck.my — fifteen years building custom software, automation, and AI tooling for Malaysian SMEs, from Alor Setar family businesses to KL fintech desks. Most weeks I’m scoping a new build, writing the spec, and shipping the first version with the founder.

  • AI for SMEs
  • Custom software
  • Malaysian markets
  • Business automation
More posts by The pitchdeck.my team

Related builds

Get automation in Ipoh

Frequently asked questions

The first-phase build for a mid-size Perak wholesaler takes 5 to 7 weeks. Weeks 1 to 2 are spent on barcode labelling, bin mapping, and the receiving-process re-design. Week 3 is the live register and reconciliation engine. Weeks 4 to 7 are tuning the variance rules with your actual transaction data. We don't flip a switch — we go live on a Sunday morning, with your supervisor shadowed for the first 3 evenings.

Yes — the live stock register posts a daily stock movement journal to your accounting software at 8pm. SQL Account, [Xero](https://www.xero.com/my/), and [AutoCount](https://www.autocount.com/) are all supported. If you're on QuickBooks or MYOB, we have an integration layer that takes an extra 1 to 2 weeks to set up. We do not require you to migrate off your existing accounting software.

The first 30 days of the build are the baseline. We'll measure every variance, attribute every write-off, and surface the 5 to 10 SKUs that are responsible for 60 to 70% of the unexplained loss. Most Perak wholesalers find that 80% of their variance comes from 4 causes: bin miscounts at receiving, broken-bag handling, mis-sized pack returns, and a small amount of staff-side leakage. The photo-required write-off flow handles 3 of the 4, and the bin-level live register handles the 4th.

An ERP assumes clean data and clean POs. A Perak wholesaler runs on broken bags, half-Malay half-Chinese part descriptions, and the *"kak, esok boleh hantar lagi 2 kampit tak?"* trust pattern with regular customers. The custom automation wraps around how the business actually runs — we don't ask you to change your operation to fit the software. For a deeper comparison, see the [business automation service page](/ai-agency-malaysia/selangor/business-automation).

Ready when you are

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 spec

More for Ipoh