How a Head Contractor Reports Emissions Across 50 Active Sites

An ASX200 construction company running 50 concurrent sites doesn't have a carbon calculation problem. It has an orchestration problem. Five data channels, thousands of documents, joint venture allocations, and one NGER return due 31 October. Here's the workflow that actually produces it.

Carbonly Team April 7, 2026 13 min read
Construction EmissionsMulti-Site ReportingNGERASRSCarbon Data OrchestrationHead ContractorScope 1Scope 2
How a Head Contractor Reports Emissions Across 50 Active Sites

A sustainability manager at an ASX200 construction company once described their reporting cycle to us like this: "I don't need a better calculator. I need a better traffic controller."

That stuck with us. Because when you're running 50 active project sites across four states, each with its own fuel suppliers, utility accounts, subcontractor panels, and waste providers, the maths is the easy part. Diesel times 2.7 kg CO2-e per litre. Electricity times the state factor. Done. What isn't easy is making sure the right documents from the right sites reach the right ledger at the right time, without gaps, without double-counts, and with an audit trail that survives scrutiny from both the Clean Energy Regulator and your financial statement auditor.

That's not a calculation problem. It's an orchestration problem. And it's the one that determines whether your NGER return and AASB S2 disclosure are accurate or just plausible.

We've spent a lot of time thinking about head contractor carbon reporting at this scale. Our team's background is in enterprise data platforms at large mining and resources companies, where data orchestration across hundreds of facilities was the core challenge. Construction has the same structural problem, but harder, because everything is temporary. Sites spin up, run for 18 months, and disappear. The data has to outlast the project.

Here's the workflow we've built around. Not theory. The actual sequence of steps that turns 50 simultaneous data streams into one consolidated, auditable emissions report.

Step 1: Site Setup and Reporting Boundaries

Every project site needs to exist in your carbon system before the first fuel docket arrives. That sounds obvious, but in practice it's where things start going wrong. A project gets awarded in March, mobilises in April, and nobody tells the sustainability team until June, when three months of diesel deliveries have already happened with no collection mechanism in place.

Site setup means recording three things. First, the physical location. This matters because Scope 2 emission factors are state-specific under the NGA Factors 2025. Victoria sits at 0.78 kg CO2-e/kWh. South Australia at 0.22. That's a 3.5x difference for the same electricity consumption. A site in Melbourne assigned Queensland's factor of 0.67 would understate its Scope 2 by 16%. Get the state wrong and the numbers are wrong before you've processed a single bill.

Second, the reporting boundary. Under section 9 of the NGER Act, a construction project can be a "facility" if your company holds operational control. The 25 kt CO2-e facility threshold and 50 kt corporate group threshold determine what gets reported. But most large contractors don't register each project as a separate NGER facility. They define their construction division as a single facility covering all projects under operational control. Either way, you need to know at setup which entity owns the project, which NGER facility it rolls into, and whether it's a wholly-owned project or a joint venture with equity allocation.

Third, the expected data sources. A road project in regional Queensland has different emission sources than a commercial fit-out in Sydney's CBD. The road job generates thousands of litres of diesel per week from earthmoving plant, bulk fuel deliveries, and mobile bowsers. The fit-out barely touches diesel but has significant electricity consumption, material procurement, and subcontractor activity. Knowing what data types to expect from each site means your team can spot gaps early instead of discovering missing months during the October crunch.

At Carbonly, each project gets created with its state, its parent entity, its NGER facility mapping, and its expected data channels. When a fuel docket arrives tagged to a project that doesn't exist yet, it gets flagged rather than lost. That flag is the first line of defence against the gap problem.

Step 2: Five Data Channels, Fifty Sites

Data flows into the system through five distinct channels. Each one has different formats, different sources, and different failure modes. At 50 sites, these channels aren't sequential. They're all running simultaneously, every day.

Fuel deliveries are the highest-volume channel. Bulk diesel dockets from suppliers, photographed or scanned at the point of delivery. These are PDFs, images of thermal-printed receipts, and occasionally handwritten notes. The critical fields are litres delivered, fuel type, date, and site reference. At roughly 2.71 kg CO2-e per litre (NGA Factors 2025, Scope 1), diesel is typically the single largest emission source for a construction head contractor. A company burning 500,000 litres per quarter across 50 sites generates approximately 1,355 tonnes of CO2-e from diesel alone.

Fuel card exports arrive as monthly CSVs from providers. These cover light vehicles, utes, and sometimes mobile plant. They're structured data, which makes extraction simpler, but they overlap with the bulk delivery channel. The same diesel that appears on a bulk delivery docket for a site tank might also appear as individual fuel card transactions when vehicles fill up from that tank. That overlap is a duplicate-detection problem we'll come back to.

Utility bills cover electricity and gas for site offices, compounds, and temporary connections. They arrive as PDF invoices from retailers, or as CSV exports for large accounts. Volume per site is low (one to four bills per month per meter), but multiply by 50 sites across different states and different retailers, and you're managing 100+ meters with different billing cycles, different account numbers, and different meter transfer dates as projects start and finish.

Material and subcontractor invoices are the messiest channel. Purchase orders for concrete, steel, timber, aggregate. Progress claims from subcontractors. Equipment hire invoices with fuel charges buried in line items. These documents arrive in PDF, Excel, scanned images, and occasionally Word or PowerPoint. The quantities are in cubic metres, tonnes, linear metres, or just dollar values. For Scope 3 Category 1 under AASB S2, this channel feeds the biggest emission category in construction. But the data quality is the worst of any channel, and we're honest about that limitation.

Waste manifests from skip bin providers and waste transporters. PDFs showing tonnes collected, waste stream classification, and destination (landfill vs recycling). Under NGER, waste-to-landfill generates methane emissions. Under AASB S2, it's Scope 3 Category 5 (waste generated in operations). The volume is lower than fuel, but the emission intensity of organic waste in landfill is higher than most people expect.

All five channels feed every site simultaneously. On any given Tuesday, the system might receive 14 diesel dockets from sites in Queensland, 8 electricity bills from Victorian projects, 22 material invoices from NSW, 3 waste manifests from South Australia, and a fuel card CSV covering 200 transactions across all states. That's not a batch process. It's a continuous flow.

Step 3: Processing Without Templates

Here's where multi-site emissions management either works or collapses. Every document that arrives needs to be read, classified, and converted into a draft emission record.

The traditional approach was template-based OCR. You'd build a template for each supplier's invoice format, mapping specific pixel coordinates to specific data fields. It works until the supplier updates their invoice layout, which happens constantly. At 50 sites with dozens of suppliers each, you'd need hundreds of templates, and every layout change would break something.

We took a different approach. Instead of templates, our AI reads each document the way a human would. It understands the layout, identifies what type of document it is (fuel delivery, utility bill, material invoice), finds the relevant quantities, and extracts them with confidence scores. A diesel delivery docket from a supplier we've never seen before gets processed the same way as one we've seen a thousand times. No template update required.

For each document, the system creates a draft emission record: fuel type, quantity, unit, date, site, and a preliminary emission calculation using the matched NGA emission factor. Concrete invoices get matched to grade-specific factors where available. Electricity bills get the state-based Scope 2 factor applied automatically based on the site's location.

The 5-tier material matching system handles the material diversity that construction throws at you. Fifty-plus material types across a large contractor's portfolio, each with different emission factors and different unit conventions. The system tries for a product-specific EPD first, then works down through manufacturer averages, industry averages, and finally spend-based estimates as a last resort. Every match gets a confidence score so your team knows where to focus their review effort.

We process 8 file formats because that's what actually arrives from construction sites. Not because we wanted to support PowerPoint. Because someone's procurement team sent a material schedule as a .pptx file and expected it to work. It does.

Step 4: Quality Assurance That Catches What Humans Miss

This is the step most carbon reporting processes skip, and it's the one that matters most at scale.

When you're processing documents from 50 sites through 5 channels simultaneously, duplicates happen. The same diesel delivery gets captured once from the supplier's invoice (which accounts payable forwarded) and again from the fuel card export (which recorded individual fill-ups from the same delivery). Without automated duplicate detection, that delivery gets counted twice. On a 10,000-litre delivery, that's 27 tonnes of phantom CO2-e. Across a full reporting year, duplicates can inflate your reported emissions by 5-10%, which is the kind of error that triggers a CER audit.

The system runs automated checks on every draft record.

Duplicate detection compares incoming records against existing entries for the same site, same date range, same fuel type, and similar quantities. A fuel card CSV showing 9,800 litres of diesel to Site 14 in the same week as a bulk delivery invoice for 10,000 litres to the same site gets flagged for review. Not auto-rejected, because sometimes they really are separate deliveries. But flagged, so a human makes the call.

Gap detection monitors expected data flows against what's actually arriving. If Site 23 has been generating electricity bills every month for six months and then nothing appears in July, that's a gap. Maybe the meter transferred to the client. Maybe the bill went to a different email. Either way, it needs investigation before the NGER return, not after.

Anomaly detection flags consumption spikes that fall outside normal patterns. If a site's diesel consumption jumps 400% month-on-month, either something changed on-site (a major concrete pour requiring heavy plant), or someone entered 50,000 litres instead of 5,000. Both are worth checking.

These checks run continuously as data arrives, not as a batch at the end of the quarter. By the time September rolls around and the NGER deadline is looming, the exceptions have already been identified, investigated, and resolved. The October crunch becomes a review-and-approve step, not a panic-driven data cleanup.

We're not pretending the automation catches everything. Shared fuel tanks between head contractor and subcontractors are still a human-judgement problem. Bundled subcontractor claims that lump materials and labour into a single line item can't be disaggregated by any algorithm. We've written about those honest gaps before. But for the 80% of data that arrives in a processable format, automated QA catches errors that a manual review at 2 minutes per document physically cannot.

Step 5: Consolidation From Sites to NGER Facilities to Corporate Group

This is where orchestration earns its name.

Fifty project sites don't file fifty separate NGER returns. The emissions from every site need to roll up through your organisational structure into facility-level totals, and then into a corporate group total. Getting that hierarchy right is non-trivial.

A typical ASX200 head contractor might define three or four NGER facilities. One for their building division (covering 30 commercial and residential projects), one for their civil and infrastructure division (covering 15 road and rail projects), and one for their head office and workshop operations. Each facility aggregates the emissions from all project sites within its scope.

The rollup requires every emission record to carry its project tag, its facility assignment, and its corporate entity. A diesel delivery to a road project in Queensland rolls into the civil division facility. An electricity bill for a site office in Melbourne rolls into the building division facility. The corporate group total is the sum of all facilities.

Under NGER, you report by facility with ANZSIC code classification, then aggregate to the corporate group level for submission through the EERS portal. The corporate group threshold of 50 kt CO2-e or 200 TJ determines whether you're an NGER reporter at all. At 50 sites, most ASX200 contractors are well past both thresholds. We've covered the threshold calculations separately, but the short version: if you're running 50 active construction sites, you're reporting.

Under AASB S2, the consolidation boundary is different. It follows your financial reporting entity, not your NGER facility definitions. That means every subsidiary, every project, and every activity within the entity boundary gets included. Scope 3 from material procurement and subcontractor activity sits on top. The dual-framework reconciliation is its own challenge, but the data foundation is the same: project-level records rolling up through a defined hierarchy.

Step 6: The JV Problem and Equity-Based Allocation

Some of those 50 sites are joint ventures. In Australian construction, JVs are common for major infrastructure projects. A tier-one contractor might hold 60% equity in a road tunnel project, 50% in a rail corridor, and 40% in a water treatment plant build. Each JV generates its own emissions. But you only report your share.

Under NGER, if you hold operational control of the JV, you report 100% of its emissions. Under the equity share approach (which some companies use for AASB S2 to align with financial consolidation), you report your proportional share. A JV site generating 800 tonnes of CO2-e where you hold 60% equity means 480 tonnes in your disclosure.

This requires the system to handle equity percentages at the project level, apply them correctly during consolidation, and maintain an audit trail that shows both the gross JV emissions and your allocated share. Most spreadsheet-based processes get this wrong because the allocation happens manually, once, at the end of the year. If the equity percentage changes mid-project (which happens when partners buy in or out), the allocation needs to be time-weighted. That's the kind of calculation that's trivial for software and error-prone for humans.

Carbonly's JV collaboration module handles multi-party projects where each partner needs visibility into the shared emissions but only reports their allocated portion. The gross numbers stay intact for the JV entity's own reporting. Your share flows into your facility rollup.

Step 7: Approval and Exception Management

By the time September arrives, most of the data has been flowing for 12 months. The sustainability manager's job isn't to process documents. It's to review exceptions.

The approval workflow presents a dashboard of each facility's emissions, colour-coded by data completeness and exception status. Green means all expected data streams arrived, no unresolved duplicates, no unexplained anomalies. Amber means minor gaps or flagged items that need a judgement call. Red means something is missing or materially uncertain.

For a 50-site contractor, the goal is to have 40+ sites green by mid-September. The remaining sites with amber or red flags get investigated. Maybe Site 37 has a two-month gap in diesel deliveries because the bulk supplier changed and the new supplier's invoices went to procurement instead of the carbon inbox. Maybe Site 12's waste manifests stopped arriving in May because the project demobilised early. Each exception gets documented, resolved or explained, and signed off.

The sustainability manager approves at the facility level. Each facility sign-off locks the data for that facility and generates a facility-level summary ready for NGER submission. The corporate-level consolidation happens automatically once all facilities are approved.

This is the step where a team of three to five people can actually manage 50 sites. Not by reviewing every document, but by reviewing every exception. The system handles the volume. The humans handle the judgement.

Step 8: Submission and the Dual Report

The NGER return is due 31 October via the EERS portal. No extensions. Penalties under section 19 of the NGER Act reach $660,000 for failure to report, and the CER publishes a list of late reporters. The AASB S2 climate disclosure needs to be ready for your financial statement auditor, who under ASSA 5010 performs limited assurance on your Scope 1 and 2 emissions from Year 1.

A properly orchestrated system produces both outputs from the same underlying data. The NGER report uses AR5 GWP values as mandated by the Clean Energy Regulator. The AASB S2 disclosure can use AR5 for the NGER-covered portion (per the AASB S2025-1 jurisdictional relief issued December 2025) and AR6 for everything else. Same diesel litres. Same electricity kWh. Different emission factors applied by framework.

The NGER submission gets generated with facility-level breakdowns, ANZSIC codes, energy produced and consumed, and Scope 1 and 2 emissions in the format the EERS portal expects. The AASB S2 disclosure adds Scope 3, governance and strategy sections, scenario analysis, and transition planning.

And every number in both reports traces back to a source document. The fuel docket. The electricity bill. The concrete invoice. That traceability is what your auditor tests. It's what the CER expects. And it's what separates a defensible report from one that falls apart under scrutiny.

Why This Is an Orchestration Problem, Not a Calculation Problem

We keep coming back to this point because the industry keeps getting it wrong.

Most carbon accounting platforms are built for companies with a head office, a warehouse, and a vehicle fleet. Plug in the bills, apply the factors, generate the report. Construction doesn't work like that. You don't have stable premises. You don't have consistent suppliers. You don't have predictable data flows. You have 50 temporary operations, each generating its own document stream, feeding into a reporting structure that has to satisfy two regulatory frameworks simultaneously.

The calculation engine is commodity. Diesel times factor equals emissions. Everyone can do that. What not everyone can do is handle 50 different data flows arriving in different formats, from different people, at different times, catch the duplicates and gaps before they become errors, allocate JV emissions correctly, roll everything up into the right facilities, and produce an auditable report before 31 October.

That's orchestration. And it's the reason a sustainability team of three to five people at an ASX200 contractor can either spend their year chasing paperwork or actually working on reducing emissions. The difference is whether their system can handle the traffic, or whether they are the traffic controller.

If your team is still the traffic controller, we should talk. Carbonly is built for exactly this problem. Per-project pricing, no lock-in, and a system that's designed for construction from the ground up. Reach out at hello@carbonly.ai.


Related reading: