Short answer: Your monthly ARR reporting checklist should include: pulling subscriptions data, validating invoices, handling upgrades/downgrades/churns, adjusting for non-monthly billing, calculating net new ARR, and presenting a variance analysis. Accuracy and consistency are key.
Key takeaways
- Always reconcile subscription data with payment data.
- Adjust for annual and quarterly billing to get accurate MRR.
- Track expansions, contractions, churns, and new logos separately.
- Include a variance analysis against prior month and budget.
- Automate data pulls to reduce manual errors.
- Present ARR in a consistent format every month.
What you will find here
- 1. Pull Raw Subscription Data from Your Billing System
- 2. Reconcile with Payment Data
- 3. Classify Every Subscription as New, Expansion, Contraction, Churn, or Reactivation
- 4. Adjust for Non-Monthly Billing Frequencies
- 5. Account for One-Time Fees and Credits
- 6. Build Your Monthly ARR Summary Table
- 7. Validate Your Numbers with a Cross-Check
- 8. Document Changes and Assumptions
- Why Consistency Matters More Than Precision
Monthly ARR reporting is the backbone of SaaS finance. It tells you if you’re growing or bleeding. A reliable monthly ARR report gives you confidence in decisions about hiring, spending, and fundraising. This checklist covers the steps I use to ensure accuracy every month.

1. Pull Raw Subscription Data from Your Billing System
Start at the source. Export all active subscriptions from your billing platform — Stripe, Chargebee, Recurly, or whatever you use. Include customer ID, plan, quantity, unit price, billing frequency, and current period start and end dates. Do not filter anything yet. You want the full list so you can catch orphan records later.
Also export any pending invoices and one-time charges. These will need special treatment because they aren’t recurring revenue.
2. Reconcile with Payment Data
Your billing system says one thing. Your payment processor says another. They should match, but often don’t due to failed payments, refunds, or prorations. Pull payment success data for the month and compare to the subscription list. Flag any subscription with a failed payment in the last 30 days. Those should be marked as delinquent, not active ARR.
This step alone catches 90% of reporting errors. Don’t skip it.
Why Reconciliation Matters
If you only use subscription data, you overcount ARR by including non-paying customers. If you only use payment data, you miss invoices sent but not yet paid. The reconciliation gives you the truth.
3. Classify Every Subscription as New, Expansion, Contraction, Churn, or Reactivation
For each customer, compare this month’s MRR to last month’s MRR. Categorize the change:
- New: first-ever subscription start date this month.
- Expansion: upgrade, add-on, or quantity increase.
- Contraction: downgrade or quantity decrease.
- Churn: subscription ended this month.
- Reactivation: customer who had churned now resubscribed (treat separately from new).
Then calculate net new ARR = (new + expansion + reactivation) – (contraction + churn). This is your growth engine number.
4. Adjust for Non-Monthly Billing Frequencies
If you have annual or quarterly plans, their MRR is not the invoice amount. You must normalize. For an annual plan billed $1,200 once, MRR is $100. For a quarterly plan billed $300, MRR is $100. Do this for every non-monthly subscription.
Common trap: Treating a $1,200 annual invoice as $1,200 MRR that month inflates your revenue and gives false growth signals. Always normalize to MRR, then convert to ARR by multiplying by 12.
This is covered in detail in our guide on How to Calculate ARR the Right Way.
5. Account for One-Time Fees and Credits
One-time setup fees, credits, and refunds are not recurring revenue. Separate them from your ARR calculation. I recommend creating a line item called Non-Recurring Revenue in your report. This keeps ARR clean and prevents misleading spikes.
6. Build Your Monthly ARR Summary Table
Now structure your report. Here is the table I use every month:
| Metric | Current Month | Prior Month | Change $ | Change % |
|---|---|---|---|---|
| Starting ARR | $X | $Y | ||
| + New ARR | $A | $B | ||
| + Expansion ARR | $C | $D | ||
| + Reactivation ARR | $E | $F | ||
| – Contraction ARR | $G | $H | ||
| – Churned ARR | $I | $J | ||
| Net New ARR | $K | $L | ||
| Ending ARR | $M | $N |
Include a row for Ending ARR and a variance column showing change from last month and from budget (if you have a plan).
7. Validate Your Numbers with a Cross-Check
Before publishing, run a sanity check. Ending ARR = Starting ARR + Net New ARR. Your net new ARR should equal the sum of new, expansion, and reactivation minus contraction and churn. If it doesn’t, you have a classification error or a data pull issue.
Also compare total active customer count this month vs last. If ARR went up but customers went down, that’s a red flag — expansions might be masking churn.
8. Document Changes and Assumptions
Every month, note any changes in methodology. Did you add a new pricing plan? Change how you treat freemium accounts? Update the billing system import settings? Document it in a running changelog. This makes your reporting auditable and helps new team members understand the numbers.

Why Consistency Matters More Than Precision
ARR is an approximation. The exact number fluctuates with daily changes. What matters is that you calculate it the same way every month. That way month-over-month changes reflect real business trends, not definitional shifts. Stick to your checklist. Review it quarterly to see if it still fits your business model.
Use this checklist as a starting point. Adapt it to your company’s quirks. The goal is a report that you trust and can act on.
Frequently asked questions
What is the difference between ARR and MRR?
ARR (Annual Recurring Revenue) is the annualized value of all recurring subscriptions. MRR (Monthly Recurring Revenue) is the monthly value. For monthly subscriptions, MRR equals the monthly amount; for annual subscriptions, MRR is the total annual invoice divided by 12. ARR = MRR × 12.
How often should I generate an ARR report?
I recommend generating a full ARR report monthly. Some teams run it weekly or even daily for early-stage companies, but the monthly cadence balances accuracy with effort. Use automated dashboards for daily snapshots, but do a manual deep-dive reconciliation monthly.
What should I do if my ARR goes down?
First, check if the decrease is real or a data issue. Re-run your reconciliation. If confirmed, analyze the components: Is it high churn? High contraction? Low new business? Look at net new ARR and its drivers. Identify the biggest negative contributor and investigate root causes with the relevant team.
Should I include invoiced not yet paid in ARR?
Yes, include the subscription value even if the invoice is unpaid, as long as the customer is actively using the service. However, after 30 days past due, I would exclude them or mark them as delinquent. This prevents counting revenue you may never collect.
How do I handle plans with usage-based components?
For usage-based revenue, calculate an average monthly usage over the last 3-6 months and include that as part of MRR. Update the average each month. Do not include one-time overages. Treat usage-based ARR as a separate line item to avoid mixing with fixed subscriptions.