Extending credit to wholesale accounts is standard in B2B manufacturing, but it introduces risk that needs to be managed actively. A customer with Net 30 terms who hasn't paid in 60 days shouldn't be able to place new orders freely. A new account with no credit history shouldn't automatically receive the same terms as a long-standing one.

Shopify Plus B2B handles the mechanical side of credit: payment terms at checkout, credit limits that block orders when exceeded, and outstanding balance visibility in the customer portal. The judgment side, deciding who gets credit, how much, and what happens when someone goes past due, requires a process that wraps around those features.

This post covers what Shopify does natively for credit management, where the gaps are, and how to build the surrounding workflows.

What Shopify Plus B2B Handles Natively

Credit limits per company location

In Shopify Plus B2B, you can set a credit limit at the company location level. When a buyer's outstanding balance reaches that limit, Shopify blocks them from placing additional orders until their balance is reduced.

To set a credit limit:

  1. Go to Customers > Companies in your Shopify admin
  2. Open the company and select the relevant location
  3. Under Payment terms, set the credit limit amount

The credit limit applies to the sum of unpaid invoices for that company location. Once the outstanding balance hits the limit, the buyer can't check out until a payment is applied.

This is a hard stop, which is useful but blunt. There's no graduated warning at 80% of the limit, no differentiated handling for customers approaching vs. exceeding the limit. If that nuance matters to your operation, you'll need to build it with Shopify Flow or a third-party tool.

Payment terms at checkout

Payment terms (Net 30, Net 60, Net 90, due on receipt, and deposit-based structures) are configured per company location and apply automatically when a B2B buyer checks out. Buyers on terms don't pay at checkout; they receive an invoice with a payment due date.

For a full breakdown of payment term configuration options, see Best Payment Options for B2B Customers on Shopify.

Outstanding balance in the customer portal

B2B buyers using Shopify's new customer accounts can see their outstanding invoices and balance in their portal. This reduces inbound calls asking "what do I owe?" and gives buyers a self-service way to understand their account status before placing an order.

What Shopify Doesn't Do

Understanding the gaps matters before you build your process.

No automated credit scoring or approval: Shopify doesn't evaluate creditworthiness. You decide who gets terms and how much credit to extend, and you configure that in the admin manually. There's no workflow that takes a new account application, checks payment history or credit references, and outputs a recommended limit.

No AR aging reports: Shopify's built-in reports show unpaid orders and payment status, but they don't generate a structured AR aging report (current, 30 days, 60 days, 90+ days). That level of AR visibility lives in your accounting system or ERP, not in Shopify.

No past-due notifications to customers: Shopify sends invoice emails when a draft order is converted and an invoice link is generated, but it doesn't automatically send payment reminders when an invoice goes past due. If you want automated dunning, that's a workflow you build externally.

No collections workflow: Following up on overdue accounts, escalating to collections, applying late fees, these are processes that happen outside Shopify.

The practical implication: Shopify manages the credit limit enforcement at the point of order. Everything upstream (credit approval, terms setting) and downstream (AR tracking, collections, past-due follow-up) happens in your accounting system, ERP, or manual workflow.

Setting Up a Credit Approval Process for New Accounts

Before a new wholesale account can order on terms, they should go through a credit review. Shopify doesn't have a native credit application workflow, but you can build one.

A workable approach:

  1. New wholesale accounts request access through your gated B2B login or a standalone application form on your website
  2. The application captures: business name, tax ID, years in business, trade references, requested credit amount, and bank references
  3. Your team reviews the application and makes a credit decision
  4. If approved, you create the company account in Shopify, set payment terms, and set a credit limit based on your decision
  5. You notify the buyer with their login credentials and their approved terms

Until you complete this setup and assign terms, the account can't check out on credit. If you want to let approved accounts self-serve from day one, have the company and catalog configured before you send them the portal link.

For gating new account access until approval is complete, see Gated B2B Login and Wholesale Application on Shopify.

Monitoring Active Account Balances

Once accounts are active, you need visibility into who owes what and how overdue they are. Shopify gives you piece of this; your accounting system or ERP gives you the rest.

In Shopify:

  • Filter orders by payment status (unpaid, partially paid) to see outstanding invoices
  • Use customer tags to flag accounts in different credit states (credit-hold, past-due-30, past-due-60)
  • The Finances > Payments section in Shopify admin shows outstanding B2B invoice balances

In your accounting system or ERP:

  • AR aging by customer
  • Days sales outstanding (DSO) by account
  • Payment history over time
  • Cash application when payments arrive

The integration between Shopify and your ERP is where this comes together. When a Shopify B2B order is synced to your ERP as a sales order and the invoice is generated, your AR team manages collections in the ERP. Shopify's credit limit enforcement acts as a front-line gate; your ERP's AR module handles the follow-through.

Putting Accounts on Credit Hold

When an account goes past due, you have a few options for how to handle new order attempts in Shopify.

Option 1: Reduce the credit limit to zero

Setting a company location's credit limit to $0 effectively blocks all new orders immediately. This is the simplest approach and doesn't require automation. The buyer will hit the credit block at checkout.

The downside: it's manual. Someone on your team needs to update the limit when an account goes past due and restore it when the balance is cleared.

Option 2: Use Shopify Flow to automate the hold

If your AR process generates an output you can act on (a tag applied via your ERP integration, or a threshold calculated from Shopify's order data), Shopify Flow can automate the hold:

  • Trigger: A customer tag is added (for example, past-due-60)
  • Action: Reduce the company location credit limit to $0 or add a tag that a checkout validation function can check

Flow can also notify your sales team when an account is tagged for credit hold so they can reach out to the customer before the buyer discovers the block themselves.

Option 3: Route new orders to draft for review

Rather than blocking outright, set the company's order submission to require draft review. New orders from that account become draft orders that your team can evaluate before confirming. This is gentler and preserves the customer relationship while you resolve the payment issue.

For order review workflow configuration, see How to Set Up B2B Order Review Workflows in Shopify.

Past-Due Follow-Up Workflows

Getting invoices paid requires follow-up. Shopify doesn't send reminder emails automatically, so you need to build that process.

Manual approach: Your AR team exports unpaid Shopify invoices weekly, cross-references with your accounting system's aging report, and sends reminder emails or calls accounts. Simple and doesn't require any integration, but it scales poorly.

Shopify Flow approach: Flow can send internal notifications to your team when invoices reach a certain age (if you're using tags or order date logic), but it can't send customer-facing payment reminder emails directly in most setups. For that, you'd pair Flow with an email platform via a webhook.

n8n approach: For a more automated dunning workflow, n8n can:

  • Pull unpaid Shopify orders past a certain due date on a scheduled trigger
  • Check against your ERP or accounting system to confirm payment hasn't been applied outside Shopify
  • Send a structured reminder email to the buyer (via your email provider)
  • Tag the Shopify customer record with the current past-due status
  • Escalate to a different email or notification when an account reaches 60 or 90 days past due

This keeps the communications automated and consistent without requiring manual AR review of every account.

Adjusting Credit Limits Over Time

Credit limits shouldn't be static. A customer who consistently pays on time is a candidate for a higher limit. One who has had collections issues warrants a lower one or stricter terms.

Build a review cadence into your AR process:

  • Quarterly review of credit limits for your top accounts
  • Annual review across all active B2B accounts
  • Immediate review for any account that goes past due for the first time

Adjustments happen in Customers > Companies > [company location] > Payment terms in your Shopify admin. They take effect immediately: a limit increase allows the buyer to place orders they couldn't before, and a limit decrease blocks orders that would have gone through.

Segmenting Accounts by Credit Status

Customer tags in Shopify give you a way to segment your B2B accounts by credit status and use those segments to drive automation and reporting.

A useful tag structure:

  • credit-approved: Account has been reviewed and approved for terms
  • credit-hold: Account is blocked from ordering due to past-due balance
  • past-due-30 / past-due-60 / past-due-90+: Age buckets for overdue accounts
  • credit-review-pending: New account application in progress, terms not yet assigned

These tags make it possible to filter your customer list by status, build Shopify Flow automations that respond to tag changes, and sync credit status back to your CRM or ERP for a unified view.

For broader segmentation strategy, see How to Use Customer Segmentation in Shopify for B2B Success.

Where AR Actually Lives

A common mistake is expecting Shopify to be the system of record for accounts receivable. It isn't, and building that expectation into your process creates gaps.

Shopify manages:

  • Whether an account can place a new order (via credit limit enforcement)
  • The invoice link and payment collection for that specific order
  • Order and payment status at the transaction level

Your accounting system or ERP manages:

  • AR aging and DSO tracking
  • Cash application (matching payments received to specific invoices)
  • Financial reporting on outstanding receivables
  • Collections workflow and escalation

The integration between Shopify and your ERP should sync order and payment status bidirectionally so both systems reflect the same reality. When a payment comes in and is applied in your ERP, that update should flow back to Shopify so the outstanding balance in the customer portal is accurate.