OCA modules for Odoo 18
There are 3,113 OCA community modules confirmed in Odoo 18.0: for each one, the branch, the module directory and the installable manifest have been checked on GitHub. Odoo 17 has 1,994. Open any module to see what it does, its availability in the other versions and its sources.
Confirmed modules per version
Repositories with the most modules in Odoo 18
See also
Modules for Odoo 18
- HR Maintenance SecurityOdoo 16, 18hr_maintenance_security
Removes the automatic maintenance equipment manager rights that HR users used to get, so HR staff no longer manage equipment by default. The right can still be granted manually.
- HR - Payroll DocumentOdoo 16, 17, 18hr_payroll_document
Upload a batch of payroll PDFs, split them per employee using their identification number, optionally encrypt each PDF with that number, and email each employee their own payslip.
- Hr Personal Equipment RequestOdoo 12, 13, 14, 15, 16, 17, 18hr_personal_equipment_request
Lets HR staff and employees create personal equipment requests, allocate items such as laptops or phones to employees, and track each allocation through draft, accepted, valid and expired states.
- Hr Personal Equipment StockOdoo 13, 14, 16, 18hr_personal_equipment_stock
Links employee equipment requests to warehouse operations: accepting a request creates a stock transfer, and completing that transfer automatically validates the equipment allocation for the employee.
- HR Professional CategoryOdoo 16, 17, 18hr_professional_category
Lets you create professional categories and assign one to each employee contract, so you can classify and group contracts by category.
- Employees ShiftsOdoo 14, 15, 17, 18hr_shift
Lets HR plan weekly employee shifts: create a planning for a week, assign shift templates to employees, and see each day's shift, with automatic detection of leaves and holidays.
- Employees Shifts and public holidaysOdoo 14, 15, 17, 18hr_shift_holidays_public
Prevents assigning shifts to employees on public holidays by checking the employee's address when a shift planning line is created.
- HR Timesheet Amount SecurityOdoo 18, 19hr_timesheet_amount_security
Restricts the cost and amount fields in timesheet reports so only users with the 'Allow to read analytic costs' permission can see them.
- Hr Timesheet Analytic TagOdoo 16, 17, 18hr_timesheet_analytic_tag
Lets you set analytic tags on a project task so that timesheets recorded on that task automatically inherit those tags on their analytic entries.
- Timesheet - Autofill project offOdoo 17, 18, 19hr_timesheet_autofill_project_off
Stops Odoo from automatically pre-filling the project on a new timesheet line based on previous entries, so users must pick the project themselves.
- Timesheet - Begin/End HoursOdoo 15, 16, 17, 18, 19hr_timesheet_begin_end
Adds Begin Hour and End Hour fields to timesheet lines so employees can record the exact start and end time of their work, with automatic duration calculation and overlap checks.
- HR Timesheet CalendarOdoo 16, 17, 18hr_timesheet_calendar
Adds a calendar view to timesheets so users can see, create, and duplicate time entries by dragging on a calendar. It also adds a start time field and a setting to control how new entries are aligned.
- Timesheets Date Order DescOdoo 16, 17, 18hr_timesheet_date_order_desc
New timesheet lines are added at the top of the list and timesheets are sorted by date, newest first, so recent entries are always visible.
- Timesheets - Day of WeekOdoo 17, 18, 19hr_timesheet_day_week
Adds a "Day of Week" field to timesheets so you can search, group and filter them by weekday, and highlights weekend entries in yellow.
- Timesheets - Edit on topOdoo 16, 17, 18hr_timesheet_editable_top
New timesheet lines are added at the top of the list instead of the bottom, making it faster to enter several entries in a row.
- Hr Timesheet Employee Analytic TagOdoo 14, 16, 17, 18, 19hr_timesheet_employee_analytic_tag
Lets you set default analytic tags on each employee so that timesheet entries created for that employee automatically carry those tags.
- Timesheet Description CustomerOdoo 16, 18hr_timesheet_name_customer
Adds a 'Customer Description' field to timesheets that is filled automatically from the normal description, and uses it in the customer portal and in a new 'Timesheet Customer' PDF report.
- Timesheet portal (editable)Odoo 12, 14, 15, 16, 17, 18, 19hr_timesheet_portal
Lets portal users add, edit and delete their own timesheet lines directly on the customer portal task page, without going into the backend.
- Task Logs Timesheet ReportOdoo 12, 14, 16, 17, 18hr_timesheet_report
Generate a configurable Timesheet Report from task logs, choosing which fields to show, how to group lines, and the time format, then view it in the browser or export it to PDF or XLSX.
- HR Timesheet SheetOdoo 12, 13, 14, 15, 16, 17, 18hr_timesheet_sheet
Employees can record their time on a weekly, monthly or daily timesheet sheet, submit it for review, and reviewers can approve or reject it. Sheets are created automatically with the right period, employee and reviewer policy.
- HR Timesheet Sheet AttendanceOdoo 12, 14, 15, 16, 18hr_timesheet_sheet_attendance
Employees can check in and check out directly from their timesheet sheet, and the sheet shows total attendance hours and the difference versus timesheet hours. Attendance entries are automatically linked to the matching timesheet period.
- HR Timesheet Sheet Auto-draftOdoo 12, 13, 14, 15, 16, 17, 18hr_timesheet_sheet_autodraft
Automatically creates a draft Timesheet Sheet for any timesheet entry that is not yet covered by an existing sheet, so employees' time entries always fall inside a valid sheet.
- HR Timesheet Sheet: Department Manager PolicyOdoo 12, 14, 16, 18hr_timesheet_sheet_policy_department_manager
Adds a new timesheet approval policy where the Department Manager reviews and approves employee timesheet sheets. When enabled, the department field becomes mandatory on the sheet and only that department's manager can approve it.
- HR Timesheet Sheet: Project Manager PolicyOdoo 12, 13, 14, 15, 16, 18hr_timesheet_sheet_policy_project_manager
Adds a new timesheet sheet review policy where the Project Manager approves sheets, and lets each sheet be linked to a specific project.
- HR Timesheet Sheet WarningOdoo 18hr_timesheet_sheet_warning
Lets you define custom warning rules for Timesheet Sheets using a Python expression and an optional filter, then automatically flags sheets that match those rules. Warnings appear on the sheet and can be used to filter sheets with or without warnings.
- Task Log: limit Task by ProjectOdoo 12, 13, 14, 15, 16, 17, 18, 19hr_timesheet_task_domain
When logging time on a timesheet, the Task field only shows tasks that belong to the selected project and are still open, so users cannot pick tasks from other projects or closed stages.
- Hr Timesheet Task RequiredOdoo 12, 13, 14, 15, 16, 17, 18, 19hr_timesheet_task_required
Lets you make the task field mandatory on timesheets, either by default for the whole company or per project, so users cannot log time without choosing a task.
- Task Log: Open/Close TaskOdoo 12, 13, 14, 15, 16, 17, 18, 19hr_timesheet_task_stage
Open or close the task linked to a timesheet entry directly from the timesheet line, without leaving the timesheet screen. The task is moved to the first stage marked as closed or to the first open stage of its project.
- HR Timesheet Time Control begin/endOdoo 18, 19hr_timesheet_time_control_begin_end
Lets users enter timesheet hours as a start time and an end time instead of a duration, and shows these begin/end hours in timesheet lists, task timesheets and the customer portal.
- Time Type in TimesheetOdoo 12, 14, 15, 16, 17, 18hr_timesheet_time_type
Lets you tag each timesheet line with a Time Type (for example development, meeting, support) so you can classify and report on the nature of the work logged.
- HR Timesheet Type Non BillableOdoo 16, 17, 18hr_timesheet_type_non_billable
Lets you mark timesheet types as non-billable, so hours logged with those types are excluded from project remaining hours and task effective hours.
- HR Timesheet Calendar Unusual DaysOdoo 17, 18hr_timesheet_unusual_days
Shows weekends and public holidays with a different background colour in the timesheet calendar, so employees can easily spot unusual working days when filling in their timesheets.
- Text from HTML fieldOdoo 12, 13, 14, 15, 16, 17, 18html_text
This module adds a helper that turns any HTML content into plain text, so excerpts can be generated without tags or attributes. It can limit the result by words or characters and add an ellipsis when the text is cut.
- IAP Alternative ProviderOdoo 12, 13, 14, 15, 16, 17, 18, 19iap_alternative_provider
Adds a Provider field to IAP accounts so other modules can plug in non-Odoo providers for services like SMS. It is a base/technical module: on its own it only shows the choice "Odoo IAP".
- Image TagOdoo 16, 18image_tag
Adds a simple list of image tags that can be managed in Odoo. Tags are created and edited by users in the Image Tag Manager group, while all other users can only view them.
- Image Tag - Server EnvironmentOdoo 16, 18image_tag_environment
Adds a technical name field to image tags so they can be linked to server environment settings. The technical name appears in the image tag list and search views.
- Impersonate LoginOdoo 14, 16, 17, 18, 19impersonate_login
Lets authorized users log in as another user to see Odoo exactly as that person does, with a clear way to switch back and a log of every impersonation.
- Internal Stock Quant PackageOdoo 14, 16, 18internal_stock_quant_package
Lets you mark packages as internal (trolley boxes) and automatically empty them when a transfer is validated or when products are put in pack, with per-carrier exceptions.
- Intrastat Reporting BaseOdoo 12, 13, 14, 15, 16, 17, 18, 19intrastat_base
This is the foundation module for Intrastat declarations in Odoo. It adds the settings, fields and rules that country-specific Intrastat report modules need to work.
- Intrastat ProductOdoo 12, 13, 14, 15, 16, 17, 18, 19intrastat_product
Prepare Intrastat product declarations for arrivals and dispatches by gathering the relevant invoices, grouping them by product and Intrastat code, and exporting the result to Excel or XML.
- Generic Intrastat Product DeclarationOdoo 12, 13, 14, 15, 16, 17, 18, 19intrastat_product_generic
Adds a "Generic Intrastat Product Declaration" menu entry and screen so users can create and review Intrastat product declarations for countries that have no dedicated localization module.
- Intrastat Product - HS Codes ImportOdoo 15, 16, 17, 18, 19intrastat_product_hscodes_import
Lets you load the official Intrastat HS code list (with units of measure and translated descriptions) into Odoo from a simple wizard, so you can start declaring goods without typing codes by hand.
- IoT InputOdoo 13, 14, 15, 16, 17, 18iot_input_oca
Lets IoT devices send data into Odoo through a password-protected URL, without needing an Odoo user account. Each device can have one or more inputs that trigger a chosen Odoo function automatically.
- IoT BaseOdoo 13, 14, 15, 16, 17, 18iot_oca
Adds an IoT section to Odoo where you can register connected devices, organise them by group and tag, and run actions on them through communication systems.
- IoT OutputOdoo 13, 14, 15, 16, 17, 18iot_output_oca
This module lets one IoT device have several separate outputs, each with its own communication system and action history. Users can see and run actions per output directly from the device form or kanban card.
- IoT TemplatesOdoo 12, 13, 14, 15, 16, 17, 18iot_template_oca
Create reusable IoT device templates so a new device can be set up automatically by simply calling a URL. Templates define the device's inputs, outputs, keys, tags, group and icon.
- User-defined Filters Multi CompanyOdoo 12, 18ir_filters_multi_company
This module adds a Company field to saved filters, so each filter belongs to a company. Users only see filters of their allowed companies (plus shared ones), and existing filters are assigned to their creator's company.
- Ir View Multi CompanyOdoo 18ir_ui_view_multi_company
Lets you restrict a custom view to specific companies in a multi-company database, so each company sees only the views meant for it.
- JSONifierOdoo 14, 15, 16, 17, 18jsonifier
Adds a JSON export engine to Odoo: any record can be converted to JSON using configurable export definitions, with per-field custom resolvers and language handling.
- Key Performance IndicatorsOdoo 12, 13, 17, 18, 19kpi
Create and track Key Performance Indicators (KPIs) inside Odoo, computed from Python code or SQL queries on local or external databases, with colour-coded thresholds and automatic hourly updates.
- Belgium MIS Builder templatesOdoo 12, 13, 14, 16, 17, 18, 19l10n_be_mis_reports
Adds ready-made Belgian financial report templates to Odoo's MIS Builder: the official Balance Sheet and Profit & Loss models (full, abridged and micro, for companies with or without capital and for associations) plus a Belgian VAT declaration report.
- Belgium MIS Builder - XML exportsOdoo 12, 14, 16, 18l10n_be_mis_reports_xml
Export a Belgian VAT declaration from a MIS Builder report as an official XML file ready to upload to the tax administration portal. The Export XML button appears only on the Belgian VAT declaration report.
- Belgium Partner Identification NumbersOdoo 13, 16, 18l10n_be_partner_identification
Adds two Belgian identification categories to partners: the national registration number and the Belgian ID card number. When you enter one of these numbers on a contact, Odoo automatically checks that it is valid.
- Belgium VAT ReportsOdoo 12, 14, 16, 18l10n_be_vat_reports
Generate the Belgian VAT Intra listing and the annual VAT-subjected customer listing from posted accounting entries, then export them as official XML files or PDF reports.
- l10n_bg_account_reconcile_patch
This module fixes how Odoo finds the right partner when reconciling bank statement lines, especially when partner names are stored in multiple languages. It replaces the standard partner search with a more robust database query.
- l10n_bg_account_statement_import_mt940
This module lets you import Bulgarian bank statements in MT940 format directly into Odoo, automatically creating bank statement lines with the correct date, amount, reference, account number and partner name.
- l10n_bg_address_extended
Adds Bulgarian-style address fields (sector, building, floor) to partners and companies, and keeps the single street line in sync with these structured fields.
- l10n_bg_config
This module installs and configures all Bulgarian localization modules in one place, and adds Bulgarian-specific fields and rules to invoices, partners and companies, such as local document numbers, UIC validation and protection of posted entries.
- Bulgarian Invoice CopyOdoo 18l10n_bg_invoice_copy
Adds a COPY label to Bulgarian invoice printouts, so you can print a duplicate invoice that is clearly marked as a copy instead of the original.
- L10n Bg Report StockOdoo 18l10n_bg_report_stock
Adds two Bulgarian stock documents to transfers: an Accepted Delivery Report and a Handover Protocol, both printable from any transfer. It also optionally shows the sale line description on delivery slip lines.