Why Bill.com OCR Fails on Broadcast Affidavits — And What Media Agency AP Teams Do Instead

Your AP email handles Meta and Google invoices automatically. Then NBC arrives — a 12-page tabular PDF that defeats every OCR tool built for standard invoices. Here is exactly what breaks, and the 7-step manual process every agency runs as a result.

Your AP email gets 200 invoices a month. Meta arrives on August 1 — clean PDF, single page, Bill.com reads it in under 10 seconds. Google arrives the same day, same result. TikTok shows up August 5, auto-captured, coded, routed for approval without you touching it.

Then NBC arrives on August 22.

It is a 12-page PDF. The invoice number is buried in a header table on page one. The line items are a spot-by-spot delivery log formatted for a network traffic system, not an AP team. Bill.com's OCR engine looks at it, extracts a vendor name and approximately the right dollar amount, and gets most of the rest wrong. The GL coding, the project code, the IO reference — you fill those in manually. Then you open the IO spreadsheet and go through every spot row by row to confirm delivery.

This is the broadcast affidavit reconciliation problem. It happens at every independent media agency running TV buys, every month, for every network. And if you are reading this, you already know exactly what it costs.

What a Broadcast Affidavit Actually Is

When a media agency places a TV buy with NBC, ESPN, or CBS, it is not simply buying ad inventory the way it buys Meta impressions. It is signing a formal insertion order — a legal document specifying exactly which spots will air, on which programs, at which times, at a locked CPM rate.

After the spots run, the network produces a post-log affidavit: a document confirming which spots actually aired, when, and during which program. This is the network's proof of delivery, and it is what the agency uses to verify the invoice before paying.

The critical timing issue: affidavits arrive 30 to 53 days after the campaign runs. An agency whose July fiscal period closes August 7 will not receive the NBC affidavit until August 22 at the earliest — sometimes later. The finance team has to accrue an estimate for the July close, then true it up when the affidavit finally arrives.

The affidavit itself is a network-generated PDF. NBC formats it differently from ESPN. CBS formats it differently from ABC. None of them use a consistent structure designed for AP software to read.

Why Bill.com OCR Fails on These Documents

Bill.com's OCR engine is built for standard commercial invoices: vendor name, invoice number, invoice date, line items, total, payment terms. A Meta invoice, a Google Ads invoice, a TikTok invoice — these are clean, structured, single-page documents that OCR handles reliably.

A broadcast affidavit is none of those things. The specific failure points:

Multi-page tabular structure. A single NBC affidavit for a campaign with 8 spots across 3 months runs 10–15 pages. The document is organized as a traffic log, not an invoice. OCR tools trained on single-page invoices do not reliably extract totals from multi-page tabular PDFs.

Non-standard field names. An affidavit does not have a field labeled "Invoice Number." It has a contract number, an order number, and a billing reference — all in different positions depending on the network. Bill.com may extract one of these as the invoice number. It may extract none of them.

Network-specific layouts. NBC's affidavit looks nothing like ESPN's, which looks nothing like CBS's. There is no industry standard. Every network designed its post-log format independently, and most of those formats have not changed since the 1990s.

The makegood problem. Networks sometimes add bonus spots — called makegoods — to compensate for technical preemptions or underdelivery in a prior period. A makegood spot appears on the affidavit but was never on the original IO. An OCR tool reading the affidavit has no way to know this spot was not contracted. A human reviewing it spot-by-spot catches it immediately.

The result: at most independent media agencies, 15–20% of all invoices processed through Bill.com require some degree of manual intervention. Broadcast affidavits account for the majority of that 15–20%.

The 7-Step Manual Workflow Most Agencies Actually Run

Because automated capture fails on affidavits, media agency AP teams run a parallel manual process for broadcast invoices. Here is what that workflow looks like at a typical 50–150 FTE shop:

1
Affidavit arrives by email. It goes to the media buyer's inbox or a dedicated broadcast billing address, not to the AP inbox. If it goes to the wrong place, it may sit unnoticed until the missing invoice check on Day 10 of the close.
2
Media buyer forwards to AP. The buyer confirms the spots ran and passes the affidavit to the AP clerk with a note confirming delivery.
3
AP clerk opens the IO spreadsheet. For each broadcast campaign, the agency maintains an IO file — typically IO_Broadcast_[Campaign]_[Client].xlsx — with a SpotSchedule tab pre-populated from the original IO: every contracted spot with its date, program, time, and unit cost.
4
Spot-by-spot comparison. The clerk opens the affidavit PDF alongside the IO spreadsheet and works through it line by line. For each spot on the affidavit, the actual air date, program, and time get entered into the Affidavit tab. Conditional formatting flags mismatches: green for a confirmed match, amber for a variance, red for a spot that did not run at all.
5
Makegoods logged separately. Any spot on the affidavit that was not on the original IO goes in the Makegoods tab. These are not billed to the client — they are equivalent GRP substitutions per standard network IO terms — but they must be documented.
6
Manual entry into Bill.com. Once the spot-by-spot check is complete, the invoice amount, project code, GL account, and IO reference are entered into Bill.com manually. The OCR capture is unusable for this document type.
7
Approval routing. The invoice routes through the standard approval chain. For amounts above $5,000, the media buyer confirms delivery. For amounts above $25,000, the controller approves.

This process takes 45 to 90 minutes per affidavit per month, depending on spot count and whether any mismatches need to be resolved with the network.

📋

Free download: Broadcast Affidavit Reconciliation Checklist

The 7-step process above, formatted as a fillable PDF your AP team can run every time an NBC, ESPN, or CBS affidavit arrives. Includes the spot-by-spot comparison fields, makegood documentation section, and the Bill.com manual entry checklist.

Download free — join the waitlist to get it →

How Do Media Agencies Handle the Affidavit Timing Gap?

This is the most common question media agency finance teams have about broadcast AP.

Short answer: they estimate. At month-end, the finance team builds an accrual for each broadcast IO based on historical network delivery rates. If NBC historically delivers at 97–98% of contracted spots, the accrual is set at 97% of the monthly IO budget. When the affidavit arrives 3–6 weeks later and confirms actual delivery, a true-up journal entry adjusts the accrual to the actual invoice amount.

The documentation requirement: Every broadcast estimate must have a source on file — typically a historical delivery rate database updated monthly as each affidavit arrives. The EstimationNotes tab in the accrual file records the basis for each estimate: which dataset was used, what delivery rate was applied, and who approved it. This is the documentation an auditor will ask for.

What a true-up looks like in practice: The July accrual for NBC is $9,500, based on a 95% delivery estimate on a $10,000 monthly IO. The August 22 affidavit confirms $9,800 in actual delivery (98%). The true-up journal entry posts $300 to Media COGS and relieves the same amount from Accrued Media Liability. Small. Clean. Fully documented.

The agencies that handle this cleanly maintain a historical delivery rate database that gets updated every month after each affidavit arrives. NBC's Q3 historical delivery rate across 24 months of data comes out to 97.8%. An AP team using that figure for their August estimate will never be more than $220 off on a $10,000 monthly IO.

Can Bill.com Read Broadcast TV Invoices?

Bill.com can capture broadcast invoices — the email arrives in the AP inbox and the document is stored in the queue. The OCR extraction is where it fails. For structured fields like vendor name and approximate total, accuracy is acceptable. For the line-item detail, IO reference, spot schedule, and GL coding that a media agency needs, the extraction is unreliable enough that most agencies treat broadcast affidavits as manual-entry documents regardless of what OCR produces.

This is not a criticism of Bill.com. The platform handles the invoice types it was designed for very well. Broadcast affidavits are a structurally different document — and no general-purpose OCR tool handles them reliably today.

What Clean Broadcast AP Looks Like

The media agencies that manage broadcast AP most cleanly share a few practices:

  • A dedicated broadcast billing email address that routes only to AP — not to the media buyer's inbox
  • IO spreadsheets pre-populated at IO issuance, so the affidavit tab is ready to fill in the moment the document arrives
  • A historical delivery rate database updated monthly — so accrual estimates are defensible and improving over time
  • A Day 10 missing invoice check that flags any IO with spend but no received affidavit

None of this eliminates the manual work. It makes sure the manual work is done once, documented properly, and does not create surprises at audit time.

What Stamp is building for this

Stamp reads broadcast affidavits directly — extracting spot-by-spot delivery data, matching it against the IO, flagging makegoods, and populating the accrual entry — without the AP clerk doing it by hand. The 90-minute manual process becomes a review step. If your agency runs NBC, ESPN, or CBS buys and this is your current close workflow, we'd like to hear from you.

Join the Stamp beta waitlist →

Frequently Asked Questions

How long does it take to reconcile a broadcast affidavit?

For a campaign with 8–12 contracted spots and no major mismatches, a thorough spot-by-spot reconciliation takes 45–60 minutes. Campaigns with makegoods, preemptions, or delivery variances requiring network follow-up take 90 minutes or more. An agency running NBC, ESPN, and CBS simultaneously processes three separate affidavits per campaign per month.

What is a broadcast affidavit in media?

A broadcast affidavit is a post-log document issued by a TV network confirming which contracted spots actually aired, on which programs, and at which times. It is the network's proof of delivery and the basis for the final invoice. Affidavits typically arrive 30–53 days after the campaign runs and are used to reconcile the agency's month-end accrual estimate against actual delivery.

What is a makegood spot in broadcast advertising?

A makegood is a bonus spot a TV network provides to compensate for a preempted or underdelivered contracted spot. Networks substitute an equivalent airing on a comparable program. Makegoods appear on the affidavit but were not on the original IO — AP teams must identify and document them separately. They are not billed to the client as additional media cost.

Why do broadcast affidavits arrive so late?

Networks produce affidavits from their post-log traffic systems after the campaign period closes. The process of generating, reviewing, and distributing affidavits takes weeks. Industry standard lag is 30–45 days; some networks run 50+ days on complex buys. Agencies that close their books 7–10 days after month-end will almost always be estimating broadcast accruals.

Does Bill.com work for media agency AP?

Bill.com works well for digital platform invoices — Meta, Google, TikTok, and most programmatic vendors send clean, structured PDFs that OCR reads reliably. Broadcast affidavits from NBC, ESPN, and CBS are the consistent exception: their multi-page tabular format defeats general-purpose OCR, and most agencies treat them as manual-entry documents regardless of the AP tool they use.

← Back to all posts