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.
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 fields
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 clients
For this walkthrough, assume today is August 27, 2026, and we have:
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.
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 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 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 Date
Save it, and every row resolves instantly:
Invoice table showing Overdue flag filled in only for Marcus Webb
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 unpaid
Now suppose Marcus Webb finally pays. Update his Payment Status from Unpaid to Paid.
Updating 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 Paid
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 Overdue
Now only Isla Fontaine shows up here — exactly who needs a follow-up, and no one else cluttering the list.
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 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
No commitment. No credit card required.

© 2026 Ambisius. All rights reserved.