Once a cafe is on your books, the hard part isn't selling to them again - they already know which blend goes in the hopper. The hard part is collecting that order every week, getting it in before the roast, and charging the price you agreed, without it scattering across text messages, Instagram DMs, and a Sunday-night inbox.
Why coffee orders can't work like a normal shop
A grocery wholesaler fulfils from a shelf. A roaster doesn't. Roast-to-order is the standard, which means the order has to arrive before you fire the roaster, not after. Miss it, and you either roast the wrong coffee or a cafe runs dry on Wednesday.
Three things make coffee its own case:
- Freshness is short and one-directional. A bag roasted Tuesday should ship Tuesday. You can't pre-roast a week of stock and sit on it, so you can't absorb a late order the way a dry-goods supplier can.
- The rhythm is weekly and repetitive. A busy cafe gets through 25-100kg a week, and it's almost always the same one or two lines - the house espresso, maybe a rotating filter. The order barely changes, which makes collecting it by hand every week pure overhead.
- Orders cluster around your roast days. If you roast Monday and Thursday, every cafe wants its order on the van the same mornings. The intake has to be funnelled to a deadline, not taken whenever the phone rings.
Get the intake right and the rest of the week runs itself. Get it wrong and you're rekeying DMs into a spreadsheet at 6am with the roaster already warming up.
Collect the order before the roast, not during it
The single most useful thing you can do is put a hard cut-off in front of each roast day and make it real.
A cut-off only works if it's enforced. A line in your email signature that says "orders by Sunday 6pm please" gets ignored the moment a cafe is busy - they'll text you Monday morning and you'll squeeze it in, because saying no feels worse than the 6am scramble. A message doesn't stop a late order. A form that's locked does.
Two patterns cover most roasters:
- Fixed order days. "Orders for Monday's roast close Sunday 6pm; orders for Thursday's roast close Wednesday 6pm." Best when you roast on set days and want to batch production.
- Rolling lead time. "Order any time; whatever's in by 2pm goes on the next roast, two days out." Best when you roast most days and want to smooth the load.
Either way, the cafe needs to see the deadline when they order and understand what happens if they miss it. The goal isn't to punish anyone - it's so the order that's in is the order you roast, with no midnight additions.
Standing orders do most of the work
Most of your cafe accounts order the same thing, on the same day, every week. That order shouldn't need a human to place it or a human to take it.
A standing order is a recurring order on a schedule - weekly, fortnightly, three- or four-weekly - that fires on its own at your cut-off. The cafe sets up "12kg house espresso, whole bean, every Monday" once, and it lands every Monday without anyone lifting a finger.
The trap with recurring orders is the cafe whose order did change this week - they're closed for a bank holiday, or they've got an event and need double. The fix is a preview before each order fires, not a "please confirm" that adds friction. Three days out, the cafe gets an email showing exactly what's about to be roasted at this week's price, with a one-click skip. Do nothing and it goes through. Need to change it, you change it. The regulars never think about it; the exceptions get caught before the roaster's on.
That's the difference between a standing order and a calendar reminder. The reminder still makes you take the order. The standing order takes it for you and only interrupts you when something's actually different.
Charge each cafe its own price
Wholesale coffee pricing is rarely one number. A high-volume account gets a better rate than a new two-bag-a-week cafe. Some accounts have a custom house blend that's theirs alone, or a private-label bag nobody else should see, let alone be able to order.
Doing this by memory - or by a master price spreadsheet you cross-reference every time you invoice - is how a cafe ends up charged last quarter's rate for six months. The clean version is a price list per tier: assign each cafe to its list, set the price once, and the cafe only ever sees its own number. When green prices move and you have to pass it on, you change the rate in one place and every account on that list sees it next time they order.
Exclusive blends work the same way. If a coffee only exists on one cafe's catalogue, only that cafe can order it - no separate ordering channel, no "don't mention this to anyone" honour system.
List every coffee the way a cafe actually buys it
Cafes don't order "coffee". They order a specific coffee, at a specific grind, in a specific bag size. The same house espresso might sell as 1kg whole bean, 1kg ground for espresso, and a 250g retail bag for the cafe's own shelf.
Whole bean is the default for freshness - pre-ground stales fast - but plenty of cafes without a grinder on every station want it ground, and they want it ground the day it ships. The practical move is to list each coffee in the exact sizes and grinds you'll actually roast and fulfil, as its own catalogue line, so the order that comes in is unambiguous. No "did they mean whole bean or ground?" phone call after the cut-off.
Keep the list to what you genuinely offer that account. A cafe that buys six lines shouldn't have to scroll past forty.
Invoice on terms, keep the card out of it
Commercial coffee accounts pay on terms, not by tapping a card at checkout. They expect a company invoice and net-7, net-14, or net-30, and many roasters consolidate a month of orders into a single invoice to cut the admin on both sides.
This is where coffee-specific ordering portals can work against you. Bundle payments into the order flow and you're handing a percentage of every bag to a processor and forcing card-on-file onto accounts that would rather pay by bank transfer on terms. For a wholesale relationship that's the same cafe buying the same coffee for years, a transaction cut is dead weight.
The order desk and the money don't have to be the same system. Take the order online; raise the invoice from it; let the cafe pay how you both already agreed.
How Wholesale Handler runs a coffee order desk
Wholesale Handler is a self-service ordering portal for wholesalers. For a roaster supplying cafes, it's the order desk and the invoicing - not the green-bean side - built around the parts above.
- Self-service ordering. Each cafe gets a login and orders 24/7 from a phone or laptop. No app to download, no call to take. You're notified when an order lands and every order sits in one place.
- Cut-offs tied to your roast days. Set delivery days, a lead time, and a cut-off, and the form locks once a date is closed. Cafes see the deadline; late orders can't sneak onto a roast you've already planned. You write the locked-state message in your own voice.
- Standing orders for the regulars. Weekly to four-weekly schedules that fire at the cut-off on their own. Three days ahead the cafe gets a preview email at this week's price with a one-click skip - do nothing and it goes through. Up to 10 per cafe, editable any time, pausable for a closure.
- A price list per cafe. Up to 10 named lists, each cafe assigned to one, each seeing only its own price. Move a cafe up a tier when its volume earns it; change a rate once and it propagates. Exclusive and private-label coffees only appear for the accounts they belong to.
- Your catalogue, your way. List each coffee in the sizes and grinds you fulfil, with descriptions and pack sizes, so orders arrive unambiguous.
- Invoicing on terms with no transaction fee. Generate invoices from orders - individually, in batches, or all of a cafe's un-invoiced orders at once for a monthly statement - and email them out. Cafes pay however you've agreed; Wholesale Handler never touches the money, so there's no cut on a bag of coffee. Built-in payment tracking lets you mark off what's cleared without cross-referencing your bank against a spreadsheet.
What it deliberately doesn't do
Wholesale Handler isn't a roastery ERP. It doesn't track green inventory, forecast your buying, or schedule roast batches - if you need green-stock forecasting, that lives in a dedicated roasting platform alongside it. It doesn't process payments or run your deliveries. It's the order desk and the paperwork around it, kept simple on purpose.
For a roaster whose order-taking has outgrown texts and a spreadsheet but who doesn't want an all-in-one platform taking a percentage of every order, that's the whole point. The cafes order themselves, the right coffee gets roasted, and the invoice goes out on terms.
Wholesale Handler



