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 QuickBooks Online

Your invoices know who paid. They do not know which ad produced them.

Export invoices from QuickBooks Online, upload your call and lead records beside them, and see revenue by channel — from the ledger rather than from a guess.

No API key Nothing to install in QuickBooks OnlineNothing to install No card requiredNo card

CloseRev reads a QuickBooks Online export of invoices or sales receipts — the customer's email or phone, the amount and the date — and matches it against your call log and lead records. It exists for the very common business whose closed sales were never in a CRM at all: the sale was an invoice, and the invoice is the only place it is written down. Invoices that match no lead are reported as Direct / Unknown rather than shared out across channels.

Last checked against QuickBooks Online's own documentation on September 24, 2026.

The gap

Every closed sale you have is in QuickBooks. Not one of them says where the customer came from, and nobody is going back through two years of invoices to write it in.

QuickBooks Online 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

    Customer email or phone

    On the customer record the invoice is billed to rather than on the invoice itself. This is the join key, and it is the field most likely to be blank on older customers.

  2. Needed

    Invoice or sales receipt total

    The amount line of the transaction. Use the total actually billed rather than what was quoted.

  3. Needed

    Invoice or payment date

    Either works and they answer different questions — billed date tells you when the work was won, payment date when the money arrived.

  4. Optional

    Class, location or item

    Whatever you already use to separate lines of business. It becomes a cut of the report and nothing breaks without it.

Step by step

Getting the file out of QuickBooks Online.

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

  1. Export invoices with the customer on them

    You want one row per invoice carrying a customer contact detail, an amount and a date. A transaction or invoice list report exports to CSV or Excel; what matters is that the customer column is there, not which report produced it.

  2. Check the contact column is populated

    This is the step that decides whether the whole exercise works. QuickBooks does not require an email or phone on a customer, so a file exported from an older company can be half blank — look at the column before you upload rather than after.

  3. Export your leads or calls

    From call tracking, a web form, an ad platform's lead export, or a spreadsheet somebody keeps. It needs the same phone or email, plus where the lead came from.

  4. Cover a longer period on the invoice side

    The lead precedes the invoice, sometimes by months. A sales file that starts where the lead file starts will miss the revenue that lead produced.

  5. Upload both

    The join is the phone or the email, normalised on both sides. Exact matches count automatically; anything weaker is put in front of a person.

What comes back

The page QuickBooks Online 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 Accounting Firms page — not from a QuickBooks Online account.

Traced to a channel$392,00056% of $700,000
Sales matched155 of 276high confidence only
Average sale$2,600per paid sale
ChannelShareSalesRevenue
Google Ads71$182,000
Email marketing26$63,000
Referral partners58$147,000
Direct / Unknown121$308,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 invoice and the ad share a row.

The most common system of record is not a CRM

Attribution tools assume the closed sale lives in a CRM with a source field on it. For an enormous number of real businesses that is simply not the case: there is no CRM, there is an accountant, and the record that a sale happened is an invoice.

That is not a deficiency to be fixed before measurement can start. An invoice is a better record of a closed sale than a CRM deal is — it is the one nobody forgets to create, because it is how the business gets paid. What it lacks is any idea of where the customer came from.

So the missing half is supplied from outside rather than added to QuickBooks. Nothing about your bookkeeping changes, no field is added, and nobody has to remember to fill one in.

The contact column is the whole exercise

QuickBooks will happily keep a customer with a name and a billing address and nothing else. Businesses that grew without a CRM often have exactly that for their older customers, and the newer ones are better only because somebody started typing emails in at some point.

That gradient matters when you read the report. If contact details are thin before a certain date, the matched share will look low for older revenue, and that is a property of the file rather than of the marketing. The report separates what could not be matched from what was matched and found nothing, because those two are different facts and only one of them is about your ads.

The practical answer is usually to run the first import over a recent period where the data is good, see whether the answer is useful, and widen it afterwards.

Billed date and payment date answer different questions

For most businesses these are days apart and the choice does not matter. For anybody invoicing on terms, or taking deposits, or running progress billing on a long project, they are months apart and the choice changes the report.

Billed date attributes revenue to when the work was won, which is the question a marketer is asking: did the campaign that ran in March produce work? Payment date attributes it to when the money arrived, which is the question a finance lead is asking about cash.

Both are legitimate and the report does not pick for you. What it refuses to do is mix them in one column, which is how a channel appears to have produced revenue in a month it produced nothing in.

One customer, many invoices

A repeat customer is the normal case in trades, professional services and anything with a maintenance agreement, and it is where naive attribution goes wrong most expensively. If somebody was produced by a paid campaign in 2024 and has invoiced every quarter since, crediting all of it to that campaign flatters it enormously.

Repeat revenue is reported separately from first revenue rather than being silently folded in. Whether the campaign that won a customer should get credit for their fourth invoice is a real business judgement — a home services firm and a law firm answer it differently — and it is not a question a tool should decide quietly on your behalf.

What does not leave QuickBooks

Three columns and an optional fourth. No chart of accounts, no bank feeds, no payroll, no vendor records, no tax detail, and nothing that would let anybody reconstruct your books from what you uploaded.

That matters more here than on most systems in this catalogue, because an accounting export is the file a business is most reasonably nervous about. The match cannot use any of it, so it is not asked for.

Fair questions

“QuickBooks Online already does that.” Not quite.

They say

“Our invoices do not have emails on them.”

We say

Then the matched share will be low and the report will say so rather than quietly attribute anyway. A phone number works just as well, and many QuickBooks files have one where they have no email.

They say

“We would rather add a source field in QuickBooks.”

We say

You can, and it will be accurate from the day somebody starts filling it in — for the customers they remember. This works on the invoices you already have, including the two years behind you.

They say

“Our accountant owns QuickBooks, not marketing.”

We say

The export is a report, not a change to the file. Nothing is written back and no access to the company is needed.

Questions

QuickBooks Online, specifically.

Something else? Ask us and a person answers.

No. It reads a file you exported, so nothing holds a credential to your company file and nothing writes back.

QuickBooks Online 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 QuickBooks Online, no API key, and no need to have been tracking anything until now. Last year works as well as this month.