Custom Reports

There are two truths about reporting features in inventory management systems :

  1. Every inventory management system provides a set of standard reports.
  2. Every company needs something special, no matter how many standard reports are provided.

Thus every inventory management system needs some provision for people to create their own custom reports based on the information they are maintaining, to answer questions like,

  • What is the total weight of my stock on hand, by sub-location?
  • What are my total invoices to a customer in a time range?
  • How much tax have I collected from customers over a time range?
  • Etc., etc.

The challenge is that while it is easy to phrase a question like this in English, it is usually not so easy to say what you want with enough precision for a software program to understand what to do. If you are a programmer or database administrator, you are probably familiar with database query languages like SQL, which allow you to make custom reports by defining the queries in the language. If you are not a programmer or database adminstrator, you probably want a simpler solution.

Building Custom Reports Without Programming

The Rows

Finale’s solution for creating custom reports without programming is based on Excel. The idea is that to create a report you start out with a giant virtual spreadsheet called a data set that has rows for all the items that may contribute to the report and columns for all the fields that could be relevant to the report. For example, if you are making a report to summarize all the invoices in a date range, your data set begins as the list of all the rows of all the invoices.

Another way to think about the data set is to imagine printing out all your invoices and taping them together one on top of the other in a long, tall list of invoice rows.

After choosing the data set, you select some filters to remove the rows that don’t apply. For example, if your report covers a specific date range, you’d filter out the rows from the invoices outside of that range.

The Columns

After specifying the rows in the data set, you specify the fields that you want to see in the report. These fields become the columns. For example, if you just wanted to see the total amount invoiced to the customers and didn’t want any other details then you really only want two fields: Customer and Invoice Total.

There are more details for choosing how the totals add up, but specifying the rows and columns like this is basically how you generate a custom report in Finale. Tallying the totals has the effect of combining the rows that are tallied together, which whittles down the tall list of rows into just the rows you see in the report. What began as a giant virtual spreadsheet is now the report that you see.


Once you’ve defined what goes into the report, you have the option to layout the information in a page template that you define to look any way you want. If you’ve printed an invoice or sales order in Finale, then you’ve already used reports maybe without even knowing it, because the documents printed by Finale are just reports that are formatted with custom page templates!

Example Videos

The example videos below show a series of three simple reports on invoices. The first report shows the total amount invoiced to a customer in a date range. The second report includes a summary of each invoice. The third report includes the details of each invoice. Taken together, these three examples illustrate how to make reports that have varying levels of detail of information.

Custom Reports Example #1: Total Invoiced To Customer

Custom Reports Example #2: Invoice Summary For Customer

Custom Reports Example #3: Full Export To Excel

(Videos: See complete list of available videos)