Tutorial 38 - Creating an Aged Analysis of Accounts

The Aged Analysis of Accounts is essentially the same for Accounts Receivable and Accounts Payable. The differences are the sign of the Primary Transactions (debit/+ for Receivables and credit/- for Payables) and the GL Control Account for each. In this Tutorial, you will learn how to set up an Aged Analysis for Accounts Receivable using the Period for aging instead of days (although either format or any other format is possible with STEP FORWARD). Thus, the column content will be
Total, Current Month, One Month, Two Months, Three Months and over , instead of
Total, 1-30 days, 31 - 60 days, 61 - 90 days, and 91 days and over (often referred to as 30-60-90).

Exercise 38 - 1, Entering Cash Received Transactions
In preparation for the Aging, record a Bank Deposit Transaction containing four partial payments:

Accounts Receivable Payments are Secondary transactions and the GL Account Inspector Open Items view was set for the Match field to be the Reference # and to cause the match-up to be Hand-picked. Under these conditions, when a Secondary transaction is entered, STEP FORWARD will display the Open Items window for the account against which the Payment is to be applied e.g. see the Title bar of the image below:

The entered amount will be displayed in the editable Amount field of the New item area. In our example, this amount is to be applied in full against Reference # Tutorial 27; select it and click on the OK button (this will apply the payment.

Exercise 38 - 2, Configure the Print Templates
Configure the three Print Templates shown below.

Name = ARAgingH; Description = AR Analysis - Header & Footer (Insert 1 blank line after printing the fields).
Name = ARAgingBC; Description = AR Analysis - Body, Current.
Name = ARAgingBP; Description = AR Analysis - Body, Past Due.

All three Templates have the same settings for:
Page Layout: Width = 11.00; Height = 8.5; Margins = 0.45 all four sides.
Grid Pattern: Grid density = Other; Grid spacing: H = 5; V = 12.

Date as at field is of Text type.
ToTDate, P1, P2, P3, and P4 fields are of Date type (Mon D, YY).
ToT, ToTP1, ToTP2, ToTP3, and ToTP4 fields are of Money type, Precision = 2 decimals.
PCTotal, PCP1, PCP2, PCP#, and PCP4 fields are of Float type, Precision = 2 decimals, Sign = Ignore.

Sub # and Name fields are of Text type.
T0T$ and P1$ fields are of Money type.

Sub #, Name, and Telephone fields are of Text type.
T0T$, P1$, P2$, P3$, P4$, and Paid fields are of Money type - all, except ToT$, have the If zero value, show as blank space switch checked.
Paid on field is of Date type.

Exercise 38 - 3, Configure a User Function
This User Function (OPIPeriodSum) will be called for as part of the AgingARPeriod Report. It steps through the Open Item table and retrieves data for each Customer who has an account balance that is not zero and assembles, as Out Parameters, all data necessary to execute the Body print line. The Inspector settings for the numbered Retrieval objects are shown in the Procedure. As part of this Exercise, you will be using the Array object for the first time - for more information on how to use this object, read the on-line Help.

Exercise 38 - 4, Configure a Report Procedure
This Report Procedure (AgingARPeriod) takes a single Parameter, the Period for which the Report is to be run i.e. the specified Period will be the Current Period (P1). The Accounting Period Functions determine the Period Start and End dates for each of the four aging periods. In Tutorial 12, the first fiscal period was defined as beginning and ending on December 31, 1998 with the first fiscal year ending on the same day. As a result, when you run this Tutorial 38 (As At January 31, 1999), the Accounting Period Functions will calculate the Period End Date for columns P2, P3, and P4 as December 31, 1998.

Please Note:
The Condition objects checking for equality (e.g. P4 == P3) test for this condition (duplicate dates) and, if a match is found, reset the column dates to EMPTY. This feature can be dropped from Aged Analysis reports that you may design for commercial use, as this condition will not normally apply.

Also note the TextToDate Function which carries the date 00000101 (YYYYMMDD). The OPIPeriodSum Function has a date comparison ([Paid on <= OpenItem.Document.Date]) and this Tutorial used the 00000101 as the lowest possible date. There are, of course, other means of providing for the date comparison and you may try those yourself as an additional exercise.

Exercise 38 - 5, Test the AgingARPeriod Report Procedure
The finished report should look like this:

Go To
  Tutorial 39 - Creating a General Ledger Trial Balance