One report. Every variation that matters.

Combine inventory-location stock variation with customer and sales variation in a single, filterable report — opening vs closing quantities, sales pipeline aggregation, and export-ready output for period-close reviews and audits.

The problem

Stock counts do not match expectations, and finding out why means jumping between valuation reports, move logs, and sale orders. Native Odoo reporting shows point-in-time numbers, not a clean opening-vs-closing-vs- variation view — so every period close turns into a manual reconciliation exercise across multiple screens.

The solution

One wizard filters by date range, location, product category, customer, and order status, then computes stock variation and sales variation side by side. Zero-change rows are hidden by default, so the report you see is the report you need — ready to print, export, or schedule.

Capabilities

Everything you need to explain a variation

Every capability below is implemented in the module.

01

Unified Filter Panel

Set date range, report scope, product categories, locations, customers, customer tags, and order status from a single screen — no more juggling separate tools for stock and sales.

02

Combined Stock + Sales Variation

Generate inventory-location variation and customer/sales variation in one report, so you see what changed in stock and who drove it without reconciling two exports by hand.

03

Opening vs Closing by Location

See opening quantity, closing quantity, and net variation for every product at every internal location, with color-coded increases and decreases at a glance.

04

Customer & Sales Variation

Track quantity ordered, quantity delivered, order count, and order value by product and customer, filtered by draft, sent, or confirmed order status.

05

Suppress Zero-Variance Rows

Unchanged products are hidden by default, so the report opens straight to the movement that actually matters — no scrolling past rows with nothing to report.

06

Multi-Format Export

Print a ready-to-share PDF, or export to CSV or Excel for further analysis — the same underlying data, in whichever format the moment calls for.

07

Bulk Customer Group Tagging

Tag multiple customers with a group in one action directly from the Contacts list, so segment-level filtering is ready before you ever open the report.

08

Scheduled Email Delivery

Configure a recurring schedule and the report is generated and emailed as an Excel attachment automatically — no need to remember to run it at period close.

09

Role-Based Access Control

User and Manager groups keep report access and schedule configuration limited to the people who should see stock and customer variation data.

Workflow

How it works

1

Set Your Filters

Choose the date range, report scope, and any category, location, customer, or status filters you need.

2

Generate the Report

One click computes opening, closing, and net variation for stock, plus ordered and delivered quantities for sales.

3

Review the Results

Scan the Stock and Sales tabs, with variation increases and decreases color-coded for a fast read.

4

Export or Automate

Print a PDF, export to CSV or Excel, or set up a schedule to have the report emailed automatically.

Questions

Frequently asked

No sales fog. If your question isn't here, email us and we'll answer it the same way.

Odoo's native reports focus on point-in-time valuation and individual move history. This report frames the data as variation — opening vs closing vs net change — by location and by customer, in one filtered view, instead of requiring you to assemble that picture manually.

Get the app

Buy it on the Odoo App Store

Purchase, download and install directly from the official Odoo Apps Store — you'll always get the latest supported build.

Stock Variation Report

Opening, closing and variation by location alongside customer and sales variation under one filter panel — zero-variance rows suppressed, exported in several formats or emailed on a schedule.

Buy on Odoo App Store