Reports: Best Practices and Procedures

Below is a list of the most common report fields and what they do. The purpose of this article is to avoid having to specify “the Store field restricts the report to the specified store” on every single report article.

There is also a best practices on the more optimal ways of running reports. This includes how to report on multiple class or department codes, what to do when you get a “0 records listed” response as well as other things.

Common Practices

  • Populate as few fields as possible to get the information you need.
    • Data presented in a report is information that meets every single field criteria.
    • If you get a response of “0 records to display” then consider widening your parameters. Filling out every single field will rarely work.
    • e.g. If you specify: “Store 1, Register 101, Beginning Date 8/1/18, Ending Date 8/1/18, Department 90, Class 101, SKU 9781234567890, Tran Type RT, WEB Transactions N, History file N” you probably won’t get anything.
      • If you remove the tran type criteria, or the department and class fields (you’re specifying the item anyways) then you may get some results.
  • Multiple criteria can be entered into most fields by separating them with a comma.
    • e.g. If you want to report on class numbers 101,102 and 103 you will enter them as 101,102,103
  • There is currently no way to report on “everything except” unless you enter every valid option.
    • e.g. If you want to report on every class other than 101 you would have to enter every class code except 101, into the Class field.

Common Fields

  • Store: Entering a value for Store restricts the report to only display results for the specified store.
    • Note that some items are not store specific, e.g. Class codes or fee codes are store agnostic.
  • Register: Entering a value for Register restricts the report to only display data on the specified register.
    • Multiple registers can be entered by separating them with a comma. e.g. 101,102,103 will report on all three registers.
  • Beginning Date: A “start date” that limits the data to not include information before this date.
    • e.g. A transaction search with a start date of 7/1/18 will not include any transactions prior to July 1st, 2018.
  • Ending Date: Specifies the “stop date” in the data, nothing after this date will be displayed.
    • e.g.A transaction search with a stop date of 7/1/18 will not include any transactions done on 7/2/18 or after.
    • To report on a single day make the beginning and ending date the same.
  • Department: Restricts the report to include data that falls under the specified department
  • Class: Restricts the report to data that includes items that fall under that class
  • SKU: Enter a SKU, ISBN, Fee Code, etc. to only report on data that includes this item
  • Detail: Is used to display as much information as possible for that data being reported on.
    •  For example, a report against transaction data with Detail flagged will display every line item in the transaction, the cost, quantity and total for every transaction for the date range specified.
    • The majority of reports are either Detail or Summary, but there are a few exceptions that will report the detailed information and include a separate summary section at the bottom. One example would be inventory valuation reports that will list all of the inventory items and then include summary totals for each inventory class.
  • Summary: The summary flag will combine and summarize the data reported on various break points.
    • For example, a transaction report with Summary flagged will simply report the transaction total instead of every single line item, their cost, and the total for the date range specified.
  • History: Almost always a N.
    • This is not a “include History as well” flag.This is a hard switch, meaning it reads from the History ONLY and will not report on current data.
    • Data can be moved to history to separate it from current data without throwing it away.
    • Once it has been moved to history then the History field would have to be a Y to read it from the History file.
  • Web: Almost always an N or empty. Entering a Y will restrict the report to ONLY web transactions similar to the History field only reporting on the History file.

 

 




POS Report Menu List

POS Reports Menu(RP)

Below is the layout of the Reports menu in the POS module in an ordered list. The purpose of this page is to allow for a searchable list of reports. This is a constant work in progress, so some details may not be available at this time.

Clicking on a report name will navigate to a page with an example of what the report looks like, a brief summary of what the report will report on as well as explanations of the fields used to generate the report. Please note that every field definition is not listed for every single report, instead the most common fields are covered in the Reports: Best Practices and Procedures article. Only special usage scenarios or unique field options are covered in the individual report articles.

The numbering of the list reflects the path numbering of the reports. For instance, the Tender/Register Summary Report (RP-2-21) is down in section 2; Tender Reports, option 21 for Tender/Register Summary. At first glance it can be a little jarring to see the list go from 5 to 21 but it was necessary to keep the options true to the screen layout.

      1. Sales Reports >

        1. Detail by Trans Number
        2. Consolidated by Register
        3. Class Reports Menu >

          1. Class Detail by Date by Class
          2. Class Detail by Class by Date
          3. Class Summary by Class
          4. Class Summary by Register
          5. Item Disc/Mkdn by Class
          1. Class Comparison – Net
          2. Class Comparison – Returns
        4. Time Interval Sales Menu >

          1. Store Sales by Store by Register by Date
          2. Store Sales by Store by Date by Interval
          3. Employee Sales by Employee by Time
          4. Employee Sales by Time by Employee
          5. Sales $$ by Time Interval
          6. 7-Day Sales Report
        5. Special Sales Reports Menu >

          1. Gross-to-Net Sales
          2. Departmental Sales
          3. Sales and Returns by Department
          4. Sales by SKU/ISBN
          5. Sales by Transaction Discount Code
          6. Serial Number Search
          1. Maintain Flash Dates
          2. Update and Print
          3. Print Flash Data
          4. Akademos Sales Detail
        6. A/R Reports Menu >

          1. Invoices
          2. Payments
          1. POSCONNECT Error Report
        1. Transaction Detail (Inquiry)
        2. Fee Detail
        3. Fee Summary
        4. Item Disc/Mkdn Detail
        5. Movement/Ranking Menu >

          1. Build Ranking File
          2. Run Ranking Reports
          3. Build Movement File
          4. Run Movement Report
        6. E-Book Trans Detail
      2. Tender Reports >

          1. Tender Detail by Reg# by Tran#
          2. Summarized by Register
          3. Summarized by Store
          4. Detail with Account Information
          5. Summarized by Cashier Code
          1. Tender/Register Summary
          2. Consolidated Register Summary
          3. Sales Tax Summary
          4. Register Parameter Screen
          5. Credit Card Detail
      3. Inventory Reports >

          1. Daily Sales Detail
          2. With Sales in Last Seven Days
          3. Inventory Movement Report
          4. Inventory Movement by Time
          5. Same SKU in Multiple Modules
      4. Data File Listings >

        1. Department List By Dept Code
        2. Class Reports >
        3. Vendor Order Address List
        4. Sales Entry Messages
        5. Catalog QOH Report
        1. Cashier Listing
        2. Employee Listing
      5. Employee Reports >

        1. Transaction Detail by Employee
        2. Transaction Summary by Employee
        3. Employee Time
        4. Employee Sales By Employee By Time Interval
        5. Employee Sales By Time Interval By Employee
        6. Percent Employee Sales
      6. Miscellaneous Reports >

        1. Voucher Special Order Report
        2. Gift Card Report
        3. Cap & Gown Report
        4. Miscellaneous Voucher Report
        5. Departmental Vouchers
        6. Suspended Transactions Report
        7. Discount Summary
        1. Tax Report From POS.STD
        2. Tax Report From POS.TES
        3. Supervisor Authorizations
        4. Percent of Trans. per Register
        5. Neg Accounts Listing
        6. A/R Customer Report
    1. Buyback Reports >

      1. Dollars Spent Report
      2. Buyback Audit Report
      3. Buyback Detail Report
      4. Transaction Inqiry
    2. Register Errors
    3. User Audit



Custom Reports Through Query Builder

The TCS Query Builder is a very powerful tool for users of SmartSuite to customize or create new reports that more specifically meet their needs.

The Basics

Verbs Can be either SORT or LIST. List is random and SORT is ordered.
Filename The SmartSuite system is comprised of several data files unique to each module.
Dictionaries Each data file has its own unique set of dictionaries that define how data fields are represented.
Selection Criteria The rules you define to limit the volume of data to be included on a report.
Sort Criteria The rules you set to define how the data will be sorted.
Output Criteria The columns that will be included on a report.

 

Nearly 100% of the reports in SmartSuite utilize the same rules that the Query Builder does. We just add a more complex screen for your parameters and do a few more technical things.

The best way to create a query is to start from an existing one. If you don’t have an existing one then choose one of the system reports and see how we did it. Try to run a report that contains similar data to what you would like to create. For example, if you are going to create a report to display sale information, then use a Sales report as a reference. This way you can see what filename we are pulling sales data from and can use that same filename in your query.

You can see our query string by running the report but instead of selecting terminal, or printer, etc. choose the option to show the Command String.

Here’s a simple command from POS-RP-04-21 (Cashier Listing).

This has a Verb (SORT), a Filename (POS.EM), and Output Criteria (NAME.15 SECURITY.LEVEL.8 MISC.INFO.40. There is also a HEADING.

Screen Elements

Here’s an example of a query created by an end-user for doing a sales export.

ID This can be alpha or numeric. It is just the name you want associated with the report and is assigned by the user.
Used By Can be left blank or filled in with the name of the person who will be the primary user of the report. (When you enter “??” in the ID field the list is sorted by Used By and then by Desc.)
Verb Use either SORT or LIST
Filename Enter “??” to view a list of all of the files for the database you are logged into (POS, TEXT, GM, etc.) This is where it is easier to use the Command String to see what file to use. After some experience you become familiar with our naming convention and the file names will make sense.
Selection Criteria Enter valid dictionary items. If you click on “??” you will see a complete list of the dictionaries for the file selected. Here is a list of the POS.EM file (employee master).

If you enter “Y” in the Prompt column then when you run the report you will be prompted for the value you want to use. Dates can be entered just like in our screens.

The “??” works the same in each area, so the explanation will not be repeated.

The “?” provides most of the information provided in this document.

Sort Criteria The report above is going to be sorted by DATE and then by KEY. Since it is using the SalesTransactionDetail file (POS.STD) the key is store*date*register*transaction.

Output Criteria This varies in that the 2nd column is for BREAKS. A Break is usually used to provide subtotals. It can also be used to create a logical break on the report. Break options include:

T Total the column

Y Break with no total

P When breaking start a new Page

D Only show the detail lines

U Underline the total

L Suppress and blank lines following a total or other break

Breaks can be combined to cause multiple effects.

Include Record IDs Frequently the ID to a file is cryptic and the data you are viewing is redundant to the ID (just formatted better); in this case enter an “N”. If you want to see the record IDs, then enter a “Y”.

Detail Lines If your primary interest is summary data then enter “N” for detail lines. The 1st time you run the report, or as you are developing it, leave this a “Y” to have a better feel for the data.

Column Headings This is almost always a “Y” but they can be turned off for exporting/importing.

Sample Size When developing the report, you may not want to wait very long for you to see what you will get. Enter number here and as soon as that number of detail records is reached the report will print (or display). We usually start with 10 and move up to 100 if necessary.

Grand Total Enter any wording you want to appear on a grand total line. The Mod: field is used to Underline any totals.

Heading This optional field will cause a heading to print at the top of the report.

There are 3 primary modifiers that can be used in defining a heading. They include:

L Create a Line Break

T Insert the Time & Date

P Insert the Page Number

Here’s a sample:

 

When you choose the Run option you will be prompted for any of the inputs you specified and then you will select where to print the report using the same options as all other SmartSuite reports.




Automatic Reports via Background Processor

Introduction

The Background Process allows you to set up recurring processes that either process data or creates reports. For Hosted accounts these reports can only be emailed. Self-hosted accounts can have reports emailed or printed on a designated printer. The process can be set up to run just once or repeatedly on a prescribed schedule.

If the process has dates or other parameters to be entered these can be set up as part of the process.

Job Parameters

In order to facilitate setting up a report you can select Run in Background from the Output Destination box. This will work with nearly all of your background processing needs.

Here is how this would work if you were to schedule POS report POS-RP-2-21 (Tender Register Summary).

  1. Do everything that you would normally do to run the report but select Run in Background instead of the Terminal or a Printer.

After selecting Run in Background the following box will appear. Select “Schedule”.

After selecting Schedule you are then prompted for a name to call this process. Enter a brief code, do not enter spaces.

When you have chosen a name/code to call this process the following screen appears. This is the Job record that will be used to run this process on the schedule you specify.

This is the record that is created. Once you saved it you will be able to access through BG-01.

Field Definitions

  • Account This is the Account that the process will run from. It is strictly informational.
  • Sender Port Not used
  • Notify Sender Not used
  • Run Status R=run at scheduled time and intervals, I=run immediately (great for testing), and X=Stop from running. If this is set to “I” then it will switch to “R” once it has run.
  • Next Run Date The next date this process is set to run.
  • Next Run Time The next time this process is set to run.
  • Day Intervals This is how frequently you want to run the process.
    • 1 = daily, 7 = weekly, 14 = every two weeks, etc.
  • Exclude Days Enter the days that you do not want this process to run. Options include SUN, MON, TUE, WED,THUR,FRI, and SAT.
  • Time Interval This is how frequently in a given Day Interval you want this process to run. 1:00:00 is hourly, 24:00:00 is once per Day Interval.
  • Exclude Times Time ranges that you do not want the process to run.
  • Group Code This allows you to create groups so that processes run in the order you want.
  • Sequence in Group Where in this group the process will run.
  • Process Type There are three options based on the kind of process is going to run. Valid types include “T” for TCL/Command Line, “P” for Procsub (this is the majority of processes), and “TD” for TCL/Command Line with data being supplied by the INPUTS in this process.
  • Process ID Each menu option on the system takes you to another Menu, a Data Entry Screen, or a Process. Always use a Process. Nearly all process have a set of inputs that is used to define parameters for that process.
  • Output Tag This parameter is used to define printer and email options. It is discussed in detail below.
  • LAST RUN This box has the last run date and starting time, and the date that the last run ended and the time that it ended. Most processes take a minute or two at the most.

INPUTS: This is a list of any values as they will be needed by the process. In this particular example we have “” (press enter) three separate times. And then the word DATE twice. Since you are probably familiar with this report this values would look familiar. Other values on the next screen include Y, N, D, N, etc.

When DATE is used there are three options:

DATE This is today’s date. Use this if the scheduled run date is for the current date.

DATE+n This is today’s date + n days.

DATE-n This is today’s date – n days.

It is recommended that you run a process a at lease an hour prior to midnight and some time after midnight.

Output Tag

The Output Tag is used to indicate if the process is to be printed or emailed.

If Printed (Self-Hosted users only) enter a “P” in the field. If emailed enter “E” in the field.

Printer Output Tag

When selecting Printer the following appears.
*NOTE: Printer output is only available for self hosted systems. Customers running on the hosted environment will need to use the email output.

Select your printer options.

Email Output Tag

When selecting Email the following appears. Enter the fields as they best match your requirements. If you have already entered the fields and just want to make some adjustments then after entering “E” your prior settings appear (as in this example).

You can have multiple email address by separating them with a comma.

Managing Backgrounds

The background process is managed by selecting option “BG” at the bottom (or common section) of the screen. This is available in all modules and can be ran by entering BG into the menu selection field even if you do not see a button on screen.

When you select BG the following menu is displayed.

  1. Job Parameters was discussed in the prior section.
  2. List Jobs will give you a report of all of the jobs that have been setup on your database. You will notice on the following list that there are many different jobs that can be set up.

  1. List Job History shows a list of the last 50 times that a job was processed.

21. Background Control is where you start and stop phantom jobs. The only job that you should stop is BG.PROCESSOR. All other phantoms are controled by their own process.

To Stop a Job click on the row that has BG.PROCESSSOR on it then click on Stop a Job.

To Start a Job simply click on Start a Job.

After you do either one of these you may experience a short pause. This is caused by the system monitoring the process to make certain that it was started or stopped.

Email Notification

Self-Hosted users may choose to have reports print to a specific printer or sent via email. Hosted users are limited to reports that are emailed only.

When an email is sent it will have the Sequence/Iteration number of the report included in the body of the email. The email will look similar to this.

The EMAIL.PDF attachment is the report that was scheduled to run. This is the 212th iteration of this Employee List.