OdooWiki OCA HUB

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, 19
    crm_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, 17
    crm_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_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_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_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, 19
    delivery_mrw

    Connect Odoo to MRW Spain so you can create MRW shipments, print labels, track deliveries and print a daily manifest of MRW deliveries.

  • delivery_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_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_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, 17
    dms_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_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, 17
    dms_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_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_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.

  • edi_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.

  • edi_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_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, 19
    event_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, 17
    event_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_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, 19
    event_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_test

    Technical test module that checks the 'Fetchmail Notify Error to Sender' feature works correctly. It adds no screens or menus for everyday users.

  • fieldservice_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, 17
    fieldservice_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.

  • fieldservice_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.

  • fieldservice_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.

  • fieldservice_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_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, 17
    fs_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_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_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_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.

  • geoengine_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.

  • geoengine_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, 17
    graphql_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, 17
    graphql_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_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_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_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_accident

    Register and track employee accidents in Odoo's Employees app, with a reference, employee, date, description and attached documents.

  • AnnouncementOdoo 15, 17
    hr_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, 17
    hr_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, 17
    hr_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_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_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.

  • hr_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, 17
    hr_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, 17
    hr_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_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, 17
    hr_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_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.

Data imported from GitHub: “confirmed” means branch, module directory and installable manifest checked on the review date. A module that is not confirmed in a version may still exist: it may be in another repository or pending the next review. Active support and OCA certification are not assessed.