Allocate module

Allocate · from grower to retailer

Decide each week whose fruit goes where, by which shipper and lane, in whole containers and trucks. Then link every lot to a retailer order, expiry- and recipe-aware. One plan from the field to the shelf.

Yesterday → today

From a spreadsheet per hop to one plan for the whole chain

Yesterday
  • Each grower's share worked out in a spreadsheet, then rounded to containers by hand
  • Departures and arrivals planned in separate files, reconciled by phone
  • One person holds the allocation rules in their head
  • No record of why that lot went to that customer
Today
  • One weekly plan from grower to retailer, in whole containers and trucks
  • Every shipment carries its departure and its arrival, so both views agree record by record
  • The rules sit in the plan, where the whole team can read them
  • Approved plans write back with the reasoning attached

Four layers of dots

Every link between them is a decision

Supply planning no longer stops at the warehouse door. The plan follows the fruit from the grower who picked it to the retailer who sells it, and decides each hop on the way.

1Growers / suppliers2Shippers3Distribution points4RetailersAgadirHuelvaMurciaKentfast boattruckDC NorthDC SouthRetailer NorthRetailer SouthFood servicewhole containersdays of life on arrivalmatched lot by lot

Each link carries its own rules: which farm may serve which retailer, which customer refuses a transport mode, how many fast sailings leave this week. The optimiser reads all of them on every run.

The last link

Every lot gets a customer, a date and a reason

Once the fruit lands, each lot is matched to the orders it can serve.

Expiry-aware by construction

Oldest lot first, as long as it still lands with the life each customer was promised.

Shortages and surpluses, highlighted

Shortages and surpluses show up before you commit, with the exact lines that cause them.

Automated distribution

Distribution to clients and depots generated automatically, then adjusted by hand where judgement beats the rule.

Margin-optimising allocation

When service allows a choice, the allocator favours the highest-margin match.

Interactive example

Run the model, then move it by hand

Pick an objective and read what the allocator proposes, then pick any link on the drawing and move its tonnage. Every change updates unfilled demand, remaining stock, over-order, life-spec breaches and the three readouts, live.

Allocation sandbox · berries, pack format 400g
rules explainable and overridablewrites back to the plan on approval

Conceptual product view.

How it works

A plan the trucks can actually load

Whole containers, not decimals

Full reefers, trucks and pallets. Two growers or two markets can share one unit.

Two dates on every shipment

The day it leaves and the day it lands, so departures and arrivals always agree.

Rules on every link

Which supplier may serve which retailer, which variety fills which product, which mode each customer accepts.

Real transport limits

Fast and slow sailings, weekly caps, transit days and each market's share.

Trade-offs you can read

Shortfall, fairness and oldest fruit first, weighed in the open. The planner sees and sets the weights.

What you reviewed is what ships

A run writes nothing. Applying writes exactly the plan you reviewed, and ERP-confirmed shipments stay as they are.

Interactive example

Plan a week, grower to retailer

Pick a week and read the plan the optimiser builds. Every way of loading and routing this week's containers and trucks is tried, and the one that best protects the priority orders wins. Then change one rule and watch it plan again.

Logistics plan · blueberries · W34 departures
every unit namedERP-confirmed shipments never overwrittenapplies exactly the plan you reviewed

Conceptual product view.

Built for fresh food

Constraints belong in the plan, not hidden across spreadsheets

Yesterday · one rule per file

  • FEFOin the picker's head
  • minimum life on arrivalcustomer-specs.xlsx
  • customer-variety approvalsapprovals.xlsx
  • retailer prioritiesan email thread
  • quality limitsthe QA sheet
  • recipe / calibrethe spec book
  • colourthe packhouse board
  • pack formatorders.xlsx
  • depot routingtransport-plan.xlsx
  • grower ↔ retailer approvalsgrower-list.xlsx
  • weekly sailingsthe forwarder's email
  • container fillthe shipper's whiteboard

Twelve rules, twelve places, and one person who knows which copy is current.

Today · one engine

grower supplysailingscustomer orders
  • FEFO
  • minimum life on arrival
  • customer-variety approvals
  • retailer priorities
  • quality limits
  • recipe / calibre
  • colour
  • pack format
  • depot routing
  • grower ↔ retailer approvals
  • weekly sailings
  • container fill

one governed plan · every line explainable

The same twelve rules, read by the optimiser on every run and by the whole team between them.

A pepper colour-recipe, a berry pack-format or a weekly sailing cap isn't an edge case here: it is what the engine was built around. Its FEFO and approval logic was proven inside the S&OP module first.

See where the margin comes from in the Pricing Suite

Where it runs today

BerryWorld plans its central allocation here every week

Fruit from several origins, shared across several sales markets: one weekly plan from grower to market, carried through to customer orders.

Problem
Fruit from several origins split across several sales markets, with shares worked out in spreadsheets and containers rounded by hand.
Change
One weekly optimised plan from grower to market and on to customer orders, in whole containers, with departures and arrivals that reconcile.
Impact
In weekly use · results to follow.
All customer stories

Where does this week's fruit go, and who decided?

If the answer involves a spreadsheet per hop and one person who knows the rules, show it to us.