OCA modules for Odoo 15
There are 2,091 OCA community modules confirmed in Odoo 15.0: for each one, the branch, the module directory and the installable manifest have been checked on GitHub. Odoo 14 has 2,909. 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 15
See also
Modules for Odoo 15
- HR Expense Cancel ConfirmOdoo 15hr_expense_cancel_confirm
Adds a confirmation step when cancelling an expense sheet, asking for an optional reason before the cancellation is applied.
- Expense Employee Analytic DefaultOdoo 15, 17hr_expense_employee_analytic_default
Lets expense analytic distributions be chosen based on the employee's own contact/address, so employee-specific analytic distribution models apply automatically to their expenses.
- Expense ExceptionOdoo 14, 15, 18hr_expense_exception
Adds customizable exception rules to expense reports and expenses, so you can block or flag reports that break your own rules and review them before submitting.
- hr_expense_excluded_tax
This module lets you record expenses with excluded (purchase) taxes and automatically calculates the untaxed amount when the expense product has a cost.
- Supplier invoices on HR expensesOdoo 12, 13, 14, 15, 16, 17, 18hr_expense_invoice
Link supplier invoices to employee expense lines so the company can reimburse the employee and settle the vendor debt. Create a vendor bill directly from an expense report or attach an existing posted bill to an expense.
- Select Expense JournalOdoo 12, 14, 15, 16, 17hr_expense_journal
Lets you pick the payment method (credit card or bank journal) used to pay an expense, so the expense report and its accounting entry use the correct journal.
- HR Expense Operating UnitOdoo 12, 13, 14, 15hr_expense_operating_unit
Adds an Operating Unit to employee expenses and expense sheets, so each expense can be tagged to a business unit. Users only see expenses belonging to the operating units they are allowed to access.
- Access all OUs' ExpensesOdoo 14, 15hr_expense_operating_unit_access_all
Adds a new user group, "Access all OUs' expenses", that lets selected users see and work on expense records and expense sheets from every operating unit, without having to assign those operating units to the user.
- HR Expense - Pay To VendorOdoo 14, 15, 16hr_expense_pay_to_vendor
Lets employees request that the company pays a vendor directly through an expense, instead of reimbursing the employee. When the expense is paid by company, you can pick the vendor who should receive the money.
- HR Expense PaymentOdoo 14, 15, 16, 17, 18hr_expense_payment
Links expense sheets to their payments, so you can see which payments paid which expense reports directly in Odoo.
- HR Expense Payment Widget AmountOdoo 14, 15hr_expense_payment_widget_amount
Shows a payment widget on expense reports so users can see the payments already linked to a report and remove a wrong outstanding payment directly from the form.
- Petty CashOdoo 12, 13, 14, 15, 18hr_expense_petty_cash
Lets you track petty cash held by employees: register cash holders with a limit and balance, refill them through vendor bills, and pay expense reports from petty cash with automatic balance checks.
- HR Expense PortalOdoo 12, 13, 15hr_expense_portal
Adds a "My Expense" section to the customer portal so portal users can see the expenses linked to their sale orders, with a list, sorting, paging and a detail page including attachments and messages.
- Remove Odoo mobile app linksOdoo 14, 15, 16, 17hr_expense_remove_mobile_link
This module removes the Odoo Enterprise mobile app download links and images from the Expenses app. It only changes the help text shown on the empty Expenses screen.
- HR expense sequenceOdoo 12, 13, 14, 15, 16, 17, 18hr_expense_sequence
Adds an automatic reference number to expense reports, generated from a configurable sequence (e.g. EX0001), shown on the report form, list, search and printed report.
- Expense Sequence OptionOdoo 14, 15, 16, 17, 18hr_expense_sequence_option
Lets you choose between several numbering sequences for expense reports (hr.expense.sheet), so different expense reports can get different reference numbers based on rules you define.
- Expense Report Sub StateOdoo 14, 15hr_expense_substate
Adds a secondary status (sub state) to expense reports, so you can track extra steps like "To Verify" or "Checked" inside the normal expense report workflow.
- Expense Tax AdjustmentOdoo 14, 15hr_expense_tax_adjust
Lets users correct the tax amount on an expense so the accounting entries match the real tax, useful when rounding differences appear. A new editable tax field appears on the expense form.
- Expense Tier ValidationOdoo 12, 13, 14, 15, 16, 17, 18, 19hr_expense_tier_validation
Adds a multi-level approval (tier validation) process to expense reports, so submitted expenses must be reviewed and validated by designated reviewers before they can be approved.
- HR Expense one2many widgetOdoo 14, 15hr_expense_widget_o2m
Lets users add expense lines directly inside an expense report instead of choosing them from a pop-up selection window. It is turned on or off with a setting in the Expenses configuration.
- hr_holidays_calendar_event_privacy
Lets you choose the privacy level (Public, Private, or Only internal users) for calendar events created from each Time Off type, so leave events are not always visible to everyone.
- Self Approve LeavesOdoo 15hr_holidays_leave_self_approve
Lets employees approve or refuse their own time off requests when they are set as their own time off approver, instead of being blocked by Odoo's normal rule.
- Holidays natural periodOdoo 13, 14, 15, 16, 17, 18, 19hr_holidays_natural_period
Adds two new leave request units, Natural day and Natural day (Half Day), to time-off types and allocations, so employees can request leave counted in calendar days instead of working days.
- HR Holidays PublicOdoo 12, 13, 14, 15, 16, 17, 18, 19hr_holidays_public
Manage public holidays inside the Time Off app: public holidays are shown as unusual days in the leave calendar and can be skipped when counting leave days, depending on each leave type.
- HR Holidays Public CityOdoo 14, 15, 16, 17, 18hr_holidays_public_city
Lets you restrict each public holiday to specific cities, so employees only get holidays that apply to their city (or holidays with no city set).
- hr_holidays_public_overtime
This module makes Odoo's overtime calculation ignore public holidays, so employees are not credited with overtime on days that are public holidays.
- HR Holidays SettingsOdoo 12, 13, 14, 15, 16, 17, 18, 19hr_holidays_settings
Adds a Settings page for the Leaves (Time Off) app, so HR managers can open a dedicated configuration screen from the Leaves menu. The page is a placeholder that other modules can extend with their own options.
- HR Job Employee CategoriesOdoo 12, 13, 14, 15, 16, 17, 18hr_job_category
Lets HR managers tag job positions with employee categories, and automatically adds or removes those tags on employees when their contract's job changes.
- Custom Hour Interval for HolidaysOdoo 14, 15, 16, 17hr_leave_custom_hour_interval
Lets users enter the start and end time of a time off request as decimal hours (e.g. 8.50) instead of text, and automatically keeps the standard hour fields in sync.
- HR Operating UnitOdoo 12, 14, 15, 16, 17hr_operating_unit
Adds Operating Units to employee records, so each employee can be linked to one or more operating units and have a default one. A security rule limits which employees a user can see based on those operating units.
- Access all OUs' EmployeesOdoo 15hr_operating_unit_access_all
Adds a security group that lets selected users see and work with employees from every operating unit, without having to assign each operating unit to their user profile.
- HR Org Chart OverviewOdoo 13, 14, 15, 16hr_org_chart_overview
Adds an interactive Organizational Chart overview under the HR Reports menu, showing employees, their managers and photos, with search, zoom, pan and PDF export.
- HR Payroll Account Operating UnitOdoo 12, 14, 15hr_payroll_account_operating_unit
When a payslip is posted, the journal entry it creates is automatically tagged with the same Operating Unit as the employee's contract, and Odoo blocks any mismatch between the payslip and its journal entry.
- HR Payroll PeriodOdoo 14, 15, 16hr_payroll_period
Adds payroll periods and HR fiscal years to Odoo, so payslips and payslip batches can be linked to a period with an automatic payment date. Periods are generated from a fiscal year and follow a pay schedule.
- 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.
- 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.
- Employees study fieldOdoo 13, 15, 17hr_study
Lets you keep a standardised list of studies and pick one on each employee's file instead of typing free text. HR managers maintain the list under Human Resources configuration.
- 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.
- 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.
- 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_begin_end
Adds start and end time columns to the timesheet lines inside a Timesheet Sheet, so users can record when each work entry began and ended. The lines are also sorted by date and start time.
- HR Timesheet Sheet - No create projects/tasksOdoo 12, 14, 15hr_timesheet_sheet_no_create
Prevents users from creating new projects or tasks directly inside a timesheet sheet. When filling in timesheet lines, they can only pick existing projects and tasks.
- HR Timesheet Sheet based on Payroll PeriodOdoo 12, 14, 15hr_timesheet_sheet_period
Lets companies align employee timesheet sheets with payroll periods, so each sheet covers exactly the same dates as the pay period. A new "Payroll Period" option is added to the company timesheet range setting.
- 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.
- 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.
- 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 Worked Days From TimesheetOdoo 12, 14, 15hr_worked_days_from_timesheet
Adds an 'Import from Timesheets' button on draft payslips that fills the worked days lines from the employee's approved timesheets for the payslip period.
- Image URLs from HTML fieldOdoo 12, 13, 14, 15, 16html_image_url_extractor
Adds a helper that pulls image addresses out of any HTML content in Odoo, in the order they appear. Other modules can use it to show the first image of a post or page when no cover image is set.
- 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".
- 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 AMQPOdoo 13, 14, 15, 16, 17iot_amqp_oca
Adds AMQP as a communication option for IoT outputs, so Odoo can send messages to a broker that forwards them to a device. Users configure AMQP hosts and per-output exchange, routing key and payload.