Shopify PlusB2BPayment TermsWholesaleCash Flow

Past-Due Invoices on Shopify B2B: A Practical Collections Workflow

A practical collections workflow for Shopify Plus B2B merchants dealing with past-due invoices, from first reminder to final escalation, without burning customer relationships.

11 min read
Past-Due Invoices on Shopify B2B: A Practical Collections Workflow

Key Takeaways

  • 1Most Shopify Plus merchants have no real collections process. They send one reminder email and hope. That is not a workflow; it is optimism.
  • 2A structured cadence (reminder at day 5, firm at day 15, hold at day 30 to 45, escalation at day 60) catches most late invoices before they become write-offs.
  • 3The root problem is structural: static Shopify payment terms with no way to tighten conditions for late-paying accounts automatically.
  • 4TermStack lets you tag slow-paying accounts and apply stricter terms at checkout automatically, so collections becomes the last resort rather than the default process.

One of your wholesale buyers just went 30 days past due. You have sent one reminder. You are wondering whether to send another one or just wait. For a complete overview of how B2B payment terms work on Shopify Plus, the complete guide to B2B payment terms covers the full framework.

Most Shopify Plus merchants stay in that loop for weeks. Another reminder. Another week. Another entry in the AR spreadsheet. By the time they actually escalate, the invoice is 75 days old, the buyer knows they can delay indefinitely, and the pattern is set.

This post is about breaking that pattern. A collections workflow is not about being aggressive. It is about being consistent. Buyers pay the creditors who have a clear process before they pay the ones who are just hoping.

Why most Shopify merchants don't have a real collections process

The honest reason is that Shopify's B2B tools make it easy to extend terms and hard to enforce them.

You can set Net 30 for a company location in 30 seconds. There is no equivalent tool that alerts you when day 31 arrives, applies a hold, or tightens terms for accounts that have paid late before. The enforcement side is entirely manual.

So merchants build informal processes. One reminder email. Maybe a phone call. A vague sense that you will follow up if it goes another two weeks. That is not a workflow; it is avoidance with extra steps.

The result is predictable: late invoices accumulate, the AR aging report gets worse each quarter, and writing things off becomes the de facto resolution for anything over 90 days.

A structured cadence fixes most of this without requiring new software. It just requires deciding in advance what you will do at each stage.

The four-stage collections cadence for past-due invoices

Here is the workflow I would use for a Shopify Plus B2B merchant.

Stage 1 — Day 5 past due: Friendly reminder

Send a short, direct email. Do not apologize for sending it. The message is simple: the invoice is past due, here is a link to pay, let me know if there is a question on your end. Keep it under 150 words.

The goal at this stage is to catch invoices that slipped through someone's AP queue, or where there is a genuine question about the invoice. Most late payments at this stage are not intentional. They are operational. A single clear reminder resolves them.

Do not wait until day 30 to send this. Day 5 is fast enough that it does not feel aggressive, and early enough to intercept honest mistakes before they become habits.

Stage 2 — Day 15 past due: Direct payment request

If stage 1 produced no payment and no response, send a second message that is noticeably more direct. Name the invoice amount, name the due date it was late from, and ask for a specific response: either payment by a specific date, or a reason why it has not cleared.

This is also the right moment to get on the phone if the account is meaningful enough. An email can be ignored indefinitely. A brief call is harder to defer. You are not threatening anything yet; you are asking for confirmation of what is happening.

Stage 3 — Day 30 to 45 past due: Soft hold on new orders

If you have received no payment and no credible explanation after two follow-ups, pause new order processing until the outstanding balance is resolved.

This is the step most merchants skip because they are afraid of the relationship cost. The actual relationship cost of a clear hold is much lower than they expect, and much lower than the cost of processing more orders for an account that is not paying for the ones they already have.

When you communicate the hold, be matter-of-fact: we have paused new orders for your account while the outstanding invoice is unresolved. Once that clears, we are happy to process your pending order immediately. Do not apologize. Do not hedge. The hold is a reasonable business response to unpaid terms.

Most buyers who hit a hold resolve it within five to seven days. They have a new order they actually need.

Stage 4 — Day 45 to 60 and beyond: Escalate or negotiate

By day 45 to 60, you are dealing with one of three situations: a buyer in genuine financial difficulty, a buyer who has decided not to pay, or a buyer who is disputing something about the invoice or the product.

Each requires a different response. A buyer in difficulty might warrant a payment plan if the relationship is valuable. Get the plan in writing, require an immediate partial payment to start it, and document the schedule. A buyer who is unresponsive after repeated contact is heading toward formal collections or write-off. A buyer with a dispute needs that dispute resolved before anything else.

For amounts under your jurisdiction's small claims limit, often $10,000 to $25,000 depending on jurisdiction, small claims court is a real option. It costs very little to file, and the judgment record is often enough to motivate payment.

Collections workflow timeline showing the four stages from day 5 reminder to day 60 escalation for past-due B2B invoices
Collections workflow timeline showing the four stages from day 5 reminder to day 60 escalation for past-due B2B invoices

The structural problem: Shopify's static terms cannot enforce themselves

A collections cadence handles accounts that have already gone past due. The bigger opportunity is preventing the same accounts from repeating the cycle.

Shopify Plus lets you set one payment term per company location. Net 30, Net 60, whatever you agreed to. That term does not change based on whether the buyer has paid on time before. If an account pays late three quarters in a row, they still get Net 30 on their next order, unless someone manually goes into the company location settings and changes it.

Nobody does that manually. So the same slow-paying accounts keep getting Net 30, keep paying at day 45, and the pattern compounds.

The fix is to encode terms logic that responds to behavior. The mechanic is customer tags.

Using customer tags to automate tighter terms after past-due invoices

Shopify's customer tagging system is available across B2B. When an account goes past due, tag them with something like slow-pay or past-due. When they clear the balance and pay on time for a couple of cycles, remove the tag.

On its own, tagging does nothing. But combined with a Payment Customization Function, that tag becomes a checkout signal.

This is where TermStack fits naturally. TermStack is a rules engine that evaluates conditions at B2B checkout and applies the payment terms your rules specify. One of those conditions is a customer tag.

The rule looks something like this: if a buyer has the slow-pay tag, require a 30% deposit before the order processes, and reduce the net period from 30 days to 15. The rule runs automatically at checkout. No manual intervention. No remembering to update the company location settings.

When the account clears their past-due balance and comes back current, you remove the tag. The next order goes through at standard terms. The whole thing is self-correcting once you set it up.

Want tighter terms for past-due accounts to run automatically at checkout, without updating settings manually?
TermStack is a rules engine for Shopify Plus B2B that evaluates customer tags, order history, and order size at checkout and applies the payment terms you define. Tag a slow-pay account, and their next order automatically requires a deposit. Remove the tag when they are current, and standard terms resume. Try TermStack free for 14 days →
Past-due account rules engine flow showing tag-based checkout conditions in TermStack applying deposit and shorter net terms
Past-due account rules engine flow showing tag-based checkout conditions in TermStack applying deposit and shorter net terms

What to stop doing when dealing with past-due B2B invoices

A few things that feel like collections process but are not:

Sending a third reminder email before calling. Email is low-friction to ignore. If two emails have not produced a payment or a response, a third one will not either. Call instead.

Waiting until 60 days to put an account on hold. By day 60, you have usually processed more orders for the account while the original invoice sat unpaid. You have increased your exposure and trained the buyer that your terms are soft. Day 30 to 45 is the right trigger for a hold.

Customizing each follow-up. Bespoke messaging per late account sounds relationship-forward, but it is actually a way to defer the discomfort. Templated messages at set intervals are faster for you and clearer to the buyer. The clarity is part of what makes them effective.

Accepting vague payment commitments. "I will look into it next week" is not a payment commitment. "I will pay the $4,200 balance by June 20th" is. Press for specifics, and follow up if the specific date passes without payment.

Preventing repeat past-due invoices: first-order deposits and graduated terms

The best collections process is one you rarely have to run. Two structural moves reduce late invoices significantly.

Require a deposit on the first order. A buyer who puts 30 to 50% down before their first order ships has demonstrated they can transact. A buyer who refuses a deposit before you have extended them any credit is giving you information worth having. First-order deposits also improve cash flow before fulfillment, reducing your exposure from day one. For more on structuring deposit requirements, the guide to requiring deposits on B2B orders covers the mechanics.

Earn into full terms. Start new B2B accounts on Net 15 or Net 7 with a deposit. Move them to Net 30 after two or three invoices paid on time. This graduated approach matches the credit risk you are carrying at each stage of the relationship. Buyers who have demonstrated good payment behavior get better terms. That is the right incentive structure.

With TermStack, these rules are checkout conditions. First order? Require a deposit and shorten the net period. Total orders greater than three and no past-due tag? Apply standard Net 30 automatically. The logic runs at checkout and adjusts as the account's history changes.

Frequently Asked Questions


Summary

A collections cadence is not complicated. Day 5 reminder, day 15 direct ask, day 30 to 45 hold, day 60 escalation. Most late invoices resolve before you reach stage three if you run the first two stages consistently.

The bigger lever is structural. If the same accounts keep going past due, the problem is that your payment terms do not respond to behavior. Static terms extended to everyone give late-paying buyers no reason to change. Tagging slow-pay accounts and enforcing tighter terms automatically at checkout gives them a concrete reason.

TermStack is the toolkit for building that enforcement layer on Shopify Plus: deposit rules, first-order gates, customer tag conditions, and automatic tightening when payment behavior changes, all running at checkout without custom code.


Written by the team at Varr Labs

Back to all posts