Main Purpose:
Puma Energy is seeking an Odoo Technical Developer to own the development, customisation, and integration of its Odoo platform across multiple African markets. The role is heavily weighted toward Python-based Odoo module development and REST API engineering. The successful candidate will design and build custom modules from scratch, integrate Odoo with a range of external systems, and maintain production environments spanning several countries simultaneously.
KEY RESPONSIBILITIES:
Module Development
-
Design and build custom Odoo modules in Python: data models, business logic, server actions, scheduled jobs, and automated workflow rules.
-
Extend core Odoo modules (POS, Accounting, Invoicing, Stock) using inheritance patterns — classical, prototype, and delegation — without breaking upstream upgrade paths.
-
Build custom invoicing workflows: automated document generation, multi-step approval flows, credit note logic, FIFO matching, and multi-currency support.
-
Develop Odoo POS customisations supporting concurrent multi-payment-method transactions and hardware peripheral interaction patterns.
-
Implement server-side validation, constraint enforcement, and idempotency controls for high-volume transactional data flows.
-
Build custom QWeb report templates for invoices, statements, and operational documents meeting in-country formatting and compliance requirements.
Frontend & UI
-
Develop and customise Odoo views (form, list, kanban, pivot, search) using XML and the OWL JavaScript framework.
-
Build custom POS interface components in OWL/JavaScript; implement widget extensions and override core POS screens where required.
-
Develop simplified operational UI modes for non-technical end users, using icon-led navigation and minimal text interaction patterns.
Database & Performance
-
Write and optimise PostgreSQL queries for large transaction volumes; design indexing strategies and materialised views to maintain query performance at scale.
-
Design Odoo data models for multi-company, multi-currency, multi-market deployments with strict record-level access control and data separation.
-
Profile and resolve Odoo performance bottlenecks: ORM query optimisation, caching strategy, and background job tuning.
-
Implement atomic database operations for critical transactional flows where partial failure is not acceptable.
API Development & Integration
API Engineering
-
Design and expose REST API endpoints within Odoo for consumption by external platforms; define JSON contracts, versioning strategy, and backward compatibility rules.
-
Implement OAuth2 / token-based authentication for all external API surfaces; manage token lifecycle, rotation, and revocation within Odoo.
-
Build event-driven integration patterns using webhooks and Odoo's message bus to push transaction events to external consumers in near real-time.
-
Develop and maintain batch API jobs for scheduled data exchange: extraction, transformation, and delivery to downstream systems with retry logic and exception reporting.
-
Implement rate limiting, request queuing, and circuit breaker patterns to protect Odoo from upstream system instability.
External System Integration
-
Build and maintain integrations between Odoo and external operational platforms via REST APIs, including inbound transaction processing and outbound data delivery.
-
Develop a structured data bridge between Odoo and a legacy ERP system: automated extraction, field mapping, reconciliation validation, and discrepancy alerting.
-
Integrate Odoo with cloud-based event streaming infrastructure to publish transaction records into a downstream data pipeline in real time.
-
Build inbound webhook receivers within Odoo to handle event payloads from third-party payment and operational systems, with payload validation and idempotent processing.
-
Develop and maintain API client libraries within Odoo for communicating with external banking and payment infrastructure.
Quality, Testing & DevOps
-
Write unit tests, integration tests, and regression suites for all custom modules; maintain coverage across critical transaction paths and known edge cases.
-
Instrument Odoo backend services with structured logging and OpenTelemetry-compatible tracing; integrate with the company APM platform for latency and error monitoring.
-
Manage Odoo deployments across dev, staging, and production; document environment configuration and maintain parity across markets.
-
Own Git-based version control: feature branching, code review, semantic module versioning, and structured release management.
-
Produce and maintain technical documentation: module specs, API contracts, data flow diagrams, integration runbooks, and database schema references.
Essential
-
3+ years Odoo development experience on v14 or later (v16/v17 preferred); Odoo Technical Certification strongly preferred.
-
Expert Python: Odoo ORM, model inheritance, computed fields, wizards, constraints, crons, and server actions.
-
REST API design and implementation: endpoint design, authentication, versioning, error handling, and documentation.
-
PostgreSQL: schema design, query optimisation, index management, and direct SQL within Odoo context.
-
XML for Odoo views and QWeb templates; JavaScript and OWL for frontend and POS customisation.
-
Odoo accounting and invoicing modules: journal entries, invoice lifecycle, credit notes, reconciliation, multi-currency, and tax configuration.
-
Git: branching strategy, pull request workflow, and release management.
Preferred
-
Experience integrating Odoo with cloud event streaming or message broker platforms.
-
Familiarity with event-driven and webhook-based integration architecture patterns.
-
Open Telemetry instrumentation and APM integration for backend performance monitoring.
-
Docker and containerised Odoo deployment; CI/CD pipeline configuration.
-
Exposure to PCI-DSS considerations in payment integration contexts.
-
African market ERP compliance: fiscal e-invoicing, VAT treatment, multi-currency operations.
-
Bachelor's degree in Computer Science, Software Engineering, or a related technical field.
-
Odoo Technical Certification (v14+) required or to be completed within probation period.