Direct Cost and Overhead Emissions
Every direct cost item and every overhead item can carry one DirectCostEmission / OverheadEmission record.
DirectCostEmission
| Field | Purpose |
|---|---|
DirectCostItemId | The item this emission belongs to. |
Quantity | Usually the item's own quantity but can be overridden. |
Unit | Typically the item's unit. |
EmissionFactor | kgCO₂e per unit. |
Scope | 1 / 2 / 3 (defaults to 3 if invalid). |
TotalEmissions | Quantity × EmissionFactor. |
DataQuality | 1–5. |
IsVerified / VerifiedAt / VerifiedByUserId | Sign-off trail. |
Status | Draft / Review / Complete. |
| Formatting fields | Bold, italic, highlight colour. |
OverheadEmission
Mirror of DirectCostEmission but keyed to an overhead and uses Amount instead of Quantity:
TotalEmissions = Amount × EmissionFactor
Populating From Resources
When you link an item to a resource with a CarbonEmissionFactor, TX1 auto-populates the emission record. You can still edit it per-item — e.g. a specific supplier with a better factor than the resource default.
Recalculating All
RecalculateDirectCostEmissionsAsync() on the Carbon service walks every direct cost item, recomputes TotalEmissions = Quantity × EmissionFactor, and rewrites the stored values. Use it after:
- A bulk change to emission factors.
- Importing new factors from a supplier.
- Changing the default factor on many resources.
The equivalent exists for overheads.
Editing in the Carbon View
The Carbon view mirrors the Direct Costs view, showing emission columns instead of price columns. Editable cells:
| Column | Action |
|---|---|
| Quantity | Overrides the item's quantity for emission calc (rare). |
| Emission Factor | Overrides the resource factor. |
| Scope | Overrides default scope. |
| Data Quality | Rate the reliability. |
| Status | Workflow state. |
| Notes | Audit trail text. |
Filtering
- By scope (1 / 2 / 3).
- By status (Draft / Review / Complete).
- By data quality (≥ a threshold).
- By verification (verified / unverified).
Bulk Verify
Select multiple rows → Verify Selected → signs off with the current user and timestamps each record.
Auto-Save
The Carbon view auto-saves with a 100 ms debounce. Filter changes are debounced at 250 ms to stay responsive during rapid typing.