OCA modules for Odoo 20
There are 73 OCA community modules confirmed in Odoo 20.0: for each one, the branch, the module directory and the installable manifest have been checked on GitHub. Odoo 19 has 1,525. 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 20
See also
Modules for Odoo 20
- Account Invoice Triple DiscountOdoo 12, 13, 14, 15, 16, 17, 18, 19, 20account_invoice_triple_discount
Lets users apply three successive discounts on each invoice line, with the combined total discount calculated automatically and shown on the invoice form and printed invoice.
- Account Payment Term Cutoff DayOdoo 16, 17, 18, 19, 20account_payment_term_cutoff_day
Adds a "cutoff day" concept to payment terms, so invoice due dates are automatically pushed to the following month when the invoice date is after the cutoff day.
- Account - Missing Menus & Saxon AccountingOdoo 15, 16, 17, 18, 19, 20account_usability
Adds the accounting menus and settings that are normally hidden in Odoo Community: a Bank and Cash menu with bank and cash statements, an Account Tags screen, and Anglo-Saxon accounting plus fiscal year end options in the Accounting settings.
- Extended view inheritanceOdoo 12, 13, 14, 15, 16, 17, 18, 19, 20base_view_inheritance_extension
Adds new operators to Odoo view inheritance so developers can wrap text in elements and update, extend or merge attribute values (contexts, domains, text) when customizing existing screens.
- Date RangeOdoo 12, 13, 14, 15, 16, 17, 18, 19, 20date_range
Create and manage reusable date ranges (periods) in Odoo, and filter records by those periods in list views. Ranges can be grouped into types, generated automatically, and used as a 'Period' filter in search views.
- Remove odoo.com BindingsOdoo 12, 13, 14, 15, 16, 17, 18, 19, 20disable_odoo_online
This module removes the links between Odoo and odoo.com: it stops the update notification check, hides the Apps and Updates menus under Technical settings, and removes the Support and My Subscription entries from the user menu.
- Partner EDI codeOdoo 12, 13, 14, 15, 17, 18, 19, 20l10n_fi_edicode
Lets you store a Finnish eInvoicing identifier (Edicode) and an eInvoicing operator on your company and on any contact, with a ready-made list of Finnish banks and eInvoice operators to choose from.
- Iran - AccountingOdoo 17, 18, 19, 20l10n_ir_account
Installs the Iranian accounting localization: a full Iranian chart of accounts, the Iranian Rial currency, a 10% VAT tax for sales and purchases, and Iranian company defaults. Users can set up an Iranian company and start bookkeeping in Rial.
- Iran - Country StatesOdoo 14, 16, 17, 19, 20l10n_ir_states
Adds Iran's provinces and cities to Odoo, and makes the province and city mandatory when entering an Iranian address.
- Japan Address LayoutOdoo 12, 13, 15, 16, 17, 18, 19, 20l10n_jp_address_layout
Switches the contact address form to a Japanese-style layout for Japanese addresses, showing postal code, prefecture, city and street in the order Japanese users expect.
- Paraguay - AccountingOdoo 16, 18, 19, 20l10n_py
Installs the Paraguayan accounting setup in Odoo: a complete chart of accounts, IVA 10% and 5% taxes, exempt/exonerated taxes and ready-made fiscal positions for purchases and sales.
- Paraguay - Accounting ExtensionsOdoo 16, 18, 19, 20l10n_py_account
Manage Paraguayan tax stamp authorizations (timbrados) and automatically number sales invoices and credit notes according to the authorized range, with fiscal validations and SIFEN IVA breakdown fields.
- Paraguay - Base LocalizationOdoo 16, 18, 19, 20l10n_py_base
Adds Paraguayan localization basics to Odoo: departments, cities and neighborhoods (barrios) with SET codes, plus fiscal fields and RUC validation on contacts. Users can record RUC, taxpayer type and identity documents on partners.
- Paraguay - Electronic Invoicing BaseOdoo 16, 18, 19, 20l10n_py_edi_base
Adds Paraguay electronic invoicing (SIFEN) support to invoices and credit notes, letting users prepare, preview, send and track electronic tax documents, generate QR codes and KUDE PDFs, and manage EDI connectors and logs.
- Paraguay - SIFEN Direct EDI ConnectorOdoo 16, 18, 19, 20l10n_py_edi_sifen
Connect Odoo directly to Paraguay's SIFEN electronic invoicing service using your own digital certificate. Send, consult, cancel and void electronic documents, and generate the QR code, without any intermediary provider.
- Paraguay - Libros DNIT (RG 90/2021)Odoo 18, 19, 20l10n_py_libros
Generates and exports the four DNIT record books (Sales, Purchases, Income, Expenses) required by Paraguay's RG 90/2021, with automatic lines from invoices and CSV/TXT files packaged in ZIPs.
- Romania - AccountOdoo 14, 15, 16, 17, 18, 19, 20l10n_ro_account
Adds Romanian cash-receipt limits: customer cash payments above 5,000 (companies) or 10,000 (individuals) are blocked. Also shows Romanian chart-of-accounts codes in a short external format.
- Romania - Bank Statement ReportOdoo 14, 15, 16, 17, 18, 19, 20l10n_ro_account_bank_statement_report
Adds a Romanian-format printable report for cash and bank statements, showing one day's statement or a whole period with receipts, payments, balances and signature lines.
- Romania - Account Period ClosingOdoo 13, 14, 15, 16, 17, 18, 19, 20l10n_ro_account_period_close
Lets Romanian accountants close income, expense or selected accounts (e.g. VAT) for a chosen date range by automatically generating and posting a closing journal entry. Closing templates are reusable and can also balance the closing accounts against each…
- Romania - Invoice ReportOdoo 13, 14, 15, 16, 17, 18, 19, 20l10n_ro_account_report_invoice
Adds Romanian invoice printout details: the customer's trade register number (NRC), selected bank accounts, a company-level text shown on invoices without a stamp, and the exchange rate when the invoice currency differs from the company currency.
- Romania - CityOdoo 13, 14, 15, 16, 17, 18, 19, 20l10n_ro_city
Adds the official Romanian locality list (SIRUTA) to Odoo, so contacts can be linked to a real city instead of free text, and the county and city are filled in automatically from the Romanian zip code.
- Romania - Localization ConfigOdoo 13, 14, 15, 16, 17, 18, 19, 20l10n_ro_config
Adds a dedicated Romanian settings page where companies using the Romanian chart of accounts can switch on the various Romanian localization modules and fill in Romanian accounting, tax, stock and partner defaults.
- Romania - DVIOdoo 13, 14, 15, 16, 17, 18, 19, 20l10n_ro_dvi
Lets Romanian companies record a customs import declaration (DVI) linked to vendor bills, and automatically creates a landed cost plus the VAT accounting entries for customs duty, commission and VAT price differences.
- Romania - Fiscal ValidationOdoo 13, 14, 15, 16, 17, 18, 19, 20l10n_ro_fiscal_validation
Automatically refreshes Romanian companies' fiscal data (name, address, VAT status) from the ANAF tax authority web service, either on demand or every day via a scheduled job.
- Romania - Mesaje SPVOdoo 14, 15, 16, 17, 18, 19, 20l10n_ro_message_spv
Lets Romanian companies fetch their ANAF SPV e-invoice messages automatically, download the ZIP/XML files, and turn received e-invoices into draft vendor bills in Odoo.
- Romania - Nondeductible VATOdoo 14, 15, 16, 17, 18, 19, 20l10n_ro_nondeductible_vat
Lets Romanian companies record the non-deductible part of VAT on supplier bills and on certain stock operations, splitting the VAT and expense amounts onto dedicated non-deductible accounts and tags.
- Romania - Partner Create by VATOdoo 13, 14, 15, 16, 17, 18, 19, 20l10n_ro_partner_create_by_vat
When you type a Romanian VAT number on a company contact, Odoo fetches the company's official data from the ANAF tax authority website and fills in the name, address, registration number and VAT status automatically.
- Romania - Partners UniqueOdoo 13, 14, 15, 16, 17, 18, 19, 20l10n_ro_partner_unique
Prevents saving two Romanian companies with the same VAT number (and optionally the same trade register number), so duplicate business partners cannot be created by mistake.
- Romania - Payment Receipt ReportOdoo 14, 15, 16, 17, 18, 19, 20l10n_ro_payment_receipt_report
Adds two printable PDF documents for Romanian accounting: a payment receipt for customer/vendor payments and a payment reception/disposal form for bank statement lines, both showing the amount in figures and in words.
- Romania - Payment to StatementOdoo 14, 15, 16, 17, 18, 19, 20l10n_ro_payment_to_statement
Keeps the Romanian cash register (registru de casă) of a cash journal: every posted cash payment is automatically added to the register of its day and reconciled, and cash documents get their own Romanian numbers.
- Romania - Point of SaleOdoo 14, 15, 16, 17, 18, 19, 20l10n_ro_pos
Adapts the Point of Sale for Romanian companies: it warns cashiers about large cash payments, adds stock cost columns to the session sales report, and avoids double-posting the cost of goods in the session closing entry.
- Romania - Point of Sale PartnerOdoo 19, 20l10n_ro_pos_partner
In the Point of Sale customer search, a Romanian tax code (CUI) typed by the cashier is recognised, an existing customer with that code is found, and if none exists a button fetches the company from ANAF, creates it and puts it on the order.
- Romania - Point of Sale RefundsOdoo 19, 20l10n_ro_pos_refund
In Romanian companies, refunding a Point of Sale receipt automatically issues a credit note and creates a signed payment disposal for the cash handed back, which prints at the till. A customer is required on every refund.
- l10n_ro_pos_retail
Links a point of sale to a Romanian retail shop so the till automatically uses that shop's fiscal position and shelf-price pricelist, making sales land on the right taxes and accounts.
- Romania - StockOdoo 13, 14, 15, 16, 17, 18, 19, 20l10n_ro_stock
Adds Romanian-specific stock handling: a Consume and a Usage Giving location per company, matching transfer types on each warehouse, and a Net Weight field on products.
- Romania - Stock AccountingOdoo 13, 14, 15, 16, 17, 18, 19, 20l10n_ro_stock_account
Adds Romanian stock accounting rules: FIFO valuation per storage location instead of per company, automatic correction of negative-stock FIFO values, and Romanian-specific stock accounts on locations, products and warehouses.
- Romania - Stock Accounting DateOdoo 14, 15, 16, 17, 18, 19, 20l10n_ro_stock_account_date
Lets Romanian companies set an Accounting Date on stock transfers so stock valuation and accounting entries land in the correct period, and blocks validating transfers dated in the future or in locked/too-old periods.
- Romania - Stock Accounting Date WizardOdoo 14, 15, 16, 17, 18, 19, 20l10n_ro_stock_account_date_wizard
Adds an Accounting Date field to the stock backorder confirmation wizard, so Romanian companies can choose the date used for stock valuation and accounting entries when validating a transfer.
- Romania - Stock Accounting Landed CostOdoo 16, 17, 18, 19, 20l10n_ro_stock_account_landed_cost
Extends Odoo landed costs for Romanian companies so extra purchase costs (like transport) are spread over the later stock moves that actually consumed the goods, with the matching accounting entries created automatically.
- 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 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 - 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.
- Partner Contact DepartmentOdoo 12, 13, 14, 15, 16, 17, 18, 19, 20partner_contact_department
Lets you create a list of departments and assign each contact to one, so you can organise people in your address book by department and group or filter contacts by it.
- Product Attribute Value Avoid Auto Fill OptionOdoo 18, 19, 20product_attribute_value_avoid_auto_fill
Adds a checkbox on product attributes that controls whether all attribute values are filled in automatically when the attribute is added to a product. When the option is off, the values are left empty so users pick them manually.
- Product Category ActiveOdoo 12, 13, 14, 15, 16, 17, 18, 19, 20product_category_active
Adds an archive option to product categories, so you can hide categories you no longer use without deleting them. Odoo blocks archiving a category if any product (including in its child categories) is still linked to it.
- Product Code MandatoryOdoo 12, 13, 14, 15, 16, 17, 18, 19, 20product_code_mandatory
Makes the product Internal Reference (default_code) a required field, and automatically fills it with a generated sequence number (DEFAULT-0001, DEFAULT-0002, ...) when a new product is created.
- Product ManufacturerOdoo 12, 13, 14, 15, 16, 17, 18, 19, 20product_manufacturer
Adds a Manufacturer section to the product form where you can record the manufacturer (a contact), plus the manufacturer's product name, product code and product URL for each product.
- Project Department CategorizationOdoo 15, 16, 17, 18, 19, 20project_department
Lets you assign an HR department to each project, and tasks automatically show the department of their project. You can also search and group projects and tasks by department.
- Purchase All ShipmentsOdoo 13, 16, 17, 18, 19, 20purchase_all_shipments
On a purchase order, the standard "Receipt" button is replaced by an "All Pickings" button that also lists the warehouse transfers chained to the receipt by push rules, such as the steps of a multi-step reception.
- Purchase Order Internal NoteOdoo 18, 20purchase_order_internal_note
Adds an Internal Note tab to purchase orders where buyers can write private notes that are not printed on the purchase order report.