tools

    How to Track Course Revenue Using Google Sheets

    Build a free course revenue dashboard in Google Sheets with columns for sales, refunds, payment plans, and MRR. Includes formulas for monthly summaries and conditional formatting for trends.

    Abe Crystal, PhD8 min readUpdated May 2026

    A Google Sheets spreadsheet with the right columns gives you a clear, transaction-by-transaction view of what your course business is earning. You can see total sales, refunds, payment plan installments, and monthly recurring revenue in one place — without paying for accounting software or waiting for your payment processor's dashboard to load. Below is a structure you can copy into a blank sheet and start using today.

    20 minutes to set up; 30 seconds per transaction to maintainGoogle Sheets (free)Basic spreadsheet skills
    1Create columns
    2Add data validation
    3Add formulas
    4Conditional formatting
    5Monthly summary tab
    6Revenue by course

    What you’ll walk away with:

    • A transaction log tracking every sale, refund, and payment plan installment
    • Automated formulas for gross revenue, net revenue, MRR, and refund rate
    • Conditional formatting that highlights refunds and recurring payments at a glance
    • A monthly summary showing revenue trends over time

    Why Google Sheets works for revenue tracking

    Most course creators already have a Google Sheets account, and that removes the biggest barrier to actually tracking revenue: setup. You don't need to learn new software, connect an API, or pay a monthly fee. You open a blank sheet, add your columns, and start recording transactions.

    The formulas handle the math you'd otherwise do by hand or in your head. A SUMIF formula can tell you exactly how much you earned from a specific course last month. A simple division gives you your refund rate. These numbers update instantly every time you add a new row, so your financial picture is always current.

    The limitation is real: you enter data manually. Your payment processor (Stripe, PayPal, or your course platform) already records transactions automatically, so a spreadsheet adds a data-entry step. The benefit is that you control the structure. You can add columns your processor doesn't track — like which marketing campaign brought in that sale, or whether a student came from a referral. For a course business doing under a few hundred transactions per month, the manual step is manageable and the visibility is worth it.

    Step-by-step: Building your revenue tracker

    1

    Create your transaction log columns

    Open a new Google Sheet and type these headers across row 1: Date, Student Name, Email, Course, Amount, Payment Type, Refund, Processor Fee, and Notes. Bold the header row and freeze it (View > Freeze > 1 row) so it stays visible as you scroll through months of transactions.

    Each column serves a specific purpose. Date is when the transaction occurred. Course tells you which product generated the revenue. Amount is the gross sale price. Payment Type distinguishes one-time purchases from payment plan installments — this matters for calculating MRR. Refund is either blank (no refund) or the refund amount. Processor Fee records what Stripe or PayPal charged you on that transaction. Notes captures context: "came from webinar," "requested refund due to schedule conflict," or "upgraded from mini-course."

    2

    Add data validation for payment type

    Select the entire Payment Type column (minus the header). Go to Data > Data validation > Add rule. Choose "Dropdown" and enter your options: One-Time, Installment, Subscription. Click Save. This prevents inconsistent entries like "one time," "1x," or "monthly" that would break your summary formulas later.

    Three types cover most course businesses. One-Time is a single full payment. Installment is one payment in a multi-payment plan (you'll have multiple rows for the same student if they're on a 3-pay or 6-pay plan). Subscription applies if you run a membership or recurring-access model.

    3

    Add formulas for key metrics

    Create a summary section to the right of your data (columns K through M work well) or at the top of the sheet. Add these formulas:

    • Gross Revenue: =SUM(E2:E1000) — total of all amounts collected
    • Total Refunds: =SUM(G2:G1000) — total refunded
    • Net Revenue: =SUM(E2:E1000) - SUM(G2:G1000) - SUM(H2:H1000) — what actually lands in your account after refunds and processor fees
    • Refund Rate: =COUNTIF(G2:G1000, ">0") / COUNTA(E2:E1000) — the percentage of transactions that resulted in a refund
    • MRR (Monthly Recurring Revenue): =SUMIFS(E2:E1000, F2:F1000, "Subscription") — sum of subscription payments this month

    These five numbers give you the financial dashboard most course creators need. Gross revenue shows momentum. Net revenue shows reality. Refund rate flags whether something in your sales process or course delivery needs attention — a refund rate above 10 percent is worth investigating.

    4

    Add conditional formatting

    Select your entire data range. Go to Format > Conditional formatting and create two rules:

    • Red text when the Refund column contains a value greater than zero. This makes refunds visually obvious as you scan the sheet, so you can spot patterns — like multiple refunds from the same course or the same week.
    • Light green background when Payment Type equals "Subscription." Recurring revenue is the healthiest kind, and the green highlight lets you see at a glance how much of your income is recurring versus one-time.
    5

    Create a monthly summary tab

    Right-click the sheet tab at the bottom and select "Duplicate." Rename the new tab "Monthly Summary." Clear the transaction data and set up a table with these columns: Month, Gross Revenue, Refunds, Net Revenue, Transaction Count, Refund Rate, and MRR.

    For each month, use SUMIFS to pull from your transaction log. For example, to calculate January 2026 gross revenue: =SUMIFS('Transaction Log'!E:E, 'Transaction Log'!A:A, ">=2026-01-01", 'Transaction Log'!A:A, "<2026-02-01")

    This monthly view is where patterns become visible. You can see whether revenue is growing month over month, whether refund rates are trending up or down, and whether a launch month produced a spike followed by a valley.

    6

    Track revenue by course

    If you sell more than one course, add a second summary section that breaks down revenue by product. Use SUMIFS with the Course column as the criterion: =SUMIFS(E2:E1000, D2:D1000, "Course Name Here")

    List each of your courses with its total revenue, transaction count, and refund rate. This tells you which courses are carrying your business and which ones might need better marketing, updated content, or a pricing adjustment. A course with strong sales but a high refund rate is a different problem than a course with low sales and zero refunds — the first has a delivery issue, the second has a visibility issue.

    Course creator tips

    Record transactions the day they happen

    The accuracy of a manual revenue tracker depends entirely on your consistency. If you let transactions pile up for two weeks and then try to reconstruct them from payment processor emails, you'll miss entries and introduce errors. Bookmark your spreadsheet and add each sale or refund the same day it occurs. The entry takes thirty seconds. The habit is what makes the data trustworthy.

    Add a source column when you're ready

    Once your basic tracker is working, consider adding a Source column: where did this student come from? Options might include Webinar, Blog, Referral, Social Media, or Email List. This is data your payment processor doesn't capture, and it answers the question every course creator eventually asks: "Which of my marketing efforts are actually producing sales?"

    Reconcile monthly against your payment processor

    At the end of each month, compare your spreadsheet total against the payout report from Stripe, PayPal, or your course platform. The numbers should match within a few dollars (small rounding differences are normal). If they don't match, you've either missed a transaction or double-entered one. This five-minute reconciliation catches errors before they compound across months.

    Limitations

    Manual data entry scales poorly

    Manual data entry is the obvious constraint. Every transaction you record is a step your payment processor already did automatically. For a business doing 10 to 50 transactions per month, the overhead is modest. Above 100 transactions per month, you'll spend enough time on data entry that dedicated accounting software like Wave (free) or QuickBooks starts to make sense.

    No automatic data sync

    A spreadsheet can't pull data automatically from your payment processor. Every number in the sheet is only as accurate as your data entry. If you forget to log a refund or mistype an amount, your metrics will be wrong until you catch the error during reconciliation.

    Rear-view mirror, not a forecast

    A spreadsheet gives you a rear-view mirror, not a forecast. It tells you what happened, not what will happen. Predicting future revenue from payment plan installments or subscription renewals requires additional formulas and assumptions that add complexity beyond what most course creators need in their first year.

    Frequently asked questions

    How often should I update my revenue spreadsheet?

    Update it every time you process a sale or refund. If that feels like too much, set a weekly appointment — every Monday morning, for example — and enter the previous week's transactions in one batch. The key is consistency: a sheet you update every week is far more useful than one you update sporadically.

    Can I track revenue from multiple courses in a single spreadsheet?

    Yes, and you should. Add a Course column so each row records which course generated that sale. Your summary formulas can then use SUMIFS to break down revenue by course, by month, or both. A single spreadsheet gives you a complete picture of your business, not just one product.

    Should I track gross revenue or net revenue after payment processor fees?

    Track both. Record the full sale amount in your Amount column, and add a separate column for processor fees (Stripe charges 2.9% + 30 cents per transaction, for example). Your net revenue formula subtracts fees from the gross total. Tracking both numbers matters because gross revenue tells you how your sales are performing, while net revenue tells you what actually lands in your bank account.

    Related guides

    From spreadsheet to built-in revenue tracking

    A Google Sheet gives you financial visibility when you're starting out. It costs nothing, it's flexible, and it forces you to look at your numbers regularly — which is a healthy habit for any business owner.

    When the manual entry starts to feel like overhead — or when you want your revenue data to live alongside your student progress, course content, and marketing in one place — Ruzuku handles payments directly with zero transaction fees. You see every sale, every payment plan installment, and every refund inside your dashboard, without entering a single number yourself. Start building your course on Ruzuku for free.

    Topics:
    revenue tracking
    google sheets
    course revenue
    MRR
    payment plans
    financial tracking
    free tools

    Related Articles

    tools

    How to Create a Course Production Schedule Using Google Sheets

    Build a lesson-by-lesson production tracker in Google Sheets with status dropdowns, conditional formatting, and progress formulas. Free template approach.

    Read more
    tools

    How to Track Student Progress Using Google Sheets

    Build a free student progress tracker in Google Sheets with columns for attendance, assignments, completion, and grades. Conditional formatting included.

    Read more

    Ready to Build Your Course?

    You have the tools. Now bring your course to life. Start free on Ruzuku — unlimited courses, zero transaction fees.

    No credit card required · 0% transaction fees