Company · February 12, 2026 · 1 min read
Why we run a monthly close like a finance team
Programmatic revenue is easy to estimate and hard to close. We decided to treat it like accounting.
Programmatic dashboards are excellent at telling you roughly how much money you made yesterday. They are much worse at telling you exactly how much you will be paid for last month. The gap between those two numbers is where publishers lose trust in their partners.
At Zenmo we decided early on to close every month the way a finance team would, not the way a dashboard does.
What a close means for us
At the start of each month we pull the final number from every network and platform for every publisher account we manage, on the same basis: the same placements, the agreed time zone, net of the platform's fees. We then compare each number against the publisher's own mediation or ad server report. Any account without a matching ad server line is not booked. Any platform whose number is incomplete for the period is not booked either. Missing days are a reason to wait, not a reason to estimate.
Only once every line reconciles does the month move to invoicing.
Why bother
Three reasons.
Publishers can check our work. Every number we pay on can be traced to a platform report and to their own ad server. There is no black box.
Errors surface early. A mapping mistake, a filter that drifted, or a platform that changed its report layout shows up as a discrepancy in the close, not as a surprise three months later.
It scales. Manual monthly reconciliation across half a dozen platforms and dozens of accounts does not scale on spreadsheets. Treating it as a repeatable process forced us to build tooling for it, and that tooling is now the backbone of how we operate.
The trade-off
A proper close takes a few days longer than reading a dashboard. We think that is a good trade. A number that is right a week later is worth more than a number that is approximately right today.