OCA modules for Odoo 19
There are 1,532 OCA community modules confirmed in Odoo 19.0: for each one, the branch, the module directory and the installable manifest have been checked on GitHub. Odoo 18 has 3,113. 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 19
See also
Modules for Odoo 19
- Romania - Stock Accounting Reception In progressOdoo 14, 15, 16, 17, 18, 19, 20l10n_ro_stock_account_reception_in_progress
Lets Romanian companies bill a purchase order before the goods arrive, posting the value to a "goods in transit" account until the reception is done. A dedicated button on the purchase order creates this reception-in-progress bill.
- l10n_ro_stock_account_retail
Adds Romanian retail merchandise accounting to Odoo: shops can hold stock at shelf price (VAT included) and Odoo automatically books the commercial markup and the deferred VAT when goods enter or leave a retail warehouse.
- l10n_ro_stock_account_retail_landed_cost
When a landed cost (transport, customs, price difference) adds cost to goods held in a Romanian retail shop, this module keeps the stock value at the shelf price and books the extra cost against the commercial markup instead.
- l10n_ro_stock_account_retail_picking_report
Adds cost, markup and shelf-price columns to the printed transfer report when goods move from a warehouse into a retail shop, and titles that document as a goods receipt and discrepancy note.
- l10n_ro_stock_account_retail_price_change
Lets Romanian retailers record a shelf price change (Proces Verbal de Schimbare Pret) for goods on hand, updating the retail pricelist and posting the accounting entry for the markup and deferred VAT difference.
- l10n_ro_stock_account_retail_price_difference
When a vendor bill is more expensive than the reception price, the price-difference confirmation dialog now shows, per line, the markup the shop goods carry today, what is left after the difference, and whether the shelf price still covers the cost.
- l10n_ro_stock_account_retail_report
Adds a Romanian retail stock report showing, per shop and product, the cost, markup (378) and deferred VAT (4428) carried on the shelf, their total retail value (371), and any price difference to revalue.
- Romania - Stock Accounting trackingOdoo 16, 17, 18, 19, 20l10n_ro_stock_account_tracking
Adds a Romanian stock tracking table that records, for FIFO products, which source stock moves a move takes goods from, with quantity and value. Users can see these source and destination links on stock move screens.
- Romania - Stock Picking Comment TemplateOdoo 14, 15, 16, 17, 18, 19l10n_ro_stock_picking_comment_template
Adds Romanian-format comment templates (header and footer texts) to stock transfer and delivery reports, chosen automatically by operation type, plus delegate and transport fields on transfers.
- Romania - Stock Picking Valued ReportOdoo 14, 15, 16, 17, 18, 19, 20l10n_ro_stock_picking_valued_report
Adds valued amounts (unit price, additional charges, subtotal, taxes and total) to the printed delivery/stock picking document for Romanian companies, calculated from the related sales order, purchase order or stock valuation.
- Romania - Stock Accounting Price DifferenceOdoo 14, 15, 16, 17, 18, 19, 20l10n_ro_stock_price_difference
When a Romanian vendor bill is posted at a price different from the reception, this module shows the differences in a confirmation dialog and, once confirmed, books the gap as a landed cost so the stock value matches the invoice.
- Romania - Stock Report (Fișă Magazie)Odoo 13, 14, 15, 16, 17, 18, 19, 20l10n_ro_stock_report
Generates a Romanian-style stock ledger (Fișă Magazie) for a chosen location and date range, showing opening balance, all in/out movements with quantities and values, and closing balance, on screen or as a PDF.
- Romania - VAT on PaymentOdoo 13, 14, 15, 16, 17, 18, 19, 20l10n_ro_vat_on_payment
Adds a Romanian 'VAT on Payment' status to partners, checked automatically against ANAF data, and applies the VAT-on-payment fiscal position on invoices so tax is collected only when the invoice is paid.
- Thai Localization - VAT and Withholding TaxOdoo 15, 16, 18, 19l10n_th_account_tax
Adds Thai VAT tax invoice tracking and withholding tax handling to Odoo invoices and payments, including automatic withholding calculation, withholding tax certificates, and personal income tax (PIT) progressive rates.
- Thai Localization - Convert Amount Text to ThaiOdoo 13, 14, 15, 16, 17, 18, 19, 20l10n_th_amount_to_text
Converts a monetary amount into Thai words (Baht and Satang) when the user's language is Thai, so printed documents show the amount spelled out correctly in Thai instead of a wrong translation.
- Thai Localization - Base SequenceOdoo 15, 16, 17, 18, 19l10n_th_base_sequence
Adds a live preview of the next sequence number on sequence screens and supports extra date placeholders, including Thai Buddhist Era years and quarter of the year.
- Thai Localization - Base Utils ThaiOdoo 18, 19l10n_th_base_utils
Adds Thai fonts to Odoo reports and provides helpers to convert numbers, months and dates into Thai format, including Buddhist calendar years.
- LimsOdoo 19lims
Manage a laboratory inside Odoo: register samples, define analytes with specifications, record results, and verify or reject analyses. A printable sample report is included.
- Loyalty incompatibilitiesOdoo 16, 17, 18, 19loyalty_incompatibility
Lets you mark loyalty programs and promotions as incompatible with each other, so you can control which offers should not be combined.
- Mail Activity BoardOdoo 12, 13, 14, 15, 16, 17, 18, 19mail_activity_board
Adds an activity board to Odoo that shows all scheduled activities in list, kanban, calendar, pivot and graph views. Users can open the related document directly from an activity and filter activities by deadline, user or origin.
- Mail Activity ReminderOdoo 12, 13, 16, 17, 18, 19mail_activity_reminder
Lets you set automatic reminder emails for activity types, so users get notified a chosen number of days before an activity's deadline.
- Mail Activity TeamOdoo 12, 13, 14, 15, 16, 17, 18, 19mail_activity_team
Lets you group users into activity teams and assign activities to a whole team instead of a single person. Team members can see and handle the team's activities, and can be notified when a team activity is created.
- Mail Attach Existing AttachmentOdoo 12, 13, 14, 15, 16, 17, 18, 19mail_attach_existing_attachment
When sending an email from an Odoo record, you can tick existing attachments already stored on that record so they are included in the message, instead of uploading them again.
- Mail Attach Existing Attachment (Account)Odoo 12, 13, 14, 16, 17, 18, 19mail_attach_existing_attachment_account
When sending an invoice or credit note by email, you can tick existing attachments already stored on that document so they are included in the email, instead of uploading them again.
- Mail DebrandOdoo 19mail_debranding
Removes Odoo branding from outgoing emails, including the 'Powered by Odoo' link and other odoo.com links, so customers never see Odoo advertising in messages sent from your database.
- Mail configuration with server_environmentOdoo 12, 13, 14, 15, 16, 17, 18, 19mail_environment
Lets you manage incoming and outgoing mail server settings from external configuration files instead of typing them in Odoo, so production and test environments can use different mail servers.
- Mail Forward MessageOdoo 15, 17, 18, 19mail_forward
Lets users forward a chatter message from any document to another record's conversation, notifying that record's followers without adding them as followers of the original document.
- Mail GatewayOdoo 16, 17, 18, 19mail_gateway
This module is the base for connecting external chat systems (like Telegram or WhatsApp) to Odoo. It lets a team chat with customers inside Odoo while messages travel through the external chat service.
- Mail Telegram GatewayOdoo 16, 18, 19mail_gateway_telegram
Connect Odoo to Telegram so a team can chat with Telegram users from Odoo and reply as a bot. Messages, photos, files, stickers and locations are exchanged automatically between Telegram chats and Odoo conversations.
- Mail Message Destiny Link TemplateOdoo 16, 17, 18, 19mail_message_destiny_link_template
Provides a ready-to-use email/chatter template that lists the records a source record has created or modified, with clickable links to those records. It adds no visible feature on its own; developers use it in their own modules.
- Mail Message SearchOdoo 16, 17, 18, 19mail_message_search
Adds a 'Message Search' field to the search screens of every record type that uses the chatter, so users can find records by words contained in their messages' subject, body, sender or reply-to.
- Email Gateway Multi companyOdoo 12, 13, 14, 15, 16, 17, 18, 19mail_multicompany
Lets you assign each outgoing email server to a specific company, so emails sent from one company use that company's own SMTP server. It also automatically picks the right server when a message is created.
- Mail No user Assign NotificationOdoo 15, 17, 18, 19mail_no_user_assign_notification
Lets administrators list specific models where assigning a user should not automatically subscribe that user to the record, stopping unwanted assignment notifications.
- Mail Notification Custom SubjectOdoo 12, 13, 14, 15, 16, 17, 18, 19mail_notification_custom_subject
Lets you define templates that change the subject line of notification emails sent by Odoo, based on the record type and message subtype.
- Mail Notify Employee LeaveOdoo 17, 19mail_notify_employee_leave
When you mention or assign a colleague who is out of office, Odoo sends you a note telling you they are absent and when they are expected back. Each user is warned only once per day per absent employee.
- Mail optional autofollowOdoo 12, 13, 14, 15, 16, 17, 18, 19mail_optional_autofollow
Adds a checkbox to the Odoo email composer so you can decide whether the extra recipients of a message are automatically added as followers of the record you are writing on.
- Mail optional follower notificationOdoo 12, 13, 14, 15, 16, 17, 18, 19mail_optional_follower_notification
Lets you decide, when sending a message from Odoo, whether the document's followers should be notified. A company-wide default can be set, and each message can override it.
- Mail Outbound StaticOdoo 12, 13, 14, 15, 16, 17, 18, 19mail_outbound_static
Lets you set a fixed "Email From" address and an allowed-domains list on each outgoing mail server, so Odoo rewrites the sender address when the original sender's domain is not approved.
- Mail Partner Opt OutOdoo 13, 14, 15, 16, 17, 18, 19mail_partner_opt_out
Adds a button on the contact form that puts the contact's email address on the blacklist, so that person stops receiving mass mailing emails from Odoo.
- Deferred Message PostingOdoo 15, 16, 18, 19mail_post_defer
This module makes outgoing emails and notifications wait about 30 seconds in the queue before being sent, so Odoo stays fast and you can still cancel or edit a message you just posted.
- Mail Print MessageOdoo 15, 17, 19mail_print
Adds a "Print Message" option to the chatter of any Odoo document, letting users print a single message as a PDF with its subject, date, sender, recipients and body.
- Restrict follower selectionOdoo 12, 13, 14, 15, 16, 17, 18, 19mail_restrict_follower_selection
Restrict which contacts can be picked as followers on records, using a configurable filter. It also silently drops followers that do not match the filter when they are added.
- Mail Restrict Send ButtonOdoo 14, 16, 18, 19mail_restrict_send_button
Hides the Send Message button in the chatter area unless the user belongs to the new "Allowed" group. This lets administrators control who can post messages from the chatter.
- Mail Send ConfirmationOdoo 15, 16, 17, 18, 19mail_send_confirmation
Adds a confirmation pop-up before sending a chatter message, so users do not accidentally send an internal note or message to external followers.
- Mail Show FollowerOdoo 12, 14, 15, 16, 17, 18, 19mail_show_follower
Adds a visible block at the top of outgoing emails listing the document followers who received the message, so recipients know who else got it and that replies go to everyone.
- Mail Template SubstituteOdoo 12, 16, 17, 18, 19mail_template_substitute
Lets you attach substitution rules to an email template so that, when the selected records match a condition, a different template is used automatically. Useful for sending alternate templates per company or per record type.
- Email trackingOdoo 12, 13, 14, 15, 16, 17, 18, 19mail_tracking
Adds email tracking to Odoo: every outgoing email gets a tracking record, and the chatter shows per-recipient status (sent, delivered, opened, bounced, error). Users can also see failed messages and a partner's email reputation score.
- Mail tracking for MailgunOdoo 12, 13, 14, 15, 16, 17, 18, 19mail_tracking_mailgun
Connect Odoo to Mailgun so sent emails are tracked automatically: delivery, opens, clicks, bounces and spam complaints are recorded, and you can check or force a contact's email status from the partner form.
- Mail tracking for mass mailingOdoo 12, 13, 14, 15, 16, 17, 18, 19mail_tracking_mass_mailing
Connects mass mailing statistics with detailed email tracking, so you can see opens, clicks and bounces per mailing and per contact, and automatically flag bounced contacts.
- Maintenance Equipment Category HierarchyOdoo 14, 16, 17, 18, 19maintenance_equipment_category_hierarchy
Lets you organise maintenance equipment categories into a parent/child tree, so you can group related categories and filter maintenance requests by a whole branch of categories.
- Maintenance equipment certificationOdoo 16, 18, 19maintenance_equipment_certification
Lets you record certificates for maintenance equipment, with number, dates, notes and an attached file, and automatically emails the equipment's technician or owner when a certificate is close to its renewal date.
- Maintenance Equipment ReferenceOdoo 18, 19maintenance_equipment_ref
Adds an Internal Reference field to maintenance equipment, so you can give each machine or device your own reference code and see it in the equipment form, list and search.
- Maintenance Equipment SequenceOdoo 12, 13, 14, 15, 16, 17, 18, 19maintenance_equipment_sequence
Lets you give each maintenance equipment category its own numbering sequence, so new equipment automatically receives a reference number like a serial number.
- Maintenance Equipment StatusOdoo 12, 13, 14, 15, 16, 17, 18, 19maintenance_equipment_status
Lets you define custom statuses for maintenance equipment (for example New, Working, Retired) and assign one to each piece of equipment, visible on the equipment form, list and kanban views.
- Maintenance Equipment TagsOdoo 12, 13, 14, 15, 16, 18, 19maintenance_equipment_tags
Lets you label maintenance equipment with coloured category tags, so you can group and find machines by brand, type or any category you define.
- Maintenance LocationOdoo 14, 16, 17, 18, 19maintenance_location
Adds a hierarchical location system to Maintenance: you can create locations (buildings, floors, workshops), attach them to equipment, plans and requests, and see where each piece of equipment or request is located.
- Maintenance PlanOdoo 12, 13, 14, 15, 16, 17, 18, 19maintenance_plan
Lets you set up recurring preventive maintenance plans per equipment, with a maintenance kind, frequency and planning horizon, and automatically creates the maintenance requests on schedule.
- Maintenance Plan ActivityOdoo 12, 13, 14, 15, 16, 18, 19maintenance_plan_activity
Lets you define scheduled activities on a maintenance plan; when the plan generates maintenance requests, matching activities are automatically created on each request with a due date counted back from the request's scheduled date.
- Maintenance ProductOdoo 13, 14, 15, 16, 17, 18, 19maintenance_product
Links maintenance equipment with products, so you can pick a product on an equipment record and let Odoo fill in its name, cost and vendor automatically. It also adds a 'Can be Maintenance' flag on products.
- Maintenance ProjectsOdoo 12, 13, 14, 15, 16, 17, 18, 19maintenance_project
Links maintenance equipment and maintenance requests to projects and tasks, so you can track maintenance work as project work and assign timesheets to it.