Logo Light

How to Build an Overdue Payment Tracker

Aug 27, 2026

Chasing unpaid invoices usually starts the same way — someone opens the invoice list, scans every due date against today's date, cross-references it with a separate paid/unpaid column, and builds a mental (or worse, a manually copied) list of who still owes money. Do that every week, and eventually one invoice slips through simply because nobody happened to look at that row that day.

In this tutorial, we'll build an Overdue Payment Tracker — an Invoice table that automatically flags any unpaid invoice past its due date as "Overdue." No scanning, no cross-referencing, no invoice quietly falling through the cracks.

Why this matters

"Overdue" isn't a fact sitting in any single cell — it's a conclusion drawn from two separate pieces of information, a due date and a payment status, compared against the one thing that never sits still: today. The moment that comparison happens automatically, the conclusion is always ready before you even ask for it.


Table Columns

Here's what we're working with — an Invoice table with Client Name, Amount, Due Date, and Payment Status (Single Select: Paid / Unpaid).

Invoice table columns showing Client Name, Amount, Due Date, and Payment Status fieldsInvoice table columns showing Client Name, Amount, Due Date, and Payment Status fields


Step 1: Add Your Invoices

Add a handful of invoices with different due dates and payment statuses, so we have real data to test the logic against.

Invoice table populated with sample invoices for three different clientsInvoice table populated with sample invoices for three different clients

For this walkthrough, assume today is August 27, 2026, and we have:

  • Marcus Webb — $1,200, due August 10, 2026, Unpaid
  • Isla Fontaine — $850, due September 5, 2026, Unpaid
  • Devon Marsh — $2,400, due August 1, 2026, Paid

Right now, nothing on this table tells you at a glance which of these actually needs a follow-up call. You'd have to check each due date against today, and remember to skip the ones already paid.


Step 2: Flag Invoices as Overdue

Since a plain column can't be converted into Custom Logic after the fact, create a brand new column and set its type to Custom Logic from the start.

Adding a new Custom Logic column for the Overdue flagAdding a new Custom Logic column for the Overdue flag

Describe the rule — if Payment Status is "Unpaid" and Due Date has already passed, mark it "Overdue"; otherwise mark it "On Track."

Describing the logic to flag unpaid invoices past their due date as OverdueDescribing the logic to flag unpaid invoices past their due date as Overdue

Confirm the clarification screen, checking that it correctly requires both conditions — unpaid and past due — rather than either one alone.

Clarification screen confirming the logic requires both Unpaid status and a passed Due DateClarification screen confirming the logic requires both Unpaid status and a passed Due Date

Save it, and every row resolves instantly:

  • Marcus Webb → Overdue
  • Isla Fontaine → On Track
  • Devon Marsh → On Track

Invoice table showing Overdue flag filled in only for Marcus WebbInvoice table showing Overdue flag filled in only for Marcus Webb

What just happened under the hood

Because this logic compares a stored date against today — a constantly moving target — Ambisius runs it as an on-demand calculation. It's never frozen at the moment you save it; it re-evaluates live every time you open the table, so an invoice slides into "Overdue" on its own the instant its due date passes, with no one editing the row.


Step 3: Watch an Invoice Tip Into Overdue

Let's prove that last point without waiting for time to actually pass. Isla Fontaine's invoice is due September 5 — still on track today. For this walkthrough, imagine checking back on September 6, 2026, one day after her due date, with the invoice still unpaid.

Isla Fontaine's flag changes from On Track → Overdue, without anyone touching her row.

Isla Fontaine's invoice now showing Overdue after her due date passed while still unpaidIsla Fontaine's invoice now showing Overdue after her due date passed while still unpaid

Now suppose Marcus Webb finally pays. Update his Payment Status from Unpaid to Paid.

Updating Marcus Webb's Payment Status to PaidUpdating Marcus Webb's Payment Status to Paid

His flag responds immediately too.

Marcus Webb's flag changes from Overdue → On Track, the moment his status changes.

Marcus Webb's invoice showing On Track after his Payment Status was updated to PaidMarcus Webb's invoice showing On Track after his Payment Status was updated to Paid

What this replaces

Tracking this manually means re-checking every unpaid invoice's due date against today, every single day, and remembering to stop worrying about the ones that just got paid. Here, both directions — falling overdue, and clearing once paid — happen on their own the instant either condition changes.


Step 4: Build a View for Collections

Knowing who's overdue is only half the job — what you actually want day-to-day is a quick list to work from. Create a new view, filter where Overdue equals "Overdue," and save it as "Needs Collection."

Saved filtered view named Needs Collection showing only invoices flagged as OverdueSaved filtered view named Needs Collection showing only invoices flagged as Overdue

Now only Isla Fontaine shows up here — exactly who needs a follow-up, and no one else cluttering the list.

The wow moment

This view isn't something you rebuild every Monday morning. It's reading a field that already keeps itself current, so opening it on any given day shows exactly who owes you money right now — not who owed you money the last time someone remembered to check.


Recap

  1. An Invoice table with Client Name, Amount, Due Date, and Payment Status
  2. A Custom Logic field flagging invoices as Overdue based on both due date and payment status
  3. A live demonstration of the flag applying and clearing itself as conditions change
  4. A filtered view surfacing only the invoices that need a follow-up
What you had beforeWhat you have now
Manually checking every due date against todayOverdue status calculated automatically
Cross-referencing due dates with payment status by handBoth conditions combined into a single flag
Invoices slipping through if no one happens to checkA saved view showing exactly who needs collecting

This same two-condition flagging pattern extends well beyond invoicing — overdue library books, expired warranties still under a claim, or unresolved support tickets past their SLA can all be tracked the same way, just by describing what "overdue" means in that context.

Try it yourself

This exact setup is available as a ready-made template. Duplicate it, explore it live, and make it yours in a few clicks.

Try the Live Preview

On this page

Related articles

Explore more product articles and best practices for teams building with Ambisius.

Still Using Spreadsheets?
You Should Try This.

Turn familiar spreadsheets into a structured system built for your business

Try Ambisius for Free

No commitment. No credit card required.

Logo Light

© 2026 Ambisius. All rights reserved.

How to Build an Overdue Payment Tracker