Program Description
This program can be found on the Contract Reports menu (CN-4-24). The purpose of the report is to show Total Copies, Revenue, Cost and Gross Profit for a specific date range, for the current year-to-date and year-to-date from the previous year. Only serial numbered items currently placed at a customer site and on a contract are included on the report. The report also shows the differences (in dollars and percentages) between the Total Copies, Total Cost, Total Revenue and Total Gross Profit for the Year-To-Date and Year-To-Date from the previous year. The Cost is divided into Labor Cost, Parts Cost, Drum Cost, Toner Cost, and Miscellaneous Cost by Item Type. The Revenue is only printed as a total sum, and is not divided. The report calculates revenue and cost from the Sales History (SHHIST.DT) File. The Service History (DISP.DT) File is also accessed. All service calls, within the designated time period, have the mechanical time (labor cost) multiplied by the defined burden rate. This is added to the Labor Cost field. Travel burden also can be added to Labor Cost if the operator chooses to do so. The mileage cost from service history can also be added to the Miscellaneous Cost field. The report is sorted by Item Number and Serial Number. It can be printed in three different sections:
Detail: This consists of totals for each machine (each Serial Number).
Current Period Summary Totals: This shows totals for a certain date range for every Item Number included on the report, and a total for all Item Numbers on the report.
Year-To-Date Summary Total: This shows totals for Year-To-Date and Previous Year-To-Date for every Item Number included on the report, and a total for all Item Numbers on the report.
Contract Base Revenue is also added into the Revenue field. Currently, the program uses the current base revenue out of the Contract Line Item (CNLI.DT) File.
There are 2 ways to print this report: Portrait (printed vertically) and Landscape (printed horizontally, similar to a picture). With the amount of information on this report, the landscaped version is easier to read and requires a laser printer. Printer settings need to be manually changed before printing.
When Sales History is searched to gather Revenue and Costs, only the Serial Number can be matched. So, if you have two machines with the same Serial Number, but different Item Numbers, the Revenue and Costs found in the Sales History file is added to the totals of both machines. All revenue and cost fields have been rounded off to the nearest dollar. This is to allow all information to fit on one report. This rounding is done when totals for a serial number are calculated and added to the item number totals.
Input Screen 1:
Input Screen 2:
Results
Following is a sample detailed report for the above prompts that were entered:
Rev 15 Changes
Changes were made to the report to look at meter readings from the Contract Line Item File. This was added to make it more like the Profitability Analysis report.
An additional prompt was added stating: “Only Print Machines Sold / Placed Prior To Date Entered Or A’ll”. This will give the operator an opportunity to exclude machines that were place within the report time frame.

Rev 14 Changes
When checking the Contract History File (CNHIST.DT) to find meter readings that were billed, the report did not exclude contract billings that were voided. Therefore, if an invalid meter reading was entered on a contract, the contract was billed, the invoice was voided and rebilled correctly, the bad meter reading may have appeared on the report. This has been corrected so that voided contract invoices are excluded.
An option was added to the report to allow you to exclude machines that were placed at the customer site within the date range of the report. The prompt “Include Machines Placed In Date Range (Y/N)” was added to the report. Prior to this revision, machines that were placed at a customer site within the date range of the report were automatically included on the report.
For base revenue, the report used to prompt “Use A’ctual Or C’urrent Base Revenue On Grand Totals”. When C was entered at this prompt, the report would calculate base revenue on both the machine detail and contract totals using the current base rate in the Contract Line Item File (CNLI.DT). When A was entered at this prompt, the report would prompt you to enter up to 5 item types for base revenue. The program would then check the Sales History File (SHHIST.DT) and find the actual base billed for the contract and print that in the contract totals. The machine detail would have the base revenue calculated using the current base rate in the Contract Line Item File (CNLI.DT).
This report has now been changed to prompt “For Base Revenue, Use A’ctual, C’urrent, Or Actual On G’rand Total”. If G is entered, it will operate the same as if A is entered (prior to Revision 14). The report will use sales history to find the actual base revenue for the contract and print it on the contract totals. The machine detail would use the current base rate in the Contract Line Item File (CNLI.DT) to calculate base revenue. If C is entered at this prompt, the report would use the current base revenue in the Contract Line Item File (CNLI.DT) to calculate base revenue in both the machine detail and the contract total section. If A is entered at this prompt, the report will use the Sales History File (SHHIST.DT) to calculate base revenue for both the machine detail and the contract total sections on the report. This method should only be used with a date range that is later to when Revision 13 was loaded at your site. Revision 13 changed the way base revenue is stored in Sales History to allow for base revenue per machine to be calculated. For dates prior to when Revision 13 was loaded, G or C must be entered in order to have base revenue on the report.
The Actual On G’rand Total option will only be available if the report is ran for all companies, all product classes, all item numbers, all territories, and all zip codes. You must also run the report to include machines placed within date range of report and include machines not currently placed or on contract in order to have the G for grand total option. If this criteria is not met, then the report can not print the actual base revenue on the report totals, so that option is not given.
Prior to Revision 14, when the operator chooses to use base revenue from current contract, the report did not prompt to enter up to 3 item types for base revenue. Since Revision 13, the report would add the both base revenue from Sales History and the base revenue calculated from the current contract into the revenue field. This would overstate the revenue. This has been changed so that now if the operator chooses to use current contract for base revenue, the report will prompt to enter up to 3 item types for base revenue. The report will then skip any Sales History records with the base revenue item type when calculating base revenue, since the base revenue will be calculated from the Contract Line Item File (CNLI.DT).
The program now has logic to prorate the copies produced if the operator runs using Estimated Copies and the machine is placed within the date range of the report. If the machine’s date placed in the Serial File (SERIALD) is within the date range of the report, the program will check the date of the oldest meter reading within the date range. The meter reading is either from service calls or contract history or both (depending on how the operator runs the report). The calculation will still take copies produced per day times number of days in the report range. If however, the oldest meter reading within date range is after the date placed of the machine, and the date placed of the machine is within the date range of the report, the report will prorate the copies produced. The copies will be prorated by taking copies per day times the number of days from the date placed to the ending date of the report.
The report had to be split from two programs to three programs because of the size of the program.
When the report looked at Sales History, the report did not validate that the customer number in the Sales History record was within the range of customer numbers entered by the operator. This has now been corrected. This is also true when it is looking at Service History. It will pull information for a machine even if the machine is currently placed at another site. The report will validate that the customer number in the Service History file is within the range of customer numbers entered by the operator. This is the same logic that was added to the Profitability Analysis Report.
Rev 13 Changes
New options have been added to this report, which are described below:
M'aintenance, R'ental, L'ease, Or A'll Contracts
Enter M to see only machines on Maintenance contracts. Enter R to see only machines on Rental contracts. Enter L to see only machines on Lease Contracts. Enter A to see all contract types. The contract type is checked in the Contract Header file (CNHDR.DT).
When the report is run for all companies, all product classes, all item numbers, all territories, all zip codes, two additional prompts will appear:
Use A'ctual Or C'urrent Base Revenue On Grand Total
Enter Up To 3 Item Types For Base Revenue
Enter C for current base revenue, and the prompt for 3 item types for base revenue will not appear. Enter A for actual base revenue, and the prompt for 3 item types for base revenue will appear.
The detail report is the same. On the summary, the total base revenue for Current YTD and Previous YTD will be the actual base revenue from the Sales History file (SHHIST.DT). This amount is the records in sales history for dates within date range selected. It is not prorated. If the report is run for a range of companies, product classes, item numbers, territories, or zip codes, current base revenue will be used.
Considering the way files are stored in the system prior to Revision 13, there is no way to get the actual base revenue per machine (serial number). Only the actual base revenue per contract, group bill, ship-to customer number, or bill-to customer number can be found. Because of this, the base revenue on the detail report is current base revenue, and there is the limitation of entering data in several range prompts.
The Serial File (SERIALD) is searched to select machines that are on contract, group bill, ship-to or bill-to ranges, and the ship-to customer number and contract number will be added to a temporary index. It will add costs and other revenue per machine and also find current base rate per machine to print in detail. Current base rate is taken from the Contract Line Item file (CNLI.DT). After going through the Serial File, the temporary index is searched. For every ship-to customer number, sales history records (SHHIST.DT) are searched for that customer and records are found with a transaction date specified within the range of dates that has the correct contract number and item types (one of the 3 possible item types that are entered by the user). These will be accumulated. Voided sales history records will also be skipped.
Important
When creating a credit memo linked to a contract invoice, link the line items to the machines, so that the contract number is put into sales history. Also, enter correct item numbers, so that the item types in sales history are for base revenue. Enter the Sales Analysis Item Number that is on the contract. Be sure to have separate item types for base revenue (more important than any other type of revenue, including meter revenue). For example, if G is used for base revenue and meter revenue, the actual base revenue will include both base and meter revenue.
To calculate year-to-date based on the fiscal year or the calendar year, an additional prompt was added: Calculate Year-To-Date Based On F'iscal Year, Or C'alendar Year. For example, if your fiscal year starts in June and the current month is October, and the report is run based on the fiscal year, the year-to-date totals will reflect June through October. If the report is run based on the calendar year, the year-to-date totals will reflect January to October.
Program changes have been made to subtract non-product time from maintenance time. If the non-product time is greater than the maintenance time, it will not be subtracted from the total. For example, if there is 25 minutes maintenance time, with 1 hour non-product time for lunch, maintenance time will be kept at 25 minutes, since 1 hour is greater than 25 minutes. If there is 30 minutes maintenance time, and there is a 30 minute lunch and a 15 minute meeting, the maintenance time will be 0, not negative 15 minutes.
A new prompt has been added to this report. After the detail or summary prompt is entered, the report will prompt Include Machines Not Currently Placed Or On A Contract (Y/N), along with a message: Note: Base Rev On These Machines Will Be 0 If Ques. Is Answered Yes. To include machines that are not currently placed at a customer site, or on contract, enter Y for yes. The program will automatically default to have all contract numbers, group bill numbers, ship-to customers, bill-to customers, territories, and zip codes print. Also, the prompt Use A'ctual or C'urrent base revenue will be automatically entered as C for current. Base revenue on machines not currently placed or not on a contract will be $0.
Once this prompt is answered, the screen will display the Beginning Date and Ending Date prompts and request input for Beginning Date.
Screen 1:

Screen 2:
