FACCTS Accounting System - Application Notes

Using the Report Writer Codes

The FACCTS Report Writer provides for a great deal of flexibility in producing custom financial reports with little effort. The code structure takes some getting used to, however. The following is the design of a simple balance sheet report, but the ideas presented are directly applicable to the profit/loss statement (income statement) as well.

The report writer can produce up to 8 custom reports from its control files. Reports 1,2,3,4 are assumed to be balance sheets and reports 5,6,7,8 are assumed to be profit/loss statements. The report writer file number corresponds to these report numbers, as do the report writer codes in the chart of accounts maintenance screen.

The first step in producing a balance sheet is to lay out the report in terms of rough headings.

The lines on the report come from two sources; the report writer heading file and the general ledger chart of accounts. All lines which show detail numbers are from the general ledger; all titles and totals are from the heading file. As examples, the lines labelled "Assets" and "Cash in Banks" are from the heading file and the line "Cash-Peoples National Bank ..." is from the general ledger.

Examining a general ledger chart of accounts list (breif version) will usually give a good idea of the headings required.

To Print a List of the Chart of Accounts:

The headings from the heading file have an implicit "nested" structure with increasing detail shown by the indenting on the resulting report. As an example, the line "Assets" is a main heading, within which is "nested" the headings for "Cash in Banks", "Other Current Assets", and "Fixed Assets." The total lines do not appear separately in the heading file, but are produced by the report writer when required.

Each line in the heading file is identified by a code; along with being the access key to the line in report writer maintenance, this code determines the nesting level and location on the report. The codes have a definite structure imposed on them, but the choice of actual codes is up to the user; some typical ones are used here.

The title of the entire report must always be coded as "****".

The number of characters used in each of the other codes indicates the nesting level of that particular heading. Thus, the code "A" includes all headings that start with "A" (eg; "AC") and the code "AC" includes all codes that start with "AC" (eg; "ACC"). The maximum number of characters for a heading code is 3.

The headings will appear on the report in alphabetical order based on the codes assigned; it is convenient to use "A" for assets and "L" for liabilities since this is easy to remember and will print in the proper order. One could, however, use "J" for assets and "W" for liabilities; there are no preassigned codes other than the "****" for the report title.

For each heading there are three questions that must be answered. The first asks if the heading should print on the report. Normally this is answered with a "Y", but there are cases in which it may be proper to supress printing of the heading. Some report layouts may want totals at the end of a group of accounts without a heading before the account group; in other cases, there may be an unused heading that is inserted to allow for future expansion of the report.

The next question to be answered is whether a total should be printed. If so, the totals will be formatted as shown on the sample report. For all levels except the single character codes the total will be in the same column as the items being totalled. The single character code totals will be offset to the far right of the report.

The last question is the normal sign for the total. This corresponds to the idea of "debit" or "credit" accounts, with "+" indicating debit and "-" indicating credit. Not that this must be correct even if no total is requested since an incorrect sign may affect accumulation to a higher level total.

Once the headings and their codes have been entered into the system via report writer maintenance (be sure to get the proper report number!) it is time to assign the codes to the appropriate general ledger accounts. Each general ledger account that is to appear on the given report must have a four-character code assigned to it in the field associated with the given report.

The first three characters of the assigned code identify the three-character heading code under which the account is to be grouped. The last character of the code is used to make the codes unique and controls the order of accounts under a given three-character heading. Since there are 36 allowable values for this list character (0-9, A-Z), there is a maximum of 36 accounts that can be grouped under each three-character heading. Note that it is important that the codes be unique; if two codes are the same, ONLY ONE of the accounts will show on the report.

The order of items on the report depends strictly on the codes assigned to accounts. The system selects all general ledger accounts that have a code assigned to the report being produced and then sorts these by the four-character code. Titles and/or totals are produced as necessary each time one or more of the first three characters of the assigned codes changes. Thus a heading will not show on the report unless there is at least one account that is assigned a corresponding code. (An exception is the "****" title heading.)

After the codes are assigned to the general ledger account it is a good idea to print another copy of the brief chart of accounts list and do some checking. A simple check is to make sure that all balance sheet accounts have a code entered for report number one. It is not necessarily true that all P/L accounts should have a code entered for the profit/loss statement, but there should be an explanation for any that are missing.

The first letter of the assigned code can normally be checked against the sign field for the account. In the case of balance sheet accounts, those with a sign of "+" will be listed under the asset group of codes and those with "-" will be listed under liabilities or stockholders' equity. There are exceptions to this rule, mostly in the area of accumulated depreciation, but any variation from it warrants a closer look.

Another important check is to make sure that for each unique leading three-character sequence used in the chart of accounts report assignment that there is a matching three-character heading code assigned in the report writer file. This rule is apparently violated in the report samples book because the code "XAA" appears in the chart of accounts list but does not appear in the report writer listing; this listing was cut off for printing purposes but the code "XAA" was assigned prior to running the sample balance sheet.

After completing the above check, make sure that for each unique leading two-character sequence found in the report writer file there is a matching two-character heading code defined in the report writer file. As an example, it is not permissible to have a code "AXF" defined in the report writer file unless there is also a code "AX" defined (and a code "A" for that matter).

Once all of these tests have been made, it is time to run the actual report. Do this for a month that has some data posted to it so that the resulting report has some numbers in it. There are a few simple tests to apply to the balance sheet; these are not exhaustive but should be made first before more detailed analysis is attempted:

1. There should be numbers reported for all of the major sections; this means assets, liabilities, and equity (if this is a different major section).

2. The total of all of the major sections should be zero. If you specified a total to be printed for the "****" title, this will show the total. If not, add the numbers shown for the major sections, but be sure to take into account the proper signs.

3. Make sure that the following general ledger accounts appear on the report in the sections indicated. Your actual account title and report heading may vary, of course:

Accounts Receiveable     Assets
Accounts Payable     Liabilities
Cash     Assets
Unapplied Cash     Liabilities
Retained Earnings     Liabilities (or equity section)
Inventory     Assets

Once these brief checks are made (and any problems corrected), there is no substitute for a hand-cranked version of the balance sheet to compare to the machine-generated one.

Back to Accounting Topic List | Back to HSI Home