Project Costing Guide 12 min read

Bill of Resources (BOR) explained — the project-side BOM

A Bill of Materials tells you what a product is made of. A Bill of Resources tells you what it will take to complete a project task — material, labour and machine — and at what cost. Here is how the header, process and resource structure works, and why every project business needs it.

Vidya Kathare · July 18, 2026 12 min read BOR vs BOM
The three levels of a task BOR
01
Task header
Task quantity and unit for the work
Header
02
Processes
Operations and parameters within the task
Process
03
Material lines
Items consumed, quantity & rate
Resource
04
Labour lines
Crews and trades priced by rate
Resource
05
Machine & tool lines
Equipment with rate and hours
Resource
06
Rolled-up cost
Quantity × rate to an estimate
Costed

What a Bill of Resources actually is

A Bill of Resources (BOR) is the per-task plan of everything a project task will consume to be completed — the material it eats, the labour it needs, and the machines and tools it runs — with a quantity and a rate against every line. Where a project is broken into a Work Breakdown Structure of tasks, the BOR is what sits underneath each task and answers the question a costing team actually lives with: what will this piece of work take, and what will it cost?

It is the project-side analogue of a Bill of Materials, but broader and built for one-off work. A repetitive factory can lean on a fixed BOM and routing that rarely change. A project is bespoke by definition, so its resource plan has to be authored explicitly, task by task, from a shared resource master of priced machines, labour categories and tools. Get that plan right and the whole project is costable, schedulable and billable; skip it and the project exists only as a quotation and a hope.

The core idea
A Bill of Materials answers “what is the product made of?” A Bill of Resources answers “what will it take to complete this task — material, people and machines — and at what cost?”
That single shift — from listing components to planning consumption — is what turns a task from a name on a Gantt bar into a number you can estimate against a budget and later bill a customer for.

BOR vs BOM — the difference that matters

The two are cousins, and confusing them is the single most common mistake when a manufacturer first tries to run projects. A BOM is a product structure; a BOR is a work structure. The table below lays the difference out.

AspectBill of Materials (BOM)Bill of Resources (BOR)
AnswersWhat is the product made of?What will it take to complete this task?
Scope of a lineMaterials and sub-assemblies onlyMaterial plus labour, machine and tool
Keyed toAn item / product codeA project and a task code
Stable or bespokeReused across a catalogue runAuthored fresh for each one-off task
Priced fromItem master ratesA resource master — rates, hours, efficiency
FeedsProduction work ordersCost estimation and project billing

The practical consequence is huge. A machine or a crane is invisible to a BOM — it is not part of the product — but it is often the biggest line in a BOR. If your estimate ignores the machine-hours and the labour a task consumes, it is not an estimate at all; it is a materials list with a margin bolted on. The BOR exists precisely so that the people and the plant are costed alongside the steel. For the broader picture of where this fits, see the pillar guide on what project management software is.

The header, process and resource structure

A serious BOR is not a flat list; it is a three-level structure, because real work has operations inside it and resources inside those. Each task carries its own BOR built from three tiers.

1. Header

The task’s overall quantity and unit — how much of the work this BOR is for (for example, 4 skid frames, or 12 tonnes of structure). Everything below scales from it.

Task quantity & unit

2. Process

The operations or parameters within the task — cutting, welding, machining, testing — each with its own parameter quantity and unit, so the work is broken into the steps that actually consume resources.

Operations & parameters

3. Resource

The actual material, labour, machine and tool lines — arranged in a hierarchy — each with a resource group, a quantity per parent and a rate. This is where the plan becomes a number.

Material / labour / machine

The resource level is the heart of it. Every line names a resource group and a resource, carries a quantity per parent and a rate, and sits in a parent-child tree so a sub-assembly’s resources roll up into the assembly above it. Because each resource line is drawn from the shared resource master, its rate, working hours and efficiency are held once and reused everywhere — change a labour rate in the master and every open BOR that uses it can be re-costed, rather than editing dozens of spreadsheets. You can also assign a named user to a BOR node, so effort and cost are owned by a person, not left anonymous.

A Bill of Resources is the moment a project stops being a promise and becomes a plan you can cost. Every line is a quantity times a rate; add them up and you have an estimate you can defend, not a guess you have to hope holds.

How a BOR becomes a cost

Because every resource line is priced, the BOR is not merely a plan — it is a cost waiting to be totalled. Cost estimation multiplies each line’s quantity by its rate, rolls those up to a task cost, and rolls the tasks up to an estimated project cost that can be compared to the project budget before a single hour is booked. A BOR-cost breakdown then shows where the money sits — which resource, which task — so an expensive task is visible in the plan rather than discovered in the accounts.

The same structure carries the estimate through execution. As real material is issued and real labour and machine time are booked against the task, the planned BOR becomes actual consumption, and estimated-versus-actual stays live. That is the subject of two sibling guides: project cost estimation for building the estimate, and budget vs actual tracking for watching it hold.

See a task priced by its Bill of Resources

We can show you a live task — header, processes and material, labour and machine lines priced from a resource master, rolled up to an estimate against budget — in 30 minutes on your own job.

Get a demo

A worked fabrication example

Take a fabrication shop building a bespoke skid package to a customer’s drawings. The order is opened as a project and broken into a WBS: design, cutting, welding, assembly, testing and dispatch. The welding task gets its own BOR.

  • Header — the welding task covers 12 fabricated joints on 4 skid frames; that quantity and unit anchor the BOR.
  • Process — within it, MIG welding and grinding are the operations, each with a parameter quantity (weld length, passes) that drives consumption.
  • Resource — material — welding wire and gas from the item master, each at a quantity and an INR rate.
  • Resource — labour — welder and helper man-hours, priced by their rate in the resource master.
  • Resource — machine — the welding set and grinder machine-hours, each with its own rate.

Multiply each line out, add them up, and the welding task has a cost. Do the same for cutting, assembly and testing, roll the tasks up, and the shop has an estimated project cost for the skid package — in rupees, checkable against the budget it quoted — before a plate is cut. Because it all rides one engine keyed to the project and task, the estimate, the material issued during the job, and the milestone bill raised at the end all trace back to the same BOR lines. Indicative INR figures are exactly that; confirm rates with your own costing team and your CA.

Illustrative — engineer-to-order fabrication

One structure, three uses

The same Bill of Resources that plans the welding task is used three times over its life: first to estimate the cost against budget, then to drive material issue and labour booking as work proceeds, and finally to bill the customer by resource or milestone. Because none of that is re-keyed — it is one set of task-keyed records — a bill can be traced back to the exact resources behind it, which is what makes a project claim defensible rather than arguable.

3
levels — header, process, resource
4
resource types — material, labour, machine, tool
1
shared resource & item master

Why generic project tools do not have one

Most well-known project apps are descended from software task lists. They can schedule tasks and show a Gantt, but they have no concept of a resource master with rates, no material lines, and no way to roll a task’s consumption up to a cost — because they were never built to run a shop floor. A BOR needs three things a generic tool lacks: a priced resource pool, a per-task consumption plan, and a link to real inventory so the plan can become actual cost. That is why a Bill of Resources is a genuine differentiator, not a checkbox: it is the feature that separates project software built for people who build things from a to-do app with a timeline view.

It is also the bridge between the two halves of a project business. Scheduling says when a task runs; the BOR says what it takes and what it costs; and procurement and stores turn that plan into real material issued against the task. Without the BOR in the middle, those two halves never meet.

How Fast Project Software implements the BOR

Fast Project Software, built by Improsys in Pune on the shared Fast Suite platform, implements the Bill of Resources exactly as described — a per-task header, process and resource structure, with resource lines drawn from a priced resource master and arranged in a parent-child hierarchy.

1
Build the BOR per task. Add the task header quantity and unit, the processes within it, and the material, labour and machine lines — each with a quantity and a rate — in the Bill of Resources & Costing module.
2
Price from the resource master. Every line pulls its rate, working hours and efficiency from the shared resource master, so costs are consistent and re-costable across every project.
3
Roll up to an estimate. Cost estimation totals quantity × rate to a task and project cost, compared against the project budget, with a BOR-cost breakdown by resource.
4
Carry it through to billing. The same task-keyed resources feed project and milestone bills, so a bill line traces straight back to the BOR that planned it.

The result is that a project’s plan, cost and bill are one connected chain rather than three disconnected spreadsheets — as proven in live deployments serving engineer-to-order manufacturers and fabrication and job-work shops. Pricing is indicative and in INR; see pricing.

Frequently asked questions

What is a Bill of Resources (BOR)?

A Bill of Resources is the per-task plan of everything a project task will consume to be completed — its material, labour, machine and tool lines, each with a quantity and a rate drawn from a resource master. It is structured in three levels: a header for the task quantity and unit, the processes or operations within the task, and the actual resource lines. Because every line is priced, the BOR is not just a plan but a cost that rolls up to an estimated task and project cost.

What is the difference between a BOR and a BOM?

A Bill of Materials (BOM) is a product structure that lists what a product is made of — materials and sub-assemblies only. A Bill of Resources (BOR) is a work structure that lists what it will take to complete a task — material plus labour, machine and tool — keyed to a project and task rather than an item code. A BOM is reused across a catalogue run; a BOR is authored fresh for each one-off task and feeds cost estimation and project billing, including the machine and labour costs a BOM ignores.

What are the three levels of a task BOR?

A task BOR has a header, a process level and a resource level. The header holds the task quantity and unit. The process level holds the operations or parameters within the task, each with a parameter quantity and unit. The resource level holds the actual material, labour, machine and tool lines in a parent-child hierarchy, each with a resource group, a quantity per parent and a rate. The resource level is where the plan becomes a cost.

How does a Bill of Resources become a project cost?

Cost estimation multiplies each resource line's quantity by its rate, rolls those up to a task cost, and rolls the tasks up to an estimated project cost that can be compared to the project budget before work starts. As real material is issued and real labour and machine time are booked against the task, the planned BOR becomes actual consumption, so the same structure carries estimated-versus-actual through execution.

Why do generic project management tools not have a BOR?

Most generic project tools grew out of task lists and were never built to run a shop floor. A Bill of Resources needs a priced resource master, a per-task consumption plan and a link to real inventory so the plan can become actual cost — none of which a to-do app with a Gantt view has. That is why a BOR is a genuine differentiator for project software aimed at businesses that build things to order, such as engineer-to-order manufacturers, fabrication shops and EPC firms.

Ready to cost your projects by their Bill of Resources?

A 30-minute Fast Project Software demo covers the per-task BOR — header, process and resource lines priced from a resource master — cost estimation against budget, and how it carries through to milestone billing, live on your own project.

Get a demo
No commitment. No slides. Your project on screen. Cloud or on-premise.