Basis Ventures · Guides for Shopify B2B merchants

Tracking net-30 and net-60 terms in Shopify: which invoices are overdue

Where Shopify keeps payment terms, how to read a due date, and how to find the ones that have slipped past it.

Offering net-30 or net-60 to wholesale customers is easy. Keeping track of which of those invoices have gone past due is where it gets slippery — because the due date you care about lives in a few different places in Shopify, and sometimes nowhere at all. This guide walks through where terms live, how to read a due date, and how to surface the overdue ones.

First, the good news: net terms are not Plus-only anymore

A lot of merchants still believe B2B payment terms require Shopify Plus. Since April 2026 that is no longer true — B2B companies, company locations, payment terms and payment reminders are available on Basic, Grow and Advanced as well as Plus; only the Starter and Retail plans are left out. If you held off on using native terms because you thought you needed Plus, you probably do not.

Where a payment term actually lives

A due date only exists when a payment term is attached to the order. There are three ways that happens:

If none of these happened — you just marked an order "pending" and emailed the customer — then Shopify holds no due date at all for it. That is the single biggest reason net-terms tracking quietly breaks: half your invoices have a real due date and half do not.

Reading the due date on an order

Open an order with terms attached and the payment section shows the term and the resulting due date. For an order without terms, there is nothing to read, so you fall back to the arithmetic: due date = order date + the term you agreed. For net 30 that is 30 days after the order (or after the invoice date, if you invoice separately). Keep the agreed term written down somewhere per customer, because Shopify cannot tell you a term it was never given.

Finding the overdue ones

  1. Go to Orders and filter to Payment status: Pending (add Partially paid if you take deposits).
  2. For each, get the due date — read it if terms are attached, or compute order date + term if not.
  3. Flag every order where the due date is already in the past. Those are your overdue invoices.
  4. Sort by days overdue, largest first. The oldest ones are where the money is genuinely at risk, and they are the ones to act on today.

Three things that trip people up

Terms set after the fact don't backfill

If you add a payment term to a company today, it applies to new orders, not the ones already sitting unpaid. Those older orders still have no attached due date, so they will not show a due date even though you "have terms." Track them by the agreed term manually until they clear.

An order with no term isn't automatically "late"

If you never attached a term, you are inferring the due date. Before you send a firm "you're overdue" message, be honest that the date is inferred — a softer "is this one still open on your side?" collects just as well and does not risk accusing a good customer who was never given a hard due date.

Off-platform payments hide behind "pending"

A net-terms customer who pays by bank transfer or cheque can leave the order reading "pending" forever. Reconcile those promptly, or your overdue list will keep flagging invoices that were actually paid weeks ago.

Making it a habit

The tracking only helps if it is regular. A weekly pass — pull the unpaid orders, compute or read the due dates, flag and sort the overdue ones — is enough for most wholesale operations. The moment it becomes a monthly scramble in a spreadsheet is the moment invoices start slipping through.

Disclosure — this is my app. Doing the weekly pass by hand got repetitive, so I built a small, read-only Shopify app that does it automatically: Basis Receivables.

It reads your B2B companies, orders and payment terms and shows which invoices are overdue and by how long — grouped into current, 1-30, 31-60, 61-90 and 90+ days, per company. It also covers unpaid orders you raised from draft orders, so customers who are not set up as B2B Companies are not left out, and when an order has no agreed due date, the reminder it drafts on the paid plans becomes a payment query rather than asserting it is late. It is read-only — no write access, so it cannot change an order, a price or a customer — and it keeps no database: it stores no order or customer record. The free tier shows the full report for up to five companies and five unpaid invoices outside Companies.

See it on sample data — no install

Or find it on the Shopify App Store: Basis Receivables.

Frequently asked questions

Does Shopify support net-30 and net-60 payment terms?

Yes — payment terms are part of Shopify's B2B features and, since April 2026, are available on the Basic, Grow and Advanced plans as well as Plus (not on Starter or Retail). A term can sit on a B2B company, an order, or a draft order.

How do I see the due date of a wholesale order?

If the order has terms attached, the due date is shown on the order's payment section. If it has no terms, Shopify has no due date, so you infer it from the order date and the term you agreed.

How do I know which invoices are overdue?

Filter to unpaid orders, compute or read each due date, and flag the ones where today is past the due date. Sort by days overdue to see which are most at risk.