Skip to content

Finance

Revenue, cost, and margin. System of record is Xero; ops-hub's finance module caches invoice data and derives margin from time logs. This document covers the process and definitions around those numbers.

Definitions

Consistent with the Lumaris Pricing Calculator, so proposals and actuals are comparable:

  • Gross margin = (Net Revenue − Direct Costs) / Net Revenue. Direct costs = delivery labour (time logs × day rate), subcontractor fees, direct expenses.
  • Net margin = (Gross Profit − Overhead − Contingency) / Net Revenue.
  • All figures GST-exclusive unless stated; Lumaris is GST-registered (AUD, 10% GST).
  • Target gross margin: 40%. Target net margin: 20%. (from the pricing calculator's default settings — confirm these are the firm's actual current targets, not just the template default)

Invoicing process

  1. Invoice raised in Xero against the project/contract (linked via xero_invoice_id in ops-hub).
  2. Milestone-based billing: use the Cash Position tab in the pricing calculator at proposal stage to plan invoice timing against deliverables; reconcile actuals in Xero as milestones complete.
  3. ops-hub syncs invoice status every 4 hours (per ops-hub-build-spec.md) — Overview and Finance views should reflect Xero within that window, not instantly.
  4. Overdue invoices: TODO — define the chase cadence (e.g. day 7, day 14, day 30 escalation) and who owns it.

Margin monitoring

  • Cost-to-date per project = time_logs.days × user.day_rate, visible on the project detail panel in ops-hub.
  • Margin erosion (actual gross margin trending below the proposal's planned margin) should trigger a look at the project's RAG status — margin and delivery risk usually move together.
  • finance_cache_limited (the restricted view) excludes margin and day-rate columns for the delivery_lead role — this is deliberate, not a bug, to keep day-rate visibility with directors/operations only.

Financial reporting cadence

TODO: define who reviews P&L and at what frequency (monthly close-out is typical for a firm this size). Add to meetings/cadence.md once confirmed.