
Margin drift on a cross-border project can begin before it appears in the final profit-and-loss statement. Quoted revenue, internal hours, subcontractor commitments, and exchange-rate assumptions often sit in separate files. A single project ledger lets the team compare the approved baseline, committed costs, incurred costs, and latest forecast. This guide covers operating-cost tracking for one project; it does not assess related-party transactions or tax pricing. All figures are hypothetical. Adapt the fields to the contract currency and your team's workflow.
![]()
How Do You Link Revenue Assumptions to a Quote?
Build baseline revenue from quote lines, not a headline total. Use the quote version or contract number as the project identifier. For each line, record deliverable, quantity, unit price, billing currency, acceptance milestone, cancellation and payment terms, and owner. Include signed amounts and approved changes in baseline; keep options, renewals, and unapproved additions in a separate scenario field. Record when milestones meet internal conditions for an invoice or collection forecast. The ledger supports project management, not accounting recognition.
For a website quoted at USD 12,000 in three milestones of 40%, 40%, and 20%, record USD 4,800, USD 4,800, and USD 2,400; they total USD 12,000. Link lines to the same quote version so revisions cannot change only the headline. For multiple packages, calculate each line as quantity multiplied by unit price.
Separate contract value, approved additions, expected invoices, and expected collections. Invoices and receipts describe timing, not extra contract revenue. For acceptance-based milestones, record deliverable, status, and forecast month. If delivery slips, move timing without treating an unconfirmed amount as realized. Retain each quote version and track retainage release dates separately.
How Should You Track Hours and Subcontractor Costs?
Connect time to a work package and role. Record date, project, package, role and person, category (delivery, rework, or meeting), actual minutes, approver, and cost rate. The owner closes gaps weekly; contributors confirm before month-end. Assign each block to one project; separate training and administration, and never omit work. Use one rate basis (fully loaded internal cost or agreed management rate), record its effective date, and separate project cost from payroll.
Create subcontractor lines from purchase orders or confirmed quotes. Track estimate, committed, invoiced or paid, and pending amounts, plus supplier, currency, scope, delivery point, cancellation terms, and owner. Put unpriced requests in a risk reserve, not at zero. Do not count an invoice again if already committed. If approved design work is USD 1,200 and a USD 200 revision awaits approval, baseline stays USD 1,200; the forecast can show USD 1,400 with USD 200 pending.
If a designer logs six hours at HK$350 per hour, the cost is HK$2,100; retain the calculation. Enter time daily, check weekly, document corrections before moving time, attach revised quotes, and separate commitment from payment dates. For staged work, record milestone acceptance; payment alone does not prove delivery.
Which FX Assumption Should You Use?
For each revenue or cost item, retain original currency and amount, assumed rate, converted base-currency amount, rate date, and source. Choose one project base currency, but retain original values. Label planning rate as a management assumption, not a guaranteed transaction rate. For long quote periods or installments spanning months, show conservative, base, and favorable scenarios. Decide what movement triggers a quote or reserve change; retain earlier rates and dates.
For USD 12,000 revenue, a planning rate of 7.80 gives HK$93,600. If actual proceeds are HK$93,000, record negative HK$600 as an FX or settlement variance. Convert revenue and USD subcontractor costs separately. A USD 1,200 cost at 7.80 equals HK$9,360; at 7.60 it equals HK$9,120, a HK$240 difference.
Apply one defined scenario to revenue and costs; list payment batches in original currency to reveal offsets. Assign settlement variance to the affected batch, not a contract-wide average. Set a reporting threshold, log the owner's decision and reason, estimate unsettled amounts by batch, and retain rate versions. Explain scenario ranges without false precision.
How Large Is the Forecast-to-Actual Variance?
At each weekly or milestone cutoff, show baseline, incurred cost, unincurred commitments, and estimate to complete. Forecast direct cost at completion equals incurred cost plus unincurred commitments plus remaining-work estimate. Forecast gross margin equals baseline or latest approved revenue minus forecast direct cost. Report variance amount and rate (latest forecast minus baseline, divided by baseline). Define signs; positive cost variance means overrun. Compare revenue and costs separately.
If baseline cost is HK$53,360 and latest forecast is HK$59,360, the HK$6,000 difference is about 11.2% over baseline. Explain it as HK$3,000 excess hours, HK$2,000 added subcontractor work, and HK$1,000 FX variance. When an alert hits, a milestone slips, or commitments exceed remaining budget, update forecast and present options that day. Show the deliverable and cause when considering scope, capacity, or schedule.
Classify variance by quantity, unit price, timing, or scope; assign an owner and next step. Costs may be incurred but unentered or committed before invoice. Estimate remaining hours for unfinished work, not completion from hours spent. When revenue falls, identify cancellable purchases and staff reassignment; retain unavoidable costs. Save cutoffs, check completeness at zero variance, and note milestone movement.
How Should a Change Request Update Project Costs?
Before work, assign a change number; record date, requester, deliverables, quantity change, quote status, approval evidence, contributor, and expected hours. Track added revenue, labor, subcontracting, and schedule separately; preserve before-and-after versions. While pending, keep revenue out of signed baseline and put incremental costs in risk or pending fields and the completion forecast. Once approved, update revenue and cost rows, record approval date, and retain original baseline.
For an extra-language request, estimate 18 additional hours, USD 450 translation subcontracting, and USD 900 charges. Before approval, show hours and USD 450 as forecast risk; keep baseline revenue unchanged. Once approved, add revenue to its milestone and move cost to commitments. USD 900 is not profit before delivery cost. If scope is removed, reduce revenue and cancellable costs together; keep non-cancellable costs. Only record time actually saved on the project after reassignment.
Link approval evidence (customer email, signed document, or project record); verbal discussion stays pending. Project owner assesses schedule and staffing; quote owner confirms revenue under the same change number. Before pricing is final, track hours and subcontracting as exposure with a stop point; pause and escalate near it. List additions by quantity and unit price to cost partial cancellations.
How Do You Review Estimates at Closeout?
At closeout, snapshot baseline estimate, revised budget, actual effort, open commitments, and final revenue. Check missing or duplicated time and supplier charges; note the cutoff and unconfirmed items. Classify labor differences (workload, skill fit, rework, waiting), subcontractor differences (scope, timing, price), and FX differences (planning or settlement). For each, record amount, reason, estimate field to change, and owner. Avoid blaming execution for every difference.
Compare similar deliverables and note unknowns at estimate time, such as unsettled requirements, delayed materials, or slow suppliers. For future work, set ranges and approval points around uncertainties instead of making one exception the standard. Select a recurring variance, adjust the quote template or package assumptions, and check whether the next project surfaces it earlier. Separate savings from reduced scope from efficiency gains.
Review closeout with delivery, finance, or procurement. Confirm whether open costs were cancelled, delayed, or remain payable. Separate estimation errors that call for template changes from execution issues needing better approvals, scheduling, or records. Give each improvement an owner and name the next project to check. Retain estimate accuracy, change frequency, and unrecorded hours for internal comparison, not ranking. To learn more about Chan & Chung, visit the English homepage.