The warehouse stopped waiting for the end of the day

A fresh-produce distributor replaced a daily purchasing spreadsheet, hand-typed supplier messages and printed picking lists with a warehouse system that updates stock from the floor, in real time, from a phone.

A fresh-produce distributor running its own supply chain from the field to the door.

It connects small and mid-sized farmers directly to restaurants and households. Buy too much and the surplus is thrown away; buy too little and the order is short. Both errors start from the stock number.

Fresh produce distribution

2019Founded
500+Restaurants served, at the time of the case (2022)
USD 100k+Monthly recurring revenue, company figure at the time of the case
2025Merged with another fresh-produce platform
500+Restaurants servedThe company's own published figure in the case header, at the time of the case (2022). A company-scale figure, not a result attributed to the system.
USD 100k+Monthly recurring revenueSame source, same date. It describes the size of the operation the system was built for, and nothing in the source attributes it to the system.
3Manual routines named as replacedThe daily spreadsheet, the data entry on the base computer and the printed lists. The count is the published case's own list in its "Before" section, not an estimate.
1 per dayNew spreadsheet files the purchase routine requiredThe published case's description of the old routine: a new Excel file every morning, fed by hand, to produce the day's purchase list.
“Jestor brought a new level of efficiency to our operation. By automating purchases and giving data autonomy to every team member, we now have true real-time data. The warehouse is now as tech-driven as the office, and time that would be spent dealing with spreadsheets is now used for planning and improving our core business.”
Eduardo Pietraroia, co-founder, quoted in the 2022 published case
Eduardo PietraroiaCo-founder, in the 2022 published case
BeforeAfter
  • A new Excel file each morning, filled by hand with stock, orders and projections
    A daily purchase list generated automatically, sorted by supplier
  • Supplier orders typed one by one into WhatsApp
    A generated WhatsApp message per supplier, each order marked Placed and then Received
  • Stock estimate updated by hand after ordering
    Marking an order Placed creates the estimate; Received updates the stock number
  • Periodic data entry on a base computer, from paper counts
    Each warehouse member registers quantity changes from a phone, with filtered access
  • End-of-day counting to reconcile stock
    No reconciliation session: quantities are registered on the spot
  • Printed picking lists, re-checked against new orders
    A picking list that updates whenever demand exceeds the initial forecast
  • Emails, messages, spreadsheets and workflow tools for internal supplies
    One request-and-approval flow for internal items, with purchase and price history

The ecommerce platform stayed as the customer-facing order channel. WhatsApp stayed as the supplier channel. The sales projection stayed as an external input. Pre-existing databases stayed and were being connected. The system sits between the order channel and the warehouse floor; it does not replace either end.

The bottleneck was operational, not commercial

The company connects small and mid-sized farmers directly to restaurants and households, running its own supply chain from the field to the customer's door. It was founded in 2019 and, at the time of this case, served more than 500 restaurants and had passed USD 100,000 in monthly recurring revenue, by its own published figures. In 2025 it merged with another fresh-produce platform serving food service and retail.

Fresh produce is a perishable, high-turnover business. Buy too much and the surplus is thrown away; buy too little and the customer's order is short. The company's model depends on predicting demand well enough to keep both errors small, and prediction is only as good as the stock number it starts from. A crate that spoils, a shipment that comes back, a pallet counted wrong: each one moves the number the forecast is built on.

That is why the bottleneck was operational and not commercial. The company already had customers and a way to forecast demand. What it did not have was a way for the warehouse floor to tell the office what had happened as it happened. Until it did, every forecast started from data that was already a day old.

The physical work was real-time and the data was batch

“Jestor brought a new level of efficiency to our operation. By automating purchases and giving data autonomy to every team member, we now have true real-time data. The warehouse is now as tech-driven as the office, and time that would be spent dealing with spreadsheets is now used for planning and improving our core business.”

Eduardo Pietraroia, Co-founder
The purchase list lived in a file that was born and died every day

Each morning a new Excel file was created and fed with opening stock, customer orders and sales projections. The output was a list of what to buy. Then someone typed each supplier's order into WhatsApp by hand.

The floor and the office ran on different clocks

Warehouse staff counted on paper and, at intervals, keyed their counts into a computer at the base. That step existed only to digitize what had already been collected manually. Between updates, the office worked from numbers that were already stale.

Picking lists were printed, and demand did not stop when they came out of the printer

The team separated produce against a printed list of expected quantities, then kept checking incoming orders to see whether the list was already short.

The pattern behind all three: the physical work was real-time and the data was batch. Nothing in the process was broken yet. But a growing catalogue and growing sales meant the gap between what was on the floor and what was in the spreadsheet would widen until something did break.

Item by item, what did each job before and what does it today

“Jestor brought efficiency to just about every step of the process. Not having to manually type orders is a godsend, and being able to do everything through a smartphone makes sure things only need to be done once. It's easy too: some processes are as simple as marking a checkbox.”

João Marcos Jesus, Quality and planning analyst
What did this beforeWhat does it today
A new Excel file each morning, filled by hand with stock, orders and projectionsA daily purchase list generated automatically from current stock, customer orders, sales projections and supplier delivery estimates, sorted by supplier
Supplier orders typed one by one into WhatsAppA generated WhatsApp message per supplier; each order marked Placed and then Received
Stock estimate updated by hand after orderingMarking an order Placed creates the stock estimate; marking it Received updates the stock number
Periodic data entry on a base computer, from paper countsEach warehouse member sees stock and registers quantity changes from a phone, with access filtered to what they need
End-of-day counting to reconcile stockNo reconciliation session: quantities are registered on the spot, so the number is current
Printed picking lists, re-checked against new ordersA picking list generated automatically and updated whenever demand exceeds the initial forecast
Emails, text messages, spreadsheets and workflow tools for internal suppliesOne request-and-approval flow for internal items, with purchase and price history

What was not replaced. The ecommerce platform stayed as the customer-facing order channel. WhatsApp stayed as the supplier channel. The sales projection stayed as an external input. Pre-existing databases stayed and were being connected. The system sits between the order channel and the warehouse floor; it does not replace either end.

The purchase and picking cycle, end to end

  1. 1
    Customer orders arrive

    They come in from the ecommerce platform.

    Automated
  2. 2
    The day's purchase list is assembled

    Current stock, orders, sales projections and supplier delivery estimates are combined into one list, sorted by supplier.

    Automated
  3. 3
    The buyer reviews and sends

    The buyer checks the list and sends each supplier the generated WhatsApp message.

    Person
  4. 4
    The supplier confirms and delivers

    Outside the system, on the channel the suppliers already use.

    External
  5. 5
    The order is marked Placed, then Received

    Placed creates the stock estimate; Received updates the stock number.

    Person marks, system updates
  6. 6
    The picking list is generated

    Built from orders and stock, and updated when demand exceeds the forecast.

    Automated
  7. 7
    The floor registers what it sees

    Warehouse staff separate produce and register quantity changes, spoilage or returns from their phones as they go.

    Person
  8. 8
    The updated number feeds tomorrow

    The current stock number goes into the next day's purchase list.

    Automated

The hard links are 5 and 7. A system cannot see that a crate arrived short or that a box spoiled overnight; a person has to say so. The design accepts that and makes saying so as cheap as possible: a checkbox on a phone, at the moment it is noticed, instead of a paper note carried to a computer hours later. Everything automatic in the chain depends on those two human links staying easy.

Every change, with the basis beside it

IndicatorResultWhere it comes from
Purchase list preparationFrom a daily hand-built spreadsheet to an automatically generated list sorted by supplierPublished case, "Before" and "After" sections
Supplier orderingFrom orders typed one by one to one generated message per supplierPublished case; the team's own description
Stock data latencyFrom periodic base-computer updates and end-of-day counting to registration on the floor as it happensPublished case; no measured latency figure exists
Picking listFrom a printed list re-checked by hand to a live list that updates when demand exceeds forecastPublished case
Internal suppliesFrom scattered emails, messages, spreadsheets and tools to one request-and-approval flow with price historyProcurement manager's account in the published case

No time or cost figure is claimed here because none was measured. The published case describes what was replaced and how, and quotes the team on the effect. It does not report hours saved, headcount avoided or error rates before and after. A reader who wants those numbers should treat their absence as information, not as an oversight in this write-up.

"Real-time" means registered at the moment of the event, by the person who saw it. It does not mean sensors or automatic detection. The stock number is as current as the last checkbox someone marked on the floor. That is a large improvement over end-of-day counting; it is not a claim of zero lag.

The company-scale figures are not results. 500+ restaurants and USD 100,000+ MRR describe the size of the operation the system was built for. Nothing in the source attributes either figure to the system, and this case does not either.

The loss rate the company stated to the press is not used as a result. In 2021 the co-founder told the business press that product loss at the company did not exceed 2%, against about 30% across the fresh-produce chain. The figure is self-reported, predates this case and is not attributable to the system described here. It belongs in the industry context section, not in the results.

What this case does not measure

Worth naming, because it is usually what gets inflated.

The account is the customer's, unaudited

Every description of the before and after comes from the company's team as published. No process was independently timed or observed.

No unit economics

The case does not report cost per order, hours per purchase cycle, staff on the warehouse floor, or waste rates before and after. Those are the numbers a buyer would most want, and they are not here.

The data is from 2022

The case was published in April 2022. The company's size, catalogue and processes have changed since; in 2025 it merged with another platform. Whether the system described here runs unchanged inside the merged group is not known to us.

Some quotes do not fit today's arrangement and were left out

The original case includes a quote about developers building fast on the platform. Jestor now builds and maintains the system on the customer's behalf, so that quote describes a working model the company no longer sells and is not used as evidence here.

Expansion was in progress, not finished

At the time of writing, the company was connecting the system to its ecommerce platform's stock numbers and to older databases. The case describes intent, not a completed integration.

Company-scale figures are self-published and undated in the text

The restaurant count and MRR appear in the case header without a measurement date. They are treated here as "at the time of the case" and nothing more precise.

A surname could not be confirmed

The original case attributes a quote to an IT specialist whose printed surname does not match the name of the photo file. The quote was omitted for another reason (see above), and the name is not used.

Produce loses more than anything else in the chain, and the loss is rising

IndicatorNumberSource
Share of fruit and vegetables lost between harvest and retail, globally25.4% in 2023, up from 23.2% in 2015; the highest of any commodity groupFAO, SDG indicator 12.3.1 data portal, updated June 2026
Share of all food lost between harvest and retail, globally13.2%FAO Food Loss and Waste Database, citing UNEP 2024 figures
Share of food wasted at retail, food service and household level, globally19%UNEP Food Waste Index Report 2024, as cited by FAO
Estimated value of food lost before retail, globallyAbout USD 400 billion per yearFAO Food Loss and Waste Database, undated on the page
Produce loses more than anything else in the chain, and the loss is rising

FAO's own index puts fruit and vegetable loss above every other commodity group and moving in the wrong direction over eight years. The reason FAO gives is the one this case is about: high perishability and handling requirements. A distributor whose stock number lags reality by a day is buying and picking against a picture that perishable goods have already changed.

Loss before retail is a data problem as much as a cold-chain problem

The 13.2% figure covers everything from farm to the retail door, which is exactly the stretch this company operates. Some of that loss is physical: bruising, heat, time. Some of it is informational: ordering more than will sell because the number that said how much was on hand was already wrong. This system addresses the second kind.

The most quoted figure in this field is the weakest

"One third of all food is wasted" traces to a 2011 FAO estimate that the organization has since replaced with the two separate indices above. It remains everywhere in industry material. Anyone building a business case on food loss should use the current index for their stage of the chain, not the 2011 headline.

The system is built to fit, and responsibility for it stays with us

What happens in year two

This company's old process was not badly designed. It was a spreadsheet, a messaging app and a printer, doing a job they were never built for, and doing it well enough until the catalogue grew. The question a bespoke system has to answer is what happens in year two: a warehouse app that nobody can change becomes the new spreadsheet in three years, with a login.

A senior builder, not a ticket

One builder owns each request from start to finish, and one is always in execution.

The next request joins the queue

A new flow, a new automation or a new report comes in through the same channel, without becoming a new project.

Revisions without a count

If what was built is not right, it is rebuilt. Unlimited revisions within the subscription.

Unlimited users

Seats are never the billing unit, which matters when buyers, warehouse staff, drivers and office staff all touch the same operation.

Nobody has to learn to build

People learn to use their app the way they learn any app, by opening it. Building, configuring and maintaining stays on our side.

The data is yours

Full export at any time, by CSV and API. SOC 2 compliant, no exit fee. Pause in one click and the systems keep running.

Methodology and sources

Reported by the company

The before-and-after process descriptions and all four quotes come from the case study Jestor published in April 2022, written from interviews with the company's team. They are the team's own account and were not audited. One quote from the original case was omitted because it describes a working model Jestor no longer offers.

Institutional data

The restaurant count, MRR figure, founding year and 2025 merger come from the company's own published material and from business press coverage of the merger. The restaurant count and MRR are as of the case's publication and may not reflect the company today.

Market data

FAO SDG indicator 12.3.1 data portal (updated June 2026); FAO Food Loss and Waste Database (page dated February 2025), citing the UNEP Food Waste Index Report 2024.

What is deliberately absent

No time saved, cost saved, headcount, error rate or waste rate is claimed, because none was measured in the source. The company has stated a product loss rate to the press; it predates this case, is self-reported, and is not attributable to this system, so it is not used here.

Get a demo