From 7eb0b95b55bf6f143a0106c0a3fb2d2f7a932e83 Mon Sep 17 00:00:00 2001 From: The OC Guy Date: Wed, 4 Nov 2026 11:05:20 +0000 Subject: [PATCH] Publish: posts --- ...s-how-to-know-if-your-client-opened-it.png | Bin 0 -> 16086 bytes ...-how-to-know-if-your-client-opened-it.html | 56 ++++++++++++++++++ data/posts.json | 14 ++++- 3 files changed, 69 insertions(+), 1 deletion(-) create mode 100644 assets/blog/did-odoo-really-send-that-invoice-here-s-how-to-know-if-your-client-opened-it.png create mode 100644 blog/did-odoo-really-send-that-invoice-here-s-how-to-know-if-your-client-opened-it.html diff --git a/assets/blog/did-odoo-really-send-that-invoice-here-s-how-to-know-if-your-client-opened-it.png b/assets/blog/did-odoo-really-send-that-invoice-here-s-how-to-know-if-your-client-opened-it.png new file mode 100644 index 0000000000000000000000000000000000000000..ef0257e248d0e90766bdd7775b19023f1b6fc95f GIT binary patch literal 16086 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 S;-^p@NJ>mzv|3m{;Qs-WC`_dQ literal 0 HcmV?d00001 diff --git a/blog/did-odoo-really-send-that-invoice-here-s-how-to-know-if-your-client-opened-it.html b/blog/did-odoo-really-send-that-invoice-here-s-how-to-know-if-your-client-opened-it.html new file mode 100644 index 0000000..5b2cb45 --- /dev/null +++ b/blog/did-odoo-really-send-that-invoice-here-s-how-to-know-if-your-client-opened-it.html @@ -0,0 +1,56 @@ + + + + + +Did Odoo Really Send That Invoice? Here's How to Know If Your Client Opened It — The OC Guy + + + + + + + + + + + + +
+ The OC Guy + +
+ + +
+ +

Did Odoo Really Send That Invoice? Here's How to Know If Your Client Opened It

+ +

You hit Send, Odoo shows the email as sent, and then... nothing. Did the invoice actually leave your server? Did it land in the client's inbox, or in a spam folder? Did anyone open it? For anyone chasing payments, that silence is the hardest part of the process.

The good news: you don't have to guess. The OCA community maintains a small module called mail_tracking that adds real email tracking to Odoo's outgoing mail.

The problem with "sent"

Odoo tells you a message was generated and handed off to your mail server. That's a long way from "the client read it." Between those two points sit spam filters, bounces, wrong addresses, and inboxes nobody checks. Without tracking, all of those look exactly the same to you: silence.

What mail_tracking does

The module hooks into Odoo's outgoing mail flow and records tracking events against the messages Odoo sends. Instead of a binary sent/not sent, you get visibility into what happened after the message left — so an invoice that was never delivered stops looking identical to one that was delivered but ignored.

  • See whether a message was actually delivered or bounced
  • See whether the recipient opened it
  • Check the status directly against the message, without leaving Odoo
  • Use the tracking trail to decide when a follow-up call or reminder is actually warranted

The exact labels, screens, and available events depend on the version and branch you install, so read the module README for the branch you're running before you roll it out.

How to get started

  1. Open the OCA mail repository on GitHub: github.com/OCA/mail/tree/18.0/mail_tracking
  2. Check that the branch matches your Odoo version — the link above targets the 18.0 branch, so switch branches if you run something else.
  3. Read the README and installation notes carefully.
  4. Install and test it in a staging database first, using your own email address as the recipient.
  5. Send a test message and confirm the tracking data appears as expected before enabling it for real customer invoices.

Why it's worth the ten minutes

Most accounting follow-up is guesswork dressed up as process. You resend invoices that already arrived, or you wait politely on one that bounced weeks ago. Tracking turns that into a simple question with a real answer: did they get it, and did they open it?

If you send invoices or quotes from Odoo and you've ever wondered what happened after you clicked Send, take a look at the module. Start with the repository, check the branch for your version, and test it on a staging copy before you rely on it for customer communication.

+

Published 4 Nov 2026 · Odoo Community modules by The OC Guy. + Conditions under which this advice fails are stated in the text; if they are missing, the post is not finished.

+
+ + + diff --git a/data/posts.json b/data/posts.json index 23a529f..4d62341 100644 --- a/data/posts.json +++ b/data/posts.json @@ -1,7 +1,19 @@ { - "generated": "2026-10-30T06:15:02+00:00", + "generated": "2026-11-04T11:05:20+00:00", "source": "https://n8n.odoo4projects.com/webhook/oc-guy/posts", "posts": [ + { + "id": "did-odoo-really-send-that-invoice-here-s-how-to-know-if-your-client-opened-it", + "source_id": "25", + "date": "2026-11-04", + "category": "modules", + "headline": "Did Odoo Really Send That Invoice? Here's How to Know If Your Client Opened It", + "teaser": "You hit Send, Odoo shows the email as sent, and then... nothing. Did the invoice actually leave your server? Did it land in the client's inbox, or in a spam folder? Did anyone open it? For anyone…", + "image": "assets/blog/did-odoo-really-send-that-invoice-here-s-how-to-know-if-your-client-opened-it.png", + "link": "blog/did-odoo-really-send-that-invoice-here-s-how-to-know-if-your-client-opened-it.html", + "hash": "853b4580ae249e63", + "published": "2026-11-04T11:05:20+00:00" + }, { "id": "agape-a-small-farm-in-paraguay-goes-online-with-odoo-community", "source_id": "8",