Cost ledger
See what a project has committed and actually spent, by cost head, with every entry traced back to the order, issue, muster, log or bill that posted it.
Nobody types into the cost ledger. Every entry is posted by the document that caused the cost, at the moment it happens โ a purchase order issued, material issued to site, a muster approved. The ledger is the one place project cost is counted, and every cost figure elsewhere in the app is read from it.
๐ท Screenshot spot โ the Cost ledger screen: the five-figure strip, the By cost head table, and the Entries list filtered to material
Save as static/img/screenshots/finance-costs.png and replace this box with 
Open the cost ledgerโ
- Open the project and go to the Budget tab.
- Click View cost ledger โ at the top right.
- To go back, click Back to budget.
Committed and actualโ
| Figure | What it means |
|---|---|
| Committed | Money promised but not yet used โ ordered, not yet received. |
| Actual | Money the job has used. |
| Committed + actual | Everything already spoken for. Turns red, marked "over the revised budget", once it passes the revised budget. |
| Revised budget | The budget cost, including the cost of approved variations. |
| Revised contract | The contract value, including approved variations. |
The By cost head table splits committed and actual across the six heads: material, labour, equipment, subcontract, overhead and other expense. The head comes from the resource โ cement is material, a hired pump is equipment. A service-type resource lands under other expense.
What posts costโ
| When this happens | Committed | Actual | Source shown |
|---|---|---|---|
| A purchase order is issued | + order value, line by line, before GST | โ | PurchaseOrder |
| A purchase order is cancelled | โ the undelivered balance | โ | PurchaseOrder |
| Goods are received into a store | โ value received, at the order rate | nothing yet | GoodsReceipt |
| A direct-charge material is received (ready-mix concrete poured off the lorry) | โ value received | + value received | GoodsReceipt |
| Material is issued to site, or written off as wastage, damage, loss or scrap | โ | + issue value | StockMovement |
| Material is returned to the store | โ | โ return value | StockMovement |
| A day's muster is approved | โ | + wages, per phase and trade, under labour | Attendance |
| A day's equipment log is saved | โ | + chargeable hours and fuel, under equipment | EquipmentLog |
| A subcontract is awarded | + subcontract value | โ | SubcontractOrder |
| A subcontract bill is certified | โ certified amount | + certified amount | SubcontractBill |
| A subcontract is closed or terminated | โ whatever is still uncommitted | โ | SubcontractOrder |
Transfers between stores post nothing โ the company still owns the material. Plant supplied by a subcontractor posts nothing either; its cost is in their bill.
Material in the store is still stock: you can transfer it to another job or return it. It becomes this project's cost when it is issued to site. Charging it at receipt would bill the job for cement it may never use, and the cost would follow the cement around every time stock moved between projects.
Input GST on a purchase is claimed back as input tax credit, so it is not a cost of the project. Counting it would overstate committed cost by 18โ28% on every order.
Overhead has no source yet: nothing in the app posts to that head, and there is no screen for entering a one-off expense directly.
Nothing is counted twiceโ
Each entry is tied to the document and line that posted it. If a save is retried โ a dropped connection, a second tap on the button โ the retry finds the entry already there and adds nothing.
Corrections are never edits. A cancelled order, a reopened muster or a corrected equipment log posts a reversal: an entry of the opposite sign, shown in red. When the day is approved again, it posts fresh. You can always see what was charged, what was taken back, and why.
Receiving goods relieves the commitment at the purchase order's rate, so when an order is fully received its committed cost comes back to exactly zero.
Filter the entriesโ
- Click a row in By cost head to show only that head's entries. Click it again to clear.
- Use All heads and All entry types (committed, committed reversal, actual, actual reversal) to narrow the list.
- Set From and To to limit the dates.
- Read Total of rows shown at the foot of the list.
The entries list shows Date, Head, Type, Source, Description, Qty and Amount. The date is the day the cost belongs to โ the receipt date, the issue date, the muster day โ not the day somebody entered it.
The newest entries load first. The date filter works on what is loaded, so click Load older entries before filtering further back.
Who can see itโ
The Company Admin, and Project Managers and Accountants on the project's team. A QS / Estimator does not see the cost ledger: rate plus cost plus contract value is margin, and the person pricing the work is kept apart from it. The Sees financials tick on the Team tab does not open the ledger.
Cost Overrun Watch reads this ledger against the budget and tells you where a project is running over and which lines are driving it. It creates nothing.
Relatedโ
- Budget โ the plan these costs are measured against.
- Project financials โ the forecast and margin built from these totals.
- Purchase orders โ where committed cost starts.
- Stock movements โ the issues and returns that post material cost.