Condo Association
A STEP FORWARD-based Gratis Application
The Specified Need
This Gratis Application was originally developed to the specific
requirements of a Homeowners Association that had a need
for a relatively simple bookkeeping system with the following
features:
- Cash Basis (no accruals).
- Tracking of Accounts Receivable from Owners (accruals),
while maintaining the Cash Basis.
- Condo units that are occupied by Owners or rented out
by Owner Investors.
- Provide a Budgeting capability.
- Provide a Contact Manager.
The Association’s fiscal year is the calendar year.
Please Note: The way this particular application was configured
may not meet the specific needs of anyone other than the
Homeowners Association for which it was originally developed.
One of the features of STEP FORWARD is the easy of configuration
and modification. You are welcome to modify this Gratis
Application to suit your specific needs. Should you require
assistance or guidance, please feel free to contact us.
If you have a specific need for some other application,
tell us about it and we may agree to configure it as a
Gratis Application, if it fits into our marketing plans.
The Need Addressed
We created
- a number of Global, Subledger, and Transaction Tables
including Procedures that control or enhance specific
data capture;
- a number of Reports that provide analytical and
financial information;
- a number of Processes that automate certain accounting
functionalities.
The following information will give you an application
overview as well as some detailed guidelines. STEP
FORWARD Environment
Development
The development was carried out by the staff
of Gestalt Corporation as a Gratis Application
using the Architecture, Accounts, Accessories,
Report Builder, and Process Builder options
listed in the Application Launchpad. Modifications
and enhancements to the existing configuration
can be made by anyone using these tools.
We recommend that those who wish to carry out
the development and enhancement of STEP FORWARD-based
applications make themselves familiar with
its capabilities by using the On-line manual
(select from Help in any STEP FORWARD window)
and by downloading the Tutorial from www.gestalt.com/Tutorials/Introduction.html.
Production
Run Report
This facilitates the running of all Reports,
unless otherwise configured. Use the “Select” menu
option in the “Saved Reports” window
to see all Reports available for execution.
Created Reports can be saved and listed in
this window
as well.
Run Process
This facilitates the running of all Processes.
Use the “Select” menu option in
the “Saved Processes” window
to see all Processes available for execution.
All created Reports that have been saved
are
displayed in this window as well.
General Data Entry
This option handles the actual data input for
Global & Subledger tables.
Please note: In this Gratis Application, the
Global Procedure triggered by the Saving action
(attached to the Owners template) will automatically
add the applicable subledger to the ARO Subledger
table whenever a new Owners record is added.
Accounting Data Entry
This option handles the actual data input for
the Transaction Table
Please note: In this Gratis Application,
some accounting transactions are automatically
generated
through Processes (i.e. Monthly Dues through “GenerateDues” and
Payments recorded in the Payments table through “GeneratePaymentTx”.
Administrator
This provides all the tools that the System
Administrator may require.
Architecture – Template/Table
Creation
Global Tables
City: one record for each City, State, Telephone
Area combination; this table is linked to the
Owners table.
Owners: one record for each Owner; also used
as link or data source for the Condos, Contact,
and Payments Global tables and the ARO (Accounts
Receivable Owners) Subledger table. Please
note: Owner #1 was reserved for “Accounting Cash
Basis – Balance Offset” – this
account is used to simulate the non-accrual requirement
which is triggered automatically whenever the
payment Process “GeneratePaymentTx” is
run.
Condos: one record for each Condo unit; also
used as data source for the Contact table.
Contact: one record for each Contact made.
KeyWP: Key Words and Phrases; used in the Contact
table to facilitate commonality of contacts.
Budget: Maintenance of Annual Budgets.
Payments: a Transaction Worksheet to record
all payments and miscellaneous revenues received
for a given deposit date. The actual accounting
is automatically generated upon running the “GeneratePaymentTx” Process.
Subledger Tables
ARO: Accounts Receivable from Owners – linked
from Owners table.
Misc: Miscellaneous Subledger provision – not
attached to any General Ledger control
account at this time.
Transaction Table
Common: being a simple accounting application,
only a single input template was required
for the accounting data.
Report
Builder
Reports (in alphabetic order)
Report Names starting with FS indicate Financial
Statements and MR (usually) indicate Monthly
Reports. The various Reports are shown in alphabetical
sequence of the Report names.
AccountChart: a list of all General Ledger Accounts
in use in this specific application.
AccountHistory: Account History for a specific
Owner. Parameter input takes “Owners ID” and “First
Day of Start Month” (to determine Balance
Forward Date).
Budget: Annual Budget for a specified fiscal
year. Parameter input takes “First Day
of Fiscal Year”. Report can be triggered
from within Budget data entry window.
CalendarVertical: A simple calendar in a vertical
format for efficient desktop usage. Parameter
input takes “Any Day in Start Month” and
the “Number of Months” to be displayed.
Contact History: Lists all Contact records
(in reverse order) for a specified Owner. Parameter
input takes “Owners ID”. Report can
be run through the “Run Report” option,
triggered from within the Contact record, or
triggered as a drill-down from within the “ContactPriorRecord” report.
ContactPriorRecord: This report is triggered
from within the Contact window and will display
the immediate Prior Contact record to the
Owner’s
Contact record currently loaded in the window
when selecting this report from the Print
Option. The required Parameter input is loaded
automatically
and transparently. A drill-down option lets
you also trigger the complete Contact History.
DepositList: A listing of all cash transactions
making up a given Payments document. This report
is generated as part of the “GeneratePaymentTx” Process
(which also generates the applicable accounting
transactions.
FollowUp: Lists all pending follow-up Contacts
to be made for the date on which this report
is run and beyond.
FSBalanceSheet: (FS = Financials Statements)
a simple Balance Sheet. Parameter input takes
the Report Date (e.g. the last day of the month).
The text “As At” will be placed
in front of the Report Date automatically.
FSOperatingStatement: A monthly Operating Statement
with this columnar layout:
$Variance – $Budget – $Actual – Description – $Actual
- $Budget - $Variance // where the data to
the left of the Description is for the Current
Month
and to the right the Year-to-date.
InvoiceRecap: A list of all monthly Condo
Dues. This report is generated automatically
upon running
the “GenerateDues” Process.
LabelsAvery5160: This report prints the Owners
list on three-up label sheets in conformity with
the Avery 5160 format.
MR1General Ledger: Prints a General Ledger format
for a single GL Control Account for one or more
months.
MR1Journal: Prints a Transaction Journal for
a single Transaction number.
MR1Subledger: Prints the Subledgers format for
a single General Ledger Control Account for one
or more months.
MRGeneralLedger: Prints the General Ledger for
one or more months.
MRGLTrialBalance: Prints an Expanded General
Ledger Trial Balance (Opening Balance – Current
Debit – Current Credit – Ending
Balance) where the Current Period is defined
as one or
more months.
MRJournal: Prints a Transaction Journal for
one or more months.
MRSubledger: Prints the Subledgers for all GL
Control Accounts for one or more months.
MRSubTrialBalance: Prints an Expanded Subledger
Trial Balance (Opening Balance – Current
Debit – Current Credit – Ending
Balance) where the Current Period is defined
as one or
more months for all General Ledger Control
Accounts.
Owners List: Prints a list of all Owners (in
Unit sequence) followed by a list of all Owners
and their Condo holdings (in Owner ID sequence).
Process Builder
Processes (in alphabetic order)
GenerateDues: This generates the applicable
accounting transactions for Monthly Condo Dues
in Dr/Cr sets for each Owner and produces the
InvoiceRecap Report.
GeneratePaymentTx: This generates the applicable
accounting transactions for the Payments record
and produces the Deposit List Report.
Getting Started
| 1. |
Enter
data into City Table
Production > General
Data Entry > (Global) City
Enter a single record for each required City, State, and Telephone Area Code
combination.
|
| 2. |
Enter data into
Owners Table
Production > General
Data Entry > (Global) Owners
- The “Owners
ID” is defined as a Subledger
Numeric Type. When creating a New record,
the next available number will be suggested
(based upon prior Owner records in
the database table); therefore, if
you wish to start your ID series with
101, you should enter that number into
the first Owners record. In this Gratis
Application, we reserved Owners ID
1 as the “Accounting Cash Basis – Balance
Offset” in the “Full or
Corporate Name” field.
- The “Full or
Corporate Name” field is filled
in automatically whenever individual
names are entered. E.g. First Name
1 = John; Last Name 1 = Doe; First
Name 2 = Mary. This will cause the “Full
or Corporate Name” to = John & Mary
Doe.
- If the Owner is a non-individual,
enter the corporate name directly into
the “Full or Corporate Name” field.
- Enter all other fields
as required subject to these observations:
City, State and Area are links; therefore enter the City in whole or in part
to establish the match.
Telephone and Fax numbers should be entered without the Area code as 2345678
or 234-5678; if
you don’t enter the dash (-), the Procedure attached to the field will
do it for you. If you wish to
use a symbol other than the dash, you will have to modify the User Function “PhoneSeparator”.
Please Note: When Saving a new Owners
record, the required Subledger record will
be added to the Subledger Master (Subledger
table ARO) automatically.
|
| 3. |
Enter data into
Condos Table
Production > General
Data Entry > (Global) Condos
- Enter the Condo # and
select the appropriate Level.
- All remaining fields
are links to the Owners table. Establish
the link by entering the Owners ID
or a unique portion of the Full or
Corporate Name.
|
| 4. |
Review the Account Chart
Accounts > Chart and Accounts > Prototype
|
You
Are Now Ready For Regular Activity
| 1. |
Using
the Contact Manager
Production > General
Data Entry > (Global) Contact
- The New record Procedure will automatically
load/suggest the Contact Date (being
the current date) and indicate which
day of the week it is. If you are behind
in your record keeping, you should change
this date to the actual Contact Date.
- Enter the Owners ID,
if known, or click on the “Select from Owners’ List” button
and locate the desired Owner; or you
may enter a unique portion of the Owner’s
name into the “Full or Corporate
Name” field – to link to
the Owners table. You will be prompted
to select the applicable Condo #, which
is optional.
- Enter a “Key Contact Words” value
e.g. Collection are any meaningful terminology.
A Procedure will attempt to retrieve
a match from the inventory in the KeyWP
table. If no match is found it may mean
that you misspelled the key word or phrase
or that it is a new one that you may
wish to add to your inventory. (The purpose
of this feature is to allow you to classify
your various Contacts in a uniform manner,
and possibly use these keys for data
retrieval purposes.)
- Select a Contact Method
- Enter the “Summary of our Communication”.
This is a Note field. It also allows
you to paste in the text of an email
or whatever.
- If you have agreed
to or wish to remind yourself to a
follow-up, enter a date
into the “Date of next contact” field.
- The Print Options pop-up list lets
you print a number of Reports while having
a Contact Record loaded:
Calendar: displays six sequential months (in vertical format) starting with the
month in which the
Contact Date occurs.
Print Prior Contact Record: prints the detail of the immediately preceding Contact
record for the
Owner currently loaded in the Contact window. This Report also lets you drill
down to the
“Contact History”, if you wish.
Print Contact History: prints Contact History for the Owner currently loaded
in the Contact window.
Follow Up: prints a Report for all follow-ups starting with the current date
and beyond, regardless
of Owner.
|
| 2. |
Create
Your Budget
Production > General
Data Entry > (Global) Budget
- Enter the first day
of your fiscal year e.g. January
1, 2004 into the “Fiscal
Year Commencing” field. Once entered, it will be suggested into each
additional record during the same data entry session. Please review the date
format options available to you, see “On-line manual”.
- Enter the GL # or the Account Name.
If you make a mistake, you will be
presented with the complete Chart of
Accounts to help you make the right
choice. In this Gratis Application
the Budget is restricted to Revenues
and Expenses. The Account Grouping
is selected automatically based upon
the GL #.
- Enter the “Budget this Account”.
This will present you with three distribution
options.
- When you are finished with recording
the budget items, click on Print Budget.
This will give you a complete summary
as well as a calculated Monthly Condo
Fee (the minimum money needed each
month from all Owners to cover the
Budget).
|
| 3. |
Set
Your Preferences for Accounting Data
Entry
Production > Accounting
Data Entry, Select Help > On-line manual
Familiarize yourself with all topics under “Preferences
for Accounting Data Entry”; then
select from the Accounting Data Entry window
the menu option Tools > Preferences
and set all applicable Preferences, specifically:
Date Formats, Document Browser, and Line
Browser.
Production > Accounting Data Entry
|
| 4. |
Set Up Your Opening
Journal Entry
When going live, either in mid-year
or at the beginning of a new fiscal year,
enter the appropriate Opening Journal Entry.
Click on the (New) Source button and select
JE; use the last day of the previous accounting
month as your Document Date; use a meaningful
Reference # and Description (the Other Reference
is optional).
|
| 5. |
Generate Monthly Dues
Production > Run Process – Select “GenerateDues”
The Billing Date is usually the first day
of the billing month (dues are billed monthly
in advance). Enter the Monthly Dues amount
per Condo unit e.g. 70.00. This Process will
generate the applicable accounting transaction
in Dr/Cr pairs for each Condo unit (charged
to the applicable Owner). The Reference #
is generated with an alpha prefix (MD = Monthly
Dues) followed by a four-digit number consisting
of year/month e.g. the billing for January
2004 will have the Reference # MD0401. The
Source Document is INV. On completion of
the accounting transaction the Process will
produce the InvoiceRecap Report. |
| 6. |
Enter Payments or Revenue
Received
Production > General Data Entry > (Global)
Payments
This is a compound record which we refer to
as a document.
- Enter the Processing
Date (does not have to match the eventual
Deposit Date). This will generate the
Reference # with an alpha prefix (PR
= Payment Received) followed by a six-digit
number consisting of year/month/day e.g.
Payments processed on for January 12,
2004 will have the Reference # PR040112.
The Processing Date and Reference # combination
must be unique to each document; therefore,
you can have only a single Payments document
each day but no limit as to the number
of payment items included in the document.
- Complete a detail line
in the “Individual Payment Items” box
for each payment received:
Payment: enter the amount of the check or cash received. This will also calculate
the Total Amount each time that a Payment amount is entered.
Check #: enter the check number; or the word Cash, if cash was received (this
will be recorded in the “Other Reference” field in the accounting
record.
Check Date: enter the Check Date (if check) or date received (if cash).
Owners ID: enter the Owners ID number, if the payment is received from an
Owner for Dues or other charges billed. This will cause the remaining three
fields to be populated automatically:
GL = 125; Issued By = the name of the Owner; Explanation = Payment Received.
If this payment is not a payment on account from an Owner, skip this field.
GL: If this payment is not a payment on account from an Owner, enter the
GL number that identifies the Revenue or Expense Recovery to be credited.
Issued By: If this payment is not a payment on account from an Owner, enter
the name of the Payer (who issued the check).
Explanation: If this payment is not a payment on account from an Owner, enter
a meaningful explanation (it will become the Description in the accounting
transaction).
Please Note: The information
entered into this record needs to be processed
by running the GeneratePaymentTx Process. This
Process should not be run until you have entered
all possible payments into this document for
a given Processing Date. |
| 7. |
Processing a Payments Document
Production > Run Process – Select “GeneratePaymentTx”
This Process takes no Parameters. Generated
accounting transactions are identified as
Source PMT.
- It retrieves any Payments
documents where the TX Number is zero
(0) and processes each one, if multiple
finds, according to these four steps.
- It then generates, for
each document, the applicable credit
entries as per the detail data contained
in the “Individual Payment Items” box
and an offsetting debit entry to GL 101
(Cash on Hand)*.
- It updates the Payments
document by replacing the TX Number 0
with the Tx Number of the accounting
record (document) just generated.
- It prints the DepositList
Report listing each item making up the
entire Payments document.
- As the final step, it
determines the residual balance in the
Accounts Receivable Control (GL 125)
and generates a second transaction that
nets the residual in GL 125 to zero (0.00)
by using Subledger # 1, with the offset
going to Monthly Dues (GL 401) – in
effect neutralizing the accrual impact
of maintaining Owner Accounts Receivable.
*Please Note: You should make
a manual accounting entry for the actual Bank
Deposit Transaction (whenever it occurs) i.e.
Debit GL 103 and Credit GL 101 using Source
BD. |
| 8. |
Making Manual Accounting Entries
Production > Accounting
Data Entry
- Look at the window’s
Title Bar. It will carry the name and
description of the last Source document
used. If it does not show the Source
name that you wish to use, click on (New)
Source and make the appropriate selection.
- Enter the Amount (a credit
of $100 should be entered as -100.00).
- In this Gratis Application
only GL 125 is a Control Account (Accounts
Receivable from Owners). If this GL#
is entered, the Sub # field becomes editable
and requires the Owner ID as input.
- The
Description should be meaningful – think
about what you would like to see in the
Ledger.
Quite often this should be the name of
the Payer e.g. John Doe Professional
Corporation for the debit to Accounting.
Please Note: The “Zero Balancing By Period” has
been activated. This permits distributing the
accounting transaction over multiple periods.
E.g. assume you receive an Invoice for services
rendered in August (and budgeted for in August)
but not dated until November. With this feature
you will have the option to make a balanced
accounting entry of Debit “Services” dated
in August and Credit Bank (no Accounts Payable
in the Cash Basis of accounting) in November.
The result of this would be a balanced transaction
document as far as the $ values are concerned
but an out-of-balance situation for both August
and November. The “Zero Balancing By Period” feature
addresses this issue by simultaneously and
automatically including two additional transaction
lines in the two line document (for a total
of four transaction lines) a balancing Credit
in August to GL 348 (declared by us to be “Accrual,
Inter-Period Balancing”) and an offsetting
Debit in November – again to GL 348.
This “Zero Balancing By Period” can
also be utilized even when the two periods
are in adjacent fiscal years, as may happen
early on in a new fiscal period. It is recommended
that you study the “On-line manual” for
these and other features e.g. year-end closing
and the impact that “Zero Balancing
By Period” can have on this (i.e. the
year-end closing may have to be corrected).
|
| 9. |
Using Source Documents wisely
Go to Architecture > Sources
and note the Sources provided. You may wish
to add
more. Whatever you do, use them consistently. |
| 10. |
Parameter Date Convention
When running
Monthly Reports (MRxxxxxx) you will be
confronted, in most cases, with requests
for two date Parameters “First Day
of Start Month” and “First Day
of End Month”. We selected this format
because everybody knows that the first day
of any month is “1” and so
that they do not have to worry about which
month
has how many days and when is it a leap
year. These Reports can cover one or more
months.
Therefore,
- to run a report for
a single month e.g. for February 2004
enter these Parameters:
First Day of Start Month = February 1, 2004*
First Day of End Month = February 1, 2004
- to run a report for
a whole year e.g. for January - December
2004 enter these Parameters:
First Day of Start Month = January 1, 2004
First Day of End Month = December 1, 2004
Also
when running Financial Statements (FSxxxxxx)
the Parameter Date is “First Day of
Reporting Month” (this will be converted
to the applicable last day of the month).
*Please Note: The date format for input
and display is determined by you through
your Preferences setting (see “Set
Your Preferences for Accounting Data Entry”,
item #3, on page 5). The internal format
is YYYYMMDD and may also be used during data
entry, without selecting it specifically
through Preferences.
|
| 11. |
Get Help
Read the “On-line manual”. Check
our FAQ on our web site. If you don’t
find answers to your questions, post them
on our web site Forum. If all else fails,
contact us at help@gestalt.com. |
|