| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Inventory (stock)
• Discuss (mail) |
| Lines of code | 222 |
| Technical Name |
picking_qty_total_by_uom |
| License | OPL-1 |
| Versions | 17.0 18.0 19.0 |
Picking Quantity Total by UoM
Instantly see total quantities grouped by unit of measure on every picking transfer — on the form view and on printed reports.
The problem
How many units are in this transfer — really?
When a stock transfer contains moves for multiple products with different units of measure, there is no quick way to know the total per UoM at a glance. Operators must manually add up quantities line by line — a slow, error-prone process when a picking contains dozens of lines.
The same problem appears on printed reports: the warehouse operator holding the paper has no summary telling them "12 kg, 6 pcs, 3 boxes" — they must count themselves.
Example
What the summary looks like
Multiple units of measure — summary grouped by UoM
Single unit of measure (Units) — single-line summary
Features
Everything you need, nothing you don't
Summary on the form view
A compact table appears below the stock move lines showing total Demand and total Quantity (done) for each unit of measure. Updated in real time as quantities change.
Transfer Operations report
Optionally add the UoM summary to the Transfer Operations report
(stock.report_picking) so warehouse operators always have the
totals on their printed document.
Delivery Slip report
Optionally add the same summary to the Delivery Slip report
(stock.report_deliveryslip) giving customers a clear view of
what was delivered and in which quantities.
Controlled by Inventory settings
Three checkboxes in Inventory → Configuration → Settings let you enable or disable the summary independently for the form view, the Transfer report, and the Delivery Slip report.
Cancelled moves excluded
Cancelled stock moves are automatically excluded from the totals. Only active moves (confirmed, partially done, done) are counted.
Performance-optimized
Settings are read once and cached for the entire report rendering pass. Printing a batch of 50 transfers triggers only 1 database query per setting instead of 50.
How it works
Simple, transparent, no side effects
The module adds a computed field to stock.picking that groups all
non-cancelled stock moves by their unit of measure, sums the demand and the done
quantities, and renders a lightweight HTML table directly in the form view.
Open a transfer
As soon as you open a stock transfer (receipt, delivery, internal move, or any other operation type), the summary table is computed automatically and displayed below the move lines — provided the setting is enabled.
Edit quantities
Change any demand or done quantity on a move line — the summary updates instantly, without saving. The table always reflects the current state of the form.
Print a report
When printing the Transfer Operations or Delivery Slip report, the UoM summary appears at the bottom of each document — but only if the corresponding setting is enabled in Inventory configuration.
Configure to your needs
Go to Inventory → Configuration → Settings → Picking Quantity Totals to turn each display location on or off independently. Changes take effect immediately, no module update required.
Printed reports
The summary on your documents
When enabled in settings, the quantity summary is automatically appended at the bottom of each printed document — giving warehouse operators and customers an instant overview without any manual counting.
Transfer Operations report — UoM summary at the bottom
Delivery Slip report — UoM summary at the bottom
Settings reference
Three independent settings
All settings are located under Inventory → Configuration → Settings → Picking Quantity Totals.
| Setting | Default | Effect |
|---|---|---|
| Display quantity on form view | Enabled | Shows the UoM summary table on the transfer form view |
| Display on Transfer operation report | Disabled | Adds the summary to the printed Transfer Operations report |
| Display on Delivery slip report | Disabled | Adds the summary to the printed Delivery Slip report |
Inventory settings — Picking Quantity Totals section
Frequently asked questions
FAQ
Does it work with all operation types?
Yes. The summary appears on any stock.picking record — receipts,
deliveries, internal transfers, manufacturing pickings, and any custom operation
type you have configured.
Are cancelled moves included in the totals?
No. Moves in the cancelled state are explicitly excluded. Only confirmed, partially done, and done moves are counted.
Does the module slow down the form view or reports?
No perceptible impact. The form view computation reuses the moves already loaded by the form. For reports, settings are read once and cached for the entire print job — printing 50 transfers triggers only 1 database query per setting.
Does it modify any existing data or views?
No existing data is modified. The module adds a computed field to
stock.picking and extends the form view and report templates using
standard Odoo inheritance. Uninstalling the module restores the original behavior
completely.
Can I use this module if I only have one unit of measure active in my database?
Yes, of course. In that case, the summary will display a single line with your unit of measure and the total quantity — which still gives you a clear at-a-glance total without having to add up every move line manually.
What happens if I disable a setting after the module is installed?
The change takes effect immediately — no module update needed. Disabling Display quantity on form view hides the table on all transfers at once. Re-enabling it makes it reappear instantly.
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module