Billing8 min read

Invoice Emails: Where Do They Land?

Your invoicing tool sends PDFs from a generic domain with dubious authentication. The customer's mail system files it next to offshore VAT scams. The invoice is now 30 days overdue and "they never received it".

Invoices sit in an uncomfortable deliverability spot: they look identical to the scam invoices that flood every business inbox, they carry a PDF attachment which pushes the message toward heavier spam scrutiny, and they are usually sent by a third-party billing tool (Xero, QuickBooks, Harvest, FreshBooks, Stripe Invoicing) on your behalf without any authentication on your domain.

The result: your invoice lands in the customer's junk folder, they do not see it, payment is late. Your accounts receivable team chases. The customer says "we never got it". Everybody blames email, nobody fixes it.

Why invoices get filtered

  • PDF attachment with generic name. invoice-123.pdf is the most scammed filename in existence. Corporate spam filters apply elevated scrutiny to any PDF attached to mail from an unknown sender.
  • Monetary-amount subject line. "Invoice for $1,250 from Acme" reads like phishing to any filter trained on wire-fraud campaigns. Trailing amount and invoice number combined is an explicit signal.
  • Billing tool sends as you, without your DKIM. Xero sends from messaging.xero.com with their DKIM, but shows your email as From. That mismatch fails DMARC alignment and strict corporate filters reject on that basis.
  • Unknown recipient, new relationship. First invoice to a new customer has zero per-recipient engagement history. The first invoice is the highest-risk delivery in the entire customer relationship.
The cash flow math

Every day an invoice sits in spam is a day added to your DSO (days sales outstanding). At 15% spam placement on $500k monthly invoicing, you are looking at roughly $75k/month of cash perpetually 5-10 days late. That is free working capital you are gifting your customers' banks.

Measuring invoice placement

The challenge: you cannot easily test invoice placement without sending real invoices. Two workable patterns:

  1. Seed customer accounts. Create a dummy customer with seed email addresses at Gmail, Outlook, Yahoo. Issue real test invoices through your billing system.
  2. BCC seed on production invoices. In your billing workflow, BCC a seed address on every outgoing invoice. Placement monitoring picks up where each real invoice landed. Warning: BCCs may not fully replicate folder placement for the actual recipient, but they give directional signal.
# Example: instrument Stripe Invoicing with a seed BCC
# (via webhook intercept before mail goes out)

POST /webhooks/stripe/invoice.sent
{
  "invoice_id": "in_1234",
  "customer_email": "customer@acme.com",
  "amount": 125000
}

# Your handler:
if should_seed_check(invoice_id):
  email.send_bcc(
    to=ORIGINAL_RECIPIENT,
    bcc=["seed-gmail-corp@check.live-direct-marketing.online"],
    template=INVOICE_TEMPLATE_ID
  )

Authentication fixes

Invoice mail is where DMARC alignment failures bite hardest. Corporate filters at financial firms and law firms (where you want to get paid) enforce DMARC strictly. Checklist:

  1. Publish SPF, DKIM, DMARC on your invoicing domain. If your billing tool sends from billing.yourcompany.com, make sure all three are configured specifically for that subdomain.
  2. Authenticate the billing tool explicitly. Xero, QuickBooks, Stripe all have instructions for adding their sending servers to your SPF and publishing their DKIM selector as a CNAME on your DNS.
  3. DMARC adkim=r (relaxed) to start. Billing tools often sign with their own d= while using your Friendly-From. Strict alignment will fail. Use relaxed, then monitor reports.
  4. Check DMARC reports for rejects. rua=mailto:dmarc@yourcompany.com and parse the weekly aggregates. Any failure you see on invoice mail is a customer who likely never got their bill.

Example SPF for company using Stripe Invoicing

billing.yourcompany.com. IN TXT "v=spf1 include:stripe.com include:_spf.google.com ~all"
stripe._domainkey.billing.yourcompany.com. IN CNAME stripe.dkim.stripe.com.
_dmarc.billing.yourcompany.com. IN TXT "v=DMARC1; p=quarantine; adkim=r; aspf=r; rua=mailto:dmarc@yourcompany.com; pct=100"

Template hygiene for invoice mail

  • Subject line without currency symbols. "Your November invoice from Acme" beats "Invoice #1234 — $1,250.00 due".
  • HTML body with invoice text duplicated. Do not rely solely on the PDF. Include line items, total, due date and payment link in the email body. Filters see readable content instead of just an attachment and binary payload.
  • Named PDF filename. Acme-Invoice-2026-11-CustomerCo.pdf reads better than invoice.pdf. Makes attachments look less generic.
  • Reply-to goes to a human. billing@yourcompany.com should be monitored and able to answer "where's the invoice for last month?" type questions.
Use payment links, not just PDFs

"Click here to pay" linking to a hosted invoice page (Stripe hosted invoice, Bill.com link, etc) is much faster and more reliable than a PDF that the customer has to download and process through their AP system. It also gives you click-level engagement data which feeds back into placement.

The finance team's placement dashboard

Most finance teams have no visibility into email placement at all. The data they need, in one view:

  • Current placement % for invoice mail at top customer domains.
  • DSO broken down by placement bucket (inbox / spam).
  • Most recent DMARC failure report.
  • Customers who have "never received" an invoice in the last 90 days.

This is the signal to act on. If placement at a major customer domain drops, call it out before the customer does.

Ship placement into your billing pipeline

Automate a weekly placement check for invoice mail. Alert finance if placement drops below threshold. Ship the fix before the late payments show up.

→ Run the free Inbox Placement Test

FAQ

Should invoice mail come from our billing team or finance?

A named human (billing@, accounts@) outperforms noreply@ for invoice mail. Filters and customers both prefer knowing who to reply to when there's a question.

Are PDF attachments killing my placement?

Not by themselves. A PDF attached to a well-authenticated email from a reputable sender is fine. What kills placement is PDF + no text body + no DMARC + vague subject line all at once.

Can we skip attachments and send hosted links only?

Yes, and it often improves placement. The downside is some customers' AP processes require a PDF. Send both: a link-first email body with the PDF attached for the minority that need it.

Why do our invoices inbox for some customers but spam for others?

Per-recipient engagement history. Customers who have read and replied to your invoices before have built positive history for your sender. New customers have none. The first invoice is always highest risk.
Related reading

Check your deliverability across 20+ providers

Gmail, Outlook, Yahoo, Mail.ru, Yandex, GMX, ProtonMail and more. Real inbox screenshots, SPF/DKIM/DMARC, spam engine verdicts. Free, no signup.

Run Free Test →

Unlimited tests · 20+ seed mailboxes · Live results · No account required