diff --git a/stock_report_quantity_by_location/wizards/stock_report_quantity_by_location.py b/stock_report_quantity_by_location/wizards/stock_report_quantity_by_location.py
index 0ff0636..67dce1f 100644
--- a/stock_report_quantity_by_location/wizards/stock_report_quantity_by_location.py
+++ b/stock_report_quantity_by_location/wizards/stock_report_quantity_by_location.py
@@ -10,6 +10,12 @@ class StockReportByLocationPrepare(models.TransientModel):
location_ids = fields.Many2many(
comodel_name="stock.location", string="Locations", required=True
)
+ availability = fields.Selection(
+ string="Availability",
+ selection=[("on_hand", "On Hand"), ("unreserved", "Unreserved")],
+ default="on_hand",
+ help="Unreserved is the Stock On Hand minus the reservations",
+ )
with_quantity = fields.Boolean(
string="Quantity > 0",
default=True,
@@ -39,13 +45,20 @@ class StockReportByLocationPrepare(models.TransientModel):
for loc in self.location_ids:
quant_groups = self.env["stock.quant"].read_group(
[("location_id", "child_of", [loc.id])],
- ["quantity", "product_id"],
+ ["quantity", "reserved_quantity", "product_id"],
["product_id"],
)
- mapping = {
- quant_group["product_id"][0]: quant_group["quantity"]
- for quant_group in quant_groups
- }
+ if self.availability == "on_hand":
+ mapping = {
+ quant_group["product_id"][0]: quant_group["quantity"]
+ for quant_group in quant_groups
+ }
+ else:
+ mapping = {
+ quant_group["product_id"][0]: quant_group["quantity"]
+ - quant_group["reserved_quantity"]
+ for quant_group in quant_groups
+ }
products = self.env["product.product"].search([("type", "=", "product")])
vals_list = []
for product in products:
diff --git a/stock_report_quantity_by_location/wizards/stock_report_quantity_by_location_views.xml b/stock_report_quantity_by_location/wizards/stock_report_quantity_by_location_views.xml
index 93dc189..8b26121 100644
--- a/stock_report_quantity_by_location/wizards/stock_report_quantity_by_location_views.xml
+++ b/stock_report_quantity_by_location/wizards/stock_report_quantity_by_location_views.xml
@@ -14,6 +14,7 @@ License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
+