How to block (or flag) B2B orders that exceed a credit limit at Shopify checkout

You’ve set credit limits on your wholesale accounts. Now a company that’s already over its limit adds another order and clicks checkout. What stops them? On native Shopify, the answer is: nothing. This guide explains why native checkout can’t enforce a credit limit, what mechanism actually can, and the three ways to handle an over-limit buyer — from a gentle nudge to a hard stop.

Why native Shopify can’t stop it

Native Shopify B2B has no concept of a credit limit, so there’s nothing for it to enforce. A payment term like Net 30 controls when an invoice is due; it places no ceiling on total balance and triggers no action when a buyer is carrying too much. As far as checkout is concerned, an over-limit B2B order looks identical to a healthy one, and it sails straight through.

The one native lever is the per-location “all orders to draft” flag, which sends every order from a company to a draft you approve by hand. That’s a manual gate, not enforcement — it depends on you catching the over-limit buyer during review, every single time. At any real volume, that’s not a control you can rely on.

The mechanism that can: a Cart Validation Function

To act on a credit limit at checkout, automatically, you need a Shopify Cart Validation Function (CVF). This is a checkout extension that evaluates the cart and can reject it — the one kind of extension that can actually prevent an order from completing, rather than just displaying a warning the buyer can ignore.

Quay uses a Cart Validation Function to hard-block checkout for companies that should be stopped. A few properties make it safe to run on your live checkout:

The three ways to handle an over-limit buyer

Blocking is the firmest option, not the only one. Quay resolves every company to one of three responses, so you can match firmness to risk:

  1. Monitor only. Checkout is unchanged. The limit is tracked and shown on your dashboard, but nothing stops the buyer. Good for a new account you’re still learning.
  2. Hide net terms (pay on order). The buyer keeps the ability to check out, but loses the deferred-payment option — they pay on the order to complete it. Their terms return automatically once they’re back under the limit. This is a soft, self-resolving brake.
  3. Hard block. The Cart Validation Function stops checkout with a message you write (“Your account is on hold — please contact [email protected]”).

When to block vs. when to soften

A deliberate rule sits underneath this: being over the limit is soft-only by default. On its own, an over-limit buyer is never hard-blocked — the worst that happens is they pay upfront. That’s because over-limit is often temporary and benign: a good customer placing this week’s orders slightly ahead of last week’s payment.

Hard block is reserved for two situations that genuinely warrant stopping an order:

You don’t wire this up per order. You assign each company a policy — Standard, Trusted, VIP, Probation, or High Risk — that decides which response applies and how an account escalates from monitored, to pay-on-order, to blocked as it goes overdue. Set it once per trust level; it applies consistently to every company assigned that policy, with a per-company manual override for the exceptions.

In short

Native Shopify checkout can’t enforce a credit limit because it has no limit to enforce. A Cart Validation Function can — safely, quickly, and fail-open. Use it as the hard end of a three-step ladder: monitor the accounts you trust, make over-limit buyers pay on the order, and save the outright block for the ones that are truly overdue or on hold. That’s the difference between hoping buyers respect their limits and knowing your checkout enforces them.

New to the whole picture? Start with how to set B2B credit limits in Shopify, then come back here for enforcement.

Frequently asked questions

Can Shopify block a checkout when a B2B buyer is over their credit limit?

Not natively. Native Shopify B2B has no credit-limit concept, so it has nothing to enforce. The only native lever is routing all of a company's orders to draft for manual review. To stop or alter a checkout automatically based on a credit limit, you need a Shopify Cart Validation Function, which an app provides.

What is a Cart Validation Function?

It's a Shopify checkout extension that can approve or reject a cart at checkout. Unlike a banner or a warning, it can actually stop an order from completing. Quay uses one to hard-block checkout for companies that are overdue or on a manual hold, reading the credit state directly from Shopify with no external network call.

Does blocking checkout risk stopping legitimate orders?

Quay's enforcement is fail-open: if the function errors or its data is missing, the order is allowed through and an alert is raised, rather than blocking a paying customer because of a bug. Over-limit alone is also soft by default — it removes net terms rather than blocking — so hard blocks are reserved for genuinely overdue or manually held accounts.

Can I warn or restrict a buyer without fully blocking them?

Yes. Blocking is only the firmest of three responses. You can monitor only (no checkout change), hide net terms so an over-limit buyer pays on the order, or hard-block. Each company is assigned a policy that decides which response applies and when it escalates.