In short
- Cost per project reporting only works when project cost attribution happens at the point of purchase, not in a reconciliation exercise three weeks later.
- The ledger is organised by vendor and GL account, not by programme or project code.
- Moving to continuous cost reporting means treating every supplier invoice as a project cost event, not a generic vendor transaction.
Your ERP posts every supplier invoice by vendor name, GL account, and cost centre. Your board asks what each programme or project actually costs. These are two different data structures, and no standard ledger view bridges the gap. The result: someone on your finance team rebuilds the mapping from vendor totals to programme totals by hand each month, in spreadsheets, weeks after the money was spent.
Cost per project reporting only works when project cost attribution happens at the point of purchase, not in a reconciliation exercise three weeks later. This article walks through exactly where that manual mapping lives, why it breaks, and what it costs you in time, accuracy, and decision making.
What is cost per project reporting?
Cost per project reporting allocates every cost your company incurs to a specific customer project, satellite programme, grant, or work breakdown structure element, enabling visibility of what each project actually costs versus its budget. It differs from a standard cost report, which shows totals by vendor, GL account, or cost centre without project-level granularity.
Three definitions to anchor the discussion:
- Cost per project reporting: a reporting practice where all costs are attributed to specific projects or programmes in near-real time, showing project-level P&L and budget variance. Cost per project reporting provides stakeholders with transparency regarding financial status.
- Cost attribution: the act of assigning each cost (supplier invoice, labour, overhead) to the relevant project at the moment it is incurred.
- Programme accounting: accounting at a higher level where multiple projects roll up under one programme, with its own budget, milestones, and grant-reporting obligations.
Project costs in this context are sliced by customer project, satellite programme, institutional grant, or WBS element rather than by supplier. Direct costs include expenses explicitly linked to the project, while shared or indirect costs need defined allocation rules. Project cost reporting shows how a team spends the budget across these dimensions, and it helps organisations track resource allocation across multiple projects.
For hardware companies in Europe - NewSpace, robotics, deep-tech manufacturing - this matters because boards, ESA, Horizon Europe grant authorities, and institutional funders all require reporting by programme or project. Cost reporting helps prevent cost overruns and mitigate financial risks at this level. Project costing allows tracking of actual and planned costs, but only if the underlying data carries the right tags.
Why your general ledger can't show cost per project
The ledger is organised by vendor and GL account, not by programme or project code. ERPs like DATEV, SAP Business One, Xero, or NetSuite store invoices with fields for vendor name, GL account (e.g. "Machining Services"), and cost centre or department. Project or WBS tags may exist in these systems, but they are rarely mandatory.
When leadership asks "how much has Programme A cost versus budget?", the ledger has no reliable answer. The data simply is not structured that way.
| Ledger view | Board / programme view |
|---|---|
| Vendor: Precision Machining GmbH | Programme A / B / C totals vs budget |
| GL Account: Machining Services | Cost split by deliverable (structures, payloads, harness) |
| Cost centre: Workshop | Project codes / WBS: SPA-01-Structure, SPB-Payload |
| Project field: empty or defaulted | Full attribution: every line assigned to a project |
Three issues make this worse:
- Blended invoices: suppliers submit one invoice covering components for multiple programmes. Without line-level project codes, finance cannot split the amount reliably.
- Shared tooling and overheads: test benches, fixtures, and facilities used by several projects are never tagged in the ERP. In reporting contexts, 20–40% of shared spend often goes unallocated.
- Missing mandatory fields: purchase orders, receipts, and invoices lack project or WBS fields. Even when the ERP system supports them, workflows do not enforce them.
Where the manual mapping from vendor totals to project costs really happens
This mapping happens outside the ERP, in spreadsheets, email threads, and engineers' heads. It is the hidden process that connects what finance records with what the board needs.
The monthly manual process typically follows these steps:
- Export: pull all supplier invoices and vendor bills from the ERP at month end (vendor, GL account, cost centre).
- Tag: assign each invoice line to project codes or programme codes. For blended invoices, split amounts across programmes.
- Chase: email or message engineers and project managers to identify which components or services belong to which project.
- Consolidate: build a project cost report combining direct costs, shared costs, and overhead allocations. Compare to project budgets. Compute variances.
- Rebalance: adjust allocations where shared costs were over- or under-estimated. Fix errors. Finalise the report, often two to three weeks after month end.
The reporting tools used are Excel or Google Sheets with pivot tables, ad-hoc trackers, and manual email dialogues. Sometimes SQL queries pull data from NetSuite or Xero, but core line-item attribution remains manual.
The consequences are predictable. Data entry errors cause significant discrepancies in cost reporting. Version conflicts arise when multiple spreadsheet copies diverge. Research suggests 72% of business leaders face conflicting data from different teams, and roughly 30% of analyst time is spent reconciling data without a single source of truth. Current spending by project is invisible until the process completes, and by then the numbers are stale.
Illustrative example: one supplier invoice spread across three programmes
Consider a machining supplier invoice received on 14 March 2026 that serves three satellite programmes. This example shows exactly where the gap between ledger and board view opens up.
The invoice: Precision Machining GmbH, EUR 60,000 total, with three line items:
- Line 1: satellite structure machining for Programme A - EUR 25,000
- Line 2: payload frame components for Programme B - EUR 20,000
- Line 3: harness connectors for Programme C - EUR 15,000
How finance posts it: in DATEV or SAP Business One, the controller enters vendor "Precision Machining GmbH", total EUR 60,000, GL account "Machining Services", cost centre "Workshop". No project code. All three programmes combined into one ledger entry.
How the controller splits it later: after month-end export, the controller contacts the lead engineer to confirm which line items serve which programme. They manually allocate EUR 25k to A, EUR 20k to B, EUR 15k to C in a spreadsheet. Freight and shared setup time (included in the invoice total) get split by estimate. The resulting cost report shows these amounts against each programme's budget, but the numbers land in the board pack weeks after the invoice date.
Cost variance, scope changes, and why reconstructed numbers drift
Reconstructed project costs rarely match reality because scope changes and cost variance are captured late or inconsistently. Cost variance analysis compares planned costs to actual costs, but when the underlying data shifts between months, the comparison breaks down.
Engineering change orders, design modifications in robotics cells, or test failures requiring rework generate new purchase orders and invoices. But these often are not reflected in the spreadsheet mapping until the next monthly reconstruction. Change order management should capture budget impacts from scope changes, yet many teams handle this informally.
When allocations are revised (say, shared overhead was first split equally across programmes, then realised usage was unequal) controllers re-split historic costs. This means one month's attribution is inconsistent with the previous month's. Variance analysis identifies differences between planned and actual spending, but if the "actual" keeps shifting, the difference loses meaning. Effective cost management requires analysing target, plan, and actual costs together, yet the spreadsheet rarely holds all three reliably.
Accurate cost forecasts are difficult during market volatility, and the problem compounds when related elements like freight, tooling, test time, and shared fixtures sit under broad overhead GL accounts without project tags. Historical data enhances future project cost estimations, but only when that data is consistent. Regular variance analysis improves forecast accuracy over time, provided the input data is stable. Cost variance analysis helps in adjusting project budgets proactively, which is impossible when the numbers drift each month.
How do NewSpace companies track supplier costs per satellite programme?
NewSpace companies typically maintain bills of materials in spreadsheets or PLM tools with line items tagged by programme. Purchase orders reference programme or work breakdown structure codes where possible. Finance extracts supplier invoices from the ERP and reconciles them to these BOMs manually, rebuilding project costs at month end. This reconciliation is where most of the friction lives.
Programme accounting for satellite constellations uses project codes, WBS elements, and milestones aligned with ESA or institutional contracts. Grant agreements demand identifiable, verifiable, eligible costs tied to a certified methodology. But the friction is structural: engineers track at component level; finance sees only supplier totals and must rebuild costs monthly.
For flight models in the 2026–2028 timeframe, firms set up WBS hierarchies under each satellite programme. Each subsystem (structure, thermal, harness) has a WBS code mapped to supplier POs when possible. But when a supplier ships several mechanisms on one PO with no programme tag, finance must chase engineers to map lines and recreate attribution after the fact. Milestone billing schedules tied to payload delivery dates add another layer of complexity.
How do robotics companies track hardware costs per customer project?
Robotics integrators often deliver multiple automated cells to different customers in parallel. Each customer project has its own budget, and cost per project reporting must show how spending tracks against that budget. Actuators, sensors, enclosures, and cabinets from the same supplier frequently arrive on shared purchase orders, then need splitting across customer projects to produce an accurate cost report.
Some integrators use project codes or internal order numbers in SAP Business One or NetSuite. But at goods receipt or invoice posting, these codes often get lost, the supplier invoice lacks them, or staff skip the field.
Illustrative example: in April 2026, a PO for actuators from "MechAct GmbH" totals EUR 40,000, covering Project Alfa and Project Beta. The PO tags to cost centre "Hardware Purchasing" but carries no project code. Upon invoice arrival, finance uses the engineer's allocation (60% to Alfa, 40% to Beta) and splits the cost in Excel. The resulting project cost report shows hardware expenditure of EUR 24,000 for Alfa and EUR 16,000 for Beta. This process repeats for every shared PO, every month.
How can finance see cost per project before month-end close?
The only route to seeing project costs before month-end is to capture project attribution at the point of purchase: on the purchase request, the PO, and the invoice line, then pass it into the ERP in real time. Real-time data analysis improves cost tracking accuracy. Without it, finance is always reconstructing from incomplete data.
The principle: project codes and WBS tags must be mandatory on requests for hardware, machining, test services, and any other expenditure. If a requisition lacks a project code, it should not be approved.
Near-real-time cost reporting depends on three things: consistent coding across different systems, AP workflow automation that rejects untagged invoices, and integrations between approval tools and the ledger so enriched data posts immediately.
Quid is one example of software designed for this. It reads every supplier invoice on arrival, attributes each line to account, project, team, site, and company, checks for errors, then posts enriched lines into DATEV or the ERP, with up to 95% of invoices posting automatically.
See this running on your invoices.
Quid codes every line by project, cost centre and entity on arrival.
Book a demoDesigning a project cost structure that boards and ERPs can both use
You need one cost structure that links project management and cost management, not two competing lists of codes maintained in different systems. Effective cost reporting starts with a robust budget, and the structure behind that budget must be shared across finance and engineering.
Define project codes, WBS elements, and cost centres so they map cleanly to the chart of accounts and reporting hierarchies. A robotics customer project might map like this:
- Project code: ALFA-2026
- WBS Level 1: Frame, Control System, Power, Integration
- Cost centre: Workshop (shared), Electrical Lab (shared)
- Allocation key for shared costs: engineering hours per module
Establishing clear cost categories aids in consistent financial tracking across departments. Decide where detail stops, module level is usually sufficient; component-by-component creates unmanageable granularity. Labour often constitutes the largest variable cost in a project, so accurate labour tracking is essential for managing project costs alongside hardware costs.
A good project cost report typically includes baseline budget, actual costs, and variance analysis at this structure level. Budget tracking then shows how much has been spent versus allocated at each WBS node.
Practical process: capturing project attribution at the point of purchase
Changing where you capture cost attribution is a process question, not just a tooling question. The technology matters, but the cultural shift (enforcing fields, rejecting incomplete requests) is harder.
Key steps:
- Purchase requests: enforce project code on every requisition. Reject requests without it.
- Purchase orders: carry the project code through. PO templates must include project or WBS fields.
- Supplier invoices: ensure the AP workflow demands annotation of which line items correspond to which project before posting.
- ERP posting: post enriched invoice lines with project tags so the ledger carries the data from day one.
For shared costs, define allocation rules in advance (by quantity, weight, or engineering hours) and bake them into approval workflows. Indirect costs are typically allocated using a consistent methodology; document that methodology once and apply it uniformly. Effective cost tracking requires documenting every expenditure, including shared resources.
Project managers should regularly review actual costs and forecast remaining expenses against this structure. This setup lets teams track progress against project budgets mid-month, spot risks before they become overruns, and allocate resources based on actual data rather than estimates.
From monthly reconstruction to continuous cost reporting
Moving to continuous cost reporting means treating every supplier invoice as a project cost event, not a generic vendor transaction. Instead of monthly batch exports and manual cost reports, invoice flows drive daily or weekly updates to project cost data.
Automating data flow between project management and accounting systems minimises errors and eliminates the reconciliation step that consumes analyst time. Cost sheet dashboards help visualise project costs effectively when the underlying data is tagged correctly. Forecasting estimates future costs based on current trends, and forecasting final costs helps identify potential overruns before project completion.
The benefits are tangible: earlier sight of overruns, fewer surprises when scope changes hit, better cash flow and capacity planning per programme. Regular financial reviews help catch budget overruns early. The cost performance index (CPI), which measures the efficiency of budget spending, becomes a live metric rather than a lagging one.
Cost reports should include actual versus planned costs for accuracy, and with continuous reporting, that comparison updates as invoices arrive rather than weeks later. Your team analyses project costs instead of just reconciling them, enabling better decisions and freeing resources for work that matters. Historical data improves future project cost estimates, and continuous reporting ensures that history is clean.
FAQ: cost per project reporting, scope changes, and audit requirements
What is the difference between cost per project reporting and standard cost reporting?
Standard cost reporting shows totals by vendor, account, cost centre, or expense category. Cost per project reporting allocates every cost to a specific project or programme, enabling project-level P&L and budget versus actual analysis. The key difference is attribution at point of purchase rather than reconstruction at month end; without it, reports are stale and unreliable.
How should we handle scope changes in project cost reports?
Scope changes must be captured formally via change orders, updating the project budget, WBS, and planned cost baseline. Once scope shifts, budget lines and attribution rules need reworking. Without this discipline, cost variance versus the original budget becomes misleading, since budgeted scope no longer matches the actual work or the project's financial health.
How detailed should project cost attribution be?
Detail should reach the level that allows meaningful insight, typically module or subsystem, not every bolt. Too granular and you drown in codes; too coarse and you hide overruns. Define WBS granularity once, measure consistently, and ensure comparable treatment across multiple projects for accurate reporting throughout the project lifecycle.
How does programme accounting help with grant or ESA reporting?
Programme accounting aligns your internal cost structure with external funder requirements: milestones, budget categories, deliverables. Grant agreements usually demand identifiable, verifiable, eligible costs tied to your accounting records. Programme accounting ensures financial reports reconcile directly to the general ledger, satisfying grant compliance without a separate reconstruction process including construction cost for test facilities.
What data do auditors expect to see?
Auditors want transactions with clear supporting documentation, cost attributions traceable to supplier invoices or labour entries, defined overhead allocation methodology, change orders, and consistent coding. They expect reconciliations between project reports and the general ledger. For grants, eligibility of costs is tied to "identifiable" and "verifiable" records, a complete audit trail is non-negotiable, helping to control costs and prevent overruns across every project.
Summary
If the answer to "where does project attribution happen?" is "in a spreadsheet after month-end", the fix is upstream, not downstream. Review your process today, and consider whether capturing cost data at the point of purchase (automatically with Quid, on every invoice) could give your board the project-level visibility they keep asking for.