Code Agency

#odoo

31 articles tagged odoo.

16 min read

Headless commerce with Odoo and React: the complete guide

Decouple the storefront from Odoo and you get a faster, safer, upgrade-proof shop. DragonflyDB caching, island architecture, GitHub version control, PR previews, VPN-isolated ERP, PWA mobile UX — everything we ship on every headless e-commerce project.

odooreactecommerceheadlessnextjsperformancesecuritypwacaching
16 min read

Expired, then deleted: the credential dates nobody is watching

A nightly export ran green for six weeks while sending nothing, because the API key it used had an expiration date on it and a housekeeping cron deleted the record the day after it lapsed. The three ways a credential dies, why only one of them is loud, and the register, the gauge and the authenticated probe that turn a surprise outage into a calendar entry.

devopssecuritymonitoringobservabilityodoo
17 min read

The hour that doesn't exist: time zones, DST and the appointment that moved itself

A technician stood outside a locked building at seven in the morning because a recurring visit had been expanded into absolute instants six weeks before the clocks went back. The three kinds of "when" that don't convert into each other, why a recurrence rule is not a list of timestamps, what Odoo hands you over the API, and how to test a bug that only reproduces twice a year.

architecturepostgresqlodoonextjsdevelopment
14 min read

The 180 MB scan that killed the pod: user uploads that never touch your app server

Raising the body-size limit is the fix that keeps working right up until it doesn't. Why buffering user files through your application is a dead end, the presigned handshake that replaces it, the checks that still have to happen after the bytes land, and why the ERP should be handed a pointer instead of a payload.

architecturenextjssecurityodoodevops
18 min read

The PDF stopped being the invoice: eight months of Belgian B2B e-invoicing

Belgium's structured e-invoicing mandate landed on 1 January. Switching it on was an afternoon; everything it exposed was the quarter that followed. What Peppol actually addresses, why the failures live in your contact records rather than your ERP, what UBL refuses to carry, and why 'sent' stopped meaning 'delivered'.

odooaccountingerpbusinessautomation
19 min read

Who's calling: matching a number to a customer before the phone stops ringing

A phone system knows a number. An ERP knows a customer. In most companies nothing knows both, and closing that gap is a harder problem than the vendor demo suggests — nine years of phone numbers nobody normalised, an event stream instead of a polling loop, and a screen pop that must never be able to stop a call.

telephonyodooarchitectureautomationerp
16 min read

The column you can't just rename: schema changes without a maintenance window

A rename is the cheapest thing a database does and one of the most dangerous things a deploy does, because two versions of your application are always live at once. Expand, backfill, contract — the release boundary that makes it safe, the locks that bite anyway, and what changes when Odoo owns the schema.

postgresqldevopsarchitectureodoodevelopment
19 min read

Two-way SMS for service businesses: confirmations that answer back

A reminder tells the customer something. A confirmation tells your calendar something — and only one of those lets you refill the slot. The virtual number that makes replies possible, the matching problem nobody warns you about, parsing what people actually type in three languages, and the Odoo automations that reschedule without a human.

smsautomationodooarchitecture
8 min read

Odoo Field Service: routing technicians without a second system

Work orders, van stock, mobile timesheets and customer signatures — Field Service keeps technicians inside the same database as invoicing. Where that earns its licence, and the two things it still needs help with: route optimization and offline reliability.

odoomobile
7 min read

Odoo's external API surface: JSON-2, REST and when to build your own

Every integration starts with the same question: how do we talk to Odoo? The honest trade-offs between the stock JSON-2 API, community REST modules and a purpose-built gateway — and the one question that picks the right door per consumer.

odooapiarchitecture
7 min read

Pixel-perfect Odoo PDFs with QWeb: quotes and invoices clients sign

The quote is the most-read document your company produces, and the default Odoo template screams default. How we build QWeb reports that match brand guidelines exactly — headers, fonts, terms — without losing the fight against wkhtmltopdf.

odooreporting
6 min read

Odoo access rights done right: groups, record rules and the audit trail

Most Odoo installs run with everyone as admin until the first incident. How we design permission groups that mirror the org chart, record rules that hold up under audit, and logging that answers who changed what — before anyone has to ask.

odoosecurityerpaudit
6 min read

Odoo multi-company: one database, many entities, zero double entry

Running two or ten legal entities from one Odoo database sounds simple until inter-company invoicing, shared warehouses and per-company charts of accounts collide. The setup decisions we make on day one so consolidation stays painless.

odooaccountingerp