How to Collect Unpaid Invoices: A Step-by-Step Guide for B2B AR Teams

Gabriella Reiss
July 1, 2026
9 min read
How to Collect Unpaid Invoices

If you run accounts receivable (AR) at a B2B company, collecting an unpaid invoice usually starts with a wrong assumption: that the customer chose not to pay. Most of the time, they didn’t. The invoice is somewhere in their accounts payable process, and your team can’t see where it is. This guide walks through how to collect unpaid invoices when your customers pay you through their own AP portals, and how to tell a real problem in the payment process apart from an invoice that’s simply stuck.

What an unpaid invoice actually is (and what “open” means)

Definition

Open invoice

Any invoice recorded as owed and not yet paid. It covers invoices that are current, past due, or awaiting approval within a customer’s system. “Open” tells you money is outstanding. It doesn’t tell you why.

An unpaid invoice is one you’ve issued that the customer hasn’t paid by its due date. In AR software, it shows up as “open,” meaning recorded as owed but not yet settled. Open is a status, not a verdict. An invoice can be open because it’s not due yet, because it’s working through approval, or because something broke during submission and no one caught it.

That distinction matters because the fix for a customer who won’t pay is completely different from the fix for an invoice that never reached an approver.

Why do B2B invoices go unpaid when nobody refuses to pay?

Unpaid B2B invoices fall into two groups, and the second one is where most AR time goes.

A genuine dispute

The customer received the invoice, reviewed it, and is deliberately withholding payment. Maybe the amount is wrong, the goods or services arrived late, or there’s a disagreement about scope. These are real, and they need a conversation. The good news is they’re visible: someone on the customer’s side has told you there’s a problem.

Portal limbo: the one most AR teams overlook

This is the invisible category. You submitted the invoice through the customer’s AP portal, and it never moved. The portal rejected it for a format mismatch, a purchase order reference that didn’t match, a PO that ran out of funds, or your account needing re-registration after a portal update. No one refused to pay. The invoice simply stalled, and the status update sat in a portal your team doesn’t check every day.

Why it matters

Reaching out to a customer about an invoice that’s already been rejected in their portal costs you a week, when the customer fully intended to pay all along. Check the portal before you reach out.

The teams that collect fastest check this category first. A chunk of what looks like slow payment is really days sales outstanding (DSO), the average time it takes to get paid, climbing for reasons that are fixable. It’s often why your DSO is too high in disguise.

In Monto’s data, roughly 70% of “unpaid” invoices trace back to a PO-related rejection rather than a customer refusing to pay. The other big one: the invoice never reached the portal at all. AR teams often send the first invoice by email, hear nothing until it’s due, and only then learn the customer needed it in their portal. Either way, the customer fully intended to pay.

Here’s why it stays invisible so long. Billing’s job is to get the invoice out and then move on to the next one. The collector doesn’t look until the invoice is due, logs in to the portal, and finds that it was rejected on day 2 or 3 of the cycle. By then, it’s been 60 days, and someone has to resolve the issue and loop billing back in to resend a corrected invoice.

How to collect unpaid invoices, step by step

Work these in order. The early steps are free and fast, and they resolve more invoices than most teams expect.

Confirm the invoice was received and approved

Before you treat an invoice as late, confirm it actually landed. Check that it was submitted, accepted into the portal, and moved into an approval queue. If it shows as rejected or never appears at all, you have a submission problem, not a collection problem, and the later steps don’t apply yet.

Check the portal status before you reach out

Log in to the customer’s AP portal and read the status. If it’s in approval, you have a timing issue, and a polite nudge to the approver will help. If it’s rejected, read the reason for the rejection, fix the underlying issue (the PO reference, the format, or a missing field), and resubmit. Most teams skip this and jump straight to email, which is why the same invoice gets followed up on more than once before anyone sees it was rejected early in the cycle.

A few messages come up again and again. Across Coupa, Ariba, and Tungsten, the most common issues are PO mismatch, PO out of funds, and PO expired; the single most frequent is a missing attachment, usually proof of delivery (PoD). If you recognize one of these, you’ve found your problem: fix that field or document and resubmit.

Send a clear, dated reminder to the right contact

If the invoice is genuinely sitting with an approver who’s gone quiet, send a short reminder. Reference the invoice number, the PO, the amount, and the date you submitted it. Send it to the AP contact who owns approvals, not a generic inbox. Keep it factual and friendly. You’re helping them clear something, not accusing them.

Escalate inside the relationship before you escalate outside it

If reminders go unanswered, move up: your account contact, their procurement lead, your own account manager who owns the relationship. Most enterprise customers will clear an overdue invoice once the right person is made aware of it. This is collections through the relationship, and it protects your customer relationships.

Use formal recovery only as a last resort

If the invoice is genuinely disputed or the customer is non-responsive after escalation, formal options exist: a written demand, a collections agency, or legal action. For B2B suppliers, these are rare, and they carry a relationship cost, so reserve them for real refusals and write-off territory. For a fuller walkthrough of running collections without logging into every portal by hand, see how to automate AR collections across your portals.

Chasing unpaid invoices by email Checking portal status first
Where you lookThe customer’s inboxThe portal where the invoice actually lives
What you find“We’ll look into it”The exact status: approved, pending, or rejected
Time to root causeDays, sometimes weeksMinutes
Effect on the relationshipRepeated follow-ups strain itA precise ask resolves it
Invoices it fixesGenuine slow-paysSlow-pays and silent rejections

How to stop invoices from going unpaid in the first place

The cheapest invoice to collect is the one that never gets stuck. Every prevention move comes down to visibility: knowing the status of every outstanding invoice across every customer portal without logging into each one. When you can see a rejection the day it happens, you fix it before it becomes a 60-day collection problem. That single shift improves cash flow and does more to reduce DSO through better portal management than any reminder cadence. That kind of visibility is the real job of invoice automation.

See every unpaid invoice before it ages. Monto runs a self-learning AI agent for each of your customers that carries every invoice from your ERP to payment, submits each one in the portal’s required format, and flags rejections the moment they occur. Your team gets a single dashboard with near real time status across all your customer AP portals, so “unpaid” stops meaning “invisible.” See how Monto works.

When left to a manual process, a rejected invoice usually goes unnoticed until it’s due, or for 5 to 10 days if the team runs exception reports. With Monto, it’s either caught within 24 hours or avoided entirely: Monto checks the required data and matches it to the customer’s PO before the invoice is ever sent, so far fewer invoices are rejected on the first pass.

The bottom line

Most unpaid B2B invoices aren’t refusals. Their invoices are stuck in a portal nobody checked. Find them before you follow up, and collecting becomes a predictable process instead of a monthly scramble. Portals aren’t going anywhere, so the opportunity is to stop working through them by hand and let the status come to you.

See every unpaid invoice with Monto before it ages.

Book a demo →

FAQ

What does “open invoices” mean?

An open invoice is one that is recorded as owed but not yet paid. It includes invoices that aren’t due, invoices past their due dates, and invoices awaiting approval. The term describes status, not blame.

What is the invoice-to-cash process?

Invoice-to-cash is the full invoicing process, from issuing an invoice to receiving payment: creating the invoice, submitting it for approval, and collecting payment. Unpaid invoices are the breakdowns in that cycle, and for B2B suppliers, most occur at the submission and approval stages within customer portals.

How long should I wait before following up on an unpaid invoice?

Check the portal status as soon as the invoice is past due, before you contact anyone. If it’s approved and simply unpaid, a reminder around 5 to 7 days past due is reasonable. If it’s rejected, act immediately. A rejection requires a quick fix and resubmission.

When is an unpaid invoice worth sending to collections?

Send to formal invoice collections only after you’ve confirmed the invoice isn’t stuck in the portal, the customer has been reminded and escalated to, and payment is still genuinely refused or ignored. For most B2B suppliers, that’s a small fraction of unpaid invoices. The rest are timing and portal issues that resolve far sooner.

Why is my B2B invoice unpaid when the customer agreed to pay?

The most common reason in B2B is portal limbo: the invoice was rejected or stalled in the customer’s AP portal due to a format issue, a missing PO reference, or a registration lapse, and nobody on either side noticed. Check the portal status before assuming a payment problem.

Recent Posts