Project Markup Configuration
Every project has a single ProjectMarkup record. Open it via Markup → Configure or the top-right Markup icon.
Structure
The screen is organised into three vertical sections.
1. Direct Cost Markups (per resource type)
For each type (Labour, Material, Plant, Subcontract, Other):
| Field | Purpose |
|---|---|
XxxMarkupPercentage | Percentage markup. |
XxxMarkupAbsolute | Absolute dollar markup. |
XxxMarkupAmount | Calculated result (read-only, live). |
Example stored fields: LabourMarkupPercentage, LabourMarkupAbsolute, LabourMarkupAmount.
2. Overhead Markups (per resource type)
Mirrors the direct cost section, but applies on top of allocated overhead per item:
OverheadLabourMarkupPercentage, OverheadMaterialMarkupPercentage, etc.
3. Margins
Three independent pools:
| Pool | Percentage field | Absolute field | Amount field (read-only) |
|---|---|---|---|
| Risk | RiskMarginPercentage | RiskMarginAbsolute | RiskMarginAmount |
| Corporate Overhead | CorporateOverheadMarginPercentage | CorporateOverheadMarginAbsolute | CorporateOverheadMarginAmount |
| Profit | ProfitMarginPercentage | ProfitMarginAbsolute | ProfitMarginAmount |
Computed Totals
TotalDirectMarkupAmount— Σ of the five direct-cost markup amounts.TotalOverheadMarkupAmount— Σ of the five overhead markup amounts.TotalMarginAmount— Σ of the three margin amounts.SubtotalBeforeMargin= DirectTotal + all markups.FinalProjectTotal= SubtotalBeforeMargin + TotalMarginAmount.
The RequiresRecalculation Flag
Any change to a markup or margin flips RequiresRecalculation = true. The sell-rate view shows a yellow banner: "Sell rates out of date — recalculate". Click Recalculate to push the new numbers into every item's allocation fields and clear the flag.
Bulk Setting
- Copy From Previous Project pulls markups from any project you can see.
- Apply Standard loads an organisation-level default.
- Reset to Zero clears all markup fields.
Per-Item Override
You can override an item's AllocatedMarkup directly on the sell rate grid. This sets IsManuallyEdited = true on the line. Future recalculations leave manual edits alone — unless you click Force Recalculate which wipes overrides.
Warning
Changing markup after tender submission invalidates the sell rates shown to the client. Always lock the project (or use an Allocation Scenario) before "what-if" exploration.