Open Reports → Project Finance. It answers one question per project: did this make money?
The two sides
- Money in: what the client is billed. Hours priced at the project's client bill rate for each day, using whatever rate was in force on that day.
- Money out: what you pay. Priced per member, per project, per day, where a member's own pay rate takes precedence over the project's pay-per-hour.
Profit is one minus the other, and margin is profit as a share of revenue. Because cost is built from per-member lines, the total and the breakdown can never disagree.
Revenue can be blank
A project with tracked hours and no bill rate in force has not earned zero. Nobody knows what it earned. Reporting zero would invent a confident, wrong loss: full cost against nothing. So revenue is shown as unknown, and profit and margin are withheld instead of computed from a number that does not exist.
A partly-priced project reports what it can and tells you how many hours are not covered. If you see this, set the missing rate and the report fills in.
Fixed-price projects work differently
A fixed-price project has no bill rate at all, so its revenue is what you invoiced, not hours times a rate. Cost is unaffected, because people are paid by the hour on a fixed-price job exactly as on any other. That gap between an agreed fee and the hours it took is what this report is for.
Filters that change the answer
- Date range: hours are counted per organization-local day inside it.
- Include deleted: off by default. Turn it on to compare with Member Finance, which always counts deleted projects.
- Status, client, type: narrow to the slice you are reviewing.
Reconciliation
The report shows what has been invoiced, what is still outstanding and what has been received. Use it to spot work that was done and never billed, which is the most expensive mistake this report can catch.
Who should see it
This report carries pay rates and margins. Grant it carefully. It is not a general reporting permission.