GI - General Ledger Interface Module




Description

===========================================================

General Ledger Interface is a module of The StoreMaster

System, providing a method for outputting data from the

StoreMaster to any General Ledger program that has a data

import facility which allows ASCII data to be read.



Requirements

===========================================================

Use of the GI Module requires the System Manager module as a

minimum requirement.





Introduction

===========================================================

The General Ledger Interface (GI) Modulue of the StoreMaster

System provides the capability to define linkage between the

StoreMaster Transaction Log and virtually ANY General Ledger

Accounting System.



Before you attempt to use this feature, you need to

understand how the data in the Transaction Log relates to

your General Ledger.



Simplifying things just a little, the Transaction Log

contains a record of items (goods or services) sold, and

payments received. There is, of course, a good bit more to

it, but that'll get us started on the explanation.





Typical General Ledger Accounts



To put the information into a ledger, we will total up into

their own "accounts" each of the following:



     CASH

     ACCOUNTS RECEIVABLE

     INVENTORY

     SALES TAX

     COST OF GOODS SOLD

     SALES INCOME







Taking a very simple example, let's say we sell a bicycle,

for $100, plus $6 tax.  The customer writes a check for

$106. Let's assume that the bicycle cost us $60.  Then the

account totals that we post would look like this:



   CASH          +106.00  (we put $106 in the bank)

   INVENTORY      -60.00  (value of inventory went down $60)

   SALES TAX       -6.00  (we owe governor $6.00 sales tax)

   COST OF GOODS  +60.00  (the cost of goods went up $60)

   SALES INCOME  -100.00  (we sold the bike for $100)







If the customer had asked for us to charge it to his

account, things would look almost the same:





   ACCOUNTS RECEIV +106.00  (customer owes us $106)

   INVENTORY        -60.00  (value of inventory went down $60)

   SALES TAX         -6.00  (we owe governor $6.00 sales tax)

   COST OF GOODS    +60.00  (the cost of goods went up $60)

   SALES INCOME    -100.00  (we sold the bike for $100)







If we take a whole day's or week's worth of sales, we will

likely have both cash and account sales, some taxable and

some not.  We may have a separate account for charge cards;

we may have retail and wholesale customer accounts. We may

wish to track more than one set of accounts for inventory,

cost, and sales.



Things can be real simple, or they can get really

complicated.



In essence, though, here's the way we tell which accounts to

post things to:





1.   CASH and ACCOUNTS RECEIVABLE accounts are determined by

     the type of PAYMENT MEDIA used to pay for things.  For

     ACCOUNTS RECEIVABLE, they may also depend on the

     CUSTOMER.



2.   INVENTORY, COST, and SALES INCOME accounts are

     determined by the type of ITEMS sold.



3.   SALES TAX depends generally on the CUSTOMER, but may

     also depend in some cases on the type of ITEMS sold.







These three facts let us come up with a way to define a set

of accounts that will work for almost any kind of General

Ledger system: Each CUSTOMER, each INVENTORY ITEM, and each

PAYMENT MEDIA has its own set of GL ACCOUNTS.





However, in order to make it easier for you to work with the

codes, rather than entering all of the actual accounts for

each of these, we've used the idea of a "linking" code

instead.  What this means is that you define a set of

accounts that work for one particular set of circumstances,

and give it a three-character code.  Then, for example,

instead of putting all the three account numbers in for each

inventory item, you just enter the code.









Link Codes



If you have a simple system, you can probably get by with

just one code for everything!



To make things even easier, we've defined a default code to

be used if there is no code for your inventory, customers,

and payment media: "DEF".  So if you have blanks in the

data, the GI module will automatically use DEF for you.



Let's take a look at how this works.  Each linking code has

all the accounts, so they can be used for any of the three

types of posting. Here's the way the "DEF" default code

looks:





Link Code   : DEF          Description : DEFAULT LINK



  ACCOUNT TYPE                  ACCOUNT NUMBER

  -------------------------     ---------------------------

  Cash Account                  DEF-CASH

  Accounts Receivable           DEF-ACCOUNTS RECEIVABLE

  Inventory, Stock              DEF-INVENTORY, STOCK

  Inventory, Non-Stock          DEF-INVENTORY, NON-STOCK

  Sales Tax Liability           DEF-SALES TAX LIABILITY

  Cost of Sales, Stock          DEF-COST OF GOODS, STOCK

  Cost of Sales, Non-Stock      DEF-COST OF GOODS, NON-STOCK

  Cost of Sales Adjust          DEF-COST ADJUSTMENTS

  Sales Income, Stock           DEF-SALES INCOME, STOCK

  Sales Income, Non-Stock       DEF-SALES INCOME, NON-STOCK

  Sales Income Adjust           DEF-INCOME ADJUSTMENTS







As you can see, the "account number" entry is extremely

flexible. It will hold pretty much anything you can put in

it, from the old-style three-digit account numbers up to

thirty-character codes with numbers, letters, dashes,

slashes and whatever else you want to put in it.





When you print the GL JOURNAL, you will get a report with

the ACCOUNT NUMBERS you define, so you can do almost

anything with it.





One of the first things you will want to do is to edit this

DEF link code and put your own G/L account numbers in it.





Inventory Accounts



The Inventory file uses its GL linking code (GLLINK) plus

its Stock flag (STKCODE) to determine to which accounts it

will post the selling price and cost.  First, the GLLINK

code is used to find the appropriate set of accounts; if

STKCODE is a "Y", the "stock" accounts for Inventory, Cost,

and Sales Income are used; otherwise, the "non-stock"

accounts are used.





Obviously, if you do not wish to distinguish between these,

you can simpoly make the account numbers the same for both

sets.





In addition, the Sales Income Adjustment account is used to

post the difference between the list price and actual

selling price, so that you can keep track of money lost to

discounts. This is an option, and you can use it or not, as

you see fit.













Customer Accounts



The Customer file uses its GL linking code (GLLINK) to

determine to which ACCOUNTS RECEIVABLE account charges and

credits will be posted, and also for the SALES TAX liability

account.  If you will not differentiate among types of

customers for posting sales taxes, be sure to include the

same account for all customers.







Payment Media Accounts



The Payment Media file uses its GL linking code (FLAGS,

3-4-5) to determine to which CASH account to post payments.

The exception is the type 10, Customer House Accounts, which

uses the GLLINK code associated with the customer instead,

and uses the ACCOUNTS RECEIVABLE account rather than CASH

account.





Transaction Distribution



The Transaction Log includes an item for each entry called

the transaction type, (dBase field named MTTRANS), which

defines the type of entry.  In the GL Link, the

distributions of the amounts contained in the entries are

made as follows:



T MEANING                POST VALUE & ACCOUNT

- ---------------------  --------------------------------------

S Item sold list price   MTAMOUNT to -SALES, INVCOST to +COG, -INVY

M Item sold marked down  MTAMOUNT to -SALES, INVCOST to +COG, -INVY

D Item sold discounted   MTAMOUNT to -SALES, INVCOST to +COG, -INVY

R Item returned to stock MTAMOUNT to +SALES, INVCOST to -COG, +INVY

P Payment                MTAMOUNT to +CASH or +AR

C Change                 MTAMOUNT to -CASH or -AR

T Total of a ticket      MTTAX    to -SALES TAX

K Layaway Payment        MTAMOUNT to -"LAY" AR

L Layaway Down           MTAMOUNT to +CASH or +AR

                         MTPRICE  to +"LAY" AR (balance)

                         MTTAX    to -SALES TAX

$ Customer R-O-A         MTAMOUNT to -AR

I PayIn                  MTAMOUNT to +CASH or +AR, -"IN" CASH

O PayOut                 MTAMOUNT to -CASH or -AR, +"OUT" CASH

F ReFund                 MTAMOUNT to -CASH or -AR, +"RFD" CASH













Payment Media Types



The StoreMaster Media Payment Types can consist of up any

number of distinct codes, from the following types:



     TYPE          Description

     -----         ----------------------

      1            Cash

      2            Check

      3            Charge Cards

      4            Credits

      5            Gift Certificates

      6            Manufacturer Coupons

      7            Store Coupons

      8            Food Stamps

      9            Miscellaneous

     10            Customer Accounts







In the Transaction Log, transaction entries with MTTRANS

fields containing P, C, I, O, F, or L will have one of these

values (1 through 10) in the MTQUAN field.  Since it is

possible to have many different codes of each type (except

10), the code "NAME" is contained in the MTDEPT field.



Note that Type 4 "Credit" is not the same as a credit to a

customer's account.  Typically, when a customer returns an

item, there are several possible ways of returning payment,

all of which will be posted as "change" on the ticket. (1)

you can give cash, (2) you can give "credit" slip, or (3)

you can give an account credit. All of these would show up

as negative (outgoing) values. The first, of course, would

be cash out, the second one would be "credit" out, and the

third would be subtracted from the account balance.  Because

the system can actually print a CREDIT SLIP as part of any

receipt, you are, in effect, issuing a credit which will

later be used by the customer as payment on some other

purchase and at that time will be posted back to the

"CREDIT" account, cancelling out the previous entry.  The

"CREDIT" account should probably have a unique GL LINK code

so that your ledger can differentiate between it and other

(presumably positive) accounts.















Special Linking Codes



Generally, you will be able to handle most entries with the

"DEF" link code.  However, it is possible to define as many

as are required for any special accounts you may have.



StoreMaster defines several potential special codes, which

may be used, but are not required.  If these are not found

in the GL LINK TABLE, the standard "DEF" code will be used

instead.  The special codes may be used if you wish to post

these special transactions to special accounts in order to

track them more closely in your ledger. These special codes

have been included with the standard link code data included

with this module, and are as follows:





LAY -  for Layaway balances and payments

IN  -  for pay-ins

OUT -  for pay-outs

RFD -  for refunds





If you are going to use these, you will want to edit the

account codes supplied and put in your own account numbers.

Otherwise, you will want to delete the entries so that the

module will use the DEF code instead.







You may also wish to define one or more additional codes for

any non-CASH payment media used.  Since all payment media

(except for House Charge Accounts, which are type 10) are

handled as CASH, if you wish to differentiate between normal

CASH and CHECK (types 1 and 2) and various other payment

media, you can do so by defining a separate LINK CODE for

each one you want to put into a separate account.  For

example you could define codes like "MC" for MasterCard,

"VIS" for VISA, "CS" for Credit Slip, and so on.  You could

also define a single code like "CHC" for all charge cards.



Here's an example of how to implement a special code:



Let's say that you want to track VISA charges, using a

special code, "VIS".  First, you will need to go to the

Payment Media file maintenance (in the SM module) and enter

the code VIS.  Next, in the GI program, define the "VIS"

link code and enter the account number to which you want to

post the VISA payments. That's all there is to it!  From

then on, all VISA payments will show up on your reports in

that account instead of the regular CASH account.





Running the General Ledger Interface Module

===========================================================



To start the GI Module, from the DOS prompt just type GI and

press the ENTER key, or, from Windows, click on the GI icon.



You will see the Main Screen, which appears as shown below,

and have five functions to select from.





Main Screen

===========

The main screen for the GI Module looks like this:



--------------------------------------------------------------

User: SANDY      StoreMaster Ver 96.2 Rel 12.00     02/19/98

Company: SCR World Headquarters                 G/L Interface



               StoreMaster GL Interface



             Pause after error messages? N



                 Print Transactions to LPT1

               Print Journal Report to LPT1





         Start Journal on  Monday      02/19/98

         End Journal on    Monday      02/19/98







 Change Parameters  Date Range   Edit GL Codes   Print Report

--------------------------------------------------------------



At the bottom of this menu are five functions. These are

listed in the order you will usually use them.  To select a

function, press the first letter of the function, or use the

arrow keys to highlight it and press ENTER.





Change Parameters

=================

There are three "parameters", which are shown in the top

portion of the box:



Pause After Error Messages

==========================

The first parameter should be set to YES when you first

start using the GI Module.  It will cause the program to

pause and wait for you to press a key to continue any time

an unusual condition is encountered while processing the

Transaction Log.  Included in these are such things as not

finding a sold item in the inventory file, not finding a

customer in the customer file, having a "link code" defined

for a customer, inventory item, or payment media type, but

not being able to find the code in the GL LINK CODE table,

and so on.  These are generally not "fatal" errors, but are

things that you should look into.  As you will see in the

sample reports, these errors are clearly marked in the

Transaction Report.





Print Transactions To

=====================

The second parameter tells the Module where to print the

Transaction report.  This is a list showing the records in

the Transaction Log and how each is processed. You can

actually enter a printer here, or you may wish to enter a

file name and let the report be saved on your disk in a data

file which you can print later or simply view with a text

editor.  If you do print it, it can be to the same printer

as the Journal Report or to a different one.  Generally,

once your curiosity is satisfied, you can simply "blank out"

this parameter and print nothing at all. If you DO have a

problem, you can turn it back on and re-process the Journal

to get a printout of what's happening.





Print Journal To

================

The third parameter is like the second one, a printer to

send the Journal Report to.  This should usually be a real

printer or a file to be viewed and printed later, since this

is the data you will be entering into your General Ledger

later.  If your General Ledger software provides a facility

for "Data Import", you may want to save the rport to a data

file so you can edit it into the proper form for importing

directly, and avoid having to type it!



All three parameters are saved each time you use the GI

Module, so they will be the same the next time you use it.







Date Range

==========

This allows you to set the range of dates for which you wish

to process Transaction Log records and calculate a GL

Journal.  The Module always defaults to "today", but it is

easy to change.



When you select the Data Range function, you get a menu of

choices:



    Date Range

       Today

       Day Before

       Week

       Last Seven Days

       Month to Date

       Previous Month

       Enter Dates





All but the last choice simply calculate the appropriate

dates and enter them for you.  The "Previous Month" function

takes the month before the currently displayed Start Journal

date.



If you select "Enter Dates", you get to enter the actual

dates for which you want to create a journal report.  While

you're entering the dates, you can press the F2 key for a

pop-up calendar that lets you highlight the date you want.











Edit GL Codes

=============

This function lets you review and edit your GL LINK CODE

TABLE.  When you select it, you get a screen that looks like

this:





 Link Code   : DEF  Description : DEFAULT LINK



    Cash Account            :  DEF-CASH

    Accounts Receivable     :  DEF-ACCOUNTS RECEIVABLE

    Inventory, Stock        :  DEF-INVENTORY, STOCK

    Inventory, Non-Stock    :  DEF-INVENTORY, NON-STOCK

    Sales Tax Liability     :  DEF-SALES TAX LIABILITY

    Cost of Sales, Stock    :  DEF-COST OF GOODS, STOCK

    Cost of Sales, Non-Stock:  DEF-COST OF GOODS, NON-STOCK

    Cost of Sales Adjust    :  DEF-COST ADJUSTMENTS

    Sales Income, Stock     :  DEF-SALES INCOME, STOCK

    Sales Income, Non-Stock :  DEF-SALES INCOME, NON-STOCK

    Sales Income Adjust     :  DEF-INCOME ADJUSTMENTS







         Next      Previous      Top       Bottom

Add      Edit      List       D/DEL to DELETE   ESC to quit





At the bottom of the screen are the editing functions:



Press N, P, T, B move to other link codes;



Press A to add a new link code. You will enter a new

three-character code, and will be asked if you want to copy

the accounts from the link code that is currently on the

screen; if you answer YES, those will all be copied into

your new one, and you can edit them as needed.



Press E to edit the code showing on the screen.



Press L to print a listing of your codes - you can print the

one shown on the screen or all the codes you have.



Press D or the DEL or DELETE key to delete the code shown on

the screen.  You will be asked to confirm the deletion

before the code is actually deleted.  Unlike most of the

data deletions in the StoreMaster system, this one takes

effect immediately.



Press ESC when finished editing link codes.





----------------------------------------------------------------



                        Printing the GL Journal



Select the Print Report function on the Main Screen to start

the process of calculating and printing the General Ledger

Journal.



Two reports may be printed: the Transaction Report and the

Journal Report.





Transaction Report

==================

The Transaction Report lists all of the transactions

processed during calculation of the GL Journal entries.  Any

transaction involving changing the amount of money contained

in any GL Account will be noted along the left side of the

report, with the dollar amount of the change shown.



If the parameter for Print Transactions To is left BLANK, no

report will be printed.  If the parameter contains a

"device" name, such as LPT1, LPT2, or LPT3, the report will

be printed to that device.  If the parameter contains a data

file name, the file will be checked to see if it already

exists, and if it does, you will be given a chance to tell

the program whether to add the Reporta to the end of the

file's data or simply overwrite it.



Normally, you will not need to print the Transaction Report

or send it to a data file.  If the G/L Journal does not

balance, you will need to re-calculate it, after setting the

Transaction Report to print or be stored on a file - then

you can examine the report and see what transaction caused

the out-of-balance to occur.



Shown here is a short sample of the Transaction

Report.







        StoreMaster Transaction Log Processing

                     For 02/19/98



----------------------------------------- TICKET 100010009

     '@' -  Register started 02/19/98 12:30

----------------------------------------- TICKET 100010010

     '@' -  Register started 02/19/98 08:48

     '%' -  Ticket Voided     on 02/19/98 at 08:48 by 12

----------------------------------------- TICKET 100010011

     'V' -  Temporary Exit    on 02/19/98 at 08:49 by 1

----------------------------------------- TICKET 100010012

     '@' -  Register started 02/19/98 11:15

     'S' -  12              sold, list price

-10.79  DEF->INVTS using Acct # DEF-INVENTORY, STOCK

 10.79  DEF->COSTS using Acct # DEF-COST OF GOODS, STOCK

-12.95  DEF->INCOS using Acct # DEF-SALES INCOME, STOCK

          'S' -  SHIP            sold, list price

  0.00  DEF->INVTS using Acct # DEF-INVENTORY, STOCK

  0.00  DEF->COSTS using Acct # DEF-COST OF GOODS, STOCK

 -5.00  DEF->INCOS using Acct # DEF-SALES INCOME, STOCK

          'T' -  TICKET TOTAL

 -1.48  DEF->LIABT using Acct # DEF-SALES TAX LIABILITY

          'P' -  PAYMENT TENDERED - CASH

 19.43  DEF->CASHR using Acct # DEF-CASH

----------------------------------------- TICKET 100010013

    'V' -  Temporary Exit    on 02/19/98 at 11:18 by 12

----------------------------------------- TICKET 100010014

    '@' -  Register started 02/19/98 16:09

    'S' -  12              sold, list price

-10.79  DEF->INVTS using Acct # DEF-INVENTORY, STOCK

 10.79  DEF->COSTS using Acct # DEF-COST OF GOODS, STOCK

-12.95  DEF->INCOS using Acct # DEF-SALES INCOME, STOCK

                  'T' -  TICKET TOTAL

 -1.07  DEF->LIABT using Acct # DEF-SALES TAX LIABILITY

                  'P' -  PAYMENT TENDERED - CASH

 14.02  DEF->CASHR using Acct # DEF-CASH









GL Journal Report

=================

The GL Journal Report contains a list of General Ledger

Accounts and the amounts by which they have changed due to

the processing of the transactions selected.



The report looks like the report shown below.  The actual

account codes will, of course, be yours; the ones shown here

are from the default data which is supplied with the Module,

and use descriptions rather than actual account numbers or

codes, simply to make them easier to read.



As noted on the bottom line, the total should be zero.  If

it is not, there is a problem of some sort, either in the GI

Module's calculation or in the data in your Transaction

Logs.  If this happens, contact SCR Corporation as soon as

possible.  If you have not saved the Transaction Report on a

data file, you should re-do the Journal with the Transaction

Report parameter pointed at a data file - that will make it

much easier for SCR's Tech Support to diagnose and correct

the problem.





        StoreMaster General Ledger Account Totals

               From 02/01/98 to 02/07/98



        Account Code                           Amount

        ------------------------------  --------------

        DEF-CASH                           12,033.45

        DEF-COST OF GOODS, STOCK            9,421.58

        DEF-INVENTORY, STOCK               -9,421.58

        DEF-SALES INCOME, STOCK           -11,383.44

        DEF-SALES TAX LIABILITY              -650.01

        ------------------------------  --------------

           TOTAL (SHOULD BE ZERO)               0.00



These accounts and amounts can be input manually into your

accounting system or provided to your accountant.



If you "print" the report to a data file, you can edit it

and import it into an accounting software package, as many

of them do have a data import capability.








Click HERE to us...

Click HERE for Table of Contents

Click HERE to Download SCR Software