QuickBooks
Customer-specific pricing in QuickBooks Online: what works, what doesn't, and the workarounds
Almost nobody in wholesale pays list price — and QuickBooks Online's one native answer, Price Rules, is still in beta and invisible to its own API. The workarounds that actually carry per-customer pricing, reviewed honestly.
Mark Calo · Updated July 2026 · 5 min read
On this page
Can QuickBooks Online charge each customer their own price?
Only in a limited way. QuickBooks Online has one native mechanism for per-customer pricing — Price Rules — and it comes with caveats worth stating up front: it has sat in beta for years (Intuit's help article says the feature "is still on Beta pace, so only selected customers can turn it on"), it isn't available on Simple Start or Essentials, and a rule applies to all customers by default until you narrow it. And whatever Price Rules does inside the app, none of it reaches the API: the only price QuickBooks Online exposes to a connected app is each item's base price.
For a wholesaler, that's the whole problem in two sentences. In wholesale, almost nobody pays list price — the same case has one agreed price for the ten-year account, another for the buying group, another for the customer you signed last month. QuickBooks Online holds your items and your list prices well. The per-customer layer — who pays what — has to live somewhere, and for most operations that somewhere ends up being outside QuickBooks.
This page is the honest map: what QuickBooks Online offers natively, why no app can pull customer pricing out of it, and the four workarounds small and mid-sized US wholesale distributors on QuickBooks Online actually use — including the one we build.
What does QuickBooks Online offer natively for pricing?
Two things.
A base price per item. Every item in your QuickBooks Online catalog carries one price — the list price. It's what a transaction picks up by default, and it's also the only price the QuickBooks Online API exposes to connected software.
Price Rules, in beta. Price Rules — the closest thing to QuickBooks Desktop's price levels — can adjust prices, but its limits deserve plain statement:
- It's been in beta for years. Intuit's own help article says Price Rules "is still on Beta pace, so only selected customers can turn it on" — you can't count on having it in your account.
- It isn't available on Simple Start or Essentials.
- A rule applies to all customers by default. Genuinely per-customer pricing means narrowing rules account by account.
- None of it is exposed to the API. A connected app can't read a price rule, so any order arriving through any integration won't carry it.
None of that is a scandal — beta features ship narrow, and Intuit decides what its API exposes. But if negotiated pricing is the backbone of how you sell, a beta feature only selected accounts can turn on is a thin place to put it.
Why can't an app just sync customer pricing from QuickBooks Online?
Because the API has nothing to hand over. The QuickBooks Online API exposes no price-rule or price-level entity — the PriceLevel API that integrations use for this exists only in the QuickBooks Desktop SDK. From QuickBooks Online, the only price a connected app can read is each item's base price.
The consequence runs through every tool in this space: no integration can read, import, or "sync" your customer-specific pricing from QuickBooks Online. Not because vendors haven't tried — because Intuit's current design doesn't expose it. An app that claims to sync customer pricing from QuickBooks Online is claiming something the API doesn't support.
Which settles where real per-customer pricing has to live: outside QuickBooks Online, in something that holds the agreements and applies them to orders before QuickBooks sees them. The only question is whether that something is a person's memory, a spreadsheet, or software built for the job.
The workarounds, honestly reviewed
Editing prices manually at invoice time
The default everyone starts with: whoever enters the order knows that Blue Door Bakery pays $31 a case on flour, and types it in.
It genuinely works. At low volume, with one person who knows every account, it's free, instant, and needs no setup. It just doesn't scale: every line on every order is a memory lookup, the knowledge walks out the door with the person, and a wrong number doesn't announce itself — it quietly overcharges a loyal account or undercharges a new one until somebody notices.
Keeping price sheets in a spreadsheet next to QuickBooks
The next step up: the agreements come out of someone's head and into a sheet — a tab per customer, or a matrix of accounts and items.
This works too, and it's a real improvement: pricing becomes explicit, shareable, and survives staff changes. Its failure mode is drift. The sheet and the books are two systems with no connection, so every price still gets found and retyped by hand onto each QuickBooks transaction, updates reach the sheet late or not at all — and a stale sheet looks exactly like a current one.
Turning on Price Rules — if your account has it
Where the beta is enabled and your plan supports it, Price Rules is the native path, and for simple structures — a percentage off a category, a markdown for a group of customers — it may be all you need, with no extra tool to buy or learn.
The limits are the ones above: availability you can't count on, no Simple Start or Essentials, rules that apply to all customers by default, and invisibility to the API. That last one bites hardest as you add software: the moment an order arrives through any connected tool, your rules aren't in the room.
Putting a pricing engine in front of QuickBooks
The fourth pattern moves pricing upstream: a system that captures the order, holds each customer's agreements, applies them line by line, and hands QuickBooks the finished, priced order.
This is where PeasyOrders enters — it's the model we build on, so read this section knowing that. It holds per-customer pricing with a fixed precedence: an exact customer-and-product price wins over a customer-and-category rule, then the customer's price list, then a blanket customer discount, then the item's base price. Every line shows the rule that set its price, so a number is never a mystery. It's the pricing QuickBooks can't do.
Two design decisions matter for trust. First, setup: PeasyOrders reads your past invoices once and proposes each customer's pricing from what you actually charged — you accept, adjust, or discard it before anything applies. It doesn't sync pricing from QuickBooks; as covered above, there's nothing to sync from. Second, review: a person confirms every order before it exports — nothing reaches your books on autopilot. The confirmed order lands in QuickBooks Online as an Estimate by default (configurable), with the agreed prices already on the lines.
Pricing · Harbor Café
Olive Oil 500 ml
$8.40
Customer priceRye Loaf
$3.80
Customer priceSourdough Loaf
$4.10
List price
Proposed from your past invoices — nothing applies until you accept it.
And the honest boundary: PeasyOrders applies pricing to the orders it captures — emails with PDF or spreadsheet attachments, plus phone orders added in one click. It is not a standalone pricing plugin for QuickBooks Online, and it won't reprice an invoice you create by hand inside QuickBooks: if an order doesn't come through PeasyOrders, its pricing doesn't either. The full mechanics — the precedence, flags on unpriced lines, re-pricing when the customer changes — are in how customer-specific pricing works on captured orders.
Which workaround fits your operation?
| Workaround | Where it works | Where it strains |
|---|---|---|
| Manual edits at invoice time | Low volume; one person knows every account | Growth, handoffs, silent mispricing |
| Price sheet in a spreadsheet | Making agreements explicit and shareable | Drift; every price still retyped by hand |
| QuickBooks Online Price Rules | Accounts with the beta, on a supported plan, with simple broad rules | Gated availability; not on Simple Start or Essentials; invisible to the API |
| Pricing engine in front of QuickBooks | Orders captured before QuickBooks — emailed orders, phone orders added manually | Orders born inside QuickBooks — it prices only what it captures |
The common thread: the first three leave the lookup inside every order — a person finds the number and applies it. The fourth applies the number as the order is captured and leaves a person one job: confirming it.
The bottom line
Customer-specific pricing in QuickBooks Online is real but narrow: a beta feature you may not be able to turn on, absent from the lower plans, and invisible to integrations. That's Intuit's design decision, not a flaw in your setup — but it means the agreements that run your wholesale business end up living outside QuickBooks: in someone's memory, in a spreadsheet, or in a pricing engine that prices each order before QuickBooks sees it. The first two are honest workarounds that strain with volume. The third is what we build — per-customer pricing applied at capture, the rule visible on every line, a person confirming every order, and an Estimate landing in QuickBooks Online with the numbers you actually agreed.
PeasyOrders starts at $99 a month with a 30-day money-back guarantee — see pricing.
Tags: QuickBooks Online, Customer-specific pricing, Wholesale distribution, B2B pricing
Frequently asked questions
Can QuickBooks Online do customer-specific pricing?
Only in a limited way. The native mechanism is Price Rules, which has sat in beta for years — Intuit's help article says the feature is still on beta pace, so only selected customers can turn it on. It isn't available on Simple Start or Essentials, and a new rule applies to all customers by default until you narrow it. Nothing it sets reaches the API, so integrations can't see it either. Most wholesalers end up holding per-customer pricing outside QuickBooks Online: in someone's memory at invoice time, in a spreadsheet, or in a pricing engine that applies each customer's price before the order reaches QuickBooks.
Does QuickBooks Online have price levels like QuickBooks Desktop?
Not in the same form. QuickBooks Desktop has price levels, and its SDK exposes them to integrations through a PriceLevel API. QuickBooks Online's equivalent is Price Rules — still in beta, turned on only for selected customers, and not available on Simple Start or Essentials — and the QuickBooks Online API exposes no price-rule or price-level entity at all. The only price an integration can read from QuickBooks Online is each item's base price.
Can an app sync customer pricing from QuickBooks Online?
No. The QuickBooks Online API doesn't expose Price Rules or any per-customer price — the only price it offers a connected app is each item's base price. An app that claims to sync your customer pricing from QuickBooks Online has nothing to sync from. The model that works runs the other way: the pricing engine lives outside QuickBooks, applies each customer's price as the order is captured, and the priced order is what reaches your books. That's how PeasyOrders works — on setup it reads your past invoices once and proposes each customer's pricing, which you accept, adjust, or discard before it applies. It never syncs pricing from QuickBooks.
How do wholesalers handle per-customer pricing on QuickBooks Online?
Four patterns cover almost everyone. Someone who knows every account edits prices manually at invoice time — free, and workable at low volume. A spreadsheet price sheet sits next to QuickBooks and gets consulted on every order — explicit, but it drifts. Price Rules covers simple structures where the account has the beta and a supported plan. Or a pricing engine in front of QuickBooks applies each customer's price as orders are captured, so the Estimate that lands in QuickBooks Online already carries the agreed numbers. The first three leave the lookup inside every order; the fourth takes it out.
Related pages
- Use caseCustomer-specific pricing on captured orders
- IntegrationPeasyOrders + QuickBooks Online integration
- QuickBooksEstimate vs sales order vs invoice in QuickBooks Online
- Who it's forPeasyOrders for QuickBooks wholesale users
- Use caseHow to automate email orders to QuickBooks Online
- QuickBooksQuickBooks Online sales orders: what changed
More from PeasyOrders
Order capture
Can AI read handwritten and PDF orders? The honest state5 min read
Operations
How to capture wholesale orders without a portal4 min read
Industry analysis
The modern distributor software stack in 20265 min read