← All articles

Blog

How a Jakarta Retailer Tightened Procurement with Odoo Purchase

A Jakarta retailer stopped overpaying suppliers and running out of stock after moving to Odoo Purchase with reordering rules and three-way matching. The story.

3 min read
  • narrative
  • odoo

A retailer in Jakarta — home and lifestyle goods, several dozen suppliers, both a physical store and online sales — had a procurement process that was costing them in two directions at once. They were overpaying suppliers through billing errors nobody caught, and simultaneously running out of popular stock because reordering depended on someone noticing. The owner suspected both problems but could not prove or fix either.

The two leaks

Buying happened over WhatsApp and email. A staff member would order from suppliers as stock looked low, record it loosely, and file the delivery notes. When a supplier’s invoice arrived, it was usually just paid — nobody systematically checked it against what was ordered and what actually arrived.

That created the first leak. Occasionally a supplier billed for more than was delivered, or at a higher price than agreed, and it was paid because no one compared the three documents. Small amounts each time, but across dozens of suppliers and hundreds of orders, it added up to real money quietly leaving.

The second leak was stockouts. Reordering was reactive — order when a shelf looks empty — so popular items ran out, especially when the person who usually watched them was busy or away. A customer who could not find a product either bought a substitute or left. Either way, margin lost.

What changed

They moved procurement into Odoo Purchase.

Three-way matching. Every supplier invoice was now matched against the purchase order and the goods receipt. If a bill did not match what was ordered and received, Odoo flagged it for review instead of it being paid blindly. The overbilling leak closed almost immediately — and the discrepancies they caught in the first months were eye-opening.

Reordering rules on key stock. Their best-selling and most critical products got min/max reordering rules based on real sales velocity and supplier lead times. Odoo now watched stock and proposed purchase orders before items ran out. Restocking stopped depending on whether someone noticed.

Vendor pricing on record. Agreed prices for each supplier went into Odoo, so purchase orders pulled the correct price automatically and any supplier creeping their price up became visible.

The result

The billing leak stopped. The discrepancies Odoo caught in the first quarter — invoices for undelivered goods, prices above what was agreed — more than covered the cost of the project. The owner described the three-way match as “finding out how much we’d been quietly giving away.”

Stockouts on core products dropped sharply, recovering sales that used to walk out the door. And procurement simply took less time and worry, because the system watched stock and validated invoices instead of relying on busy people to remember and check.

Why it worked

Neither fix was clever. The three-way match is basic procurement discipline; reordering rules are basic inventory hygiene. The reason it worked is that doing them by hand across dozens of suppliers is exactly the kind of repetitive vigilance humans are bad at and software is good at. Odoo did not make anyone smarter; it made the checking automatic and consistent.

It also helped that they already ran Inventory and Accounting in Odoo, so Purchase slotted into a connected loop — the receipt came from Inventory, the bill went to Accounting, and the three-way match just worked.

If you suspect you are overpaying suppliers or losing sales to stockouts but cannot prove it, formal procurement usually surfaces the truth fast. We are happy to take an honest look at where your buying is leaking, in a free one-hour conversation.