Why exactly did my profit go up or down vs. last month?

Knowing profit changed is not useful. Knowing whyit changed is. Here's how to trace the exact causes in your accounting software, line by line.

7 min read

The short answer

To explain a profit change, compare your P&L line by line: this month vs. last month. The sum of all revenue changes minus the sum of all expense changes equals your profit change. The largest individual swings are the explanation. Below, we show you the exact process in QuickBooks and Xero.


Why you need to explain profit changes, not just observe them

Your accountant sends you the monthly P&L. Net income went from $10,200 to $6,200. You feel a vague sense of concern. But you are not sure if this is a problem to fix or a planned consequence of decisions you already made.

The difference between concern and action is specificity. If profit dropped because you hired someone (planned, temporary margin compression), that is fine. If it dropped because a client paid late and ad spend jumped with no return, those are two separate problems requiring two separate actions.

The goal is not to explain every dollar. It is to identify the 3-5 largest changes, understand whether each one is normal or concerning, and decide what to do about the concerning ones.


The profit waterfall: how to trace changes step by step

Think of profit as a waterfall. You start with last month's profit, then add or subtract each change to arrive at this month's profit:

  • Start:Last month's net income ($10,200)
  • Revenue changed: +$5,340 (helped)
  • COGS changed: -$1,800 (materials savings helped)
  • Payroll increased: -$6,000 (hurt)
  • Ad spend increased: -$3,200 (hurt)
  • Other net changes: +$660
  • End:This month's net income ($6,200). The $4,000 decline is explained by a $9,200 increase in spending partially offset by $5,200 in revenue growth and cost savings.

How to diagnose profit changes in QuickBooks Online (5 steps)

  1. 1
    Run the Profit and Loss Comparison report

    From the left sidebar, click Reports. Search for “Profit and Loss Comparison.” Set it to this month vs. last month. Click Run report.

  2. 2
    Start at the bottom: Net Income change

    Scroll to the bottom. The “$ Change” for Net Income is the total profit change you are explaining. Write this number down. Everything above should sum to it.

  3. 3
    Work through each section

    Check Total Income change (did revenue help or hurt?), then COGS change (did direct costs help or hurt?), then each operating expense category. Note the 3-5 largest changes by dollar amount.

  4. 4
    Click into each major change

    Click the dollar change number for each significant line item. This shows the underlying transactions. Was the payroll increase from a new hire, overtime, or a raise? Was the ad spend increase from a new campaign or a budget increase on an existing one?

  5. 5
    Classify each change as planned or unplanned

    Go through your list. Mark each change as intentional (a hire you planned, a seasonal revenue dip you expected) or unintentional (ad spend that crept up, a cost overrun). The unintentional changes are your action items.

Total time: about 10-15 minutes for a thorough walkthrough. The comparison report does the math. Your job is classification and investigation.


How to diagnose profit changes in Xero (5 steps)

  1. 1
    Go to Accounting → Reports → Profit and Loss

    Set the date range to the current month. Select “Compare with: Previous Period.” Click Update.

  2. 2
    Note the Net Profit change

    Look at the bottom of the report. Subtract last month's Net Profit from this month's. This is the total change you are explaining.

  3. 3
    Calculate variances for each major line item

    Xero shows both months but does not compute the difference automatically. Subtract last month from this month for each line item. Alternatively, export the report and add a variance column in a spreadsheet.

  4. 4
    Rank changes by dollar impact

    If using a spreadsheet, sort by absolute variance. The top 5 items typically explain 80-90% of the total profit change.

  5. 5
    Click into each major change to understand why

    Back in Xero, click on each account with a large change to see the transactions. Categorize each as planned or unplanned.

Total time: about 12-15 minutes. Xero requires the extra step of calculating variances manually or via spreadsheet. The investigation process is the same as QuickBooks.


What it takes to explain profit changes every month

  • 10-15 minutes per month to run the comparison, calculate variances, and investigate the top changes.
  • Memory of what you planned. Was payroll supposed to go up? Did you approve the ad budget increase? If you do not remember your own plans, every change looks surprising.
  • Non-financial context. The P&L tells you ad spend went up $3,200. It does not tell you whether those ads generated any customers. A revenue drop from one client does not tell you whether they churned or just had a slow month. You need data from outside your accounting system to complete the picture.

Or get the profit explanation automatically, every month

Bottomline compares every line item on your P&L, ranks them by impact, and tells you exactly why profit went up or down in plain language:

Why profit changed

Net income dropped $4,000 this month ($10,200 → $6,200). Revenue grew $5,340, but expenses grew $9,340. The biggest expense increases: payroll (+$6,000 from a new hire) and advertising (+$3,200, with Google Ads up 40% but conversions flat).

Materials costs actually fell $1,800, partly offsetting the increases. The payroll increase was planned. The ad spend increase deserves review since conversion rates did not improve.

From a real Bottomline report. Financial data combined with ad platform performance for complete context.

The key difference: Bottomline does not just list the changes. It adds context from your ad platforms and CRM. So when ad spend goes up, you see whether it produced results. When revenue from a client drops, you see whether their pipeline activity suggests it is temporary or permanent. The P&L gives you the numbers. Bottomline gives you the story.

Get your answer. Every month, automatically.

Connect your accounts in 5 minutes. Your first report arrives within 24 hours.

Works with QuickBooks, Stripe, HubSpot, Google Ads, and more
© 2026 Bottomline