Guide · Net terms

How to track who still owes you on Shopify net terms

The most common question from wholesalers who moved their B2B customers onto Shopify's native payment terms is not about checkout. It is the one asked after the first month: how do you currently track who still owes you?

Shopify answers it per order — each order shows paid, partially paid, unpaid or overdue — but not per customer. This guide covers what the per-customer view has to contain, why the spreadsheet most merchants keep drifts within a quarter, and how to replace it.

What Shopify shows, and what it does not

For an order with payment terms Shopify stores the issue date, the due date, the amount and every payment against it, and it marks the order overdue once the due date passes. Filter Orders by "payment status: unpaid" and you see the open orders across all customers, newest first.

What it does not show: the balance of a company across its open orders, how much of that balance is overdue, how many days the oldest item is past due, or what that customer was last told they owe. Those four numbers are what you need before a phone call, and what the customer's bookkeeper needs before a payment.

The spreadsheet, and why it drifts

So merchants keep a sheet: one row per stockist, columns for open invoices, a total, a note. It works for a while. It drifts for three reasons: a payment arrives by bank transfer and is marked in Shopify a week later (or never); an old order is refunded or edited after the row was written; and the sheet is updated at month end while Shopify changes every day. By the third month the sheet and Shopify disagree, and nobody is sure which one is right.

The fix is not a better spreadsheet. It is computing the per-company balance from Shopify's own records every time you look, and sending each customer the same figures you see.

The per-customer view that works

Four figures per company, all derived from the orders and payments Shopify already holds:

  • Balance — the sum of what is outstanding across every open order, in the customer's currency.
  • Overdue — the part of that balance past its due date, with the oldest open due date next to it.
  • Days past due — of the oldest unpaid invoice, so "who to call first" is a sort, not a judgement.
  • Last statement — what the customer was last told, and whether it reached them.

The bank-transfer problem

A customer who pays by transfer shows as unpaid in Shopify until someone marks the order paid. Any per-customer view is only as current as that habit. Two things help: mark orders paid the day the money lands, and treat an overdue balance on a customer who usually pays by transfer as "possibly paid — check first" rather than "chase".

Doing it inside Shopify

StatementClerk's dashboard is exactly this view, computed live from your Shopify orders: balance, overdue, oldest open due date and last statement per company, with a flag for possible off-platform payments. The same figures go out to each customer as a monthly statement, so what you see and what they see agree. Free for up to 5 companies.

Questions

Can I see this in Shopify's own reports?

Shopify's reports cover sales, not receivables. You can filter the orders list by payment status, and a customer's page lists their orders, but neither sums what a company owes or ages it by due date.

Does a customer see their own balance?

In Shopify's B2B customer account they see their orders and can pay each one. They do not see a running balance or a statement — which is why merchants email one.

Statements on the 1st, without the spreadsheet.

StatementClerk builds, checks and sends them from your Shopify data. Free for up to five companies.

More guides