Two Sides of One Bushel: managed supply between a flour mill and its merchant
A US flour mill and the grain merchant that supplies it share every bushel: the merchant owns the wheat until it is milled, the mill carries much of its price risk, and an EFP swaps their hedges when a grind contract is written. An illustrative case study of how both run it on opsPhlo.

By Saurabh Goyal, Founder & CEO of Phlo Systems. Published 2 October 2026.

Kansas wheat. Photo: Carol M. Highsmith, Library of Congress, public domain, via Wikimedia Commons.
At a glance
A flour mill and the grain merchant that supplies it share every bushel: the merchant owns the wheat until it is milled, but the mill carries much of its price risk. This case study shows how both run that arrangement on opsPhlo, from the farmer's truck to the futures position each morning.
- The mill, Cedar Ridge Milling, grinds about 18 million bushels of wheat a year at two plants. It sells flour to bakers and food manufacturers, much of it at fixed prices months ahead.
- The merchant, Northgate Grain, runs the elevator beside each plant. It buys wheat from farmers in its own name, stores and finances it, and transfers it to the mill when it is ground.
- The problem they shared was five systems and a spreadsheet: the merchant's elevator system, the mill's grind records, the broker's statements, email confirmations, and a hedge sheet rebuilt by hand every morning.
Illustrative case study. Cedar Ridge Milling and Northgate Grain are fictitious, and all names, volumes and prices are invented to explain how this kind of arrangement works. The structure is drawn from our work with US flour mills and grain merchants.
What opsPhlo changes
opsPhlo gives the mill and the merchant one record of the arrangement each, in place of five systems and a spreadsheet.
- A morning position built from the night's records, ready by 7:30, instead of a two-hour rebuild by hand.
- Ownership and price risk tracked separately, so each side sees stock it owns, stock it carries the price on, and stock that is neither.
- The EFP booked once, from the same agreed record, on both sides.
- Grind tickets applied to grind contracts as the wheat is milled, so month-end settlement needs no separate reconciliation.
- Options counted at their delta, so the book shows the cover it really has.
Life on legacy systems
Before opsPhlo, the arrangement worked because two people at Cedar Ridge (the mill) and three at Northgate (the merchant) held it together by hand. Each company's systems covered only its own legal records, so the shared economics lived in spreadsheets and email.
The costs were real, if hard to see:
- The morning position took two hours and was only as right as the last thing typed into it. Options were carried as a note, not as the futures they were worth.
- Month-end settlement of grind contracts needed a line-by-line reconciliation between the mill's grind tickets and Northgate's records before any invoice could be agreed.
- Nobody could see both sides of an EFP at once. A mismatch between the lots given and the bushels priced surfaced only when margin or invoices did not agree.
- Contract documents sat in shared folders, linked to nothing, so finding the signed grind contract behind a disputed invoice meant a search.
- Growth was blocked. Adding a third plant, a second merchant, or buying some wheat directly from farmers would each have meant another spreadsheet.
The rest of this case study explains the arrangement behind those spreadsheets, then shows how opsPhlo replaces them.
The arrangement
Cedar Ridge (the mill) and Northgate (the merchant) work under a managed-supply agreement: Northgate buys, holds and finances the wheat, and sells it to Cedar Ridge at the moment it enters the mill. The industry also calls this inventory intermediation; refineries run the same structure with crude oil under supply-and-offtake agreements.

A country grain elevator with rail loading, the merchant's side of the arrangement. Photo: Quintin Soloviev, CC BY 4.0, via Wikimedia Commons.
Why each side signed:
- Cedar Ridge keeps tens of millions of dollars of wheat off its balance sheet, and gets Northgate's reach to farmers, its trucking and its elevator staff.
- Northgate gets guaranteed volume through its elevators and steady fee income, without betting on the price of wheat.
The relationship has two layers of paper:
- A master agreement, signed once and renewed every few years, which sets the rules below.
- Grind contracts, written each month under it. Each one fixes a quantity, a wheat class, a delivery period and the flat price at which that wheat passes to the mill.
| Term | What Cedar Ridge and Northgate agreed |
|---|---|
| Farmer contracts | Written by Northgate in its own name, to the monthly volumes and classes Cedar Ridge sets |
| Title transfer | At the mill's intake scale, when wheat leaves the elevator for tempering |
| Storage and quality | Northgate's responsibility up to title transfer, including shrink, grading and insurance |
| Fee and carry | 8 cents a bushel service fee, plus Northgate's financing and storage cost from purchase to transfer, both built into the grind contract price |
| Volume commitment | Cedar Ridge must take all wheat Northgate buys to its plan; on exit it buys any remaining stock |
| Pricing at transfer | An exchange of futures for physical (EFP): Cedar Ridge's futures pass to Northgate, and the grain is priced from them plus an agreed basis |
Where the risk sits
Northgate (the merchant) owns the wheat, but the risks that decide the margin of Cedar Ridge (the mill) do not all sit with the owner. Getting this split right is the whole point of the agreement, and the first thing any system has to model.

The life of one bushel: who owns it and who carries its price.
The EFP moves the price risk on the wheat; the intake scale later moves the ownership.
Between the grind contract and the intake scale. Once a grind contract is written by EFP, neither company holds futures against those bushels: Cedar Ridge's long has passed to Northgate and cancelled its short. The price is fixed in the grind contract, so a move in the market no longer changes either side's result. What is left is physical. Northgate still owns the wheat in its elevator, so shrink, quality, insurance and any loss in storage stay with it until the wheat crosses the intake scale. If milling runs late, past the contract's delivery period, the master agreement sets how the extra carry is charged.
| Risk | Who carries it | How it is managed |
|---|---|---|
| Legal ownership of stock in the elevator | Northgate | Northgate's books, insurance and warehouse records |
| Futures price on wheat in the elevator and on farmer contracts | Northgate, until a grind contract prices it to the mill | Northgate sells futures against everything it has priced |
| Futures price on flour Cedar Ridge has sold at a fixed price | Cedar Ridge | Cedar Ridge buys futures until the wheat for that flour is priced on a grind contract |
| Basis (the local price over futures) | Cedar Ridge, in effect | The transfer basis is Northgate's average purchase basis plus the fee and carry, so a dear harvest basis passes through |
| Quality, shrink and grading | Northgate until title passes | Discount schedules on farmer tickets; grading at the elevator |
| Volume: wheat bought that the mill no longer needs | Cedar Ridge | The volume commitment |
The reader new to grain should take one rule from this table. Who owns a bushel and who carries its price risk are two different questions, and the answers change on the day a grind contract is written. A legacy inventory system answers only the first.
How futures fit
Both companies hedge with the same wheat futures, on opposite sides, and swap positions instead of closing them when the grain changes hands. That swap is an exchange of futures for physical (EFP).

Wheat harvest in Indiana. Photo: USDA Natural Resources Conservation Service, public domain, via Wikimedia Commons.
Northgate, the merchant, is short. It owns wheat bought at a fixed cost, so it sells futures to protect that stock against a fall. It wants its fee and carry, not price risk.
Cedar Ridge, the mill, is long. It sells flour at fixed prices before it has bought the wheat, so it buys futures for the wheat equivalent and holds them until a grind contract prices the wheat.
At transfer, the two positions meet. When a grind contract is written, the broker moves Cedar Ridge's long futures to Northgate's account as an EFP, cancelling Northgate's short, and the wheat is priced at the EFP futures price plus the agreed basis. Nothing trades in the open market, so there is no slippage.

EFP on grind contract GC-1142: futures one way, grain the other.
A worked example: grind contract GC-1142
In July, Northgate (the merchant) buys 250,000 bushels of hard red winter wheat from farmers at an average of $5.00 a bushel, when December Kansas City futures stand at $5.40. Its purchase basis is therefore 40 cents under. It sells 50 December futures (5,000 bushels each) at $5.40.
In August, Cedar Ridge (the mill) sells bakery flour at fixed prices that will need 250,000 bushels of wheat. It buys 50 December futures at an average of $5.55.
In November, Cedar Ridge needs the wheat. The two agree GC-1142 by EFP at $5.80, the market that day.
Through November the plant grinds that wheat shift by shift, and title passes as each lot crosses the intake scale.
| Transfer price build-up | $ per bushel |
|---|---|
| EFP futures price, December Kansas City | 5.80 |
| Northgate's average purchase basis | −0.40 |
| Service fee | +0.08 |
| Carry (financing and storage, July to November) | +0.17 |
| Flat price on GC-1142 | 5.65 |
| What each side ends up with | Cedar Ridge (mill) | Northgate (merchant) |
|---|---|---|
| Futures result, already settled through daily margin | Bought 5.55, given at 5.80: +0.25 | Sold 5.40, received back at 5.80: −0.40 |
| Physical result | Pays 5.65 for the wheat | Bought at 5.00, sold at 5.65: +0.65 |
| Net | Wheat costs 5.40: the 5.55 it locked plus the −0.15 transfer basis | Earns 0.25: the fee plus the carry that pays its financing and storage |
| Position after the EFP | 50 fewer long lots; 250,000 bushels now priced against the flour sold | 50 fewer short lots; 250,000 fewer bushels of stock |
The example shows two things worth remembering. Cedar Ridge locked the futures part of its wheat cost, $5.55, when it bought futures in August. The rest, a transfer basis of −0.15 (Northgate's purchase basis plus the fee and the carry), was set by the master agreement and became final when the grind contract was written in November. The all-in cost of $5.40 is the two together. Northgate made its money on the basis, the fee and the carry, not on the price of wheat.
Why the mill waits to price the wheat
Cedar Ridge (the mill) could ask for a grind contract in August, when it sold the flour. Mills usually wait until the month the wheat is milled, for three reasons.
- The price depends on the month. The transfer price includes carry to the date the wheat moves, and the purchase basis of the wheat Northgate actually holds for that month. Neither is known exactly months ahead.
- The mill manages a book, not single sales. Flour sales arrive every day, in different classes and delivery months, and some customers defer. Holding its own futures lets Cedar Ridge net them, roll them and hedge across exchanges, then convert to wheat once it knows what it will grind.
- Grind contracts follow the grind. Settling each month's contracts against that month's grind tickets keeps invoicing simple.
The cost is that both sides fund margin on offsetting futures in the meantime. Some mills do write grind contracts ahead for part of their needs; the master agreement sets how far ahead they may.
How opsPhlo runs it
opsPhlo is a trading and accounting system for commodity businesses, built on the Acumatica cloud ERP. Each company runs its own private opsPhlo; what they share is agreed data, not a database. The design rule is the one from the risk table: ownership and price risk are tracked separately, so each side sees stock it owns, stock it carries the risk on, and stock it does neither.
For the mill
- Flour sales contracts carry their wheat equivalent. Each product holds its wheat class and its bushels per hundredweight, so every open flour contract adds to the position in bushels by class, with no daily pivot table.
- Grind contracts are purchase contracts with Northgate, priced by EFP. Each one records the lots given up, the futures price, and the basis build-up of fee, carry and purchase basis.
- Grind tickets come from the plant's daily consumption report, one per shift. They are applied to the month's grind contracts, can be moved until the contract is final-settled, and the settlement creates the payable to Northgate.
- Merchant-owned stock is visible but not owned. The elevator stock and Northgate's farmer contracts load from Northgate's daily file as third-party stock: on the mill's screens, never in its inventory, accruals or payables.
- Futures books per broker account: the central hedge, futures held for flour customers who fix futures first, and a book for discretionary hedges. Options sit beside the futures with strike, premium and delta.
- The EFP is one transaction. It removes the lots from the hedge book and prices the grind contract in the same step, and is matched to the broker's statement the next morning.
For the merchant
- Farmer contracts of every common type: priced, basis, futures-first (hedge-to-arrive), delayed price and minimum price, each with its own hedge treatment.
- Scale tickets with grades: test weight, moisture, protein and dockage, priced through discount schedules, with landlord and tenant splits settled to two payees.
- The daily position report (DPR): company-owned stock, paid and unpaid, grain held in storage for others, and delayed-price grain, by location.
- Hedge position: owned and priced bushels against short futures, by class and month, so the merchant can see it is flat.
- Invoicing to the mill: grind contracts, service fees and carry, raised from the transfers rather than built in a spreadsheet.
The file and API connections are set up for each customer, and depend on what the broker and the counterparty can send.
A morning in opsPhlo
By 7:30 the risk manager at Cedar Ridge (the mill) has a position built from the night's records, and spends the first hour deciding what to do rather than assembling numbers.
- Around 00:30 the broker's statement is loaded. Futures and options land in their books, yesterday's phoned trades are matched, and the overnight margin call is shown to treasury for approval.
- At 06:00 Northgate's daily file arrives: elevator stock and farmer contracts still to deliver, as third-party stock.
- At 07:00 the plant's consumption report becomes the day's grind tickets, applied to this month's grind contracts.
- At 07:30 the position is ready, with yesterday's beside it.
The position report
Cedar Ridge's exposure is the flour it has sold at fixed prices that is not yet covered by wheat priced on a grind contract. Its hedging policy says the whole book must be between 90% and 105% covered.
| Class (exchange) | Flour sold, wheat equivalent (bu) | Less wheat priced on grind contracts (bu) | Net exposure (bu) | Lots needed | Futures on | Options, delta-adjusted | Covered |
|---|---|---|---|---|---|---|---|
| Hard red winter (Kansas City) | 1,150,000 | 420,000 | 730,000 | 146 | 128 | 15.0 | 97.9% |
| Soft white (Chicago) | 620,000 | 260,000 | 360,000 | 72 | 70 | 97.2% | |
| Hard red spring (Minneapolis) | 300,000 | 95,000 | 205,000 | 41 | 48 | 117.1% | |
| Whole book | 2,070,000 | 775,000 | 1,295,000 | 259 | 246 | 15.0 | 100.8% |
What the risk manager reads from it:
- The book is inside policy at 100.8%, so no trade is needed to stay compliant.
- Spring wheat is over-covered on purpose. Minneapolis futures are cheap against Kansas City this month, so some hard red winter exposure is hedged there. opsPhlo shows the cross-hedge as a choice; the policy test is on the whole book.
- Options count at their delta, not their number. The 20 calls bought (delta 0.45) and 20 puts sold (delta 0.30) behave like 15 lots of futures today. Counted as 40 lots, the book would look 25 lots safer than it is. The delta comes from the broker's statement each morning.
Moving off a legacy system
The safest route is to rebuild today's position in opsPhlo from your own records, run both side by side until they agree, and only then retire the spreadsheet. Cedar Ridge (the mill) and Northgate (the merchant) followed these steps.

Conversion path: five phases, two gates.
Phase 1: Discover. Ends at the first gate, requirements signed off.
- Map the arrangement. Write down who owns what, who carries which risk, and when prices are fixed, as in the risk table above. This settles what is configured and what, if anything, needs building.
- Walk through a real day. Take one truck from scale ticket to settlement, one grind contract and its EFP, and one morning's hedge sheet. Each column of the sheet is traced back to the record that should produce it.
- Agree the requirements in writing. The customer signs off a requirements document before configuration starts, so what is built is what was agreed.
Phase 2: Configure.
- Set up master data: counterparties and payment terms, commodities and classes, grades and discount schedules, landlord splits, broker accounts and their books, and products with their wheat equivalents.
- Connect the feeds: the broker's daily statement, the plant's consumption report, and the counterparty's daily file. Each is taken in whatever form the sender can provide.
Phase 3: Cut over.
- Load the opening position on a cut-over date: open contracts at their remaining quantities, open futures and options from the broker statement, and stock from the DPR.
Phase 4: Parallel run. Ends at the second gate, positions agree.
- Run in parallel. The legacy hedge sheet and the opsPhlo position are produced on the same mornings. Every difference is traced to a record and fixed at its source.
Phase 5: Live.
- Retire the spreadsheet once the two agree and the team trusts the new report. Excel export stays available for anyone who wants their own analysis.
Two questions to settle early save the most rework. Which system is the record for each fact (the merchant's stock, the mill's grind, the broker's positions)? And who approves the EFP on each side before it is booked?
Talk to us
If you run a mill, an elevator or a grain merchant on a legacy system and this arrangement looks familiar, we would like to hear how you run it today. See opsPhlo or email saurabh.goyal@phlo.io.
Glossary
- Basis: the local cash price minus the futures price. "40 under" means 40 cents below futures.
- Bushel (bu): the US unit for grain. A bushel of wheat weighs 60 lb.
- Carry: the cost of holding grain over time: financing, storage and insurance.
- Delta: how much an option's value moves for a one-cent move in futures. Lots × delta = the futures it behaves like.
- DPR (daily position report): an elevator's daily record of stock by owner: company-owned, stored for others, delayed price.
- EFP (exchange of futures for physical): a private swap of futures between two accounts as part of a physical grain deal, off the exchange floor.
- Elevator: a grain storage facility where farmers deliver by truck and grain is weighed, graded and stored.
- Flat price: a fully fixed price: futures plus basis.
- Grind contract: a contract between the merchant and the mill for wheat to be milled in a given period.
- Hundredweight (cwt): 100 lb. Flour is sold by the hundredweight; wheat equivalent converts it back to bushels.
- Intake scale: the scale where wheat is weighed as it enters the mill; here, where ownership passes to the mill.
- Lot: one futures contract. Wheat futures are 5,000 bushels a lot.
- Short / long: short = sold futures, gains when prices fall; long = bought futures, gains when prices rise.
- Tempering: adding water to wheat and letting it rest before milling, so the bran separates cleanly.
- Third-party stock: grain the company does not own but reports for risk.
- Wheat equivalent: the bushels of wheat needed to make a quantity of flour, set by the mill's yield.
Want to learn more about Phlo Systems?
See how our platform digitises international trade for commodity traders, importers, and exporters.
Get Started

