How to Build a Customer Payment Follow-Up Sheet in Excel

A practical, column-by-column way to build a payment follow-up sheet in Excel — with the formulas that flag overdue invoices, a worked example with real numbers, and how to stop maintaining the sheet by hand.

By Invoala Editorial Team · Published 2026-10-26

A 3D icon of the Microsoft Excel logo on a dark green background

A customer payment follow-up sheet in Excel is one row per invoice, with columns for the customer, invoice number, invoice date, due date, amount, amount paid, days overdue, and the date of your last reminder. The follow-up work itself comes from three formulas: one that calculates days overdue, one that buckets each invoice into a status (paid, due, overdue), and one that tells you when the next nudge is owed. Everything else is housekeeping.

Below is a setup you can build in about fifteen minutes, plus the parts most templates get wrong.

Key takeaways: One row per invoice; store amount, part-payment and due date separately; Use TODAY() minus due date for days overdue, capped at zero; Part-payments need an Outstanding column or overdue invoices vanish; Set next follow-up to last contact plus 7 days, never earlier than due date +3

The columns that actually matter

Skip the decorative bits and start with this. Put it in row 1 as headers, freeze it, and add a filter.

  • Customer — consistent naming. "Acme Ltd" and "Acme Limited" should never both exist, or filtering breaks.
  • Invoice no. — your reference; keep it as text so leading zeros survive.
  • Invoice date and Due date — two separate columns. Don't store payment terms ("Net 30") as text only; you want a real date to calculate against.
  • Amount — the total the customer owes, including any tax you charged.
  • Paid — the amount actually received so far. This lets you handle part-payments, which are the single most common reason a tracker goes wrong.
  • Outstanding — `=Amount − Paid`. A formula, never typed by hand.
  • Status — paid, part-paid, due, overdue. Formula-driven.
  • Days overdue — formula-driven, zero or blank when not overdue.
  • Last contact and Next follow-up — the two dates that make the sheet a follow-up tool rather than a list.
  • Notes — short factual lines: "promised Friday", "disputed £90 late fee", "AP contact is Priya". Keep it boring and useful.

One optional column worth adding: Aging bucket. More on that below.

person touching white spiral notebook

Photo by Marissa Grootes on Unsplash

The formulas, with the exact syntax

Assume headers are in row 1 and your first data row is row 2. Invoice date in C, due date in D, amount in E, paid in F, last contact in J, next follow-up in K.

Outstanding balance:

```

=IF(A2="","",E2-F2)

```

Days overdue (returns 0 if not yet due, and ignores blanks):

```

=IF(D2="","",MAX(0,TODAY()-D2))

```

Status:

```

=IF(A2="","",IF(F2>=E2,"Paid",IF(TODAY()>D2,"Overdue",IF(TODAY()=D2,"Due today","Due"))))

```

That gives you "Paid" only when the received amount covers the total, which keeps part-payments visible instead of silently marking them done.

Next follow-up. The simplest useful rule: nudge three business days after the due date, then weekly. A cell-per-row version:

```

=IF(OR(B2="",F2>=E2),"",IF(J2="",D2+3,MAX(D2+3,J2+7)))

```

That reads as: if nothing has been sent yet, follow up three days after the due date; otherwise, seven days after the last contact — never earlier than three days past due. Adjust the numbers to whatever rhythm you actually keep.

Aging bucket, if you want to see how much of your money is old:

```

=IF(E2=F2,"Paid",IF(TODAY()<=D2,"Not due",IF(TODAY()-D2<=30,"1–30 days",IF(TODAY()-D2<=60,"31–60 days","60+ days"))))

```

Then a pivot table on the Aging bucket column, summed on Outstanding, gives you the number that matters: how much cash is stuck in the oldest bucket.

Format dates as dates (Excel will otherwise store them as text when you paste from PDFs and emails), and use number format with two decimals for money. Set the whole Status and Days overdue columns to conditional formatting — red for Overdue, amber for "Due today" — so the sheet tells you what to do before you read it.

Ready to try it? Create a professional invoice in under two minutes with Invoala's free invoice generator, no sign-up and no watermark.

Example: tracking three invoices in one week

Suppose it's 14 March and you've issued three invoices:

  • INV-1042, Acme Ltd: $2,400 invoiced, 30-day terms from 1 February, so due 3 March. Received nothing. `TODAY()` minus 3 March gives 11 days overdue, Outstanding $2,400, Status "Overdue", bucket "1–30 days". Last contact was blank, so the Next follow-up formula returns 6 March — already past, meaning act today.
  • INV-1043, Bridgewater Studio: $850, due 20 March. Days overdue = 0, Status "Due", Next follow-up 23 March. Nothing to do this week beyond noting it.
  • INV-1044, Calder Design: $1,600, due 10 March, with $600 received. Outstanding is $1,000 and the status stays "Overdue" rather than "Paid" — exactly the case a naive tracker hides. Note that the customer paid a portion; your reminder should reference the balance, not the full invoice.

Total outstanding $4,400, of which $3,400 is overdue. That's your working list for the week: one email to Acme, one short note to Calder confirming the $1,000 balance and asking when it lands, and nothing to Bridgewater.

Notice what the sheet did not do: it didn't tell you what to say. A follow-up sheet produces a queue; the message is still yours to write. That's also why the Notes column earns its place — the next time you open the sheet you should be able to tell in three seconds who you're chasing and what they last promised.

Two caveats. `TODAY()` is volatile, so the sheet re-evaluates on open; if you need a frozen snapshot for a report, copy the values into a separate tab. And if your team works across countries, agree on one date format and one currency before anyone types a number.

a woman sitting at a table with lots of papers

Photo by Dimitri Karastelev on Unsplash

Where spreadsheets stop working

A hand-maintained sheet has a failure mode: it only helps if you remember to open it. The usual breakpoints are more than roughly twenty open invoices, multiple people touching the same file, or invoice data that has to be re-typed from whatever tool you issued it from.

If you already produce invoices somewhere, the duplication is the real cost. You can generate the PDF with the free Invoala invoice generator — fill a form, download an A4-accurate PDF, no sign-up and no watermark — and then the question becomes where the follow-up happens.

Before you automate anything, it's worth keeping the sheet honest for a month. If you find yourself filtering by Status and Days overdue every Monday, that's a signal to move the tracking into invoice payment tracking that already knows which invoices are paid, due or overdue, rather than rebuilding it by hand each week.

How Invoala helps with the follow-up loop

The sheet works; it just needs feeding. Here's where Invoala removes steps:

1. Issue the invoice. Open the invoice generator, fill in the customer details, line items, tax and payment terms, and download the PDF. Because the invoice is A4-accurate, the layout doesn't shift when the customer prints it — which matters when someone forwards it to their accounts payable team.

2. Keep the due date accurate. The due date you set on the invoice is the anchor for everything downstream; a wrong date here produces a wrong Days overdue column everywhere.

3. Let reminders run. Instead of re-typing Last contact and Next follow-up every week, automated payment reminders handle the follow-ups for unpaid invoices, so the schedule lives with the invoice rather than in a file you have to remember to open.

4. Watch the status. Tracking paid, due and overdue is the same three-bucket logic as the Status formula above, minus the maintenance.

5. Fall back to the sheet when you need one. If a client or a bookkeeper wants a single view, export the list and keep using your pivot table. Nothing about using a generator stops you from keeping a spreadsheet for your own sanity.

Pricing is free forever with an optional upgrade, if you want to check what's included before relying on it.

A short reminder script that matches the sheet

When the sheet says "act today", send something short and specific rather than a generic chase. Something like:

Subject: Invoice INV-1042 — $2,400, due 3 March

>

Hi [name] — invoicing shows INV-1042 for $2,400 as unpaid and 11 days past its 3 March due date. Could you confirm whether it's scheduled for this week's payment run? Happy to re-send the PDF if it's easier to route internally.

That references the invoice number, the amount and the exact due date — all three of which came straight out of the tracker. It's also the reason a clean invoice PDF matters: the customer can find the reference without hunting.

Two practical notes on tone, which depends on the relationship and the country: many businesses send a gentle note a few days after the due date and a firmer one after two or three weeks, but collection practices, late-payment interest and any statutory demand process vary by jurisdiction. If an invoice is seriously in arrears, check the official guidance where you and your customer are based, or take advice, rather than relying on a spreadsheet formula to decide your next move.

The sheet is your memory. The formulas are your clock. Keep both simple and you'll chase the right invoices on the right day, which is most of the job.

Frequently asked questions

What is the best formula for days overdue in Excel?

Use =IF(D2="","",MAX(0,TODAY()-D2)), where D2 is the due date. The MAX(0, …) part stops invoices that aren't due yet from showing negative numbers, so sorting the column puts the worst offenders on top.

How do I track partial payments on a payment follow-up sheet?

Keep two columns: the invoice total and the amount paid, then calculate outstanding as a formula (total minus paid). Mark the invoice Paid only when the paid amount is greater than or equal to the total, otherwise it stays Overdue with a visible balance.

Can Excel send payment reminder emails automatically?

Not reliably. Excel doesn't have built-in scheduled email sending, and workarounds need scripts or add-ins that break easily. Most people either send reminders manually from the sheet's Next follow-up column or use an invoicing tool with reminders built in, such as Invoala's automated payment reminders.

How many columns should a payment follow-up tracker have?

Around a dozen is enough: customer, invoice number, invoice date, due date, amount, amount paid, outstanding, status, days overdue, aging bucket, last contact and next follow-up. Adding more columns than you actually filter on tends to make the sheet slower to use, not better.

Should a freelancer use a spreadsheet or invoicing software for follow-ups?

A spreadsheet is fine for a handful of open invoices and one person. Once you have more than roughly twenty unpaid invoices, several people touching the file, or invoice data you'd be re-typing anyway, software that already knows which invoices are paid or overdue usually saves more time than the sheet costs.

Put it into practice

Create a professional invoice in under two minutes — free, no sign-up.

Create an invoice
Payment Follow-Up Sheet in Excel: A Working Setup | Invoala