What manufacturing accounting actually is
Manufacturing accounting is cost accounting for people who make things. Its central job is to answer one question with enough rigor to stand up in an audit and a pricing meeting: what did this unit cost to produce? That number is never a single invoice. It is the sum of direct materials consumed, the direct labor spent building it, and a share of the overhead, the electricity, depreciation, supervision, and factory rent, that cannot be traced to any single unit but has to be spread across everything the plant produced. Getting that allocation right is the difference between a margin you can trust and a margin that is quietly wrong on every line.
The mechanics rest on a bill of materials (BOM) and, usually, a routing. The BOM lists the components and quantities that go into a finished good, and for a product built from sub-assemblies that BOM is multi-level, so the cost of the parent is a rollup of the cost of its children. The routing lists the work-center operations and their times, which is how labor and machine overhead attach to the product. When a factory reports that a widget costs a certain amount, it is really reporting the result of a cost rollup through that BOM plus the absorbed cost from the routing. Manufacturing accounting is the framework that keeps all of those pieces consistent, period over period, so the finished-goods value on the balance sheet and the cost of goods sold on the income statement both tie back to real production activity.
- Direct materials: the components consumed, valued through the BOM.
- Direct labor: operator time from the routing, at a labor rate.
- Overhead: indirect factory cost absorbed onto units by a chosen driver.
- The output: a unit cost that feeds inventory valuation, COGS, and pricing.
Why it is harder than regular bookkeeping
A service business or a reseller lives in a comparatively simple world: cash comes in, invoices go out, and the cost of a thing is what you paid for it. Manufacturing breaks that simplicity in several places at once. The first is work in process (WIP). At any moment a factory has value sitting on the floor that is neither raw material nor finished good, it is partially converted. That WIP has to be measured and carried on the balance sheet, because materials have been issued and labor has been spent but no sellable unit exists yet. Get WIP wrong and both your inventory and your margins are misstated until the job closes.
The second complication is the gap between standard and actual cost. Many manufacturers set a standard cost, an expected cost per unit used for planning and pricing, then discover that the real world charged them something different: the steel price moved, a run scrapped more than expected, a machine ran slow. The difference is a variance, and manufacturing accounting has to isolate variances by type, price versus quantity on materials, rate versus efficiency on labor, so the business learns whether a bad month came from purchasing, the floor, or the plan itself. On top of that sit landed cost, the freight, duty, and insurance that belong in the value of imported materials but arrive on separate invoices weeks later, and overhead absorption, which is never perfectly accurate and leaves an over- or under-absorbed balance to clear at period end. None of these exist for a business that only buys and resells. All of them are routine for a manufacturer, and all of them touch the ledger.
- WIP: value stranded mid-production that still has to be tracked and carried.
- Standard vs actual: a planned cost that reality rarely matches exactly.
- Variances: the differences, split into causes you can actually act on.
- Landed cost: freight and duty that belong in material value but arrive late.
- Overhead absorption: a spread that is close, never exact, and clears at close.
The costing methods, and when each one fits
Before you can post anything, you have to decide how a unit leaving stock is valued. This is the inventory valuation method, and it also decides whether you value inventory perpetually or periodically. A perpetual system revalues stock and posts cost moves on every transaction, so the ledger is always current; a periodic system only trues up at period end from a physical count, which is simpler but leaves you blind between counts. Modern manufacturers running an ERP almost always want perpetual valuation, because it is what makes real-time margin and automatic ledger posting possible. Within perpetual valuation, three costing methods dominate, and Odoo supports all three at the product-category level so different parts of the catalog can use different methods.
| Costing method | How units are valued | When it fits best |
|---|---|---|
| FIFO (first in, first out) | Oldest cost layers leave stock first, so COGS reflects the earliest purchase prices and remaining inventory holds the most recent | Perishable or dated goods, rising-cost environments, and anywhere you want inventory on the balance sheet to sit near current replacement cost |
| AVCO (average cost) | Every receipt reaverages the on-hand cost, so each issue leaves at the current weighted average | Interchangeable, commoditized materials with frequent receipts, where tracking individual cost layers adds effort without adding insight |
| Standard cost | Units move at a fixed, pre-set cost; every real cost that differs posts to a variance account instead of moving the unit value | Stable, repetitive production where you want clean planning numbers and variance visibility, and are willing to maintain and periodically revise the standards |
The choice is not merely academic; it changes the numbers on your statements. In a period of rising prices, FIFO reports lower COGS and higher inventory than AVCO, and standard cost reports neither until you analyze the variances. There is no universally correct answer, only a correct answer for a given product and a given business, which is exactly why Odoo lets you set it per product category rather than forcing one method on the whole company. Our deeper treatment of the trade-offs, including how landed cost interacts with each method, lives in the companion article on Odoo inventory valuation: FIFO, AVCO, standard, and landed costs.
How Odoo connects MRP to the general ledger
The core problem in most manufacturing finance departments is not that the math is impossible; it is that the shop floor and the ledger live in two different systems that someone has to reconcile by hand. Production is tracked in a spreadsheet or an MRP tool, and then, days or weeks later, someone re-keys the results into the accounting system as journal entries. Every re-key is a lag and a chance to be wrong. Odoo removes that seam because MRP and accounting are the same database. When you enable Anglo-Saxon accounting with automated inventory valuation, stock movements and cost postings are generated by the operational events themselves, not typed in afterward.
Follow one manufacturing order through the system. When components are consumed, Odoo credits the raw-material stock account and moves that value into a WIP or production account, so the value on the floor is visible in the ledger in real time rather than reconstructed later. As work-center operations are logged, labor and machine overhead absorb onto the order according to the work-center cost you configured. When the manufacturing order is marked done, Odoo values the finished good by rolling up the BOM and the absorbed conversion cost, debits finished-goods inventory, and clears the production account. If you run standard costing, any difference between the standard and what the order actually consumed lands in a variance account automatically. Later, when that finished good ships and is invoiced, the sale posts revenue and the matching cost of goods sold in the same transaction. At no point does anyone hand-type an inventory journal, and the finished-goods balance always ties to physical stock because the same document created both the stock move and the accounting entry.
This is the practical meaning of unifying the floor and the ledger: the operational record and the financial record cannot drift apart, because they are produced together. If you want the operational side of that story, our overview of Odoo for manufacturing covers the MRP, work-order, and quality features, and the broader manufacturing ERP page frames where accounting sits inside a full plant deployment.
See how Odoo runs the shop floor →Month-end close for manufacturers
A manufacturer's close is heavier than a service firm's because there is more to reconcile, but automated valuation removes most of the manual reconstruction. The recurring work centers on a handful of items. First, WIP: confirm that open manufacturing orders carry a WIP balance that matches the materials and labor actually issued to them, so nothing sellable is still sitting in production and nothing finished is still stuck in WIP. Second, variances: review the price, quantity, and efficiency variances that accumulated during the month, decide which are noise and which signal a real problem, and clear the balances into cost of goods sold or capitalize them into inventory as your policy dictates.
Third, overhead absorption: because absorption rates are estimates, the period almost always ends over- or under-absorbed, and that balance has to be cleared so the ledger reflects real overhead spent. Fourth, landed cost: post the freight and duty bills that arrived after the goods, so the material value on the books includes the true cost of getting it to the dock. Finally, reconcile the inventory subledger to the general ledger control accounts and confirm the physical count, or cycle count, agrees with the perpetual quantity on hand. Because Odoo has been posting cost moves throughout the month, most of these steps are verification rather than data entry, which is what shortens a manufacturing close from a scramble into a checklist. If you are scoping how much of this a partner should own versus your internal team, our ERP consulting practice designs the valuation setup and the close process together, and you can model the full cost of running it with our total cost of ownership calculator.
- Reconcile WIP on open orders to materials and labor actually issued.
- Review and clear material, labor, and efficiency variances.
- Clear the over- or under-absorbed overhead balance.
- Post late landed-cost bills into material value.
- Tie the inventory subledger to the GL and confirm the count.
Frequently asked questions
What is manufacturing accounting?
Manufacturing accounting is the branch of cost accounting that builds a defensible unit cost for goods a company produces rather than buys. It combines direct materials from the bill of materials, direct labor from the routing, and an allocated share of factory overhead, then tracks that value through raw material, work in process, and finished goods so inventory on the balance sheet and cost of goods sold on the income statement both tie back to real production activity.
What is the difference between standard cost and actual cost?
Standard cost is a fixed, pre-set expectation of what a unit should cost, used for planning and pricing. Actual cost is what production really consumed in materials, labor, and overhead. The difference between them is a variance. Manufacturing accounting isolates variances by cause, price versus quantity on materials and rate versus efficiency on labor, so the business can tell whether a bad result came from purchasing, the shop floor, or an outdated standard. In Odoo standard costing, those variances post to dedicated accounts automatically.
What is the difference between perpetual and periodic inventory?
A perpetual system updates inventory value and posts cost of goods sold on every transaction, so the ledger is always current and margins are visible in real time. A periodic system only updates at period end from a physical count, which is simpler but leaves the books stale between counts. Manufacturers running an ERP normally choose perpetual valuation, because it is what allows a completed manufacturing order to post its own inventory and cost entries without anyone re-keying journals.
Does Odoo post accounting entries automatically when a manufacturing order is done?
Yes, when automated inventory valuation is enabled. As components are consumed, Odoo moves their value into a production or WIP account; as operations are logged, conversion cost absorbs onto the order; and when the order is completed, Odoo values the finished good, debits finished-goods inventory, and clears production, with any standard-cost difference posting to a variance account. The same document creates both the stock move and the journal entry, so the operational and financial records cannot drift apart.