a daily journal of odoo
Honest writing about Odoo, every day.
No sales pitch. No "book a demo." Just one deep, useful post a day — across three tracks for three kinds of reader. Business owners thinking about Odoo. Users already inside it. Developers extending it.
Latest posts
The ten most recent, across all tracks.
-
Odoo 19 replaced Create Bill with Upload — and that's the right call
Odoo 19 dropped the Create Bill button on confirmed POs in favour of an Upload action. Here's why that's correct, and how to bring the old click back if you must.
-
Is there an LLM trained on Odoo's source? Probably not the one you want
No public model is fine-tuned on Odoo 19 source. Here's why, and the RAG setup that actually fixes Cursor's stale answers.
-
Odoo 20 merged Field Service into Planning — and it's the right call
Field Service is no longer a separate app in Odoo 20. It's a checkbox inside Planning. Here's where to find it and what changes after upgrade.
-
Put your Odoo behind a tailnet so the public internet never sees it
If only staff use your Odoo, the public internet doesn't need to. Bind to the Tailscale interface, close 443, and stop fighting /web/login brute force.
-
Direct printing is coming to Odoo 20: what it changes for your day
Odoo 20 looks set to add native direct printing through a local proxy, killing the download-then-print loop for invoices and delivery slips.
-
Why your computed field isn't recomputing
A computed field that refuses to update is almost always a missing @api.depends. But about 10% of the time, it's something weirder.
-
The Odoo search bar is smarter than you think
Four keystrokes that will change how you find things in Odoo. Works in every list view, in every module, in every version since 15.
-
Every Odoo quote you receive will be wrong
Not dishonest — wrong. Implementation quotes are estimates built on assumptions that rarely survive month two. Here's how to read them.
The pledge
01
No popups. No modals. No "join now" interruptions.
02
This site contains ads. Google-served display ads pay for hosting. No sponsored posts, no affiliate schemes dressed up as advice.
03
No SEO filler. If a post isn't worth reading, it doesn't get published.
04
No lock-in. Every post is CC BY 4.0. Take it, translate it, share it.
A weekly digest, if you prefer.
Sunday mornings. The best of the week across all three tracks, in one email. No tracking pixels. Unsubscribe with one click.
Read more and subscribe →