ERP

Odoo Engineering

Professional experience from v13 to v19, with the deepest focus on v16–v19 Enterprise. Custom module development, complex integrations, multi-version migrations, and production system maintenance.

Odoo Enterprise v8 → v19 Python · PostgreSQL · QWeb 5+ yrs experience ↗

Version Coverage

First contact on v8 during a university internship. Professional from v13 onward. Migration history includes a v10 → v16 jump in a single project.

Internship
v8 v10
Professional
v13 v14 v15
Primary focus
v16 v17 v18 v19
Enterprise

Completed multi-version migration projects, including a production instance moved from v10 to v16 in a single engagement.

Business Domains

Functional areas with strong technical and process familiarity.

Core coverage
Sales Inventory Accounting Purchase Helpdesk POS HR & Planning
Peripheral
eCommerce

Technical Work

What gets built, debugged, integrated and shipped.

Core Development

  • Full module development lifecycle
  • ORM & computed fields
  • Server actions & automated actions
  • Cron jobs
  • Direct SQL queries
  • Constraints & onchange logic

Reporting

  • QWeb templates (PDF & web)
  • account.report framework
  • XLSX custom reports
  • Custom invoice & document layouts

Integrations

  • REST API controllers (inbound)
  • Outbound API integrations
  • Pentaho · Trusted Shops · OXID
  • Roomz · Quotapath
  • Bidirectional data sync patterns

Performance & Debugging

  • PostgreSQL query optimization
  • ORM profiling & N+1 detection
  • Production issue debugging
  • Index tuning & query planning

Infrastructure

  • Odoo.sh workflows
  • GitHub Actions CI/CD
  • Docker-based environments
  • Linux server management

Frontend

  • Owl component framework
  • POS frontend customizations
  • Website & eCommerce overrides
  • Modern JS tooling

How I Build

A few principles that shape the work.

Upgrade-friendly over clever. If a customization requires heroics at upgrade time, it was built wrong.

Module boundaries that reflect the business domain, not the development timeline.

Integrations designed to fail gracefully — with clear errors, not silent data corruption.

PostgreSQL treated as a first-class concern, not an afterthought when the module is already slow.

Code readable by the next developer without a guided tour.