How to Visualize Aging on Overdue Payments

How to Visualize Aging on Overdue Payments

Overdue payments are one of the most pressing financial challenges organizations face. When invoices sit unpaid beyond their due date, cash flow suffers, and without visibility into how long payments have been outstanding, finance teams are left guessing. Power BI offers a powerful way to build an aging dashboard that not only tracks overdue payments but also highlights the severity and risk associated with each one. 

In this tutorial, we will walk you through the process of creating an accounts receivable aging report in Power BI  from preparing your data, to building the model, to designing a dashboard that gives your team instant clarity. 

What Is Payment Aging? 

Payment aging refers to the process of categorizing outstanding invoices based on how long they have remained unpaid. Invoices are grouped into aging buckets  typically 0–30 days, 31–60 days, 61–90 days, and 90+ days  to give finance teams a clear picture of where their receivables stand. 

The older an invoice becomes, the higher the risk of non-payment. An effective aging report helps organizations: 

  • Identify which customers are consistently late or non-responsive. 
  • Prioritize collection efforts based on the age and value of overdue invoices. 
  • Make informed decisions about credit limits and payment terms. 

Step 1: Prepare Your Data 

Before building anything in Power BI, your data needs to be structured correctly. You will need a dataset that includes the following fields at a minimum(Download available dataset) 

Field  Description 
Invoice Number  A unique identifier for each invoice. 
Customer Name  The name or ID of the customer who owes the payment. 
Invoice Date  The date the invoice was issued. 
Due Date  The date by which payment was expected. 
Amount  Invoiced Amount 
Payment Status  Whether the invoice is paid or not. 

Step 2: Load Your Data into Power BI 

Open Power BI Desktop and load your data using the Get Data function 

Step 3: Create the Aging Column 

This is the most important step. You need to calculate how many days each invoice has been overdue, and then assign it to an aging bucket. This is done using a calculated column with DAX (Data Analysis Expressions) or in power query using add column . 

Days Overdue 

First, calculate the number of days each invoice is overdue: 

Aging Bucket 

Next, use a nested IF statement to assign each invoice to an aging bucket based on the number of days overdue: 

Step 4: Build Your Dashboard Visuals 

Now that your data is modelled correctly, it is time to build the visuals. A strong aging dashboard typically includes the following components: 

Step 5: Add Conditional Formatting 

Conditional formatting brings your aging report to life by color coding invoices based on risk level. This makes it immediately obvious which payments need urgent attention. 

Step 6: Add Filters and Slicers 

Filters and slicers make your dashboard interactive and useful for day-to-day operations. Add slicers for the following: 

  • Customer Name: filter by a specific customer to review their outstanding balance. 
  • Aging Bucket: isolate payments within a specific overdue range. 
  • Date Range: view aging data for a specific reporting period. 

 

Conclusion

Check out our portfolio https://siba.si/portfolio

 

Share this Post!

Co-Authors
Maureen Wachira