Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
57 changes: 57 additions & 0 deletions l10n_jp_summary_invoice_stock_secondary_unit/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
====================================
Summary Invoice Stock Secondary Unit
====================================

..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:d45eb1afacbd9e81c81afb1531edcafcef0e2f5a41bebb54ea0e8d4023a2e918
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
:alt: Beta
.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-qrtl%2Fhls--custom-lightgray.png?logo=github
:target: https://github.com/qrtl/hls-custom/tree/18.0/l10n_jp_summary_invoice_stock_secondary_unit
:alt: qrtl/hls-custom

|badge1| |badge2| |badge3|

This module extends the summary invoice report to display stock
secondary unit quantities alongside the primary quantities in the
quantity column.

**Table of contents**

.. contents::
:local:

Bug Tracker
===========

Bugs are tracked on `GitHub Issues <https://github.com/qrtl/hls-custom/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
`feedback <https://github.com/qrtl/hls-custom/issues/new?body=module:%20l10n_jp_summary_invoice_stock_secondary_unit%0Aversion:%2018.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

Do not contact contributors directly about support or help with technical issues.

Credits
=======

Authors
-------

* Quartile

Maintainers
-----------

This module is part of the `qrtl/hls-custom <https://github.com/qrtl/hls-custom/tree/18.0/l10n_jp_summary_invoice_stock_secondary_unit>`_ project on GitHub.

You are welcome to contribute.
1 change: 1 addition & 0 deletions l10n_jp_summary_invoice_stock_secondary_unit/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from . import models
19 changes: 19 additions & 0 deletions l10n_jp_summary_invoice_stock_secondary_unit/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Copyright 2026 Quartile (https://www.quartile.co)
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
{
"name": "Summary Invoice Stock Secondary Unit",
"summary": "Display stock secondary unit quantities in summary invoices",
"version": "18.0.1.0.0",
"category": "Reporting",
"license": "AGPL-3",
"author": "Quartile",
"website": "https://www.quartile.co",
"depends": [
"l10n_jp_summary_invoice_secondary_unit",
"stock_secondary_unit",
],
"data": [
"report/report_summary_invoice_templates.xml",
],
"installable": True,
}
36 changes: 36 additions & 0 deletions l10n_jp_summary_invoice_stock_secondary_unit/i18n/ja.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * l10n_jp_summary_invoice_stock_secondary_unit
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 18.0+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-02-27 10:42+0000\n"
"PO-Revision-Date: 2026-02-27 10:42+0000\n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"

#. module: l10n_jp_summary_invoice_stock_secondary_unit
#: model:ir.model,name:l10n_jp_summary_invoice_stock_secondary_unit.model_account_move_line
msgid "Journal Item"
msgstr "仕訳明細"

#. module: l10n_jp_summary_invoice_stock_secondary_unit
#: model:ir.model.fields,field_description:l10n_jp_summary_invoice_stock_secondary_unit.field_account_move_line__stock_secondary_uom_id
msgid "Second unit for inventory"
msgstr "在庫副単位"

#. module: l10n_jp_summary_invoice_stock_secondary_unit
#: model:ir.model.fields,field_description:l10n_jp_summary_invoice_stock_secondary_unit.field_account_move_line__signed_stock_secondary_uom_qty
msgid "Signed Stock Secondary Uom Qty"
msgstr "符号付き在庫副単位数量"

#. module: l10n_jp_summary_invoice_stock_secondary_unit
#: model:ir.model.fields,field_description:l10n_jp_summary_invoice_stock_secondary_unit.field_account_move_line__stock_secondary_uom_qty
msgid "Stock Secondary Uom Qty"
msgstr "在庫副単位数量"
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from . import account_move_line
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# Copyright 2026 Quartile (https://www.quartile.co)
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).

from odoo import api, fields, models
from odoo.tools.float_utils import float_round


class AccountMoveLine(models.Model):
_inherit = "account.move.line"

stock_secondary_uom_id = fields.Many2one(
related="product_id.stock_secondary_uom_id",
)
stock_secondary_uom_qty = fields.Float(
compute="_compute_stock_secondary_uom_qty",
digits="Product Unit of Measure",
)
signed_stock_secondary_uom_qty = fields.Float(
compute="_compute_signed_stock_secondary_uom_qty",
digits="Product Unit of Measure",
)

@api.depends("quantity", "product_id")
def _compute_stock_secondary_uom_qty(self):
for line in self:
stock_uom = line.stock_secondary_uom_id
if not stock_uom:
line.stock_secondary_uom_qty = 0.0
continue
qty = line.quantity
uom_product = line.product_id.uom_id
if line.product_uom_id != uom_product:
qty = line.product_uom_id._compute_quantity(qty, uom_product)
line.stock_secondary_uom_qty = float_round(
qty / (stock_uom.factor or 1.0),
precision_rounding=stock_uom.uom_id.rounding,
)

@api.depends("stock_secondary_uom_qty", "move_type")
def _compute_signed_stock_secondary_uom_qty(self):
for line in self:
sign = -1 if line.move_type in ("out_refund", "in_refund") else 1
line.signed_stock_secondary_uom_qty = line.stock_secondary_uom_qty * sign
3 changes: 3 additions & 0 deletions l10n_jp_summary_invoice_stock_secondary_unit/pyproject.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[build-system]
requires = ["whool"]
build-backend = "whool.buildapi"
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
This module extends the summary invoice report to display stock secondary unit
quantities alongside the primary quantities in the quantity column.
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8" ?>
<odoo>
<template
id="bill_line_section_layout"
inherit_id="l10n_jp_summary_invoice.bill_line_section_layout"
>
<xpath expr="//td[@name='td_quantity']" position="inside">
<t t-if="line.stock_secondary_uom_id">
<br />
<span class="text-muted">
(<span t-field="line.signed_stock_secondary_uom_qty" />
<span
t-field="line.stock_secondary_uom_id.name"
groups="uom.group_uom"
/>)
</span>
</t>
</xpath>
</template>
</odoo>
Loading
Loading