Monthly Invoice Run
Invoices generated and sent in accounting system. AR tracker updated: invoice numbers, amounts, send dates, due dates. Monthly revenue summary: total invoiced, breakdown by client type (fixed/hourly/usage), first invoices (new clients), final invoices (churned). Finance notification with batch total and any flagged exceptions.
Before you start
- Client billing data complete in accounting system (rates, billing cycle, contacts)
- Previous month's work records or usage data available for time/usage-based billing
- Invoice template approved by finance with required fields
- Client roster with billing rates, billing type (fixed/hourly/usage), and cycle (monthly/quarterly)
- Work logs or usage reports for the billing period
- Any one-time charges, adjustments, or credits to apply this month
The steps
- Pull billing roster and flag any changes — Export client list with billing type, rate, and contact for the current billing period. Compare against previous month: note any new clients (first invoice), churned clients (final invoice — ensure no double billing), rate changes effective this month, and clients on pause. Flag each change for review before generating invoices.
- Compile work logs for hourly/usage clients — For hourly clients: export time entries from tracking tool filtered to the billing period. Group by client. Verify each entry has a description (not just a time block). Remove any entries marked internal or non-billable. Total billable hours per client. For usage-based clients: pull usage report from the product or API (API calls, seats, storage units). Verify totals match the billing system's usage metering.
- Calculate invoice amounts — Fixed retainer: use contracted monthly amount — apply any scheduled increases. Hourly: hours × rate, rounded to nearest 0.25h. Usage-based: units × rate per unit; apply any volume discount tiers per contract. Apply credits or adjustments noted in step 1. Verify subtotals before adding tax. Tax: apply sales tax only if applicable per client jurisdiction (state/country + product type). If uncertain on tax applicability, flag to finance — do not guess.
- Generate invoices in accounting system — Create invoice per client: invoice number (sequential, no gaps), issue date (1st of month or contract-specified date), due date (Net 30 or per contract), line items (service description, quantity, rate, amount), subtotal, tax (if applicable), total, and payment instructions (ACH details or payment portal link). Attach time report PDF for hourly clients. Attach usage report for usage-based clients.
- Review batch before sending — Before sending any invoice: spot-check 20% of invoices for amount accuracy, correct contact email, correct billing period, and correct line-item descriptions. Verify total invoice run amount against expected monthly revenue target (flag if off by > 5%). Have finance lead approve the batch if total run exceeds $50k.
- Send invoices and log delivery — Send from accounting system (preferred — auto-logs delivery and tracks opens). For clients using a portal (Stripe Billing, client payment portal): push invoices to portal and email notification. Log send date per client in accounts receivable tracker. Set payment due date reminder: flag any unpaid invoices at Day +15 for the AR follow-up SOP.
If it goes wrong
Time entries missing for hourly clients — invoice is underweight
Set a reminder at Day -3 of billing period close for all hourly staff to finalize time entry. Do not generate invoices until entries are confirmed complete by the account manager.
Invoice sent to wrong contact (e.g., project manager instead of AP)
Maintain a separate 'invoice contact' field in accounting system — distinct from primary account contact. Audit annually: AP contacts change when clients restructure.
Client claims they never received invoice
Check accounting system delivery log (most send tools track email open/delivery). Re-send from system with read receipt. If client uses a portal, confirm they can log in and see the invoice there.
All OpenLabor playbooks