Cookie preferences

Choose what we may use. Strictly necessary cookies keep you signed in and can't be turned off; everything else is your call and changes nothing about how the site works. You can change your mind any time from the footer.

For Contractor Foreman

One client, one decision, eleven invoices across nine months.

Export invoices from Contractor Foreman, upload the leads behind them, and rank marketing on the project rather than on the deposit.

No API key Nothing to install in Contractor ForemanNothing to install No card requiredNo card

CloseRev reads a Contractor Foreman export of invoices — the client's phone or email, the amount and the date — and matches it against the leads that produced the project. Construction bills in stages, so one decision by one client produces many invoices across many months, and a naive match counts one project as several wins. Invoices with no traceable lead are reported as Direct / Unknown.

Last checked against Contractor Foreman's own documentation on September 24, 2026.

The gap

Progress billing turns one won project into a dozen rows, and every report built on rows is wrong.

Contractor Foreman sees

What was sold, to whom, and for how much.

no shared row
Your ad account sees

The click, the keyword, the call, and what each one cost.

The file

What the export needs in it.

Three things carry the match: who, how much, and when. Anything else is optional and only changes how the report can be sliced.

  1. Needed

    Client phone or email

    On the client record rather than the invoice, so every progress bill joins to the same person.

  2. Needed

    Invoice total

    Each billing, including change orders. The project's value is their sum, not the first one.

  3. Needed

    Invoice date

    When each stage was billed. The spread across dates is what the report has to collapse.

  4. Optional

    Project name or number

    The cleanest way to sum a project. Without it the client record does the same job slightly less precisely.

Step by step

Getting the file out of Contractor Foreman.

Written for somebody with Contractor Foreman open in the next tab. Report names vary by edition, so each step says what to look for.

  1. Export invoices with the client and the project

    One row per billing with a contact detail, the amount, the date, and the project reference where available.

  2. Sum by project before comparing anything

    Otherwise a large job looks like a dozen small wins spread across whatever marketing ran each month.

  3. Export your lead sources

    Referrals, architects and designers, search ads, the website form, tracked numbers and any directory you pay for.

  4. Take eighteen months

    A project signed this quarter finishes billing next year, and the lead that produced it arrived the quarter before.

  5. Upload both

    The join runs on the phone and the email, normalised, with the project's total reported against the lead that produced it.

What comes back

The page Contractor Foreman cannot show you.

Revenue by channel, the count of sales behind each figure, and an honest bucket for the ones nobody could trace. Sample figures, from the worked example on the Commercial Construction page — not from a Contractor Foreman account.

Traced to a channel$1,520,00038% of $4,000,000
Sales matched13 of 30high confidence only
Average sale$133,000per paid sale
ChannelShareSalesRevenue
Google Ads4$480,000
Events6$720,000
Email marketing3$320,000
Direct / Unknown17$2,480,000

Unmatched sales stay in Direct / Unknown. They are never spread across the paid channels to make the total look better.

The argument

What changes when the project and the ad share a row.

Progress billing breaks every naive attribution report

A project billed in stages produces invoices in months when no marketing produced anything, and none in the month the client actually decided.

Attributed by invoice date, a single kitchen build credits whatever was running in each of nine months, which is nine wrong answers rather than one.

Summing by project and attributing the total to the lead that produced it gives one answer, which is the only version a budget decision can use.

Change orders belong in that sum too: they are revenue from the same decision, and excluding them understates every channel that produces clients who expand scope.

That last effect is not evenly spread, which is precisely why it matters.

The lag is long enough that this year's report is about last year's marketing

A residential remodel is considered for months before a contractor is called, and the project bills for months after it starts.

Between the two, revenue arriving this quarter frequently traces to a lead from a year earlier, and any short window will attribute it to the wrong thing or to nothing.

Carrying the lead date through lets the report group by when the client arrived rather than when the money did, which is the grouping that answers what to buy next.

It also produces the lag per channel, which tells you how far ahead of a busy season you have to be spending.

For a contractor booking work six months out, that number is operationally more useful than the ranking itself.

Architects, designers and past clients are the trade's real channels

Most established general contractors get the majority of their work from people who already know them: a designer who specifies them, a past client, a neighbour of a past client.

None of those produce an invoice from an advertising platform, so they are absent from every paid-media report and the paid channels are judged as if they were the whole picture.

Recording the referral source at first contact — one field — puts them into the same comparison on the same project value.

The usual result is that the paid budget is carrying a much smaller share of the business than anyone assumed, which changes where the next effort goes.

It also identifies which relationships are actually producing work, as opposed to which ones are pleasant.

Project type matters more than channel in most contractors' books

A bathroom, a whole-house remodel and a commercial fit-out have different values, different durations and different buyers.

A source that mostly produces one will be ranked as though it produced the mix, which flatters some channels and buries others.

Where the export carries a project type, the report splits on it and the ranking becomes something a contractor can act on: this source for kitchens, that one for additions.

Without the split, a contractor running several project types is reading an average that corresponds to no decision they can make.

Fair questions

“Contractor Foreman already does that.” Not quite.

They say

“Contractor Foreman already reports revenue by project.”

We say

It does, and it has no record of what produced the client, because that happened before the project existed.

They say

“Most of our work is referral.”

We say

Then recording the referrer is the highest-value change available, and the report will show its true share.

They say

“Our projects take too long to measure.”

We say

Which is why the window is eighteen months and the grouping is by when the lead arrived, not when the money did.

Questions

Contractor Foreman, specifically.

Something else? Ask us and a person answers.

No. It reads an exported file, so your schedules, documents and project records stay where they are.

Contractor Foreman and the other product names and logos on this page belong to their owners and are shown to identify the software a file comes from. CloseRev is not affiliated with or endorsed by them, and connects to none of them: it reads a file you export.

Start today

Two exports, and you will know.

Nothing to install in Contractor Foreman, no API key, and no need to have been tracking anything until now. Last year works as well as this month.