How to Create a Monthly Expense Report in Power BI with AI

Cody Schneider

Manually compiling a monthly expense report often feels like a backward slide into spreadsheet chaos. By the time you've wrangled all the data, formatted it, and created a few charts, a week is gone, and the information is already stale. This article will show you how to leave that frustrating process behind by building an automated, interactive monthly expense report in Power BI, using its powerful AI features to find insights you never would have seen otherwise.

Why Use Power BI for Expense Reporting?

Before jumping into the step-by-step process, it’s worth understanding why Power BI is such a great fit for this task compared to a traditional Excel spreadsheet. While Excel is fantastic, Power BI is designed specifically for this kind of reporting and offers a few key advantages:

  • Centralized Data: You can connect directly to your data wherever it lives — an Excel file on SharePoint, a Google Sheet, or a company database. No more downloading and uploading CSV files.

  • Automation: Once set up, your report can refresh automatically on a schedule (e.g., every morning at 8 AM). You build it once, and it stays up-to-date forever.

  • Interactive Visuals: Users can click on any chart element to filter the entire report. Want to see all expenses related to a specific project? Just click on that project's bar in the chart, and everything else updates instantly.

  • Accessibility and Sharing: You can securely share your interactive report with your team through a simple link, ensuring everyone is looking at the same information.

First, Get Your Data Ready for Reporting

The success of any report depends on the quality of the data you feed it. Power BI can handle some data cleanup, but you’ll save yourself a lot of headaches if your source data is organized and consistent from the start. For an expense report, a simple tabular format is best.

Aiming for a structure with clear columns like this:

  • Invoice ID: A unique identifier for each expense.

  • Date: The date the expense was incurred.

  • Description: A brief note about the expense (e.g., "Lunch with Client X," "Monthly Adobe Subscription").

  • Category: A standardized category for grouping (e.g., Travel, Software, Marketing, Office Supplies).

  • Employee: The person who submitted the expense.

  • Department: The department responsible for the expense (e.g., Sales, Marketing, Engineering).

  • Amount: The total cost of the expense.

  • Status: The current state of the expense (e.g., Submitted, Approved, Reimbursed).

Your data could live in an Excel workbook, a SharePoint list, or a SQL database. The key is consistency. Make sure everyone uses the same categories and that the columns are clearly defined.

Step-by-Step: Building Your Expense Report Dashboard in Power BI

With your data organized, it's time to build the actual report in Power BI Desktop (a free application from Microsoft). We'll go from connecting your data to creating a full-fledged dashboard.

Step 1: Connect to Your Data Source

First, you need to tell Power BI where to find your expense information.

  1. Open Power BI Desktop.

  2. From the "Home" tab, click "Get Data". You'll see dozens of options.

  3. Choose the source that matches where your data is stored. For this example, let's assume it's in an Excel workbook. Select "Excel Workbook" and click "Connect".

  4. Navigate to your file and open it. Power BI's Navigator window will appear, showing you the sheets and tables inside the file. Select the table containing your expense data and click "Transform Data".

This will open the Power Query Editor, which is where the real data prep magic happens.

Step 2: Clean and Transform Your Data in Power Query

Power Query is Power BI’s tool for cleaning, shaping, and transforming your raw data before it’s used in visualizations. It lets you create repeatable steps to ensure your data is always report-ready.

  • Check Data Types: Power Query usually does a good job of guessing data types, but it's wise to double-check. Make sure your "Date" column is recognized as a Date type, and your "Amount" column is a Decimal Number. You can change this by clicking the icon next to the column header.

  • Filter Out Unnecessary Rows: If your sheet has empty rows at the bottom or totals you don't need, you can easily remove them using the "Remove Rows" feature.

  • Create Pinned Columns for Time: For monthly reporting, it’s helpful to have dedicated columns for "Month" and "Year."

    • Select the "Date" column.

    • Go to the "Add Column" tab.

    • Click "Date" > "Month" > "Name of Month". This creates a new column with the month's name (e.g., "January").

    • Repeat the process, but this time select "Date" > "Year" > "Year" to create a Year column.

Once you’re happy with the data's shape, click "Close & Apply" in the top-left corner. This will load your cleaned data into the Power BI model.

Step 3: Design the Report with Key Visuals

Now for the fun part: designing the report canvas. Drag and drop visuals from the "Visualizations" pane onto the canvas and then drag your data fields into the visual's settings.

Key Performance Indicators (KPIs)

Start with the high-level numbers. Use the "Card" visual to display key metrics.

  • Total Expenses: Create a Card and drag the "Amount" field into it. Use a report-level filter to show only the current month.

  • Number of Submissions: Create another Card. Drag the "Invoice ID" field into it and change the summarization to "Count (Distinct)."

Breakdown and Comparison Visuals

  • Expenses by Category (Donut Chart): Add a "Donut chart" visual. Drag "Category" to the Legend field and "Amount" to the Values field.

  • Expenses by Department (Bar Chart): Use a "Stacked bar chart". Drag "Department" to the Y-axis and "Amount" to the X-axis.

  • Expense Trend (Line Chart): Use a "Line chart". Drag "Date" to the X-axis and "Amount" to the Y-axis.

Detailed View Table

Add a "Table" visual to your canvas and include columns like "Date", "Description", "Employee", "Category", and "Amount". This allows users to see the raw data behind the charts.

Supercharge Your Report with Power BI's AI Features

A static report is good, but an intelligent one is great. Power BI has several AI-powered features that can elevate your expense report from a simple summary to a strategic tool without requiring any coding.

1. Q&A for Natural Language Queries

The Q&A visual lets users ask questions of your data in plain English. Instead of teaching your manager how to use slicers and filters, you can just add a Q&A visual to the page. They can type things like:

  • "What were the total expenses for the Sales department in January?"

  • "Show top 10 expenses for software"

  • "Compare travel vs marketing expenses over time"

Power BI interprets the question and generates a visual response on the fly. It's an incredibly intuitive way for non-technical users to explore the data.

2. Analyze with the Key Influencers Visual

This AI visual helps you understand what factors drive a particular metric. For example, what drives high expense amounts?

  1. Add the "Key Influencers" visual to your report.

  2. Drag "Amount" into the "Analyze" field bucket.

  3. Drag fields you want to investigate, like "Department", "Category", and "Employee", into the "Explain by" bucket.

The AI will analyze the data and report back, saying something like, "The likelihood of a high expense amount increases by 3.5x when the Category is 'Travel'," giving you a data-backed starting point for cost analysis.

3. Spot Outliers with Anomaly Detection

On your expense trend line chart, you can automatically identify unexpected spikes or dips.

  1. Select your line chart.

  2. Go to the "Analytics" pane (the magnifying glass icon in the Visualizations pane).

  3. Expand the "Find anomalies" section and click "Add".

Power BI will now automatically highlight any data points that are statistically unusual based on the historical trend. You can even click on an anomaly, and Power BI will attempt to explain what might have caused it, such as "a high number of submissions from the Engineering department".

4. Get Automatic Summaries with Smart Narratives

The "Smart Narrative" visual saves you the effort of writing up your monthly findings. When you add it to the report page, it uses AI to generate a dynamic text summary of the key takeaways from your visuals. It might produce text like:

"At $15,430, the total expenses for the month saw a 12% rise from the previous month. The marketing department had the highest expenses, constituting 45% of the total monthly spend."

The best part? This text updates automatically whenever the data refreshes or you apply a filter.

Final Enhancements for Usability

To make your report truly polished and easy to use, add these finishing touches:

  • Slicers: Add "Slicer" visuals for Year, Month, and Department so users can easily filter the entire report with a single click.

  • Publish and Schedule Refresh: Once finished, click "Publish" from the Home tab to send it to the Power BI Service (the web-based version). From there, you can share the link with colleagues and set up a scheduled data refresh to keep it current without manual intervention.

Final Thoughts

Building a monthly expense report in Power BI turns a routine administrative chore into a dynamic resource for business intelligence. By connecting your live data and leveraging standard visuals alongside AI features like Q&A and anomaly detection, you move from just reporting numbers to understanding the story behind them.

Although Power BI is incredibly capable, there's still a learning curve involving data prep and dashboard design. At Graphed you can connect your data sources — whether it’s a payments platform or a simple Google Sheet of expenses — and simply ask our AI to "build a dashboard showing monthly expenses by category and department for the last quarter." We instantly generate the live, interactive visuals for you, letting you go from raw data to actionable insights in seconds, not hours.