roastconsole.

Guide · updated September 2026

Wholesale coffee accounts: pricing, ordering, and the record

A wholesale account is not one relationship. It is a price, a rhythm, and a record, and they drift apart at different speeds — which is why the problem usually surfaces as an invoice nobody can explain rather than as a price that was wrong.

Start here

Three things, drifting apart.

An account feels like one relationship and behaves like three. Each drifts on its own schedule, and the one you notice last is usually the one costing money.

  1. 01

    The price

    What does this account pay, and who agreed it?

    Wholesale is usually a share of the shelf price, or a per-pound rate with case tiers. Whatever shape it takes, it has to live somewhere both sides can see. Most roasteries can state the list price for any coffee instantly and cannot state what one particular account pays without opening an email thread.

    Where it drifts: A discount agreed on the phone in a busy week, never written down, and honoured for two years.

  2. 02

    The rhythm

    What do they order, how often, and what changes it?

    A café's order moves with its own trade: term times, tourist seasons, a second machine, a new site. The standing order is a useful fiction — it is right most weeks and wrong exactly when it costs you, which is the week you roasted to it and they did not take it.

    Where it drifts: A standing order reduced once, just for that week, and never put back.

  3. 03

    The record

    What did they actually buy, and did they pay for it?

    The only one of the three that can be audited, and the one that answers the question worth asking at year end: which accounts are worth the service they take. It is also the one most likely to be spread across an invoicing tool, a delivery note pad, and somebody's memory.

    Where it drifts: Samples, comps, and the bag dropped off on the way past. Real coffee, real cost, rarely recorded.

The options

How roasteries actually run this.

Four approaches, in the order roasteries tend to meet them. One of them is ours and it is marked; the first one is free and is the right answer more often than we would like.

A spreadsheet, an inbox, and an accounting package

Free, and genuinely fine for a while

A price list tab, orders by email, invoices raised in Xero or QuickBooks. This works, and it works for longer than software vendors like to admit. What it cannot do is tell you what an account is worth without an afternoon of adding up, and it cannot stop a price drifting, because nothing in it enforces the list.

Right until you cannot answer a question about an account without opening three things.

A general-purpose CRM

Built for deals, not for reorders

HubSpot, Pipedrive, Zoho and the rest are genuinely good at the part most roasteries are worst at: chasing new accounts, keeping a follow-up from being forgotten, and knowing which conversations are still alive. They are poor at the part a roastery does every week, because a repeat order of the same four coffees is not a deal with a close date. The coffee ends up in a notes field.

Worth it if your problem is winning accounts. Not if your problem is serving them.

A wholesale ordering platform

Built for roasteries · RoasterTools, Flexnet

Both cover the commercial side properly. RoasterTools runs a customer-facing portal with discounts and reminders, white-label ordering, QuickBooks Online sync and shipping integration. Flexnet carries storefront catalogues, a CRM pipeline, accounting across Xero, QBO, Sage Intacct and Dynamics, and fulfilment through to the courier. Neither touches the roaster, so the roast record lives somewhere else and somebody joins the two by hand.

A strong answer if the roast is already handled and you are content for it to stay separate.

A roastery platform with the accounts inside it

One record · Cropster at Scale and above, and ours

Here the account, the order, the batch that filled it and the green lot behind it are the same record, so what a customer bought traces back to what you roasted and what it cost. Cropster covers order management from its Scale tier; a wholesale customer portal is not in its published plans. Ours is in the base plan. Both are more than a roastery with a handful of accounts needs.

The reason to want this is traceability and cost per account, not the ordering itself.

Deciding

Four questions, in this order.

  1. How many accounts, and are they repeat?

    Under about ten repeat accounts, a price list and an inbox is not a failure of discipline. It is proportionate. The number that matters is not how many accounts you have but how many times a week someone asks a question the spreadsheet cannot answer.

  2. Does the order need to reach production?

    If your roast schedule is built from open orders, the order has to land somewhere production can read, and a tool that stops at the invoice will cost you a re-keying step every week. If you roast to a plan and sell from stock, it does not, and you can ignore half of this.

  3. Who else needs to see it?

    Per-seat pricing quietly decides that the bookkeeper and the part-time floor hand do not get logins, and a record one person can reach is not a shared record. Check how access is priced before you check anything else about the price.

  4. Will your accounts actually use a portal?

    A customer portal is the single biggest reduction in email a wholesale roastery can buy, and it is worthless if the cafés keep texting you. Ask two of your accounts whether they would use one before you choose a system for it.

Questions

The ones people actually ask.

Do I need a CRM to sell wholesale coffee?
Not necessarily, and the word is doing two jobs. If you mean a pipeline for chasing new accounts, you need one when you are actively selling and forgetting to follow up — a general-purpose CRM does that well. If you mean somewhere the account, its price, and its orders live together, you need that sooner, and a spreadsheet is a legitimate version of it until it stops answering questions.
What is the difference between a CRM and a wholesale ordering portal?
A CRM is for you: who the account is, what was agreed, what to do next. A portal is for them: a page where they place the order themselves, see their own price, and reorder what they had last time. They solve different problems and a roastery usually feels the need for the portal first, because that is the one that stops the texts.
Should wholesale be a fixed discount or tiered by volume?
Tiered, if you can hold the line on it, because a flat discount pays the same to an account taking two bags a month as to one taking forty. The practical risk is that tiers invite negotiation at the boundary. Decide the tiers before the conversation, write them down, and quote from the list rather than from memory.
How do I stop agreed prices drifting?
Write the price on the account rather than in the conversation, and quote from that record every time. Most drift is not dishonesty on either side; it is a concession made once in a busy week that nobody wrote down, and then honoured indefinitely because neither party can remember what was agreed.
Can I just use my accounting software for this?
For invoicing, yes, and you should. Xero and QuickBooks raise invoices better than most roastery tools do. What they do not hold is the coffee: which lot filled the order, what it cost to roast, or what this account is worth against the service it takes. That is the gap, and it is worth knowing you have it before you decide whether it matters.
How do I raise prices without losing the account?
State the increase in the unit the café sells, not the one you invoice. Two dollars on a 12 oz bag is about eleven cents on an 18 g drink, which is under three percent of a $4.50 latte. The bag price is your number; the cost per cup is theirs, and the second is the conversation that actually lands.

RoastConsole is live.

Cloud comes with a 14-day trial and no credit card. Pilot is free for Mac. Start with whichever one matches where the work happens.