Fruit & vegetable wholesaler: from Excel to a system for prices, orders and analytics — first version in 3 days
A fruit and vegetable wholesaler in Astana turned the supplier price list into prices for retail chains by hand every week and collected orders from a messenger. We started on the morning of October 8 and loaded the first real price list the same day; on day two the client’s staff worked in the system on their own, on day three store orders were going through it. A week in, the owner was using it to see which products earn margin and which don’t sell.
Task
Once a week the supplier sends a price list of 110+ items. A manager matched the names to the catalog by hand, recalculated markups for every customer in Excel, built a price list and sent it as a file. Store orders arrived in a messenger and delivery notes were typed manually — with the extra twist that stores buy by the piece while the supplier sells by the kilogram. Nobody knew what to order from the supplier, what the real margin was, or which products were dead weight in the price list.
Project story
Started from the client’s files, not a spec
Instead of a specification we went through real documents: the supplier price list, the price list sent to the chain and the delivery note. We agreed on the core flow — upload the price list → review → publish prices → take orders — and that the team would get a working version in days, not weeks.
First real price list on day one
Development began on the morning of October 8, and by the afternoon a real supplier price list was in the system: 109 items parsed, matched to the catalog and turned into customer prices. On October 9 the client’s staff started working on their own; on October 10 delivery notes for the chain’s stores went through the system.
Changes straight from the work chat
Feedback came as a screenshot and one sentence. “I set a 52% markup but the price doesn’t change” — markups now recalculate the price instantly. “Let me type the price and have the system work out the markup” — a price field with reverse markup calculation. “Stores buy by the piece, the supplier sells by the kilo” — orders got unit conversion: the store gets a delivery note in pieces, the supplier in kilograms. Most changes went live within an hour.
Analytics a week later, at the owner’s request
Once operations ran, the owner asked to see “how healthy the business is”. We added a business pulse with a monthly plan and forecast, a product matrix by sales and margin, lists of products that don’t sell and stores that went quiet. A separate “Sales rep” role sees only the dashboard and analytics.
What we built
- →Price list matching remembers how the supplier names each product; each upload shows how many products went up, down or are new
- →With a new price list the customer price moves exactly by the change in purchase price — the markup in tenge is kept; a price can also be typed in and the markup is worked out automatically. Prices always round up to a whole tenge
- →Prices are published only to selected customers; price lists export to Excel and PDF in one click, without purchase prices
- →Delivery notes per store in the client’s familiar format, with piece ↔ kilogram conversion and a per-piece price for the customer
- →Every order produces a supplier invoice; several invoices export into one file. Return notes are created from an order and can’t exceed what was delivered
- →Analytics: revenue and margin net of returns, comparison with the previous period, a “stars / workhorses / niche / dead weight” product matrix, idle products, quiet stores, a monthly plan with run-rate forecast
- →The system flags incomplete data — e.g. order lines without quantities — so decisions aren’t made on understated numbers
The product in use






Result
Three days passed from the start of development to the first orders going through the system, and a week to sales and margin analytics. The weekly cycle “supplier price list → customer prices → orders → supplier invoices” no longer lives in Excel and a messenger, and the owner sees which products earn, which don’t sell and how the monthly plan is going. The client keeps developing the system with us.