[August 2026] Odoo community activity and Quartile's contributions

Work on the Japanese environment, and a summary invoice port waiting upstream
September 2, 2026 by
[August 2026] Odoo community activity and Quartile's contributions
Yoshi Tashiro (QRTL)

In August 2026 Quartile again continued proposing, improving and porting work at OCA.

August centred on the details that make Odoo comfortable to use in Japanese. A fix to the Japanese localization was merged into Odoo itself, and we began proposing modules that give contacts, products and employees a kana reading. Alongside that we worked on summary invoicing in practice, and on a proposal for keeping the reasoning behind an inventory valuation.

What we worked on in August 2026


The Japanese localization

In l10n_jp, the Japanese localization in Odoo itself, the Japanese names of the fiscal positions were wrong. The one for domestic partners was named 海外取引先, "overseas partner", so in a Japanese environment the two fiscal positions appeared under the same name. There was no way to tell which one to pick, inviting the wrong consumption tax treatment.

We proposed the fix for Odoo 19.0 and it was merged during August. It has since been carried forward to the later versions. We also corrected the spelling of the English name of the overseas position, and dropped "Customer" from it, since fiscal positions are set on vendors as well.

Our other proposal for the Japanese environment covers kana readings. We proposed l10n_jp_name_kana for Odoo 19.0, which adds a kana reading to contacts, together with an abstract model that carries the same behaviour to other models. Using that abstract model, we also proposed l10n_jp_product_name_kana for products and l10n_jp_hr_employee_name_kana for employees. For products, both templates and variants can be found by their kana.

Reference:

https://github.com/odoo/odoo/pull/284608

https://github.com/OCA/l10n-japan/pull/137

https://github.com/OCA/l10n-japan/pull/138

https://github.com/OCA/l10n-japan/pull/139

Summary invoices and billing

account_billing_from_cutoff, which creates summary invoices in bulk from the cutoff dates, was merged for Odoo 18.0. It fits the practice of billing and collecting once a month rather than invoice by invoice.

l10n_jp_summary_invoice, which handles the summary invoice as a qualified tax invoice, was improved for Odoo 16.0 so that the setting excluding a record from summary billing can also be held at partner level. That change was merged.

We have also proposed a fix to account_billing_from_cutoff for invoices with no recipient bank. Invoices are grouped by partner, currency and recipient bank, so an invoice without a bank formed a group of its own and could not join the draft for the same partner.

The improvement to account_billing that makes the ordering of the billing lines consistent is proposed for Odoo 16.0. It is an improvement we already provide for Odoo 18.0.

Reference:

https://github.com/OCA/l10n-japan/pull/110

https://github.com/OCA/l10n-japan/pull/108

https://github.com/OCA/l10n-japan/pull/140

https://github.com/OCA/account-invoicing/pull/2424

Seeing and valuing stock

stock_reporting_access, which opens the Inventory Reporting menu to users other than Inventory Administrators, was merged for Odoo 18.0 and then for 16.0. Someone who only needs to look at the figures no longer has to be handed the full administrator role.

For FIFO products tracked by lot, we proposed stock_valuation_fifo_lot_allocation for Odoo 16.0. It records how the value of each stock valuation layer was allocated across the lots.

The existing stock_valuation_fifo_lot shows the current balance per lot, but landed costs, price differences on vendor bills and revaluations leave no per-lot trace. So that the value a lot carries can be explained when an audit asks, the allocation is recorded at the moment the layer is created and reported as a ledger grouped by lot.

Reference:

https://github.com/OCA/stock-logistics-workflow/pull/2293

https://github.com/OCA/stock-logistics-workflow/pull/2379

https://github.com/OCA/stock-logistics-workflow/pull/2423

API endpoints

Two improvements for Odoo 19.0 were merged for endpoint, which adds API endpoints from the configuration screens, and for endpoint_route_handler underneath it.

The first adds bearer to the authentication types. Odoo's own API keys can then be used as they are, with no extra module for authentication.

The second fixes the serialization of the response to JSON. A date, a datetime or a binary value in the payload made the request fail. Applying the same hook Odoo itself uses resolves it.

Reference:

https://github.com/OCA/web-api/pull/134

https://github.com/OCA/web-api/pull/160

Control for administrators

We proposed two improvements for Odoo 18.0 to base_export_manager, which governs export rights. The first is a setting that makes newly created access rights deny export by default. The second applies the same control to the xlsx download button of the pivot view. Until now the export action could be hidden on the list while the pivot still wrote the data out.

We proposed base_field_length_constraint for Odoo 19.0, which holds maximum lengths as configuration data rather than in code. A limit is set per model and field, counted in characters or in the bytes of a given encoding. It can be narrowed to a company or to the records matching a domain, and an over-long value is either refused on save or merely reported.

We proposed a fix for Odoo 15.0 to attachment_mimetype_restriction, which restricts the types of attachment. Product and partner images, the company logo and the favicon are all stored internally by Odoo as attachments. They were validated against the restriction as well, so depending on the allowlist an ordinary record save could fail.

Reference:

https://github.com/OCA/server-ux/pull/1326

https://github.com/OCA/server-ux/pull/1327

https://github.com/OCA/server-ux/pull/1320

https://github.com/OCA/social/pull/1896

Migrations

We are working on the Odoo 19.0 port of report_positioned_image, which places images at chosen positions on PDF reports. It answers the requirement to show a company seal on invoices and delivery slips, and we provide it for Odoo 18.0.

web_export_html_as_text, which exports HTML fields as plain text from a list, is being ported to Odoo 18.0 and 19.0 in parallel. We provide the module for Odoo 16.0.

account_billing, which groups several invoices into a single billing document, is being ported to Odoo 19.0. The port also unifies the list view, which was defined separately for the customer and vendor sides.

Reference:

https://github.com/OCA/reporting-engine/pull/1193

https://github.com/OCA/web/pull/3312

https://github.com/OCA/web/pull/3367

https://github.com/OCA/account-invoicing/pull/2349

Other improvements

We proposed phone_format_option for Odoo 18.0, which lets you choose the format applied to contact phone numbers. Odoo always converts them to international format with the country code, which is not the notation people are used to where only domestic partners are registered.

We proposed mail_message_view for Odoo 16.0, which lists the chatter messages in a menu of their own. A history that mixes the messages people wrote with the ones the system logged can then be followed by searching, filtering and grouping. Tracked field changes are readable there too, summarised as text.

We proposed a fix for Odoo 18.0 to mrp_production_picking_type_from_route, which resolves the operation type of a manufacturing order from the route. It settles the case where an order created outside the form ends up with an operation type and a reference that disagree with the flow it actually followed.

portal_sale_order_website_filter was merged for Odoo 15.0. It limits the portal order list to the website the user is on, so that orders from another site stay out of view in a multi-website setup.

Reference:

https://github.com/OCA/partner-contact/pull/2422

https://github.com/OCA/mail/pull/247

https://github.com/OCA/manufacture/pull/1841

https://github.com/OCA/e-commerce/pull/1075

A note from the team


With Odoo 20.0 not far off, the 19.0 port of the summary invoice feature for Japan is not moving as fast as I would like, and it leaves me a little restless.

What it is waiting on is the upstream PR that ports account_billing to 19.0. It was approved back in May, and it has been sitting for months since. We have kept the code current with the changes upstream over that time. The migration work itself is all but finished on our side, but it is not in a form anyone can install from the OCA branch. Value that could be reaching people is not reaching them, and that is a waste.

Community work has a part you cannot move on your own judgement alone. Only maintainers and the PSC (Project Steering Committee) can merge a PR, which is the right arrangement for keeping the quality up, but it costs speed at times.

What we can do is take on more of the PSC role ourselves at Quartile, and drop the dependency on account_billing by bringing the feature into l10n-japan.

Summary invoicing is asked for often when Odoo is adopted in Japan. We want to deal with it early, talking it through with the community as we go.

If you like solving problems

If you want to use open source to move companies' DX forward for real,
why not do it at Quartile?

[August 2026] Odoo community activity and Quartile's contributions
Yoshi Tashiro (QRTL) September 2, 2026
Archive