Migrating from Odoo 17 to Odoo 18: which OCA modules are available
Of the 1,993 OCA modules confirmed in Odoo 17.0, 1,578 (79 %) are also confirmed in Odoo 18.0. The other 415 do not have a confirmed 18.0 version in the catalogue yet: if you use any of them, check its page before planning the migration. In addition, 1,532 modules are in Odoo 18.0 without being in 17.0.
- 1,993
- in Odoo 17
- 1,578
- also in Odoo 18
- 415
- pending in Odoo 18
- 79 %
- already migrated
See also
Odoo 17 modules not yet confirmed in Odoo 18
- CRM Event CategoryOdoo 12, 13, 15, 17, 19crm_event
Link CRM leads and opportunities to an event category and record how many seats a customer would buy, then see totals of interested leads and wanted seats per event category.
- CRM ExceptionOdoo 16, 17crm_exception
Lets you define custom exception rules for CRM opportunities and apply them to specific sales stages, so Odoo automatically flags leads that break your rules.
- CRM Lost Reason RequiredOdoo 17, 19crm_lost_reason_required
This module makes the lost reason mandatory when marking a CRM lead or opportunity as lost. Users must pick a reason in the 'Mark as Lost' wizard before they can confirm.
- DDMRP Include Final LocationOdoo 17ddmrp_include_location_final
Extends DDMRP stock buffers so incoming stock moves are counted when the final destination location belongs to the buffer's location, improving the accuracy of DDMRP replenishment calculations.
- delivery_carrier_global_manifest
Lets you print one combined delivery manifest covering several carriers at once, instead of a separate manifest per carrier. Carriers can be flagged to be included in this global manifest.
- Delivery CBLOdoo 17delivery_cbl
Adds CBL Logística as a delivery carrier in Odoo: register shipments, generate labels, confirm or cancel them, and print a CBL manifest.
- Delivery MRWOdoo 14, 16, 17, 19delivery_mrw
Connect Odoo to MRW Spain so you can create MRW shipments, print labels, track deliveries and print a daily manifest of MRW deliveries.
- Multiple origins for delivery costs in purchasesOdoo 15, 17, 19delivery_purchase_multi_destination
This module lets purchase orders use a delivery carrier with multiple destinations, automatically picking the right sub-carrier rule for each delivery address and calculating the correct shipping cost.
- Delivery Chronopost FranceOdoo 14, 17delivery_roulier_chronopost_fr
Adds Chronopost France as a delivery carrier in Odoo, letting users configure Chronopost accounts and print Chronopost shipping labels for outgoing transfers.
- Delivery Roulier OptionOdoo 14, 16, 17delivery_roulier_option
Adds delivery options such as insurance, cash on delivery, acknowledgment and free of charges to roulier shipping carriers, and lets you declare a customs category on transfers for international shipments.
- Dms Attachment LinkOdoo 13, 15, 16, 17dms_attachment_link
Lets users attach an existing DMS file to any Odoo record directly from the chatter, without uploading a copy. The attachment stays linked to the DMS file and shows its content.
- Dms File SequenceOdoo 17dms_file_sequence
Automatically assigns a unique sequence code to every document in the Documents app and shows it in the file name, list, kanban and search views. Administrators can change how the code and name are combined in Settings.
- Dms StorageOdoo 14, 16, 17dms_storage
Lets you keep DMS documents in an external storage backend instead of inside Odoo. On a DMS storage you choose the 'Storage' save type and pick the external storage to use.
- Document Page Tag Print ControlOdoo 16, 17document_page_tag_print_control
Lets you mark document tags as "not printable" so that any page carrying such a tag cannot be printed, with a warning shown instead. Managers of the Document Knowledge section can still print everything.
- EDI - EdiversaOdoo 17edi_ediversa_oca
Connects Odoo to the Ediversa EDI platform: store company credentials and partner Ediversa IDs, and exchange documents (send, list, download, confirm) through the Ediversa web service.
- Ediversa - Invoice ExportOdoo 17edi_ediversa_oca_invoice_send
Automatically generates and sends customer invoices and credit notes to Ediversa in a fixed text format when they are posted, for customers marked to receive Ediversa invoices.
- Ediversa - Sale Order ImportOdoo 17edi_ediversa_oca_sale_order_import
Automatically imports sales orders sent by Ediversa into Odoo, creating the customer, delivery and invoice addresses and the order lines from the received file.
- Edi ProjectOdoo 17edi_project_oca
Adds EDI (electronic data interchange) support to projects and tasks, letting users see the EDI exchange records linked to a project or task and switch off automatic EDI processing per record.
- Event Email ReminderOdoo 12, 13, 15, 17, 19event_email_reminder
Automatically emails a reminder listing upcoming events to the responsible organisers before the events start. You can also mark event stages so their events are never included in these reminders.
- Event projectOdoo 12, 14, 16, 17event_project
Link a project to an event so the project automatically copies the event's name, dates, organizer and notes. Event managers can also see and count the tasks belonging to the event's project.
- Event Sale Update QtyOdoo 17, 19event_sale_update_qty
After a sale order with event tickets is confirmed, you can change the number of attendees directly from the order line. A small edit button opens a wizard to increase or reduce the quantity and manage the related registrations.
- Event Track Location OverlapOdoo 12, 13, 15, 17, 19event_track_location_overlap
Adds an "Overlappable" option to event track locations so you can prevent two event tracks from being scheduled at the same place and time.
- Fetchmail Notify Error to Sender TestOdoo 13, 14, 16, 17fetchmail_notify_error_to_sender_test
Technical test module that checks the 'Fetchmail Notify Error to Sender' feature works correctly. It adds no screens or menus for everyday users.
- Field Service - Analytic AccountingOdoo 12, 14, 15, 16, 17fieldservice_account_analytic
Link an analytic account to each Field Service location so time and costs booked on field service orders are automatically posted to the right analytic account, and choose whether an order is billed to the location or to a contact.
- fieldservice_address_no_change
Keeps a frozen copy of the service address on Field Service orders once they are completed, so later changes to the customer's location do not alter past orders.
- fieldservice_base_location
Adds a ZIP-code autocomplete field to Field Service locations so the city, state and country are filled in automatically, and keeps the linked contact's address in sync.
- fieldservice_current_location
Adds a 'Use Current Location' button on field service orders that fills the order's location from the worker's GPS position, creating or reusing a location automatically.
- fieldservice_equipment_stock_return
Lets field service users send equipment back to stock by creating a return order that automatically generates an incoming stock transfer.
- Field Service - Flow for ISPOdoo 12, 14, 15, 16, 17fieldservice_isp_flow
Adds a guided step-by-step workflow to Field Service orders for internet providers, with new stages (Confirmed, Requested, Assigned, Scheduled, En Route, Started) and buttons that only let you advance when the required information is filled in.
- Field Service Order_PropertyOdoo 17fieldservice_order_property
Lets you add your own custom fields (properties) to Field Service Orders, with the list of fields defined once per Field Service team and shared by all its orders.
- fieldservice_sale_stock_from_pos
Create Field Service orders automatically from Point of Sale orders, including stock moves and refund handling, and notify a chosen user when a new FSM order needs review.
- Field Service - Stock RequestOdoo 12, 14, 16, 17fieldservice_stock_request
Link stock requests to Field Service orders so technicians can request parts and materials directly from a service order, with submit, cancel and reset-to-draft buttons and automatic status tracking.
- Field Service Stock ScrapOdoo 17fieldservice_stock_scrap
Lets field service users scrap stock that was requested for a field service order, directly from the order form, and keeps the related stock requests in sync.
- Fs Base Multi MediaOdoo 16, 17fs_base_multi_media
Store media files (images, documents, etc.) in an external filesystem and link them to Odoo records. Provides a media library, media types, and a reusable building block for other modules.
- Fs File DemoOdoo 16, 17fs_file_demo
Adds a demo screen called Fs File where users can store a file and an image, with an automatic smaller 128x128 version of the image. It is meant to show how file and image storage works in Odoo.
- Fs Product Brand Multi ImageOdoo 16, 17fs_product_brand_multi_image
Lets you attach multiple images to a product brand, tag them, and show the main image on the brand form and kanban card.
- Fs Product Multi ImageOdoo 16, 17fs_product_multi_image
Attach multiple images to products, product variants and product categories, stored on an external filesystem instead of the database. Images can be tagged and linked to specific attribute values so each variant shows the right picture.
- Fs Product Multi MediaOdoo 16, 17fs_product_multi_media
Attach media files (images, documents) to products, product variants and product categories, stored on an external filesystem instead of the database. Media can be restricted to specific product attribute values so each variant shows only the relevant files.
- Geospatial support for base_geolocalizeOdoo 12, 13, 16, 17geoengine_base_geolocalize
Adds a geospatial point to contacts, automatically kept in sync with the latitude and longitude already stored on the partner. It is installed automatically and mainly serves as a bridge for map-based features.
- Geospatial support of partnersOdoo 12, 13, 16, 17geoengine_partner
Adds a map tab to partner records so users can see and set each contact's address coordinates, and shows partners as points on the Geoengine map.
- Graphql BaseOdoo 12, 13, 14, 15, 16, 17graphql_base
This module provides the technical foundation for exposing Odoo data through GraphQL endpoints. It does not add any user-facing features on its own; developers use it to build custom GraphQL APIs and a built-in GraphiQL explorer page.
- GraphQL DemoOdoo 12, 13, 14, 15, 16, 17graphql_demo
Adds a sample GraphQL endpoint to Odoo so external applications can read partner data and create contacts through a standard GraphQL API. It is a demonstration module for developers, not a day-to-day business feature.
- Helpdesk Mgmt Assign MethodOdoo 16, 17helpdesk_mgmt_assign_method
Lets each helpdesk team choose how new tickets are automatically assigned to its members: manually, randomly, balanced by open workload, or sequentially. The responsible user is filled in automatically when a ticket is created or its team is changed.
- helpdesk_mgmt_assign_method_hr_holidays
Adds a setting on helpdesk teams to decide whether employees who are on leave can still receive tickets automatically. By default, people on leave are skipped when tickets are auto-assigned.
- Helpdesk Ticket Team PartnerOdoo 17helpdesk_mgmt_team_partner
Restrict which customer contact can be selected on a helpdesk ticket based on the ticket's team. Each team can have a default contact, a single allowed contact, or a list of allowed contacts.
- Helpdesk Management - NonconformityOdoo 13, 15, 17, 19helpdesk_mgmtsystem_nonconformity
Links helpdesk tickets with nonconformities: create a nonconformity directly from a ticket, open it from the ticket, and keep both records' stages in sync.
- helpdesk_timesheet_time_type_non_billable
Makes helpdesk ticket total hours count only billable timesheet lines, so non-billable time types are excluded from the ticket's total hours.
- HR AccidentOdoo 17hr_accident
Register and track employee accidents in Odoo's Employees app, with a reference, employee, date, description and attached documents.
- AnnouncementOdoo 15, 17hr_announcement
Extends announcements so they can be targeted to specific employees, departments, or job positions, not just users or user groups. The right people automatically see the announcement as unread.
- HR Attendance Auto CloseOdoo 12, 13, 14, 15, 16, 17hr_attendance_autoclose
Automatically closes attendance records that were left open too long, so forgotten check-outs no longer corrupt the following days' attendance data.
- hr_attendance_geolocation_required
Adds a company setting that forces employees to share their GPS location before they can check in or out, both from the attendance app and the kiosk. If location is missing, Odoo refuses the check-in with an error message.
- HR commissionsOdoo 12, 13, 14, 15, 16, 17hr_commission
Adds a "Salesman (employee)" agent type so employees can earn commissions, and lets you mark their commission settlements as invoiced without creating an invoice.
- HR Contract BonusOdoo 17hr_contract_bonus
Lets HR users attach fixed or percentage bonuses to employee contracts and see the total annual wage with and without those bonuses directly on the contract form.
- HR Employee Document from ApplicantOdoo 16, 17hr_employee_document_from_applicant
When you hire a candidate from a job application, all files attached to that candidate are automatically copied to the new employee record, so the employee's document list is complete from day one.
- 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.
- 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.
- 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.
- 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.
- Hr Personal Equipment Request Tier ValidationOdoo 13, 14, 16, 17hr_personal_equipment_request_tier_validation
Adds approval tiers to personal equipment requests, so a request must be reviewed and approved by the configured reviewers before it can be accepted.