How-toOdoo (Community and Enterprise)Manufacturing / Reporting

Odoo Manufacturing Reports: Production Analysis, Cost and Forecast

Question
odoo manufacturing report

Also searched as

  • odoo production report
  • odoo manufacturing forecast
  • odoo manufacturing order analysis
  • odoo mrp reporting custom report

Short answer

Odoo has a Reporting menu in the Manufacturing app with analysis views of manufacturing orders and work center productivity, plus forecasted stock views in Inventory. Cost analysis, OEE and a master production schedule depend on version and edition. For anything else, group and filter the manufacturing order list, use pivot and graph views, or build a custom report with a SQL view, Python model or Studio.

Applies to: Odoo 15 through 18, Community and Enterprise. Menu names and which reports exist vary by version and edition; check your own Reporting menu.

How to get the production report you need

  1. 1Open the Manufacturing app and go to Reporting. List the reports available in your edition, which typically include manufacturing order analysis and work center productivity.
  2. 2Switch between list, pivot and graph views, and use Filters and Group By (product, work center, responsible, month) to build the view you need.
  3. 3For component shortages and future needs, use the Inventory reporting forecast view or the product Forecasted report, which show on-hand, incoming and outgoing quantities over time.
  4. 4If your edition has a master production schedule, set a period and demand quantities per product to plan manufacturing and purchases together.
  5. 5Save useful combinations as Favorites so the filters persist.
  6. 6Export a pivot or list to a spreadsheet when stakeholders need it in Excel.
  7. 7For custom needs, build a SQL view model, a Studio report or a QWeb PDF, and test it against a standard report for matching totals.

Built-in views worth knowing

The manufacturing order analysis shows planned versus produced quantity, status, dates and responsible users, which is the starting point for on-time production questions. The work center productivity view shows time spent per work center and operation, split into productive and loss time, and is the basis for utilization and OEE style analysis.

Cost analysis and component consumption reports depend on valuation settings and, in some versions, on Accounting. If cost figures look wrong, the issue is usually product costing and valuation settings, not the report.

Forecasting demand and components

There are three levels. The Forecasted quantity per product shows expected stock by date from open sales, purchases and manufacturing orders. Reordering rules create replenishment automatically based on minimum and maximum levels. A master production schedule, where available, lets planners enter demand by period and generates manufacturing and purchase suggestions.

Forecast accuracy depends on clean data: correct lead times, accurate bills of materials, and confirmed rather than draft orders. A forecast built on draft quotes or missing routings is only as reliable as those inputs.

Custom reports with SQL

When filters cannot answer the question, query the database through a reporting replica rather than production. Manufacturing orders are stored in the mrp_production table and work orders in mrp_workorder. Always filter by company in multi-company setups.

For recurring needs, wrap the query as a SQL view model in a custom module so Odoo exposes it with pivot and graph views and access rules, instead of passing around ad hoc queries.

SELECT p.name AS mo, pt.name->>'en_US' AS product, p.product_qty,
       p.qty_produced, p.state, p.date_start, p.date_finished
FROM mrp_production p
JOIN product_product pp ON pp.id = p.product_id
JOIN product_template pt ON pt.id = pp.product_tmpl_id
WHERE p.company_id = 1
ORDER BY p.date_start DESC;

Studio, spreadsheets and dashboards

In Enterprise, Studio can add fields and custom views without code, and spreadsheet dashboards can pull pivots from Odoo data into a living sheet. Community users can reach similar results with custom modules or external BI tools connected to a replica.

Whichever route you choose, document which report is the source of truth for each KPI. Two dashboards disagreeing about output is more damaging than having no dashboard.

Try it here, free

Odoo Work Center Capacity Calculator

Open full tool

Work out how many units a work center can make per week and how loaded it is, using the same fields you enter in Odoo: capacity, time efficiency, OEE target, setup and cleanup.

Common pitfalls

  • !Trusting cost reports before fixing product costing and valuation settings.
  • !Forecasting from draft orders or missing lead times.
  • !Running heavy SQL on the production database during working hours.
  • !Building custom reports without matching them to a standard report.
  • !Assuming a Community install has the same reports as Enterprise.

How an ERP-grounded AI assistant handles this

Planners ask production questions in plain language, such as which manufacturing orders are late and which components caused it. An assistant grounded in your Odoo data can answer those with the underlying query visible, without anyone building a new report. Netray deploys it on-prem with an open-weight model, read-only by default.

Frequently asked questions

Where is the manufacturing report in Odoo?

In the Manufacturing app, open the Reporting menu. Common entries include manufacturing order analysis and work center productivity. Stock forecasting is under the Inventory reporting menu. Which entries appear depends on your Odoo version and whether you use Community or Enterprise.

How do I forecast production in Odoo?

Use forecasted quantities on products, reordering rules for automatic replenishment, and a master production schedule if your edition includes one. Keep lead times and bills of materials accurate, because forecasts are only as good as those inputs.

Can I export Odoo production data to Excel?

Yes. List and pivot views have export options. For large or recurring exports, build a saved pivot, a spreadsheet dashboard in Enterprise, or an automated extract against a reporting replica.

Why do production costs look wrong?

Check the product cost method, bill of materials costs, work center hourly costs and valuation settings first. Reports reflect those inputs, so correcting the setup usually fixes the numbers.

Related

How-to

Odoo Manufacturing Tutorial: From BOM to Finished Product

The Odoo Manufacturing app (MRP) turns a Bill of Materials into manufacturing orders that consume components and produce finished goods. The core flow is: create products, build a BOM, optionally add work centers and operations, create and confirm a manufacturing order, then produce and mark it done. This walkthrough covers the process end to end and what to verify on Odoo 19.

How-to

Odoo Reordering Rule Not Creating Manufacturing Orders: Causes and Fixes

Odoo creates a manufacturing order from a reordering rule only when the rule's forecast quantity falls below its minimum, the product has the Manufacture route with an active BoM, and the replenishment scheduler actually runs. Check the rule's route and warehouse, the product's forecast, the BoM, and the scheduler cron, in that order.

How-to

Odoo Manufacturing API: Working with mrp.production and mrp.bom

Odoo exposes manufacturing through its normal external API: the models mrp.bom (bills of materials), mrp.production (manufacturing orders) and mrp.workorder, called via XML-RPC or JSON-RPC with execute_kw. Authenticate, search and read the BOM, create a manufacturing order, then call its action methods such as action_confirm to move it through states. There is no separate manufacturing API.

How-to

Odoo Inventory Valuation Report Does Not Match the Balance Sheet

In Odoo with automated inventory valuation, the stock valuation report should equal the balance of the stock valuation account. Differences nearly always come from manual journal entries to that account, products with manual valuation, costing method changes, landed costs, negative stock, or vendor bills posted at a different price than the receipt.

How-to

How to Create a Generic Inquiry in Acumatica

Generic Inquiries (GI) are Acumatica's no-code query builder for joining tables, adding filters, and exposing the result as an inquiry screen, dashboard data source, or API endpoint. Open System > Customization > Generic Inquiry, add your base table, define joins and conditions, then run and save. No SQL or customization project is required.

Error fix

Fix Odoo AccessError: You Are Not Allowed to Access Records

Odoo raises AccessError when a user's security groups do not grant a CRUD right on a model through ir.model.access.csv, or when an ir.rule record rule filters the specific record out for that user or company. Fix it by adding the user to the group named in the error, editing the model's access rights, or reviewing the record rule's domain under Settings > Technical > Security.

AI for ERP

AI for Odoo Manufacturing That Reads Your Own Database, Not a Vendor's Cloud

Add grounded, natural-language AI to Odoo Manufacturing without sending MRP, BoM, or work order data to a public model. On-prem or private cloud, ORM-native.

Stuck on Odoo (Community and Enterprise)?

Talk to engineers who work inside Odoo (Community and Enterprise) every week, and who build private AI that answers these questions from your own ERP data.

Keep exploring

Free tools

ERP fixes and how-tos

AI on your ERP

Integrations

Software