Blog
Notes fromOdoo work
Modules, OWL, version upgrades and the things that only turn up on a real project.
7 posts
Archive
0211 Aug 2026Shipping a module to the Odoo Apps storePublishing is its own small project: the manifest, the screenshots, the version branches, and the review notes that come back. Notes from getting a POS module through, and the things I would prepare earlier next time.0326 Jul 2026Planning an Odoo migration you can actually roll backThe scripts matter less than the order you run them in. How I audit custom modules first, port deprecated APIs before touching data, and keep a parity check after every run so a bad migration is a restore rather than a rebuild.045 Jul 2026OWL components that survive an Odoo upgradeEvery version moves something in the frontend. The widgets that keep working are the ones that stay on public APIs, keep their state in a store rather than the DOM, and never patch a template they do not own. What that looks like in practice.0518 Jun 2026read_group is the fix for most slow Odoo dashboardsA dashboard that loops over records and adds up fields in Python will crawl once the table is large. Moving the aggregation into read_group hands the work to PostgreSQL and usually turns seconds back into milliseconds — with notes on where it does not help.0624 May 2026Reading Odoo access rights before you write anyRecord rules, groups and ir.model.access rows all have a say in what a user can see, and they do not overrule each other in the order most people assume. A walk through how the three combine, and the quickest way to prove which one is hiding a record.0719 May 2026tieldlfsdjfl

Browse by topic
Every post, grouped by what it is about.
Working on something similar?
Every post here came out of a real build — happy to talk through yours.