Skip to content

Odoo Technical Training Syllabus for Bangladesh (Odoo 17 to 19)

Session-by-session Odoo technical training syllabus for Bangladesh: module development, ORM, OWL, deployment and performance, with prerequisites and assessment.

Updated Applies to Odoo 17 to 19By Odoo Bangladesh Community

This page sets out the full session plan for the community's Odoo technical training track, in five blocks in order: module development, the ORM, OWL front end, deployment, and performance. It targets Odoo 17 to 19 and uses Bangladesh business problems as exercises: Mushak 6.3 invoice reports, VDS and TDS computation, Bangla report templates, bKash payment integration, and self-hosting on a Dhaka or Singapore server. Use it to decide whether the track fits you, to prepare before a batch, or to self-study with the exercises.

Who this track is for

The technical track trains people who will build and maintain Odoo modules, integrate external systems and run Odoo servers. Typical participants are CSE graduates, working Python or web developers moving into ERP, and functional consultants who want to read and write code. If you have never programmed, start with a general Python course first, then return. If you want to configure Odoo without coding, the functional syllabus is the better fit.

Prerequisites

  • Python at an intermediate level: functions, classes, decorators, list comprehensions, exceptions
  • Basic SQL: SELECT, JOIN, GROUP BY; PostgreSQL specifics are taught
  • HTML, CSS and JavaScript basics for the OWL block; ES6 syntax is reviewed in class
  • Git basics: clone, branch, commit, push
  • Linux command line: navigating, editing files, running services
  • A laptop with 8 GB RAM, 20 GB free disk, and Docker or a local PostgreSQL install

Functional familiarity with Odoo helps but is not required; session 1 covers the parts you need.

Format

Batches are typically offered as evening sessions of two hours, two or three times a week over 12 to 14 weeks, or weekend sessions of four hours over about 14 weeks. Both run online, and weekend batches are often also offered in person in Dhaka. Every session has a coding exercise committed to your own Git repository, and the trainer reviews pull requests between sessions. A shared cloud server is provided for the deployment block. Prices are set per batch by the organiser and published on the training page; this syllabus does not fix them.

Session table

SessionTopicLearning outcomesExercise
1Environment and Odoo architectureInstall Odoo 17 to 19 from source or Docker, understand the server, addons path, database and config file, Python refresherRun Odoo locally with PostgreSQL, create a database for "Padma Traders Ltd", enable developer mode
2Module development: anatomy of a moduleCreate a module with manifest, models, views, menus, security and data filesScaffold "bd_vehicle_fleet" for a Dhaka logistics firm with a vehicle model and list and form views
3Module development: views and actionsBuild list, form, kanban, search and pivot views; window actions and menus; widgets and attributesAdd a kanban for vehicle status, a search filter by route, and a pivot of trips by month
4Module development: security and accessDefine groups, access rights CSV, record rules, field-level security, multi-company rulesRestrict drivers to their own trips and give the fleet manager full access; test as each user
5Module development: QWeb reports and Bangla outputWrite QWeb PDF reports, embed fonts, format BDT and Bangla text, build a Mushak 6.3 tax invoice layoutProduce a Mushak 6.3 compliant invoice PDF with a Bangla font and VAT breakdown
6Module development: inheritance and extensionExtend existing models and views with _inherit, xpath, and delegation; override methods cleanlyAdd a BIN field and VDS applicability flag to partners and show it on vendor bills
7ORM: fields and recordsetsMaster field types, relational fields, recordset operations, mapped, filtered, sortedModel a garments style-colour-size matrix and generate variants programmatically
8ORM: computed fields, onchange and constraintsWrite stored and non-stored computed fields, depends, onchange, SQL and Python constraintsCompute TDS and VDS amounts on vendor bills from a rate table and block saving above a threshold
9ORM: CRUD overrides, defaults and sequencesOverride create, write, unlink safely; defaults; sequences; context and environmentGenerate a fiscal-year-based invoice sequence that resets on 1 July
10ORM: search, domains, SQL and performance basicsBuild domains, use search_read and read_group, drop to SQL when justified, understand the ORM cacheWrite a report of stock ageing per warehouse using read_group and compare with raw SQL
11ORM: workflows, mail thread and automated actionsUse state fields, mail.thread, activities, scheduled actions and server actionsBuild an LC tracking model with stages, chatter and a daily cron that flags LCs expiring in 7 days
12ORM: external APIs and integrationCall Odoo through XML-RPC and JSON-RPC, consume REST APIs from Python, handle authentication and retriesIntegrate a sandbox bKash merchant API to register payments against invoices
13OWL: framework fundamentalsUnderstand OWL components, templates, props, state, hooks and the Odoo asset bundleBuild a standalone OWL counter component and mount it in a client action
14OWL: field widgets and view extensionCreate custom field widgets, extend list and form renderers, use registriesWrite a BDT currency widget that displays lakh and crore formatting
15OWL: services, RPC and client actionsUse ORM and RPC services, notifications, dialogs, and build a client action with its own dataBuild a delivery dashboard client action showing today's challans by Dhaka zone
16OWL: POS and website front endExtend the POS front end and website snippets with OWL, handle offline behaviourAdd a bKash transaction ID prompt to the POS payment screen that survives a connection drop
17Deployment: server setupProvision a Linux server, install PostgreSQL and Odoo, configure systemd, nginx and SSLDeploy Odoo on the shared Singapore or Dhaka cloud server with HTTPS and a worker configuration
18Deployment: Docker, Git and stagingRun Odoo with Docker Compose, structure a custom addons repository, maintain staging and production branchesContainerise the fleet module with a staging and production compose file and a deploy script
19Deployment: backups, upgrades and securityAutomate database and filestore backups, restore tests, apply the October major upgrade, harden the serverSchedule nightly backups to local and off-site storage, restore to staging, run a test upgrade from 17 to 18
20Deployment: Odoo.sh, data residency and monitoringCompare Odoo.sh with self-hosting for Bangladesh clients, set up logging, uptime checks and alertsWrite a one-page hosting recommendation for a hypothetical Chattogram bank-regulated client
21Performance: profiling and the ORMProfile slow requests, find N+1 queries, use prefetch and batch operations, read PostgreSQL EXPLAINFix a deliberately slow stock report that takes 40 seconds down to under 2 seconds
22Performance: database and server tuningTune PostgreSQL, add indexes, configure workers and memory limits, handle large importsImport 500,000 POS lines efficiently and tune workers for a 60 user factory
23Performance: front end and reportsOptimise OWL rendering, QWeb report generation and asset bundles; cache strategiesCut a 300-page payslip batch report from minutes to seconds
24Capstone build sessionDesign and implement a complete module with trainer reviewBuild a "Bangladesh VAT return" module that collects Mushak 9.1 figures from invoices and exports them
25Capstone review and assessmentPresent the module, walk through the code, discuss trade-offs20-minute presentation and code review per participant

The block order matches the five topic pages: module development, ORM, OWL, deployment and performance. Each topic page has extra exercises and reading.

Assessment

  • Three graded assignments reviewed as pull requests: the fleet module after session 6, the LC tracking model after session 11, and the OWL dashboard after session 15
  • One deployment exercise marked on a live server after session 19: HTTPS, workers, backups and a successful restore
  • The capstone module in sessions 24 and 25, marked on code quality, correctness of VAT logic, tests, and clarity of presentation
  • Attendance of 80 percent is required for the community certificate of completion

The certificate is a community document, not an Odoo S.A. certification.

How to use this syllabus for self-study

Follow the sessions in order on a local Odoo 17 to 19 install. Keep one Git repository for all exercises and commit after each session. Budget three to four hours per session including the exercise, about 90 hours in total. The developer resources page lists the documentation, community repositories and tools referenced in class. When stuck, post in the forum with your Odoo version, the traceback and what you tried.

Frequently asked questions

How much Python do I need before starting?

You should be able to write functions and classes, use lists and dictionaries, and read a traceback. One semester of Python or an online course is enough. The first session includes a Python refresher but does not teach it from zero.

Which Odoo version is used in the technical sessions?

Odoo 17 to 19. The ORM and module structure are stable across these versions; OWL and some view syntax changed, and the trainer flags differences. Odoo releases a new major version every October, so check the batch notice.

Do I need a powerful laptop?

A laptop with 8 GB RAM and 20 GB free disk can run Odoo with PostgreSQL locally or in Docker. Linux or macOS is simplest; Windows works with WSL2. A shared cloud server is provided for the deployment sessions.

Is this training in person or online?

Evening batches are typically online. Weekend batches are often held in person in Dhaka with an online option. All code and exercises are shared in a Git repository so either format covers the same material.

How is the technical track assessed?

Code review on three graded assignments, one deployment exercise marked on a live server, and a capstone module presented and reviewed. Attendance of 80 percent is required for the community certificate.

Next step

To ask about the next batch, a self-study plan, or whether you are ready for the technical track, get in touch. Mention your Python experience and which Odoo version you have installed. The career guide explains the developer path and typical roles.

Need Odoo guidance?
Request a free ERP assessment or training advice.
Request