---
title: Shopify alternative for wholesale coffee roasters
Metadescription: Shopify's native B2B runs on every plan now, but a price per cafe still needs Plus and there is no standing order. What that leaves a roaster.
author: Dan Edwards
author_role: Founder
author_url: https://danedwardsdeveloper.com
author_linkedin: https://www.linkedin.com/in/dan-edwards-developer
published: 2026-08-26
updated: 2026-09-27
---

Token estimate: ~2,600

# Shopify alternative for wholesale coffee roasters

Shopify moved its native B2B tools off Plus on 2 April 2026, so company profiles, net payment terms, volume pricing, purchase order numbers and ACH now come with Basic, Grow and Advanced. Three things a wholesale coffee operation runs on still don't. A negotiated price for each cafe needs a catalogue assigned directly to that company, which stayed on Plus. A cafe taking the same beans every week cannot set a repeating order, because subscriptions are unsupported in B2B. And there is no roast-day cutoff, because Shopify has no ordering deadline. Wholesale Handler is a flat-fee ordering portal built around those three, running alongside a retail store rather than replacing it.

By **[Dan Edwards](https://wholesalehandler.com/about)**, Founder.

## What Shopify's B2B tools now cover on every plan

The 2 April 2026 change was real and it was large. A roaster on Basic can open company profiles for each cafe, put them on net terms, take ACH in the US, vault a card, set quantity rules and volume price breaks, and collect purchase order numbers, at no cost above the plan. Anything written before that date describing native B2B as a Plus feature is out of date.

| B2B feature | Basic, Grow, Advanced | Plus |
| --- | --- | --- |
| Company profiles, net terms, ACH, PO numbers, payment reminders | Included | Included |
| Volume price breaks and quantity rules | Included | Included |
| Active price catalogues | Three, assigned through Markets | Unlimited |
| A catalogue assigned to one company or location | No  | Yes |
| Deposits, partial payments, payment requests per fulfilment | No  | Yes |

## A separate price for each cafe still needs Plus

Three active catalogues is three price bands, and the three are shared across every B2B market rather than allocated per market. A roaster running a house blend at one rate for the cafe taking six bags a week, another for the one taking two, a third for the group account, and a private-label lot for a fourth has already run out of room.

Volume price breaks come with every plan, but they key on the quantity on the order rather than on which cafe placed it, so two accounts buying the same amount get the same price whatever was agreed with either. Pricing to the account, not the quantity, is what a catalogue assigned directly to a company does, and that assignment stayed on Plus. [Charging different prices to different wholesale customers](https://wholesalehandler.com/articles/how-to-charge-different-prices-to-different-wholesale-customers) covers the per-account model and where it differs from a volume discount.

There is a prerequisite underneath all of it. Shopify's help centre states that using B2B catalogue features on Basic, Grow or Advanced requires the store to be on new Shopify Markets, so an older store has a migration in front of it before the first catalogue exists.

## Shopify B2B has no standing order

Shopify lists subscriptions as an unsupported purchase option in B2B. There is no native recurring order, and the subscription apps that serve the retail side do not reach B2B either.

What every plan does have is easy reorder: the buyer opens a previous order in their account and places it again. That is a real saving on typing and no saving at all on attention, which is the part that fails. A cafe taking the same four bags every Tuesday has to remember to place it every Tuesday, and the week it forgets is the week the roaster finds out at the counter. [What a standing order is in wholesale](https://wholesalehandler.com/articles/what-is-a-standing-order-in-wholesale) covers the difference between a repeating schedule and a saved basket.

## No roast-day cutoff, and local delivery sits outside B2B checkout

Roasters who roast two or three days a week run an ordering deadline: orders in by Monday afternoon for the Tuesday roast, with a second internal deadline for the production team. Shopify has no field for that. The documented route adds a date widget to the cart form as a cart attribute, which collects a preference rather than enforcing a deadline, and the version that validates before payment is a checkout extension available only on Plus. Cutoff logic is otherwise an app.

The delivery method matters more. Local delivery cannot be used in B2B checkout, and pickup points are unsupported. Both are available on B2B draft orders the merchant keys into the admin, which is the phone order the portal was supposed to replace. A roaster running its own van route around the city, or letting a cafe collect from the roastery, cannot offer either as a self-serve option to a company account.

## The stack is a plan, a metered app, and sometimes a card rate

A roaster past three price bands has two routes: Plus, or a B2B app on top of a lower plan. The apps price on B2B orders per month in bands, and cancelled and refunded orders count against the monthly total. That meter moves the wrong way for a growing wholesale operation, because the bill rises exactly when a new cafe signs and the weekly orders multiply. At the volume a fifteen-account book produces, the app tier costs several times the Shopify plan beneath it, which inverts the usual assumption that the platform is the main line.

The card rate is the part that is not automatic. Net terms and ACH are native now, so a wholesale order settled on terms carries no percentage at all. The rate applies to the card-paid orders, which on a trade account are usually the new ones and the small ones.

## Wholesale Handler covers the wholesale side, not the retail store

A flat fee, with no per-user charge, no per-order charge, no commission and no tier that unlocks per-customer pricing - it is on the free plan like everything else. Free up to 3 customers, no card. [Flat-fee wholesale ordering software](https://wholesalehandler.com/articles/flat-fee-wholesale-ordering-software) covers why the meter is the thing being avoided rather than the headline figure.

Twenty named price lists, each customer assigned to exactly one and shown only its own price. A list is derived as a percentage of the default and any single price can be overridden after, so a rate change pushes through once instead of being retyped per cafe.

Standing orders run weekly, two-, three- or four-weekly on a fixed weekday. The order is created at that delivery day's cutoff, not when the schedule was saved, and every line is re-priced and re-checked at that moment. A lot that has run out is left off rather than invoiced, and a delivery whose total falls below the minimum order value stops rather than placing. Either the roaster or the cafe can start a schedule, and either can pause one to a chosen date.

Each delivery day carries its own cutoff, set as a lead time before that day, so Monday deliveries can close on Friday afternoon while Thursday stays open until the night before. Delivery days, cutoffs, minimum spend and delivery charge travel together as an order profile assigned per customer, so a wholesale round and a group account can run different terms without a second product list.

Every order for a delivery date collapses into one make sheet that prints with tick boxes, and the schedule states whether the totals can still move or the cutoff has closed them. Packing slips print quantities and no prices. Customers come in by bulk import and orders go out by CSV export. [A wholesale customer portal](https://wholesalehandler.com/articles/wholesale-customer-portal) covers what the cafe's side of the account looks like, and [taking wholesale coffee orders from cafes](https://wholesalehandler.com/articles/how-to-take-wholesale-coffee-orders-from-cafes) covers the ordering routine itself.

## What Wholesale Handler does not do

-   No consumer checkout and no card payments. Retail bag sales stay on Shopify. The public storefront is a listing page with no basket and no enquiry form.
-   No Shopify integration, so a roaster selling both ways maintains the product list twice.
-   Invoices do not raise themselves on a schedule, there is no automated payment chasing, no credit notes, and a cafe cannot download its own invoice PDF.
-   Packing slips carry no delivery address or phone number.
-   One sign-in per business.
-   Up to 50 customers and 500 products.
-   Nothing on green coffee. No inventory of unroasted lots, no roast profiles, no batch or traceability records.

## Q&A

**Q: How many line items can one Shopify B2B order hold?**
A: Five hundred. An order for more than 500 different products or variants fails outright. A single cafe order will not come near that, but a consolidated order across a group's locations can.

**Q: Can a Shopify B2B buyer pay with Shop Pay or Apple Pay?**
A: No. Accelerated checkouts, including Shop Pay, Apple Pay, Google Pay and Amazon Pay, do not work with B2B. The B2B payment routes are net payment terms, ACH in the US, and a vaulted credit card.

**Q: Does Shopify chase an overdue wholesale invoice?**
A: Only up to a point. You can set up to five scheduled payment reminders per order, timed to the due date or up to 30 days after it. Past the last reminder the chasing is manual, and reminders are not sent for orders carrying purchase options such as subscriptions or preorders.

**Q: Can a cafe change a standing order that is already running?**
A: Yes. The day of the week, the cadence, the products and the notes can all be changed by either the cafe or the roaster, the pending change is summarised before it saves, and it applies to every future delivery.

**Q: Can a cafe skip one week without cancelling the schedule?**
A: Yes. A single delivery can be skipped from the upcoming-delivery email without signing in, or from the schedule's own page. The schedule is untouched and the delivery after it goes ahead as normal.
