Manufacturing ERP for windows & doors - costing and margin at quote time
One ERP for the whole production cycle of a windows & doors workshop - from the quote, through the costing of every window, to the real cost by operation and the traceability of every lot. If you manufacture windows, furniture or metal products to a bill of materials, this guide shows what cost control looks like in practice.
The numbers below come from a real demo order (site "Residential building - Ruse", order S00028), not a polished slide. Everything runs on Odoo 18 Community + OCA: PLANA Pulse adds a thin layer only where it is needed (localised documents, reports), so the data and the logic stay entirely yours - an open, universal stack with no vendor lock-in and no closed-platform trap.
Manufacturing margin - at quote time, not weeks after installation
- Profit is visible the moment you quote. The order shows the margin per line and in total - here EUR 1,620 / 30% - while the deal is still being negotiated, not after it closes.
- Mixed lines on one site. PVC windows, aluminium windows, installation and transport sit in one order with a total of EUR 6,460.82 and a clear breakdown of base, VAT and margin.
- A real basis for the margin. Margin is calculated against the cost from the bill of materials (see below), not against a rough markup - so the number holds up in front of both the customer and the owner.
Modules: sale_management + sale_margin, price lists, l10n_bg.

Cost of a window - full costing of material and labour
- Full material breakdown. Frame and sash profiles, glazing unit, reinforcement, hardware, gasket and fasteners - each with quantity, availability and cost. For this window the material comes to about EUR 167.
- Labour by operation. Cutting, reinforcing and welding, corner cleaning and hardware, glazing and quality control - each operation with time and cost, EUR 26 of planned labour in total.
- Cost = EUR 193.43. Material plus labour give the full planned cost of one window - the same figure the quote's margin is calculated against.
- Change a profile price and everything recalculates itself. No manual Excel tables that quietly go stale.
Modules: mrp (bills of materials and operations), work centres with an hourly cost, stock_account for material valuation.

The BoM Overview (full item costing) assembles material and labour into a single figure - without keeping a separate table in your head or in Excel.
Plan vs real cost - where profit leaks while the job runs
- Real cost is visible as you go. For the manufactured batch the system shows plan vs actual for every component and every operation - not at month end, but immediately.
- Problem operations turn red. Welding this batch took longer than planned and the operation is flagged visually - the real unit cost comes to EUR 195.21 against EUR 193.42 planned. The gap is entirely in the welding labour.
- Exactly those "invisible" minutes are the difference between a profitable job and a break-even one - and here they are visible while you can still react.
Modules: mrp + mrp_account (cost analysis), real valuation of material moves.

The MO Overview (manufacturing order overview) puts plan and actual side by side - exactly where profit usually leaks unnoticed.
Want to see your own numbers like this? Request a demo ↗ and we will walk through a real order of yours step by step.
Lot traceability - on a complaint, in seconds
- From lot to site and back. On a glazing-unit complaint you immediately see which manufacturing orders (which windows) lot STP-2026-0714 went into, and on which site.
- Full movement of quantities. 25 m² received into stock, of which 10.85 m² consumed by the order for the Ruse site - every move with a date, direction (stock ↔ production) and quantity.
- No digging through folders. The traceability report gives the whole chain at once, instead of manually matching receipts, production and dispatch.
Modules: stock lots/serial numbers + traceability report.

Built on open technology
| Capability | Based on |
|---|---|
| Margin per line and in total on the quote | sale_management + sale_margin |
| Window costing (material + labour) | mrp bills of materials and operations |
| Work centres with an hourly cost | mrp + work centres |
| Material valuation and cost | stock_account |
| Plan vs real cost | mrp + mrp_account |
| Lot traceability | stock lots + traceability report |
| Bulgarian documents | OCA l10n_bg* + PLANA reporting layer |
PLANA Pulse is Odoo 18 Community + OCA with a thin, transparent PLANA layer - the capabilities above are standard, maintainable and remain yours. The manufacturing module connects naturally to PLANA Business Cloud (ERP) and to wholesale and distribution, with BOS - the AI surface sitting on top of it all.
Frequently asked questions
Can the system calculate the cost of a manufactured item? Yes. With the manufacturing module (mrp) the system builds a full costing of every item - materials from the bill of materials plus labour by operation at an hourly rate. For the window in this guide the cost comes to EUR 193.43. Change a component price and everything recalculates automatically.
What is the difference between planned and real cost? Planned cost comes from the bill of materials before production; real cost is formed from the materials actually consumed and the minutes actually worked. PLANA Pulse shows the two side by side and flags in red the operations over plan - here welding pushes the real cost to EUR 195.21 against EUR 193.42 planned.
How is a lot traced on a complaint? The traceability report shows in seconds which manufacturing orders and which site a given lot went into, with dates and quantities for every move. On a glazing-unit complaint you immediately see which windows and which customer are affected.
What kind of manufacturing is PLANA Pulse suitable for? Discrete manufacturing by bill of materials and operations - windows & doors (PVC and aluminium), furniture, metal products and similar workshops that build items from components and want to track cost and margin per job.
How much does a manufacturing ERP implementation cost? It depends on the number of seats, the modules and the volume of data migration. Because PLANA Pulse runs on Odoo 18 Community + OCA, the core licence cost is gone; you pay for implementation and support. For a quote on your case, request a demo ↗.