Concrete m3 to Tonnes for Scope 3: When to Convert and When Not To
Your docket says 42 m3 of N32 and your factor is per tonne. Most of the time you should not convert at all. Use the supplier's per-m3 EPD factor directly. When you must convert, take the density from that same EPD. Worked example and real Australian EPD densities inside.
The batch plant docket says "42 m3 N32". Your emission factor is in kg CO2-e per tonne. So you need concrete m3 to tonnes for Scope 3 Category 1.
Here is the short answer. Usually, don't convert. Australian ready-mix EPDs declare their results per cubic metre, so 42 m3 times the supplier's per-m3 figure is your number. If you genuinely must work in tonnes, take the density from the same EPD as the factor. Real Australian EPDs put normal-weight structural concrete at roughly 2,170 to 2,380 kg per m3.
The rest of this post shows why, with every number traced to a published declaration.
What the EPDs actually say concrete weighs
We pulled densities only from declarations that state them. Two suppliers' EPDs on EPD Australasia give a clean answer.
Holcim's project-specific EPD for the Sydney Metro Western Harbour Tunnel mix (EPD-IES-0029652:001, valid to April 2031) covers one N32 mix. It states a weight of 2,383 kg per cubic metre. It reports GWP-Total of 181 kg CO2-e per m3 for modules A1-A3.
Hanson's set of EPDs for 31 Duncan St, Brisbane (published October 2023, valid to October 2028) is more useful. It covers fifteen pump and reduced-line mixes, each with its own stated density. Nine are 40 MPa.
| Hanson 40 MPa mix (registration) | Density, kg/m3 | GWP-tot A1-A3, kg CO2-e/m3 | Implied kg CO2-e/t |
|---|---|---|---|
| S-P-10245 | 2,169.1 | 204 | 94.0 |
| S-P-10242 | 2,336.1 | 207 | 88.6 |
| S-P-10215 | 2,322.8 | 257 | 110.6 |
| S-P-10241 | 2,350.0 | 261 | 111.1 |
| S-P-10208 | 2,308.9 | 263 | 113.9 |
| S-P-10240 | 2,348.1 | 290 | 123.5 |
| S-P-10244 | 2,360.9 | 297 | 125.8 |
| S-P-10243 | 2,323.6 | 322 | 138.6 |
| S-P-10216 | 2,238.9 | 363 | 162.1 |
The last column is our arithmetic: the per-m3 figure divided by the stated density. The rest is copied from the declarations.
Density moves about 9% across the nine mixes. Carbon per cubic metre moves about 78%, at the same strength grade, on the same project, from the same supplier.
So density is the small, stable number and the mix is the big, volatile one. Density doesn't predict carbon either. The lightest mix, S-P-10245, is near the bottom on carbon. The highest-carbon mix, S-P-10216, is the second lightest.
Hanson also states general purpose cement content per mix. It runs from 184 kg per m3 in S-P-10245 to 372 kg in S-P-10216. That binder difference drives the carbon. Weight barely notices it.
Why you usually shouldn't convert at all
Both suppliers declare results per cubic metre. Boral's Tasmanian pre-mix EPD says it outright: the declared unit is one cubic metre of pre-mix concrete as ordered by the client. Your docket is also in cubic metres. The units already match.
Converting to tonnes adds a step and a source of error, and no new information. It also invites you to swap the mix-specific per-m3 figure for a generic per-tonne one.
A generic per-tonne concrete factor is just some other mix's carbon divided by some other mix's density. You lose the supplier's binder data, which is the only part that varies much. We think of this as double-handling the mix data: you take it out with one conversion and put a stranger's version back in with the factor.
The concrete factors post covers how to pick the right per-m3 declaration for a grade and plant. This post assumes you have one.
Worked example: 42 m3 of N32, both ways
Say the docket is 42 m3 of the Holcim N32-20 mix covered by EPD-IES-0029652:001.
Done directly: 42 m3 × 181 kg CO2-e per m3 = 7,602 kg CO2-e. That's 7.60 t CO2-e for A1-A3.
Through tonnes, done properly: 42 m3 × 2,383 kg per m3 = 100,086 kg, or 100.1 tonnes. The per-tonne equivalent of the same EPD is 181 ÷ 2.383 = 75.95 kg CO2-e per tonne. Multiply out and you get 7,602 kg again. Identical, because both numbers came from one declaration.
Through tonnes, done the common way: same 100.1 tonnes, but now someone applies a per-tonne factor from a different mix. Use Hanson S-P-10216 at 162.1 kg per tonne and you get about 16,227 kg CO2-e. That is more than double, from one docket line.
Nobody would do that on purpose. It happens when the tonnage comes from one source and the factor from another, and the spreadsheet hides the join.
One detail to record. The Holcim EPD reports GWP-Total of 181 and a separate AR5-aligned GWP-GHG figure of 185 for A1-A3. On 42 m3 that is 7,602 versus 7,770 kg. Write down which indicator you used. An assurer will ask.
When converting to tonnes is the right call
There are legitimate cases. Your factor library may only hold a per-tonne value for that plant. A Scope 3 waste or transport calculation may need mass. A client template may demand tonnes.
When you do convert, three rules keep it defensible:
- Take the density from the same EPD as the carbon figure, never a rule of thumb.
- Record the density and its source beside the tonnage, so the step can be re-run.
- If the EPD states no density (the Boral Tasmanian one doesn't), do not invent one. Use its per-m3 result directly.
That last one matters. We searched the Boral Tasmanian declaration and found no stated density, so we have not attributed one to it.
Where the conversion goes wrong on site
The arithmetic is easy. Most errors come from the dockets themselves.
Start with reinforcement. A concrete EPD's declared unit is the concrete. Hanson's bill of materials lists reinforcements at under 1% by weight. The bar your reo supplier delivered is a separate purchase on a separate docket, and it belongs on a steel factor. If someone has estimated a "reinforced concrete" tonnage, check it isn't counting the bar twice.
Returned and rejected loads come next. A truck turned away for slump or late arrival can still leave a docket behind. If the supplier credits it, the credit has to reduce your quantity. If nobody books the credit, you report concrete you never poured.
Part loads and site waste get confused. A docket for 4.2 m3 on a large truck is a normal part load, not a misread. Over-ordering is different. Holcim's EPD puts on-site wastage in module A5. If you report A1-A3 on delivered volume, the wasted concrete is already in your quantity. Don't add it again.
Then there are plain unit mix-ups. Dockets say m3. Some invoices say tonnes. A few spreadsheets quietly hold kg. A factor per tonne applied to a quantity in kg is a 1,000x error. The unit conversion post covers how those slip through.
And the same pour can turn up twice, once from the batch docket and once inside a subcontractor's claim. That's a boundary problem, not a unit one, and the double-counting post deals with it.
We're not sure every supplier will declare density consistently. Some EPDs give a product weight in the content table, some only in the transport module, some not at all. Expect to look.
Every docket line turned into a traceable tonne of CO2-e
What a reporting team needs is simple. Each concrete line in the ledger should point at the docket it came from and the factor it used. Carbonly is built to produce that.
The document engine reads supplier invoices and dockets in eight file formats. It creates one record per docket on a multi-docket invoice. It keeps the verbatim line text, so "42 m3 N32-20" stays on the record as evidence.
Five-tier material matching maps that text to an NGA factor or a construction EPD factor. Low-confidence matches go to a reviewer. So does a unit that can't be converted without a figure the document doesn't state, such as m3 to tonnes with no density. Credit lines with negative quantities reduce the total.
Some of this still needs a person. Bespoke mix codes need a human to confirm the factor. And if your library holds no plant-specific declaration, you're on an average, with the uncertainty that brings.
Pull last month's concrete dockets and check one thing: does every line carry the factor's unit, and does it match the docket's? If you'd like to see how those lines look once matched, email hello@carbonly.ai.
Frequently asked questions
What density should I use to convert concrete from m3 to tonnes? The density stated in the EPD you are using for the carbon factor. Published Australian EPDs we checked state 2,169 to 2,383 kg per m3 for normal-weight structural mixes. Holcim's N32 Western Harbour Tunnel mix states 2,383 kg per m3. If your EPD states no density, use its per-m3 result directly.
Do concrete EPDs declare per cubic metre or per tonne? The Australian ready-mix EPDs we reviewed from Holcim, Hanson and Boral all declare per cubic metre. That matches the unit on the batch plant docket, so no conversion is needed.
Does strength grade change concrete density much? Not much. Across nine Hanson 40 MPa mixes, density varied about 9%, while A1-A3 carbon per m3 varied about 78%. Binder content drives the carbon, not weight.
Should reinforcing steel be included in the concrete tonnage? No. Report reo as its own purchase on a steel factor. A concrete EPD's declared unit is the concrete itself.
How do I treat a returned or rejected load? Report only what you were billed for. If the supplier issues a credit, it must reduce the reported quantity. Keep the docket and the credit note together as evidence.
What does Carbonly do when a docket is in m3 and the factor is per tonne? A line that needs a density the document doesn't give goes to a reviewer rather than being converted on an assumption.