Supply chain · 0 to 1
Procurement automation at Ula
Ula's buyers ordered by gut and spreadsheet. I replaced that with a system that decides when to order, how much, and from whom, then chases the supplier until they commit.
Ula was a B2B e-commerce platform supplying small retailers across Indonesia. Procurement was done entirely by hand. Buyers eyeballed stock levels and placed orders on instinct, which failed in both directions at once.
Order too late and a product went out of stock, so a shop could not restock and Ula lost the sale. Order too much and cash sat frozen in a warehouse as inventory nobody had bought yet. At Ula's scale, both were expensive, and both were happening every single day.
I owned this as the sole product manager, from the first problem framing through to rollout. The real work was not just the design. It was getting four internal teams, demand planning, category, buying ops, and warehousing, plus the engineering team and an entire network of suppliers, to act in concert. None of the automation works if the people and suppliers around it do not play along.
I broke procurement into the four questions a buyer answers every day, and built a system to answer each one.
- When to order. The system watches demand against current stock and triggers an order the moment inventory is about to dip below a safe buffer
- How much to order. It calculates the exact quantity needed to last until the next cycle, accounting for how long the chosen supplier takes to deliver
- Who to order from. A rating system scores every supplier on price and reliability, then picks the best one for that product
- Getting a commitment. The supplier receives the order on a simple app, and if they reject it, the system reroutes to the next best supplier on its own, with no one stepping in
How an order moves through the system, from forecast to a committed supplier.
We rolled it out one warehouse at a time, starting with a single site and a small set of products, then scaling to the full catalog and supplier base there. The system was built to plan around a thousand products in a single half hour run.
Product availability rose from 85% to 95%. Fewer stockouts meant retailers could actually buy what they came for, and tighter ordering freed up working capital that had been sitting dead in overstock.
A fully automated system will confidently make bad decisions at scale, so the guard rails matter as much as the engine. I built dashboards and alerts so the teams could catch the system misbehaving early.
I also kept choosing the safe pragmatic option over the elegant one. The supplier app defaulted to accept, so weak adoption could never stall procurement. Limits that were hard to model were hardcoded first and automated later. And every time a planner overrode a recommendation, the system captured why, so we learned exactly where it was wrong. Shipping something real beat waiting for the perfect model.