How to track SaaS MRR without fancy tools

How to track SaaS MRR without fancy tools starts with one written definition you reuse every month. Monthly recurring revenue is the recurring subscription value you treat as the run rate for the month, after you decide which plans count and how annual contracts convert to a monthly figure. Stripe's billing analytics docs describe MRR as the sum of monthly-normalized values for active and past_due subscriptions, excluding trials, taxes, no-cost plans, and metered usage in their default view. Your company may choose a nearby definition; write yours down so two founders do not invent two numbers. This is orientation for operators, not accounting advice. Ask your bookkeeper or CPA how MRR relates to recognized revenue on the books.
How to track SaaS MRR with one written definition
Open a short note titled "MRR definition" and answer five prompts before you touch a spreadsheet:
- Which products count as recurring (subscriptions, retainers) versus one-off (setup, hardware, services)?
- Do past-due customers still count until cancel, or only once Paid?
- Are discounts netted into MRR or shown separately?
- Are taxes excluded?
- How do annual and multi-year contracts convert to a monthly amount?
Illustrative definition (composite only): "MRR equals the monthly equivalent of active paid subscriptions at month end, net of recurring discounts, excluding tax, trials, and one-time invoices."
YC's essential startup advice stresses picking one or two key metrics early and judging work by those metrics. MRR is a common choice for subscription companies; it only helps if the definition stays stable when you report to your team or investors.
Store the definition where newcomers will find it: the same folder as the monthly worksheet, or a pinned note the finance owner updates. If someone pastes a new formula in Slack, refuse the number until the note changes first.
Normalize every plan to a monthly amount
Convert each recurring contract to a monthly figure before you sum. A common practice, also reflected in Stripe's example math, is to divide an annual price by twelve. Quarterly plans divide by three. Do not multiply a monthly price by twelve inside the MRR cell; that is ARR, a different label.
Plan (illustrative) | List price | Monthly equivalent | Notes |
|---|---|---|---|
Starter monthly | 80 per month | 80 | Recurring discount 10 ends net 72 |
Growth annual | 1,200 per year | 100 | Divide by 12 |
Pilot one-time | 2,000 once | 0 for MRR | Cash only; not recurring |
Usage overage | Metered | 0 in base MRR | Track separately if material |
Illustrative sum (composite only): three Starter nets at 72 and two Growth annuals at 100 each equals 416 MRR before new logos that month.
If you sell mixed one-time and subscription work on the same invoice, split the lines in your worksheet. Stuffing project fees into MRR makes growth look fake the next month when the project does not repeat.
Currency: pick one reporting currency for MRR. Convert foreign-currency contracts with a rate rule you write down (month-end rate, invoice rate, or another rule your CPA accepts). Changing the rule mid-year without a note creates fake growth.
Build the month-end roll-forward
A roll-forward explains how last month's ending MRR became this month's ending MRR. Keep six lines:
Line | Meaning | Illustrative amount |
|---|---|---|
Beginning MRR | Ending MRR from last month | 10,000 |
New MRR | Brand-new paying subscriptions | 1,200 |
Expansion MRR | Upgrades or seats added | 400 |
Contraction MRR | Downgrades or seats removed | (150) |
Churned MRR | Canceled recurring logos | (500) |
Ending MRR | Beginning + new + expansion − contraction − churn | 10,950 |
Illustrative check (composite only): if ending MRR from the customer list is 10,940 and the roll-forward shows 10,950, find the ten-dollar plan you forgot to update before you publish the number.
Stripe's analytics materials also discuss MRR growth as a net change broken into new, reactivation, expansion, contraction, and churn components. You do not need their product to use the same categories on paper. Name each customer change in a side list for the month so the roll-forward is auditable.
Reactivations (a churned customer who returns) deserve their own label if they matter to your story. Put them in New or a separate Reactivation line, but stay consistent. Illustrative choice (composite only): reactivation sits inside New MRR with a tag on the customer row so you can filter later.
Reconcile MRR to invoices and cash without mixing them
MRR is not the same as cash collected, and it is not the same as invoice totals. Cash can lead or lag when customers prepay annually or pay late. Invoice totals can include non-recurring lines.
In Invoices, statuses move through Draft, Sent, Paid, and Overdue, and you can Record Payment for full or partial amounts. Recurring invoices can generate on a schedule. Use those records as evidence for which subscriptions were active, then compute MRR in the worksheet. Do not treat every Paid invoice as MRR.
Illustrative reconcile (composite only): annual invoice Paid for 1,200 cash increases cash by 1,200 and MRR by 100; a Sent Overdue monthly invoice may still sit in your MRR definition if you count past-due active subscriptions, while cash stays flat until Record Payment.
Keep a third column for "cash from recurring customers this month" if founders confuse the two in standup. Burn and runway still need real cash; see how to calculate startup burn rate for that track.
Partial payments deserve a rule. If a customer pays half of a monthly invoice, decide whether MRR stays at the contracted monthly amount while AR carries the balance, or whether you haircut MRR. Write the choice in the definition note. Illustrative rule (composite only): contracted MRR stays until cancel; cash and AR show the shortfall.
Enter Monthly MRR in Startup Health after the worksheet
Startup Health is a monthly check-in for Cash Balance, Monthly MRR, and Monthly Burn. The help text says Monthly MRR should be recurring revenue only and that you should skip one-off sales. That matches the discipline above: finish the worksheet, then type the ending MRR into the check-in.
Steps that stay honest:
- Close the roll-forward and customer list for last month.
- Open Startup Health, Update Data, choose the month, enter Cash Balance, Monthly MRR, and Monthly Burn (spend minus revenue, or 0 if cash-flow positive per the help text).
- Save, then optionally polish the investor snapshot narrative without changing the metric cards to match a vibe.
Illustrative habit (composite only): first business day of the month, ops finishes the worksheet by noon; a founder enters Startup Health before standup; any dispute revisits the customer list, not the snapshot prose.
Startup Health charts trends and can raise alerts when MRR growth flips negative. Those alerts only help if the inputs follow the same definition every month.
Backfill a missed month with Other month in the check-in dialog rather than stuffing two months into one field. The help center notes you can record prior months so the history chart stays usable.
Review the number on a fixed monthly schedule
Pick one recurring calendar event. Thirty focused minutes beat a tool you open only when an investor asks.
Invite the person who owns Invoices and the person who owns Startup Health to the same thirty minutes so disputes die in the room.
Agenda (illustrative):
- Confirm the written definition has not changed.
- Update the customer list and roll-forward.
- Spot-check three expansions and three churns against invoices.
- Enter Startup Health.
- Note one sentence on why MRR moved (new logos, price changes, churn).
YC's advice ties growth to building something people want and iterating with users, not to vanity charts. If MRR is flat, the review should name product or sales work, not a plan to buy another dashboard.
When unit economics questions appear (payback, contribution after spend), keep this MRR series as the revenue input and handle cost metrics in their own worksheet so the definitions do not collide.
Sam Altman's unit economics note, linked from YC's essential advice references, is a reminder that growth without workable unit economics drains cash. MRR tracking supports that conversation; it does not replace cost discipline.
What not to stuff into MRR
Leave these out of the MRR cell unless your written definition explicitly includes them and you disclose that choice every time you quote the number:
- One-time setup, professional services, and hardware
- Metered overage you prefer to track as variable revenue
- Taxes and payment fees
- Unsigned verbal commits and unpaid trials, if your definition excludes them
- Logo counts without dollars
Illustrative misuse (composite only): counting a 5,000 services invoice as MRR, then watching "MRR" collapse next month though subscriptions never changed.
How to track SaaS MRR well ends when three artifacts match: the definition note, the roll-forward, and the Monthly MRR field in Startup Health. When they diverge, stop quoting the dashboard until the worksheet wins.
If you later buy a billing analytics product, map its settings to your written definition before you retire the sheet. Default vendor settings for trials, taxes, and past-due handling may not match what you told investors last quarter.
Frequently asked questions
Is MRR the same as cash collected this month?
No. Annual prepay can bring cash forward while MRR stays at the monthly equivalent. Late payers can leave cash behind MRR if your definition still counts them. Track both.
Should taxes sit inside MRR?
Most operator definitions exclude tax. Stripe's default MRR view excludes tax. Match whatever you write in your definition note and keep it stable.
Where do I enter MRR in Nautis?
Startup Health's monthly check-in has a Monthly MRR field for recurring revenue only. Compute the number in your worksheet first, then enter it.
Do I need billing analytics software to track MRR?
No. A definition note, customer list, and roll-forward are enough early on. If you add software later, map its settings to your written definition.
Sources
- Stripe Docs: Subscription analytics (MRR). Checked on October 31, 2026.
- Stripe: Monthly recurring revenue explained. Checked on October 31, 2026.
- Y Combinator: Essential startup advice. Checked on October 31, 2026.
- Sam Altman: Unit Economics. Checked on October 31, 2026.
- Nautis Startup Health help. Checked on October 31, 2026.
Baltej Singh is a serial entrepreneur, technology leader, and Founder & CEO of Nautis and DemoVexa, with over 16 years of experience building software products, SaaS platforms, and startups. Previously the Co-Founder & CTO of SanchiConnect, he has worked extensively in the DeepTech startup ecosystem, connecting with 200+ venture capital firms and supporting a network of 4,000+ startups. Passionate about AI, automation, and entrepreneurship, he focuses on building innovative products that solve real-world problems and help businesses grow.




