Agricultural exports

An operating system for an agricultural export business

A fruit exporter used Excel and Zalo to manage container orders, multiple cold-storage sites and hundreds of seasonal workers. We built a dedicated operating system, delivered it module by module and put it into daily production use.

The challenge

  • Cold-storage inventory was spread across Excel files, with each warehouse using a different format
  • Export orders involved containers and multi-step paperwork, leading to discrepancies between teams
  • Seasonal team wages were calculated manually from output, with differences discovered only at season end
  • The owner had to wait for each department to answer questions about operating figures

Our approach

  • An internal web system with more than 80 data tables: container orders, cold storage, purchasing, cashbooks, team wages and personnel records
  • A shared definition of inventory: opening balance plus movements, traceable to each transaction
  • Quality-control records linked directly to containers, with photos taken by phone in the warehouse
  • An internal AI assistant that answers staff questions in Vietnamese using live data and more than 20 lookup tools
  • A phone-installable PWA with push notifications for items awaiting approval

Context

Before the system existed, the business ran on Excel and Zalo for a genuinely complex set of operations: export orders counted by container, cold storage spread across multiple sites, and hundreds of seasonal workers tied to the harvest calendar.

Three bottlenecks repeated every day: cold-storage stock was scattered across Excel files, with each site recording it differently; container paperwork passed through many steps, so discrepancies crept in between teams; and seasonal wages were calculated by hand from output, with gaps only surfacing once the season ended.

Whenever the owner needed an operating figure, someone had to wait for the right department to answer — there was no single place to look it up directly.

Architecture & stack

The solution is an internal web system with more than 80 data tables, covering the core operations end to end: container orders, cold storage, purchasing, cashbooks, team wages and personnel records — instead of stitching together separate Excel files.

Inventory follows one shared definition across the whole system: an opening balance plus movements, traceable down to each individual transaction — this is the foundation that decides whether the numbers are trustworthy, built before any reporting screen was considered.

Quality-control records are linked directly to each container, with warehouse staff taking photos on the spot with a phone instead of writing them down and re-entering them later.

Sitting on top of that data layer is an internal AI assistant with more than 20 lookup tools: staff ask questions in Vietnamese and get answers drawn from the real data already in the system, with no guessing beyond it.

The whole interface is packaged as a phone-installable app (PWA) with push notifications for anything awaiting approval — staff do not need to open a computer to see what needs doing.

Delivery milestones

The system was not handed over as one single package. Each module was finished, proven on real data, and only then did the next module begin — rather than building the whole thing before anyone could use any of it.

This approach kept the operations team with something usable after every delivery, instead of waiting for the entire system to be complete before starting to use it — and it spread the risk across stages instead of concentrating it in one big launch.

As it stands, 8+ modules already run in production every day across more than 80 operational data tables, and new modules continue to be added at that same milestone-by-milestone pace.

Day-to-day operation

In the warehouse, staff scan and photograph quality-control slips right at the container; in the office, cashbooks and seasonal wages are entered directly into the system instead of being calculated by hand and reconciled at season end.

Anything needing approval — releasing payment, closing a goods-receipt slip, confirming a team's output — pushes a notification to a phone through the PWA, so the approver can act on it immediately instead of waiting to sit down at a computer.

When the owner needs an operating figure, the question goes straight to the internal AI assistant in Vietnamese and gets an immediate answer, instead of messaging each department and waiting for a reply.

Lessons

The biggest lesson: the inventory definition has to be unified before building any other module — if every warehouse keeps recording it its own way, no amount of extra reporting screens fixes the underlying mismatch.

Delivering module by module, with each one signed off before the next begins, kept the operations team from being overwhelmed by a system that changes the entire way of working in a single day — each stage only required learning one new piece of work.

Attaching AI to a data layer that is already clean — a unified inventory standard, quality-control records tied to containers — works far better than attaching it to still-scattered data: the assistant only answers correctly once the underlying numbers can be trusted.

Results

8+

Modules running in production

80+

Operational data tables

Released in stages, each usable immediately

Delivery approach

From asking and waiting to a few seconds

Time to retrieve an operating figure

Related

Consult nowMessage on Zalo