Your invoice says "Viewed." It's probably lying.
The "Viewed" badge on most invoices rides on an email tracking pixel that both over- and under-counts. Here's why it lies, and what a real invoice read receipt actually looks like.
You send an invoice and then you go blind. The work is done, the number is agreed, the email is gone, and now there's nothing to do but wait and wonder. Did the client actually see it? Or is it sitting unread under forty other emails, and you're about to spend two weeks assuming you'll be paid by a person who doesn't yet know they owe you?

Most invoicing tools answer that question with a small badge: Viewed. It feels like certainty. You hit send, the badge flips, and you exhale. They saw it, the ball's in their court, you can stop worrying. So you wait.
Here's the uncomfortable part. That badge is, more often than not, lying to you. And once you know how it's built, you can't un-know it.
The badge that quietly runs your follow-ups
Think about how much weight that one word carries. "Viewed" is the thing you base your next move on. If it's flipped, you wait, because they've seen it and nagging would look pushy. If it's still blank after a week, you start to worry, and maybe you send the "just checking this reached you" email.
That single signal decides whether you nag or wait. And getting it wrong is expensive in both directions. Nag a client who genuinely hasn't seen it yet and you look disorganized. Wait on a client whose "Viewed" badge is a false positive, where they never actually looked, and you've donated two weeks of your cash flow to a misread. The badge isn't a vanity metric. It's the input to a decision you make on every unpaid invoice.
So it's worth asking the question nobody in this category wants to answer out loud: is that badge actually telling the truth?
Two different things are both called "opened"
The confusion starts with a word doing two jobs. When a tool tells you a client "opened" or "viewed" your invoice, it can mean one of two completely different things, and they are not equally trustworthy.
The first is an email open. Your invoice email has a tiny, invisible image embedded in it, a 1×1 pixel. When the recipient's mail app loads the images in that email, it quietly requests that pixel from a server, and the server logs it. That request is what most tools count as an "open." It's a measurement of the email, specifically of whether a mail client loaded an image.
The second is an invoice-page view. Your invoice also lives at a link, a hosted page the client clicks through to in order to read the document, see the total, and pay. When the client actually loads that page, the server records it. That's a measurement of the invoice: a real human, on a real browser, looking at the actual document.
These sound similar. They are worlds apart in how much you can trust them. And the quiet truth of this whole category is that a great deal of "Viewed" reporting rides on the first one, the email pixel, while being presented to you as if it meant the second.
Why the pixel lies in both directions
The email open-pixel doesn't just have a margin of error. It's wrong in two opposite directions at the same time, which is the worst possible failure mode for a number you make decisions on.
It over-counts. Apple's Mail Privacy Protection, on by default for a huge share of inboxes, fetches the images in your email on delivery, through a proxy, before the recipient has looked at anything. Gmail and other providers pre-fetch and cache images too. So the pixel fires the moment the email lands, and your tool records an "open" that no human ever made. On some lists, pixel-measured open rates have drifted toward 100%, not because everyone's reading, but because the machines are loading images for them. A "Viewed" badge that lights up before your client has even glanced at the email is not a signal. It's noise wearing a signal's clothes.
It also under-counts. Plenty of people, and plenty of corporate mail systems, block remote images by default. A client can open your email, read it carefully, study the PDF, and decide to pay you next Tuesday, and the pixel never fires once. To your dashboard, that careful, paying reader looks identical to someone who never opened it at all.
And it can't tell who opened it. The pixel fires when an image loads; it doesn't carry a reliable name. If you forwarded yourself a copy, or re-checked your own sent mail, that can register too. So the badge sometimes can't even distinguish your client from you.
The email open-pixel both manufactures opens that didn't happen and misses opens that did. A number that's wrong in both directions at once isn't a margin of error. It's a coin flip with good production values.
None of this is a secret, exactly. The email-marketing world reckoned with it years ago; serious senders stopped trusting open rates after Apple's change landed. What's strange is that the invoicing world never applied the lesson. We kept the pixel, kept calling its output "Viewed," and kept letting freelancers plan their follow-ups around it.
What a real read receipt looks like
So if the pixel can't be trusted, what can?
The honest answer is the page-view: a server-side record that the client actually loaded the hosted invoice page, the document itself, not an image buried in an email. This is a different kind of signal, not just a more accurate version of the same one. A page load is something a person's browser does deliberately on the way to reading and paying. It isn't preloaded by a privacy proxy. It isn't suppressed by an image blocker. It's the closest thing to a real read receipt that invoicing has, because it measures the thing you actually care about, someone looking at your invoice, instead of a proxy for it.
And once you're recording real page-views, a second signal appears that the binary badge throws away entirely: how many times. Opening once is almost noise, a quick glance, then back to the day. Opening the same invoice four times across two days is a different story. That's a client who's looking, re-looking, maybe forwarding it internally for approval. The frequency is the intent.
This is the design we landed on in Drupd, and I'll be specific about it because the specifics are the point. Drupd records every time a client opens the public invoice link, not just the first time. It dedupes those views inside a 30-minute window, so a refresh or a reopened tab doesn't inflate the count into a lie of its own. And it surfaces the result right in the follow-ups list as a small, honest line: Eye · 2h ago · 4×, last seen two hours ago, opened four times. (Recording new read receipts is a Pro feature; the philosophy, hopefully, is free.)
The email pixel still exists in Drupd, but we deliberately put it second. In the follow-ups list, the page-view is the primary signal; the "Opened email" chip only shows up as a secondary line beneath it, and it's promoted to the lead spot only when there's no page-view at all to show. We demoted our own tracking feature on purpose, because a signal that fires when Apple preloads an image isn't one you should be staking two weeks of cash flow on.
How to read the signal without overthinking it
A trustworthy signal is only useful if it changes what you do. Here's the whole decision, and it's simpler than the anxiety that usually fills the gap.
Never opened. If there's no page-view at all, the problem isn't that the client is ignoring you. It's that your invoice never landed. It went to spam, to an old address, to a person who's on holiday. The right move is calm and logistical: "Just making sure this reached you, here's the link again." You're not chasing money yet. You're confirming delivery.
Opened once, then quiet. They saw it; it's in the queue behind everything else in their week. This is the gentle-nudge case. A short, friendly reminder near the due date does the job. No escalation, no edge.
Opened repeatedly, still unpaid. This is the one the binary badge can never show you, and it changes everything. Someone who's loaded your invoice four times is not ignoring you. They're engaged. Usually that means the holdup is internal: it's waiting on an approval, sitting in an accounts-payable queue, or stuck behind a PO number. The worst thing you can do here is send a firmer "you haven't paid" note, because the person reading it isn't the obstacle. Address the actual bottleneck instead: "Happy to send anything your finance team needs to get this through, whether that's a PO reference, a different format, or a W-9." You're helping them pay you, not pressuring them. The repeat-view count is what tells you which conversation you're in.
That's the entire value of an honest read receipt. It doesn't just tell you whether to follow up. It tells you which follow-up, which is the part that actually protects the relationship.
The "I never got it" conversation, settled calmly
There's one more place a real view log quietly earns its keep, and it's the most uncomfortable moment in freelancing: the stall.
"I never received your invoice" is one of the oldest lines in the book. Sometimes it's true. Sometimes it's a polite fiction that buys another two weeks. Either way, the usual freelancer response is weak. You resend it, you mention you "got a delivery confirmation," you sound a little defensive, and the dynamic tilts slightly against you.
A timestamped page-view log changes the footing without changing your tone. You don't have to accuse anyone. You just say, warmly, "No problem at all, here's the link again," and resend it. You don't need to brandish the log. You simply know, quietly, that it was loaded twice last Tuesday, which means you can be relaxed and gracious instead of anxious and suspicious. Evidence you never have to deploy is the most comfortable kind to hold. It lets you give the client the benefit of the doubt out loud while keeping your own footing underneath.
Why we put the page-view first, and demoted our own pixel
I want to be fair about the landscape here, because the easy version of this post would overstate the case.
Plenty of tools track invoice views, and some do it genuinely. Invoice Ninja, for instance, a capable, open-source platform a lot of people rely on, has a real "Viewed" status backed by an actual client-portal page-view, not merely a pixel. The read-receipt concept isn't ours, and I won't pretend it is. The difference we care about is narrower and, I'd argue, more useful: the binary badge tells you that an invoice was opened, and stops. It doesn't roll up a deduped repeat-visit count, it doesn't lead with the page-view over the unreliable email signal, and it doesn't make a point of distinguishing the two for you. That's the gap Drupd's Eye · 2h ago · 4× is built to fill, turning "opened: yes/no" into "opened four times in two days, here's what that means for your next email."
And here's the part that matters most to me. We took our own email open-tracking, a feature we could have foregrounded, the way a marketing team optimizing for impressive-looking "open rates" would have, and we pushed it down the page. We tell you, in the product, that the pixel is the weaker signal. That's against our own interest in the shallow sense, and exactly aligned with it in the way that counts: a tool you can trust is one that tells you when its own data is soft.
Confidence in getting paid doesn't come from a dashboard full of green badges. It comes from a small number of signals you can actually believe. We'd rather show you one honest line than three flattering ones.
So the next time an invoice says "Viewed," ask the only question that matters: viewed by whom, how many times, and measured by what? If the answer is "an image loaded somewhere," that's not a read receipt. It's a guess with good lighting. You deserve to know the difference, because two weeks of your cash flow is riding on it.