End-of-Month Sales and Revenue Reporting

Transaction Cutoff and Verification

    Verify that Stripe, Shopify, Square, or whatever upstream system the client uses has fully synced through the last day of the period. A missing batch on the 31st is the most common cutoff error — check the sync log, not just the dashboard.

    Run the invoice list report and tie the total to the revenue accounts on the trial balance. Differences usually trace to manual journal entries hitting revenue, voided invoices, or class/location filters that exclude lines.

    Pull the credit-memo and discount reports for the period. Confirm each return has supporting authorization and that contra-revenue accounts (Sales Returns, Sales Discounts) are used rather than netting against gross revenue.

    For invoices booked in the wrong period or shipments not yet transferred, post AJEs to move revenue into the correct period. Memo each entry with the invoice number and reason; partners will block close without it.

ASC 606 Revenue Recognition

    Under ASC 606, product revenue is recognized when control transfers — typically at shipment for FOB shipping point or at delivery for FOB destination. Confirm shipping terms in the contract; defaulting to invoice date misstates revenue at month-end.

    Pull the deferred-revenue schedule and release the portion earned this period. For subscription clients, this is usually 1/12 of the annual contract; for milestone-based services, release based on signed acceptance.

    For services delivered before month-end but not yet invoiced, accrue revenue with a debit to unbilled receivables and a credit to revenue. Common on time-and-materials engagements where billing lags by a week or two.

    Bundled deals (software + implementation + support) require allocation to performance obligations based on standalone selling price. Spot-check any new contracts signed this month against the firm's SSP file.

Accounts Receivable Reconciliation

    Run A/R Aging Summary as of period-end and compare the total to the GL receivables account. Differences typically come from journal entries hitting A/R directly, unapplied payments, or transactions dated outside the report range.

    Pull the unapplied payments report and match each to the appropriate open invoice. Unapplied credits inflate both receivables and the deposit balance — they must be cleared before aging is meaningful.

    Walk the aging with the client's collections owner. Note disputes, payment plans, and customers in default. The 90+ bucket should drive both collections action and the bad-debt assessment that follows.

    Apply the client's reserve methodology — percentage-of-aging or specific identification — and compare to the current GL balance. Adjust via journal entry if reserve is materially over- or understated.

    For accounts deemed uncollectible, post the write-off against the allowance (not directly to bad-debt expense, assuming reserve method). Document the collection efforts attempted; auditors will ask.

Sales Tax and Nexus Compliance

    Run the Avalara, TaxJar, or QBO sales-tax liability report by jurisdiction. Compare YTD totals to each state's economic-nexus threshold (commonly $100K or 200 transactions post-Wayfair) and flag states approaching the line.

    For each newly-tripped state, register through the state DOR or via Avalara's managed registration. Note the effective date; retroactive registration with a Voluntary Disclosure Agreement may be needed if the threshold was crossed in a prior period.

    Generate returns per jurisdiction. Most states are due by the 20th of the following month; some (NY, CA prepayments) have different cadences. Track filing-frequency tier — monthly vs. quarterly vs. annual — by state.

    The GL sales-tax-payable account should equal the sum of returns filed minus payments remitted. Rounding differences and discount-for-timely-filing credits are common reconciling items; book them to a sales-tax expense account, not revenue.

Reporting, Variance Analysis, and Delivery

    Build the report with gross revenue, returns, discounts, and net sales — sliced by product line, channel, or class as the client requires. Compare to prior month and prior year alongside YTD figures.

    Flag any line item with greater than 10% variance or $5K absolute swing for written explanation. Tie commentary to operational drivers — pricing, volume, mix, one-time events — not just the math.

    Replace the prior month's forecast row with actuals in Fathom, Spotlight, or the firm's spreadsheet model. Re-extend remaining months if trend has changed materially; flag any reforecast for partner review before sending to the client.

    Set the close date in QBO/Xero with a closing password to prevent retroactive edits. Upload the report package to the client portal (Karbon, TaxDome, Liscio) and schedule the monthly review call.

Use this template in Manifestly

Start a Free 14 Day Trial
Use Slack? Start your trial with one click

Related Accounting Checklists

Ready to take control of your recurring tasks?

Start Free 14-Day Trial


Use Slack? Sign up with one click

With Slack