Why Gmail Clips Your Invoice Email (and How to Stop It)

· 5 min read

You embed your invoice into the email body, all the line items and totals and your bank details, and send it to a client on net 30. Two weeks later they say they never saw an amount. They are not lying. Gmail clipped your message, and the part with the total sat behind a small grey link they never clicked.

This is a real and specific failure, and it is entirely avoidable once you know what triggers it.

What clipping actually is

Gmail truncates any single message whose content is larger than roughly 102KB. When it does, it shows the first chunk, then appends a line that reads [Message clipped] View entire message. Everything past the cutoff is hidden until the reader clicks that link. Most people do not click it. They skim the visible part, decide there is nothing to act on, and move to the next email.

The 102KB figure counts the full HTML source, not what the reader sees. A visually short email can blow past the limit fast. Inline styles, a wide logo encoded directly in the message, repeated formatting on a table of line items, tracking pixels, and a long signature all add weight. A styled invoice with fifteen line items and a header image can hit the limit while looking like a single screen.

Clipping does not bounce your email or send it to spam. That is a separate problem, and if your invoices are landing in the junk folder you want to fix the deliverability issue first. Clipping is worse in one way: the email arrives, the client opens it, and still misses the number that matters.

Why invoice emails hit the limit so often

Invoices are structurally heavy. A plain note to a friend is a few hundred bytes. An invoice rendered as an HTML table carries markup around every cell: the description, quantity, unit price, and line total, each wrapped in tags and often inline styling. Multiply that by a dozen rows and add a branded header, and you are already close.

Two habits push you over:

  • Embedding the logo as base64. A modest logo encoded into the HTML can add 30KB or more on its own.
  • Pasting the invoice PDF preview inline. Some tools drop a full-resolution image of the invoice into the body. That is the single fastest way to trip the limit.

Threading makes it worse. When you reply to your own email to nudge the client, Gmail includes the quoted history. Each reply stacks the previous message's HTML on top. By the third follow-up, the total in your original message can end up buried below the clip line even if it was visible the first time.

The costs you actually pay

The immediate cost is a delay. The client saw an email, registered nothing actionable, and your invoice sits unread while the clock runs. A 30-day invoice quietly becomes a 45-day one because nobody at the client end ever saw a due date.

The second cost is trust. When the total and your bank details are hidden, the client cannot forward a complete invoice to their accounts payable team. AP gets a stub, asks for a proper document, and the whole thing restarts. If you have ever wondered why AP keeps kicking your invoices back, a clipped forward is one quiet reason.

The third cost is time. You end up resending, explaining, and screenshotting the parts they missed. That is the same slow loop that comes from bouncing static files back and forth over email, just with a different root cause.

The fix: keep the email body short, put the invoice behind a link

The reliable answer is to stop shipping the invoice inside the email at all. Send a short plain message, a line or two of context, and one clear link to the invoice itself. A body that small never approaches 102KB, so Gmail never clips it. The client clicks through to the full document, sees the total, the terms, and your payment details, and can act.

This is exactly how JupiterInvoice works. You build a branded invoice with line items, terms, and bank details, then generate a private link and send that. The email stays tiny. The invoice lives on a page the recipient opens without creating an account. There is no heavy HTML table and no embedded image to push you over the limit. If you want the full explanation of the mechanism, we cover why Gmail clips invoice emails in more depth in the answers section.

Sending a link instead of an attachment or an inline table has a second payoff. You can see whether the client opened the invoice, so your follow-up is based on whether they actually viewed it rather than a guess. And because the recipient works with the invoice directly, they can add a PO number, set their AP contact, or forward it to accounts payable without you re-sending anything.

If you still want to send HTML in the body

Sometimes a client or a tool forces an in-body invoice. Keep it under the limit with a few rules. Strip inline styles down to the minimum. Link your logo from a hosted URL instead of embedding it. Never paste a full-size image of the invoice into the message. Trim your signature. When you follow up, start a fresh email rather than replying into a growing thread, so quoted history does not stack up and push your details below the clip line.

Better still, treat the email as a delivery note, not the invoice. The email exists to get someone to open the real thing. The case for a link over an attachment holds here too: a short body is one you fully control, and it renders the same in Gmail, Outlook, and on a phone.

The next time you bill someone, keep the message to a couple of sentences and a single link. Create the invoice, share the link, and let the client open a complete document that no mail client will ever cut in half.

Send an invoice your customer can actually respond to

JupiterInvoice lets recipients add PO numbers, update billing details, request changes, and approve for payment, all from a private link. No account needed on their side.

Create an invoice