At Quartile we recommend to our customers both that they use OCA modules and that general-purpose additional development be registered as an OCA module. The significance and the benefits of using the OCA are covered in earlier blog posts, which you can reach from the related links at the bottom.
This time, out of the many OCA modules available, we would like to present the Quartile-built OCA modules most used in Japan, in the form of a ranking. The figures come from the projects Quartile is involved in. Because these are OCA modules genuinely in heavy use in Japan, many of them suit Japanese business practice and the sense of usability a Japanese user expects.
Five Quartile-built OCA modules
For details on how to use each OCA module and the settings it needs, see the linked article on our forum.
- 1st: display 「御中」 or 「様」 after the partner name:l10n_jp_partner_title_qweb

Adds the 「御中」 and 「様」 that Japanese business practice requires.
- 2nd: change the address block to Japanese order:l10n_jp_address_layout

An OCA module that switches to the Japanese address format: postcode, prefecture, municipality, street address 1, street address 2.
- 3rd: show a confirmation screen before a message is sent:mail_send_confirmation

An OCA module that asks for confirmation when the "Send" button in the chatter's composer is pressed, reducing the chance of an internal message reaching external followers by mistake.
- 4th: change the strings that are displayed:template_content_swapper
Example: replacing 「販売担当者」 with 「営業担当者」 on a quotation

Strings on QWeb template front-end screens and on reports can be replaced by configuration.
- 5th: give stock transactions an actual date :stock_move_actual_date
Lets you specify an actual date on transfers (receipts / deliveries / internal transfers) and on scrapping. The actual date you specify is carried through to the linked stock moves and the move history. And where an accounting entry is generated along with a receipt or delivery, the actual date you specified becomes the entry's date. Because Odoo assumes an operation where entries are made in the system promptly as the goods actually move, the standard features do not let you set a past date on a transfer.
The full list of OCA modules Quartile has written can be found at this OCA SHOP/APP STORE page. We develop the features that have actually been asked for in Japan, so the modules outside the ranking should be worth a look too.
Other OCA modules we use often
Here are other recommended OCA modules in common use, including ones Quartile did not write.
l10n-japan is a repository aimed at the Japanese market, so every module under it is worth recommending.
- Show the qualified invoice issuer registration number on invoices: l10n_jp_account_report_registration_number
- In an external report layout, put the partner's address on the left and your own company's on the right: report_alternative_layout
- Printing consolidated invoices, and adjusting the tax amount: account_billing / l10n_jp_summary_invoice
- Set up payment terms with a cut-off day other than the end of the month: account_payment_term_cutoff_day
- Configure the tax rounding method: account_tax_rounding_method
- Get an address from a Japanese postcode: l10n_jp_partner_zip_address
- Add Japanese translations for the prefecture names: l10n_jp_country_state
From here on are OCA modules in general use, not specific to Japan.
- Avoid creating a record by accident while searching master records: web_m2x_options

Handy as it looks, creating from the search drop-down often creates master data by mistake; this lets you disable the create and edit functions there.
- Show a ribbon at all times on a test environment and the like: web_environment_ribbon

You can tell a test environment from production at a glance.
- Always show the items that are otherwise visible only in developer mode: base_technical_features

- Keep a change history for records: auditlog
An OCA module for naming the models to be logged and tracking the change history of the data.
- Prevent negative stock from arising: stock_no_negative
Odoo's standard behaviour allows negative stock to be recorded, so as to cover cases where you want to ship even though system stock is zero because the goods are physically in the warehouse — for example, the goods have physically arrived but the receipt has not yet been processed in Odoo. Where you do not want to permit negative stock, this OCA module can be used.
- Pre-configure the date ranges used in searches: date_range

Setting up the date ranges you use often in advance makes it easier to specify one in a search view filter.
- Restrict the deletion of attachments: attachment_delete_restrict
You can adjust, per model, which users and which groups may delete attachments.
- Show a banner message freely on a form view: web_form_banner

You can display a banner message freely on any form view.
- Search messages in the chatter: mail_message_search

Enables matching searches by keyword in the chatter, and AND searches across several keywords.
Making use of OCA modules
The benefits of making use of OCA modules
Adding up the average number of OCA modules used per project across Quartile's customers gave ”32”. That figure includes projects still being implemented, so in practice it is likely to be higher.
The number of OCA modules used depends a great deal on the implementation scope, on whether the edition in use is Enterprise or Community, and on the user's stance and needs, so no single figure can be called the right level. Please treat Quartile's average as a reference figure and nothing more.
Essential Criteria for Selecting Your Odoo Partner as an End-User Company — as the "2. Odoo vs SAP" section of that blog post also says, Odoo is a system of addition. "Making use of OCA modules is the most effective means available for holding down variation between service providers and building something stable and sustainable." How much use is made of OCA modules is an important key to an implementation project's success.
And as the blog post July 2025 Odoo Enterprise Terms Update — Full Version Support & 25% Extra Fee for Over 3 Generations also explains, an Odoo Enterprise implementation now looks likely to presuppose version upgrades on a shorter cycle than before. Carrying every module developed for an individual project through a version upgrade makes for a heavy development cost. Reducing customisation while turning general-purpose functionality into OCA modules may lighten the load a version upgrade brings. In fact, we are starting to see cases where developers at other firms have handled the version upgrade of an OCA module Quartile wrote. Registering a module developed at a customer's expense with the OCA comes back to that customer as a substantial benefit of their own.
Where a feature is missing from Odoo's standard functionality, start by searching OCA SHOP/APP STORE. Making use of the OCA is only going to matter more.
When an OCA module does not support the version you want to use
If you have found the OCA module you want but it does not support the version you are on, do try the upgrade yourself. It should take less effort than developing from scratch.
This link gives the procedure for upgrading an OCA module (in English).
Our own blog posts on the OCA
At Quartile we put real effort into OCA work. We also ask our customers for their understanding and their cooperation with it, working every day towards building an ecosystem in Japan too that can grow together. We have set out the aim and the substance of that in several blog posts, so please do take a look.
The 2024 OCA contribution ranking is out
The Momentum of Odoo, the Concern of OCA, and What Comes Next
Exploring Ways to Increase Participation in Odoo’s OSS Initiatives
We have become a Bronze sponsor of the Odoo Community Association
In a World Where the Point of Community Work Gets Harder to See
The case for and against sourcing modules from the app market
The 2025 edition — five Quartile-built OCA modules you cannot do without when implementing Odoo in Japan