next_inactive up previous


GNU Enterprise Accounting Package Proposal

Louis Charbonneau

chalou@videotron.ca

Lyx format available at
http://pages.infinit.net/chalou/GNU_Enterprise_1.lyx

Date: June 27, 2001


Contents

1. Introduction

  1. GL Module (General Ledger)
  2. AR Module (Accounts Receivable)
  3. AP Module (Accounts Payable)
  4. SO Module (Sales Orders)
  5. PO Module (Purchase Orders)
  6. IC Module (Inventory Control)
  7. PA Module (Payroll)
  8. BR Module (Bank Reconciliation)
  9. FA Module (Fixed Assets)

2. Definitions, Acronyms, Abreviations, Naming Convention

2.1 Term Definitions

  1. Journal : A book of original entries. A book to record business transaction in a chronological manner.
  2. Journalize (to) : To enter daily business transactions in a journal.
  3. Sales Journal : A specialized journal to record sales transactions (Sales invoices issued to customers)
  4. Cash Receipt Journal : A specialized journal to record money and checks received from customers.
  5. Purchase Journal : A specialized journal to record Purchase Invoices received from vendors/suppliers..
  6. Cash Disbursement Journal : A specialized journal to record payments issued to vendors/suppliers
  7. Purchase Commitment Journal : A specialized journal to record liabilities incurred by agreeing to buy. (purchase orders issued to vendor/suppliers.) Purchase Order Journal or PO Journal
  8. Stock Receiving Journal : A specialized journal to record merchandises received from vendors/suppliers.
  9. Sales Commitment Journal : A specialized journal to record liabilities incurred by agreeing to sell. (Sales orders received from customers) Sales Order Journal or SO Journal
  10. Stock Transfer Journal : A specialized journal to record moving of merchandises between warehouses, locations, departments.
  11. General Journal : A journal used to record miscellaneous transactions not suited for a specialized journal.
  12. Ledger : A book used to record business transactions coming from a journal. Each page of the ledger is devoted to a specific account. An account book in which all final entries of the transactions of a business concern are recorded.
  13. Posting : Copying a business transaction from a journal to two or more pages of the ledger.
  14. General Ledger : An account book made of all the asset accounts, liability accounts, equity accounts, revenue accounts and expense accounts.
  15. Subsidiary Ledger : A detail account book having a controling account in the General ledger.
  16. Accounts Receivable Ledger : A subsidiary ledger keeping track of the transactions with customers. The total of amounts due by all the customers has to be equal to the amount of the receivable controlling account in the General Ledger.
  17. Accounts Payable Ledger : A subsidiary ledger keeping track of the transactions with vendors/suppliers The total of amounts due to all the vendors has to be equal to the amount of the payable controlling account in the General Ledger.
  18. Stocks Ledger : A subsidiary ledger keeping track of the value of the merchandises on hand. The total value of all the items on hand, has to be equal to the amount of the Stocks controlling account in the General Ledger.
  19. Activity Ledger : A subsidiary ledger used for Activity Based Costing.
  20. Project Ledger : A subsidiary ledger used for Project Based Costing.
  21. Source of an entry : In the General Ledger, identification of the journal from which the entry is coming from.
  22. To be continued ...

2.2 Acronyms

2.2.1 Used in the General Ledger to identify Source Journals :

GL
General Ledger
GJ
General Journal
SJ
Sales Journal
PJ
Purchase Journal
CRJ
Cash Receipt Journal
CDJ
Cash Disbursement Journal
POJ
Purchase Order Journal
SOJ
Sales Order Journal
SRJ
Stock Receiving Journal
STJ
Stock Transfer Journal
OBJ
Opening Balances Journal
BUJ
Budget Journal

2.2.2 Other Acronyms

GLM
General Ledger Module
ARM
Accounts Receivable Module
APM
Accounts Payable Module
FAM
Fixed Assets Module
SOM
Sales Order Module
POM
Purchase Order Module
ICM
Inventory Control Module
PRM
Payroll Module
BRM
Bank Reconciliation Module
To
be continued ...

2.3 Standard Abreviations

acct
account
amnt
amount
co
company
ctrl
control
cur
currency
dflt
default
ent
enterprise
frgn
foreign
gl
General Ledger
grp
group
gvt
government
id
identification
mgr
manager
pgm
program
prd
period
qty
quantity
rpt
report
src
source
std
standard
stk
stock
stmt
statement
trans
transaction
uom
Unit of measure
to
be continued .....

2.4 Naming Conventions

File
name is upshifted. Files are named after their accounting book counterpart. (where the counterpart exists)
Field
name is downshifted, contains at least one underscore character _ and does not exceed 16 characters
Identification
_id suffix is reserved for identifier fields generated by the system. The fields ending with
the suffix ``_id'' are not visible to the user. These _id fields are used to link the tables.
Code
_code suffix is reserved for identifier field created by the user and is 8 characters . For example : territory_code
Account
_acct suffixe is reserved for fields referring to a ledger or a subsidiary ledger. For example : gl_acct
To
be continued ....

3. GNU Enterprise System Tables

Common tables used by the different packages of the application.

3.1 Person Table.



Table Name Field Name Descriptive Name Field Type Theory of operation
PERSON person_id Person Identification INT Serial assigned by the system.
PERSON name_prefix<8> Name Prefix CHAR Mr, Ms, Dr, etc..
PERSON name_first<25> Name First CHAR Given or first name
PERSON name_middle<25> Name Middle CHAR Other names, not surname or first
PERSON name_last<25> Name Last CHAR Surname or family name.
PERSON name_suffix<8> Name Suffix CHAR Jr, Sr, III,
PERSON name_informal<25> Name Informal CHAR Nickname
PERSON work_title<25> Work Title CHAR President, Vice-president, etc.
PERSON address_id Address Id INT PERSON.address_id = ADDRESS.address_id
PERSON comm_id Communication Id INT PERSON.comm_id = COMM.comm_id
PERSON language_id Language Id INT Language spoken, PERSON.language_id = LANGUAGE.language_id



3.2 Comm Table.

Communication



Table Name Field Name Descriptive Name Field Type Theory of operation
COMM comm_id Communication Identification INT Serial assigned by the system.
COMM home_phone<20>   CHAR  
COMM business_phone<20>   CHAR  
COMM mobile_phone<25>   CHAR  
COMM fax_phone<25>   CHAR  
COMM e_mail<50> Email Address CHAR  
COMM url_address<50>   CHAR  
COMM edi_protocol<16>   CHAR  



3.3 Region Table



Table Name Field Name Descriptive Name Field Type Theory of operation
REGION region_id Region Id INT Serial number assigned by pgm.
REGION region_code<8> Region Code CHAR State/Region abbreviation
REGION region_name<35> Region Name CHAR State/Region Description



3.4 Country Table



Table Name Field Name Descriptive Name Field Type Theory of operation
COUNTRY country_id Country Id INT  
COUNTRY country_code<8> Country Code CHAR  
COUNTRY country_name<35> Country Name CHAR  
COUNTRY city_format<35> City/Postal Format CHAR  
COUNTRY phone_code<4> Country Phone Code CHAR  



3.5 Address Table



Table Name Field Name Descriptive Name Field Type Theory of operation
ADDRESS address_id Address ID INT Serial assigned by the pgm.
ADDRESS address_type<16> Address Type CHAR Work, Home, Business, etc.
ADDRESS street_1<35> Street First Line CHAR  
ADDRESS street_2<35> Street Second Line CHAR  
ADDRESS street_3<35> Street Third Line CHAR  
ADDRESS city_name<35> City Name CHAR  
ADDRESS postal_code<17> Postal Code CHAR  
ADDRESS region_id Region Id INT ADDRESS.region_id = REGION.region_id
ADDRESS country_id Country Id INT ADDRESS.country_id = COUNTRY.country_id



3.6 Organization Table

3.6.0.1 Theory of operation

This table defines customers, vendors, and other organizations.



Table Name Field Name Descriptive Name Field Type Theory of operation
ORGANIZATION org_id Organization Identification INT Assigned by the system.
ORGANIZATION org_name<50> Organization Name CHAR Legal Name, Corporate Name, Trade Name
ORGANIZATION address_id Address Id INT ORGANIZATION.address_id = ADDRESS.address_id
ORGANIZATION comm_id Communication INT ORGANIZATION.comm_id = COMM.comm_id



3.7 System Parameters Table

3.7.0.1 Theory of operation

System wide parameters ``SYSPARAM'' table is used to store general information used by the different packages and modules of GNU Enterprise Application. There is one record per enterprise using the GNUE Application.

3.7.0.2 Definition



Table Name Field Name Descriptive Name Field Type Theory of operation
SYSPARAM enterprise_code<8> Enterprise code CHAR Business enterprise, Establishement, Firm, Society Commercial concern, Profit-oriented organization, Manufacturing concern, Service concern, Company, Not-for-profit organization, Membership organization, Government entity or any other type of undertaking using the GNUE application.
SYSPARAM org_id Organization Id CHAR SYSPARAM.org_id = ORGANIZATION.org_id
SYSPARAM multi_cur Multi currency BOOL This organization uses multi currency feature
SYSPARAM multi_whs Multi Warehouse BOOL This organization uses multi warehouse feature
SYSPARAM convert_method<16> Translation method from foreign to functional currency CHAR local_to_foreign: One local unit = X foreign units , foreign_to_local: One Foreign unit = X local units



3.8 Tax Tables

3.8.0.1 Theory of operation

Different levels of government levy taxes on goods and services. To determine the amount of tax applicable, GNU Enterprise has to take into account criteria like the point of origin, the point of destination, the rate applicable depending on the nature of the merchandise, etc. Tax codes are attached to the customer and to the item. For shipments within a jurisdiction, the item tax code is used. For shipments across jurisdiction, the customer tax code prevails.

Tax tables (TAX and TAX2) record information about the different tax authority and method of taxation. These tables are used for purchasing and selling.

3.8.0.2 Definition



Table Name Field Name Descriptive Name Field Type Theory of operation
TAX enterprise_code<8> Enterprise Code CHAR TAX.enterprise_code = SYSPARAM.enterprise_code
TAX tax_id Identification INT Serial assigned by pgm
TAX tax_code<8> Tax Code CHAR Code assigned by the user
TAX tax_entity<30> Taxation Entity Description CHAR A Taxation entity is a combination of different taxation authorities like : federal tax, state tax, municipal tax, etc.. as defined in TAX2 table.



TAX2 table is a detail of TAX table. It allows the definition of multi-level taxation.



Table Name Field Name Descriptive Name Field Type Theory of operation
TAX2 tax_id Taxation ID INT TAX2.tax_id = TAX.tax_id
TAX2 org_id Organization Id INT TAX2.org_id = ORGANIZATION.org_id Reference to the taxation authority
TAX2 authority_type<30> Type of Taxation Authority CHAR Federal, State, Provincial, municipal, etc...
TAX2 tax_register_no<30> Register Number CHAR The official registration number with this tax authority
TAX2 tax_rate Tax Rate INT Tax Percentage applicable
TAX2 tax_paid_gl_id Tax Paid GL Account ID INT GL Asset account to record taxes paid to vendors
TAX2 tax_charge_gl_id Tax Charged GL Account ID INT GL Liability acount to record taxes charged to customers
TAX2 tax_on_tax Tax on tax BOOL Yes = This taxe is cumulative. Taxable amount includes any previously calculated tax amounts.
TAX2 tax_calc_order Calculation Order INT Calculation Order is necessary if a Tax_on_tax is set to Yes



3.9 Language Table

3.9.0.1 Theory of operation

Data entry screens and reports are displayed in the user prefered language. Some reports are printed in the customer or vendor prefered language.

3.9.0.2 Definition



Table Name Field Name Descriptive Name Field Type Theory of operation
LANGUAGE language_id Language Identification INT Serial assigned by pgm
LANGUAGE language_code<8> Language Code CHAR  
LANGUAGE dialect_code<8> Dialect Code CHAR  
LANGUAGE description<25> Description CHAR  



3.10 Label Table

3.10.0.1 Theory of operation

LABEL table stores texts used in data entry screens/reports of GNU Enterprise application. This table is not visible to the end user and is updated only by the developers.

3.10.0.2 Definition



Table Name Field Name Descriptive Name Field Type Theory of operation
LABEL label_id Label ID INT Assigned by the pgm
LABEL module_name<16> Module Name CHAR  
LABEL class_name<16> Class Name CHAR Table
LABEL pgm_name<16> Program Name CHAR Reference to the program using this text
LABEL field_name<16> Name of the field CHAR Reference to the field or control name
LABEL pgm_filter<16> Program Filter CHAR A string in the program allowing to create a view of the appropriate labels used by this form/report
LABEL create_by<20> Developer Name CHAR Developer Name
LABEL create_date Creation Date DATETIME Record creation date
LABEL where_use<100> Where Used CHAR Documentation on how and where this text is used.



3.11 Help Table

3.11.0.1 Theory of operation

HELP table stores strings of texts of different languages used in data entry screens/reports of GNU Enterprise application. This table is updated by the developers and the translators of the application.

3.11.0.2 Definition



Table Name Field Name Descriptive Name Field Type Theory of operation
HELP label_id Label ID INT Reference to the label HELP.label_id = LABEL.label_id
HELP language_id Language ID INT Reference to the language HELP.language_id = LANGUAGE.language_id
HELP help_text<1000> Help Text CHAR User contextual help
HELP help_keywords<100> Help Keywords CHAR Keywords for searches
HELP tool_tip<50> Tool Tip CHAR Short help displayed when the user's mouse passes over the field
HELP default_text<100> Default Text CHAR Default Text Data for new fields
HELP create_by<20> Translator Name CHAR Translator or developer name
HELP create_date Creation Date DATETIME Record creation date



3.12 Unit Of Measure Table

3.12.0.1 Theory of operation

The UOM table is used to ensure consistency in the usage of units of measure.

3.12.0.2 Definition



Table Name Field Name Descriptive Name Field Type Theory of operation
UOM uom_id Unit of measure identification INT A serial number assigned by the system
UOM enterprise_code<8> Enterprise Code CHAR UOM.enterprise_code = SYSPARAM.enterprise_code
UOM uom_code<8> Unit of measurement code CHAR A code assigned by the user
UOM uom_descript<30> Unit Of Measurement Description CHAR  
UOM activity_status<16> Activity Status CHAR Active, Inactive, Deactivated
UOM uom_class<16> Unit of measurement classification CHAR Quantity, Time, Volume, Weight, Distance, Dimension, Length, Height, Width, Power
UOM create_date Record creation date DATETIME  



3.13 Territory Table

3.13.0.1 Theory of operation

The TERRITORY table is used to define geographical references for customers and vendors.

3.13.0.2 Definition



Table Name Field Name Descriptive Name Field Type Theory of operation
TERRITORY territory_id Territory identification INT A serial number assigned by the system
TERRITORY enterprise_code<8> Enterprise Code CHAR TERRITORY.enterprise_code = SYSPARAM.enterprise_code
TERRITORY territory_code<8> Territory code CHAR A code assigned by the user
TERRITORY territory_desc<30> Territory Description CHAR  
TERRITORY activity_status<16> Activity Status CHAR Active, Inactive, Deactivated
TERRITORY create_date Creation Date DATETIME Record creation date System date assigned by pgm



3.14 Industry Table

3.14.0.1 Theory of operation

The INDUSTRY table is used to define line of business for customers and vendors.

3.14.0.2 Definition



Table Name Field Name Descriptive Name Field Type Theory of operation
INDUSTRY industry_id Industry identification INT A serial number assigned by the system
INDUSTRY enterprise_code<8> Enterprise Code CHAR TERRITORY.enterprise_code = SYSPARAM.enterprise_code
INDUSTRY industry_code<8> Industry code CHAR A code assigned by the user
INDUSTRY industry_desc<30> Industry Description CHAR  
INDUSTRY activity_status<16> Activity Status CHAR Active, Inactive, Deactivated
INDUSTRY create_date Record Creation Date DATETIME Record creation date System date assigned by pgm



3.15 Category Table

3.15.0.1 Theory of operation

The CATEGORY table is used to define customer and vendor classification for statistical purposes. The actual meaning of a Category is at the user discretion.

3.15.0.2 Definition



Table Name Field Name Descriptive Name Field Type Theory of operation
CATEGORY category_id Category identification INT A serial number assigned by the system
CATEGORY enterprise_code<8> Enterprise Code CHAR CATEGORY.enterprise_code = SYSPARAM.enterprise_code
CATEGORY category_code<8> category code CHAR A code assigned by the user
CATEGORY category_desc<30> category Description CHAR Description
CATEGORY activity_status<16> Activity Status CHAR Active, Inactive, Deactivated
CATEGORY create_date Creation Date DATETIME Record creation date System date assigned by pgm



4. Accounting Package Common Tables

Tables used by the different modules of the Accounting Package

4.1 Parameters Table

4.1.0.1 Theory of operation

Accounting Package parameters ``ACCPARAM'' table records general information used by the different modules of GNU Enterprise Accounting package.

4.1.0.2 Definition



Table Name Field Name Descriptive Name Field Type Theory of operation
ACCPARAM enterprise_code<8> Enterprise Code CHAR ACCPARAM.enterprise_code = SYSPARAM.enterprise_code
ACCPARAM ar_active Accounts Receivable Active BOOL Module has been activated
ACCPARAM ap_active Accounts Payable Active BOOL Module has been activated
ACCPARAM so_active Sales Order Active BOOL Module has been activated
ACCPARAM po_active Purchase order Active BOOL Module has been activated
ACCPARAM ic_active Inventory Control Active BOOL Module has been activated
ACCPARAM pr_active Payroll Active BOOL Module has been activated
ACCPARAM br_active Bank Reconciliation Active BOOL Module has been activated
ACCPARAM fa_active Fixed Assets Active BOOL Module has been activate



4.2 Currency Tables

4.2.0.1 Theory of operation

Currency tables store information about the different currencies used by the organization. CUR table specifies the format of the currencies and provides default GL accounts used by many modules. CUR2 table records the history of exchange rates. For inflation-adjusted reporting , constant monetary unit can be added.

4.2.0.2 Definition



Table Name Field Name Descriptive Name Field Type Theory of operation
CUR cur_id Currency identification INT A serial number assigned by the system
CUR enterprise_code<8> Enterprise Code CHAR CUR.enterprise_code = SYSPARAM.enterprise_code
CUR local_currency This is the functional currency BOOL Reporting currency, local currency or domestic currency are synonyms
CUR cur_code<8> Currency code CHAR A code assigned by the user
CUR cur_symbol<5> Currency symbol CHAR Symbol to be printed before or after the amounts
CUR cur_name<20> Currency name CHAR Currency name
CUR symbol_position<1> Position of currency symbol CHAR 1= After Amount, 2=Before Amount, 3=Not printed
CUR negative_format<1> Negative Amount Format CHAR 1= Parenthesis, 2 = Minus sign before currency symbol, 3 = Minus sign before amount, 4 = Minus sign after currency symbol, 5 = Minus sign after amount,
CUR negative_red Negative amount red BOOL Display negative amount (credit) in red color
CUR decimal_char<1> Decimal character CHAR Generally , or . but could be any character
CUR digit_after_dec<1> Number of digits after decimal CHAR 1 or 2 or 3 or 4
CUR group_separator<1> Character used to split group of digits CHAR Generally a space but could be any character
CUR digit_in_group<1> Number of digits per group CHAR Generally 3 but could be any number < 10
CUR rounding_up Currency rounding up method INT How calculated amounts in that currency are to be rounded up to be continued ...
CUR ar_ctrl_acct_id Receivables control account Id INT GL Asset Account for tracking receivable in this currency
CUR bank_acct_id Bank account Id INT GL Bank account for this currency
CUR bank_suspens_id Bank Suspense Id INT GL suspense account to track customer check in the process of being deposited
CUR ar_freight_id Income account for freight Id INT GL Revenue account for tracking freight charged in this currency
CUR ar_deposit_id Customer deposit account Id INT GL Liability control account for tracking deposits received from customers This account is credited when the customer check is entered in a SO. This account is debited when the customer is reimbursed.
CUR ar_dep_offset_id Customer Deposit offset account id INT GL Contra liability account. This account is debited when the customer check is entered in a SO. This account is credited when the check is actually deposited to the bank (Cash Receipt Journal posted) This is a suspense account with a zero balance once the deposit transaction is completed.
CUR ar_reimb_acct_id Customer Reimbursement Account INT A temporary account used to reimbursement a customer credit balance. This account is debited when our check is issued. (Cash Disbursement Journal) This account is credited when we apply the check against the customer balance (A negative Cash Receipt Journal) This is a suspense account with a zero balance once the reimbursement transaction is completed.
CUR ar_early_pay_id AR Early payment discount account Id INT GL Expense account to track discounts to customers for early payments
CUR ar_late_pay_id AR Late payment charge account Id INT GL Revenue account to track charges to customers for late payments
CUR ar_adjustment_id AR Adjustment Account ID INT Revenue or expense account to record minor adjustments made via the Cash Receipt Journal
CUR ap_ctrl_acct_id Payables control account Id INT GL Liability Account for tracking payables in this currency
CUR ap_freight_id AP Expense account for freight Id INT Gl expense account to track freight paid to vendors in this currency
CUR ap_deposit_id AP Vendor deposit account Id INT GL asset control account to track deposits made to vendors. This account is debited when our check is entered in a PO. This account is credited when we get reimburse by the vendor.
CUR ap_dep_offset_id AP Vendor deposit offset account Id INT Temporary GL Contra asset account. This account is credited when our check is entered in a PO This account is debited when our check is actually issued (Cash Disbursment Journal posted) This is a suspense account with a zero balance once the deposit transaction is completed
CUR ap_reimb_acct_id Vendor reimbursement Account ID INT A temporary account to record checks received from vendor paying back AP debit balances. This account is credited when the check is deposited (Cash Receipt Journal) . This account is debited when the vendor check is applied against its debit balance (Negative Cash Disbursement Journal). This is a suspenses account with a zero balance once the reimbursement transaction is completed.
CUR ap_early_pay_id AP Early payment discount account Id INT GL revenue account to track discount taken in this currency
CUR ap_late_pay_id AP Late payment charge account Id INT Gl expense account to track charges paid to vendors in this currency
CUR ex_gain_loss_id Exchange gain or loss account Id INT GL revenue or expense account to track conversion gain or loss



4.2.0.3 Theory of operation

Rate of exchange table (CUR2) can be updated by the user as often as needed. (New records added hourly, daily, weekly or monthly) The conversion program will select the rate closest to the transaction date. If more than one record is found for the same day, the conversion program will select the most recent one, i.e. the record with the largest cur2_id number. One record has to be created for the local currency with purchase_rate and sell_rate set to 1.

4.2.0.4 Definition



Table Name Field Name Descriptive Name Field Type Theory of operation
CUR2 cur2_id Currency rate identification INT A serial number generated by the system
CUR2 cur_id Currency identification INT CUR.cur_id = CUR2.cur_id
CUR2 date_rate Date the rates were obtained DATETIME Rates of exchange should be entered daily, if not the programs will compute a rate by linear interpolation based on the rates closest to the transaction date
CUR2 purchase_rate Purchasing Rate INT This rate is used for PO and AP Note: if CUR.local_currency is set to Yes purchase_rate = 1
CUR2 sell_rate Selling Rate INT This rate is used for SO and AR Note: if CUR.local_currency is set to Yes sell_rate = 1



4.3 Terms of payment Tables

Theory of operation

These tables (TERM and TERM2) define purchase payment terms with vendors, sales credit terms with customers and commission payment terms with salesmen.

4.3.0.1 Definition



Table Name Field Name Descriptive Name Field Type Theory of operation
TERM term_id Term identification INT A serial number generated by the system
TERM enterprise_code<8> Enterprise Code CHAR TERM.enterprise_code = SYSPARAM.enterprise_code
TERM term_code<8> Term Code CHAR Codification assigned by the user
TERM term_descript<30> Term Description CHAR Descriptionto be printed on documents and reports
TERM pay_type<16> Payment Types CHAR Types of payment : Cash on delivery, Certified check on delivery, Check on delivery, Collect on delivery, Terms,



TERM2 table defines payment terms.



Table Name Field Name Descriptive Name Field Type Theory of operation
TERM2 term_id Term identification INT TERM2.term_id = TERM.term_id
TERM2 net_days Net Days INT Number of days after wich the payment is due
TERM2 discount_days Discount Days INT Number of days allowed to take advantage of the stated discount Invoice date + discount_days = Discount Due Date
TERM2 discount_percent Discount percentage INT Discount applicable only if payment is made before Discount Due Date
TERM2 percent_due Percentage Due INT Percentage of the invoice amount due (Instalment credit) The total of the percentages must equal 100%
TERM2 net_on_this_day Net on this day INT (1 to 31) The invoice is payable on this day of the month.
TERM2 current_plus Current Month Plus INT Number of months to add to current month to derive due date. 0 to 12



4.4 Shipping Conditions Table

4.4.0.1 Theory of operation

SHIP table defines shipping conditions with vendors and customers.

4.4.0.2 Definition



Table Name Field Name Descriptive Name Field Type Theory of operation
SHIP ship_id Shipping identification INT A serial number generated by the system
SHIP enterprise_code<8> Enterprise Code CHAR SHIP.enterprise_code = SYSPARAM.enterprise_code
SHIP ship_code<8> Shipping Code CHAR Codification assigned by the user
SHIP ship_descript30<> Shipping Description CHAR Description to be printed on documents and reports
SHIP activity_status<16> Activity Status CHAR Active, Inactive, Deactivated
SHIP create_date Create Date DATETIME Record creation date



4.5 Contact table

4.5.0.1 Theory of operation

CONTACT table records information about contact persons at customers/vendors/employees sites.

4.5.0.2 Definition



Table Name Field Name Descriptive Name Field Type Theory of operation
CONTACT contact_id Contact identification INT Serial assigned by pgm
CONTACT vendor_id Vendor _id INT CONTACT.vendor_id = VENDOR.vendor_id
CONTACT customer_id Customer Id INT CONTACT.customer_id = CUSTOMER.customer_id
CONTACT employee_id Employee Id INT CONTACT.employee_id = EMPLOYEE.employee_id
CONTACT person_id Person Id INT CONTACT.person_id = PERSON.person_id
CONTACT comm_id Communication Id INT CONTACT.comm_id = COMM.comm_id
CONTACT contact_note<100> Contact Notes CHAR Contact note pad
CONTACT activity_status<16> Activity Status CHAR Active, Inactive or Deactivated
CONTACT create_date Record Creation Date DATETIME  



5. General Ledger Module

5.1 Theory of operation

The General Ledger Module serves as a repository of Journal transactions of all sources. These transactions come from specialized journals and from the General Journal. From these transactions, financial statements of all sorts are drawn up.

The main functions of the module are :

GL Module uses double entry bookkeeping.

By definition, debit amounts are positive and credit amounts are negative.

A journal entry balances when the algebraic sum of all its amounts is zero.

The General Ledger balances when the algebraic sum of all the journal entries is zero.

The trial balance is a complete list of account positive and negative balances.

Once a journal entry is posted to the GL, it is impossible to alter it. A journal entry goes through 3 stages : In progress, On approval, Posted to GL

A journal entry in progress does not necessarily balance. It is under construction, can be put aside and completed later on. A journal entry In Instance of approval balances but can still be alter. A Posted journal entry cannot be altered whatsoever.
The General Ledger Module can be used as a stand alone bookkeeping tool. The user can activate optional features like Multi-Currencies, Activity Based Costing, Project Based Costing, etc.

5.2 GL Module Functions

5.2.1 Maintain Chart of Accounts Function

5.2.1.1 Theory of operation

This function allows the accountant to create general ledger accounts. A GL account is defined by assigning an account number, an account title and an activity status. The account number assigned by the accountant is merely a key to access the GL Account. It is not used to format the financial statements. When migrating from another accounting system, current numbering scheme can be kept. An account has 3 activity status.

Active
Transactions can be posted to this account.
InActive
This account has been created but has not been activated yet. No transaction can be posted.
DeActivated
This account has been used for awhile but the accountant is phasing out the usage of this account. No transaction can be posted. An account goes from an InActive status, to an Active status, to a DeActivated status. It could also go from DeActivated back to Active.

5.2.1.2 Account Segmentation

The GL Account, 30 alpha-numeric characters, can be segmented. The segment separator can be ``-`` or ``+'' or ``/'' or ``.'' or ``*'' as selected by the user in the GL parameters. For convenience of use and data entry speed, only characters from the numeric keypad are proposed as segment separator. Account segmentation is built after the hierachical structure of the organization. Every segment has a name within the organisation. For example the first segment is 2 characters and represents de company, second segment is 3 characters and represents the division within the company, third segment is 2 characters and represents the department, fourth segment is 2 digits and represents a group of accounts, fifth segment is 2 digits and represents a sub-group of accounts, sixth segment is 4 digits ans represents the account per se. The segmentation mask would be like this : ``XX-XXX-XX-99-99-9999''

5.2.2 Design Financial Statement Function

This function allows the accountant to format as many financial statements as needed. Contrary to most accounting systems, GNU Enterprise does not rely on the segmentation of the GL accounts to compile the financial statements. GNU Enterprise uses a more flexible approach that allows the user to modify the GL account coding scheme without compromizing the exactness of the financial statements nor the integrity of the accounting books. GNU Enterprise does not rely on the segmentation but uses the segmentation to speed-up the design of the financial statements.
A financial statement has a name or title and 3 types of lines : Header, Account and Total
to be continued ....

5.2.3 Journal Entry Function

5.2.3.1 Theory of operation

The Journal Entry Function allows the accountant to Add, Update, Reverse and Copy Journal Entries.

The Update Function is available only while the entry is In progress stage or Waiting for approval stage.

The Reverse Function is available only when the entry has been posted. The Reverse function creates an exact copy of an already posted journal entry. Same date, same reference, same stage. The only differences being the sign of the amounts, plus a cross-reference in the field ``reverse_je_id'' of both entries : Reversed and Reversing Journal Entry Identification.

The Copy function creates an exact copy of an entry with the exception of the stage. The stage is ``In progress'' to allow the user to update the just copied transaction. It is possible to copy posted and not posted entries.

5.2.4 Print Financial Statements

A Financial Statement is defined as any report extracted from Journal Entries (tables JE and JE2) and/or periodic summary tables (GL2, ACTIVITY2, PROJECT2).

5.2.5 Period End Function

5.2.5.1 Theory of operation

The Period End Function consists in closing the current period/year and opening the following one. More than one period can be kept open.

5.2.6 Year End Function

5.2.6.1 Theory of operation

The Year End function creates a Journal Entry in the Period 0 of the following year. This entry is called the opening balance. There is one and only one opening balance per financial year. This Journal Entry uses the source ``OBJ'' (Opening Balance Journal). The Year End Function computes the closing balances for every accounts of the balance sheet (acct_type : 1=Assets, 2=Liabilities and 3=Capital) and creates a line for every accounts. It then adds the closing balances of all results accounts (acct_type : 4=Revenues and 5=Expenses) , then creates a line using the retained earnings account (accumulated surplus account for non-profit organization) defined in GL Parameters. (GLPARAM.retained_gl_id). The Year End Function can be run as many time as needed. A warning is given to the user to re-print his financial statements. When re-run, the Year End Program removes all the lines of the OBJ entry, re-computes and re-creates all the accounts. In principle, a financial year is closed when there is a journal entry of source ``OBJ'' in the period zero.

5.3 GL Module Tables

5.3.1 General Ledger Parameters Table

5.3.1.1 Theory of operation

General Ledger parameters ``GLPARAM'' table is used to store general information used by the different functions of the GL module.

5.3.1.2 Definition



Table Name Field Name Descriptive Name Field Type Theory of operation
GLPARAM enterprise_code<8> Enterprise Code CHAR GLPARAM.enterprise_code = SYSPARAM.enterprise_code
GLPARAM abc_active Activity Based Costing Active BOOL The organization uses the Activity Ledger
GLPARAM pbc_active Project Based Costing Active BOOL The organization uses the Project Ledger
GLPARAM use_fund_acct Use Fund Accounting BOOL This organization uses fund accounting
GLPARAM sj_posting<16> Sales Journal posting to GL CHAR This parameter can take 3 values : Real Time = Simultaneaously post to AR Sub. ledger and to GL, Batch = Periodically, post Sales Journal totals to GL, Batch Detailed = Periodically, post Sales Journal total to GL, for some accounts and detailed transaction for other accounts, as stated in the GL.post_detail account parameter.
GLPARAM cr_posting<16> Cash Receipt posting to GL CHAR Real Time, Batch or Batch Detailed
GLPARAM pj_posting<16> Purchase Journal posting to GL CHAR Real Time, Batch or Batch Detailed
GLPARAM pj_posting<16> Purchase Journal posting to GL CHAR Real Time, Batch or Batch Detailed
GLPARAM cd_posting<16> Cash Disbursement posting to GL CHAR Real Time, Batch or Batch Detailed
GLPARAM ic_posting<16> Stocks Receiving posting to GL CHAR Real Time, Batch or Batch Detailed
GLPARAM pr_posting<16> Payroll posting to GL CHAR Real Time, Batch or Batch Detailed
GLPARAM br_posting<16> Bank reconciliation posting to GL CHAR Real Time, Batch or Batch Detailed
GLPARAM gla_segment<30> General Ledger Account Segmentation CHAR Mask Ex : (XXX-XXXX-XX-X)
GLPARAM ala_segment<30> Activity Ledger Account Segmentation CHAR Mask Ex : (XXX-XXXX-XX-X)
GLPARAM pla_segment<30> Project Ledger Account Segmentation CHAR Mask Ex : (XXX-XXXX-XX-X)
GLPARAM balance_qty Balance quantities BOOL Yes, forces the user to balance the quantities in a journal entry
GLPARAM retained_gl_id Retained Earnings GL account identification INT GL Account Id uses by Year End Function to create the opening balance journal entry.



5.3.2 Account Segmentation Tables

5.3.2.1 Theory of operation

These tables allow the accountant to define the structure of the chart of accounts, the activity accounts and the project accounts.

5.3.2.2 Definition

The MASK table could contain up to 3 records per enterprise.



Table Name Field Name Descriptive Name Field Type Theory of operation
MASK mask_id Mask identification INT Serial
MASK enterprise_code<8> Enterprise Code CHAR MASK.enterprise_code = SYSPARAM.enterprise_code
MASK mask_ledger<16> Mask Ledger CHAR ``General Ledger'' or ``Activity Ledger'' or ``Project Ledger''
MASK mask_picture<30> Mask Picture CHAR Mask Ex : (XXX-9999.XX.X) 9999.999.99.9999



5.3.2.3 Definition

The number of segments being limited to 10, the segment table could contain up to 30 records per organization.

Definition



Table Name Field Name Descriptive Name Field Type Theory of operation
SEG seg_id Segment identification INT Assigned by pgm
SEG mask_id Mask Identification INT SEG.mask_id = MASK.mask_id
SEG seg_name<30> Segment Name CHAR Define by the user
SEG fund_segment Fund Segment BOOL This segment defines a balancing subset of the chart of accounts
SEG seg_sequence Segment sequence INT 1 to 10
SEG seg_length Number of characters INT Number of character in this segment
SEG seg_type<16> Segment Type CHAR Alpha or numeric. Could be derived from the mask picture



5.3.3 General Ledger Table

5.3.3.1 Theory of operation

GL table is used to record chart of accounts information. It is updated by the Maintain Chart of Accounts program.

5.3.3.2 Definition



Table Name Field Name Descriptive Name Field Type Theory of operation
GL gl_id General ledger Identification INT A serial number assigned by the system not visible to the user Primary key to link to other tables
GL enterprise_code<8> Enterprise Code CHAR GL.enterprise_code = SYSPARAM.enterprise_code
GL gl_acct<30> General Ledger Account CHAR Key for the user to access the account, can be updated by the user
GL gl_title<60> General Ledger Account Title CHAR General Ledger Account Title
GL activity_status<16> GL Account Activity Status CHAR Active, Inactive, Deactivated
GL ctrl_acct Control Account BOOL Yes= This account controls a subledger
GL sj_detail_post Sales Journal detail posting to GL BOOL Detailed posting to this GL account Yes or No if GLPARAM sj_posting is set to ``Batch Detailed'' Forced to No if GLPARAM.sj_posting is set to ``Real Time'' or ``Batch''
GL cr_detail_post Cash Receipt detail posting to GL BOOL Detailed posting to this GL account Forced to No if GLPARAM.cr_posting is set to ``Real Time'' or ``Batch''
GL pj_detail_post Purchase Journal detail posting to GL BOOL Forced to No if GLPARAM.pj_posting is set to ``Real Time'' or ``Batch''
GL cd_detail_post Cash Disbursement posting to GL BOOL Forced to No if GLPARAM.cd_posting is set to ``Real Time'' or ``Batch''
GL ic_detail_post Stocks Receiving posting to GL BOOL Forced to No if GLPARAM.ic_posting is set to ``Real Time'' or ``Batch''
GL pr_detail_post Payroll posting to GL BOOL Forced to No if GLPARAM.pr_posting is set to ``Real Time'' or ``Batch''
GL br_detail_post Bank reconciliation posting to GL BOOL Forced to No if GLPARAM.br_posting is set to ``Real Time'' or ``Batch''
GL uom_id Unit Of Measure for this account INT Hours for Salary accounts, Kilometers or miles for Traveling Expense accounts, Kilowatts for Electicity accounts, etc.
GL gl_acct_type<16> GL Account Type CHAR +Assets, -Liabilities, -Capital, -Revenues, +Expenses
GL gvt_code<10> Government Code CHAR Coding required for government reporting



5.3.4 General Ledger Periodic Summary Table

5.3.4.1 Theory of operation

GL2 table is used to record periodic summarized data. The main purpose of this table is to speed-up the display and/or printing of periodic data. This table is created/updated when posting a journal entry.

5.3.4.2 Definition



Table Name Field Name Descriptive Name Field Type Theory of operation
GL2 gl2_id General Ledger INT A serial number assigned by the system not visible to the user
GL2 gl_id GL Identification INT GL2.gl_id = GL.gl_id
GL2 gl_prd Financial Period number INT From 0 to 52
GL2 gl_year Financial Year INT Financial Year
GL2 gl_amnt Amount posted currency Total of all amounts posted to this account for this period/year
GL2 commit_amnt Commitment amount currency Total of all amounts commited to this account for this period/year
GL2 gl_qty Quantity posted INT Total of all quantities posted to this account for this period/year
GL2 budget_amnt Budget Amount Posted currency Total of all budget amnt posted for this period/year
GL2 budget_qty Budget Quantity Posted INT Total of all budget qty posted to this account for this period/year



5.3.5 Calendar Table

5.3.5.1 Theory of operation

CAL table is used to record information about the accounting periods of the organization. It is updated by the Maintain Calendar program. A period can be opened or closed to posting from the different modules. This allows the accountant to close a period module by module.

5.3.5.2 Definition



Table Name Field Name Descriptive Name Field Type Theory of operation
CAL cal_id Calendar Identification INT A serial number assigned by the system
CAL enterprise_code<8> Enterprise Code CHAR CAL.enterprise_code = SYSPARAM.enterprise_code
CAL cal_year Financial Year INT Financial Year of the enterprise
CAL cal_prd Financial period INT From 0 to 52
CAL start_date First day of this financial period DATE First day of this financial period
CAL end_date Last day of this financial period DATE Last day of this financial period
CAL gl_open Posting status from General Journal BOOL Yes = Open to posting, No = Close to posting
CAL ar_open Posting status from Accounts Receivable BOOL Yes = Open to posting, No = Close to posting
CAL ap_open Posting status from Accounts Payable BOOL Yes = Open to posting, No = Close to posting
CAL so_open Posting status from Sales Order BOOL Yes = Open to posting, No = Close to posting
CAL po_open Posting status from Purchase Order BOOL Yes = Open to posting, No = Close to posting
CAL ic_open Posting status from inventory Control BOOL Yes = Open to posting, No = Close to posting
CAL br_open Posting status from Bank reconciliation BOOL Yes = Open to posting, No = Close to posting
CAL pr_open Posting status from Payroll BOOL Yes = Open to posting, No = Close to posting



5.3.6 Reciprocal Accounts Table

Theory of operation

RECIPROCAL table contains information to automate inter-enterprises accounting transactions.



Table Name Field Name Descriptive Name Field Type Theory of operation
RECIPROCAL ent_code_a<8> Enterprise A Code CHAR RECIPROCAL.ent_code_a = SYSPARAM.enterprise_code
RECIPROCAL asset_acct_a Asset Account Enterprise A INT Reciprocal to liability_acct_b RECIPROCAL.asset_acct_a = GL.gl_id
RECIPROCAL liability_acct_a Liability Account Enterprise A INT Reciprocal to asset_acct_b RECIPROCAL.liability_acct_a = GL.gl_id
RECIPROCAL revenue_acct_a Revenue Account Enterprise A INT Reciprocal to expense_acct_b RECIPROCAL.revenue_acct_a = GL.gl_id
RECIPROCAL expense_acct_a Expense Account Enterprise A INT Reciprocal to revenue_acct_b RECIPROCAL.revenue_acct_a = GL.gl_id
RECIPROCAL ent_code_b<8> Enterprise B Code CHAR RECIPROCAL.ent_code_b = SYSPARAM.enterprise_code
RECIPROCAL asset_acct_b Asset Account Enterprise B INT Reciprocal to liability_acct_a RECIPROCAL.asset_acct_b = GL.gl_id
RECIPROCAL liability_acct_b Liability Account Enterprise B INT Reciprocal to asset_acct_a RECIPROCAL.liability_acct_b = GL.gl_id
RECIPROCAL revenue_acct_b Revenue Account Enterprise B INT Reciprocal expense_acct_a RECIPROCAL.revenue_acct_b = GL.gl_id
RECIPROCAL expense_acct_b Expense Account Enterprise B INT Reciprocal revenue_acct_a RECIPROCAL.expense_acct_b = GL.gl_id



5.3.7 General Journal tables

5.3.7.1 Theory of operation

General Journal is one the official books of account. It records documentary evidence required by law. Journal entries are kept in 2 linked tables : the Journal entry header table (JE) and the Journal entry line table (JE2). These 2 tables record general journal entries (miscellaneous entries that do not fit into a specialized journal) plus all the postings (summarized and/or detailed) from the specialized journals. JE and JE2 tables are the converging point of the whole acccounting set of books. From these 2 tables are extracted the General Journal, the Trial Balance, the General Ledger, the Income Statement, the Balance Sheet, the Statement of changes in financial position (Cash Flow Statement).

5.3.7.2 Definition



Table Name Field Name Descriptive Name Field Type Theory of operation
JE je_id Journal entry identification INT A serial number assigned by the system not visible to the user.
JE enterprise_code<8> Enterprise Code CHAR JE.enterprise_code = SYSPARAM.enterprise_code
JE voucher_no Journal entry voucher number INT A serial number assigned by the system, from a starting point specified by the user. Voucher sequence does not suffer any hole in it. Each enterprise has its own voucher sequence. The accountant transcripts the voucher number on the source document. Every single voucher has to be accounted for. The voucher serves as the audit trail.
JE trans_date Journal transaction date DATE Financial year and period derived from this date.
JE src_id Source Journal Identification INT JE.src_id = SRC.src_id
JE cal_year Journal Entry Financial year INT Derived from the Financial Calendar
JE cal_prd Journal Entry Financial period INT Derived from the Financial Calendar
JE reverse_je_id Reverse by this journal entry INT Cross reference to the reversing entry (used by Cash Flow Statement)
JE entry_by<20> Journal Entry enter by CHAR Login name of the user having created the entry.
JE entry_date Entry date DATE System date
JE entry_stage<16> Journal Entry Stage CHAR In progress, On approval, Posted to GL
JE gl_post_by<20> Journal Entry posted by CHAR Login Name of the user having posted the entry
JE gl_post_date Posting to GL date DATE System date
JE je_descript<100> Journal Entry Descriptive text CHAR Explanation of the entry and/or references to support documents



5.3.7.3 Theory of operation

JE2 table records information about amounts and quantities posted to GL accounts , projects and activities. Debit amounts and quantities are positive number. Credit amounts and quantities are negative numbers. The journal entry balances when the sum of the amounts is equal to zero and the General Ledger Parameter: ``Balance Quantity'' is set to No. If this parameter is set to Yes, both the sum of the amounts and the sum of the quantities are to be zero.

5.3.7.4 Definition



Table Name Field Name Descriptive Name Field Type Theory of operation
JE2 je2_id Journal Entry detail identification INT A serial number assigne by the systm, not visible o the user.
JE2 je_id Journal Entry header identification INT JE2.je_id = JE.je_id
JE2 gl_id General ledger account identification INT JE2.gl_id = GL.gl_id
JE2 activity_id Activity ledger Account Identification INT JE2.activity_id = ACTIVITY.activity_id
JE2 project_id Project Ledger Account Identification INT JE2.project_id = PROJECT.project_id
JE2 trans_amnt Journal Entry Transaction Amount currency Journal Entry Transaction Amount
JE2 trans_qty Journal Entry Transaction Quantity INT Journal Entry Transaction Quantity
JE2 trans_descript<100> Journal Entry Transaction Description CHAR Explanation and/or references to support documents
JE2 frgn_amnt Transaction Foreign Amount currency Transaction Foreign Amount
JE2 budget_amnt Budget Amount currency Budget Amount
JE2 budget_qty Budget Quantity INT Budget Quantity
JE2 cur_rate Currency Rate of exchange INT ------Needed if detail posting is selected-------
JE2 cur_id Currency Identification INT Currency Identification
JE2 cust_id Customer identification INT JE2.cust_id = CUSTOMER.cust_id
JE2 vendor_id Vendor Identification INT JE2.vendor_id = VENDOR.vendor_id
JE2 item_id Item identification INT Item identification
JE2 invoice_no<16> Invoice Number CHAR Reference to the purchase invoice or sales invoice



5.3.8 Activity Ledger Tables

5.3.8.1 Theory of operation

The ACTIVITY and ACTIVITY2 tables are used by Activity Based Costing Method. ACTIVITY table is used to validate the existence of the activity while entering an accounting transaction.

5.3.8.2 Definition



Table Name Field Name Descriptive Name Field Type Theory of operation
ACTIVITY activity_id Activity Identification INT Serial number assigned by the system
ACTIVITY enterprise_code<8> Enterprise Code CHAR ACTIVITY.enterprise_code = SYSPARAM.enterprise_code
ACTIVITY activity_acct<30> Activity Account CHAR A code assigned by the user
ACTIVITY activity_title<60> Activity Title CHAR  
ACTIVITY activity_status<16> Activity Activity Status CHAR Active, Inactive, Deactiv



5.3.8.3 Theory of operation

ACTIVITY2 table is used to record periodic summarized data. The main purpose of this table is to speed-up the display and/or printing of periodic data. This table is created/updated when posting a journal entry.

5.3.8.4 Definition



Table Name Field Name Descriptive Name Field Type Theory of operation
ACTIVITY2 act2_id Activity periodic summary ID INT A serial number assigned by the system
ACTIVITY2 activity_id Activity Identification INT ACTIVITY2.activity_id = ACTIVITY.activity_id
ACTIVITY2 cal_prd Financial Period number INT  
ACTIVITY2 cal_year Financial year INT  
ACTIVITY2 act_amnt Activity cumulative amount currency Amount posted for this current period/year
ACTIVITY2 act_qty Activity cumulative quantity INT Quantity posted for this current period/year
ACTIVITY2 budget_amnt Budget Amount currency Amount posted for this current period/year
ACTIVITY2 budget_qty Budget Quantity INT Quantity posted for this current period/year



5.3.9 Project Ledger tables

5.3.9.1 Theory of operation

The PROJECT and PROJECT2 tables are used by the Project Based Costing Method. PROJECT table is used to validate the existence of the project while entering an accounting transaction.

5.3.9.2 Definition



Table Name Field Name Descriptive Name Field Type Theory of operation
PROJECT project_id Project Identification INT A serial number assigned by the system
PROJECT enterprise_code<8> Enterprise Code CHAR PROJECT.enterprise_code = SYSPARAM.enterprise_code
PROJECT project_acct<30> Project Account CHAR A code assigned by the user
PROJECT project_title<60> Project Title CHAR  
PROJECT activity_status<16> Project Status CHAR Active, Inactive, Deactivated



5.3.9.3 Theory of operation

The PROJECT2 table is used to record periodic summarized data. The main purpose of this table is to speed-up the display and/or printing of periodic data. This table is created/updated when posting a journal entry.

5.3.9.4 Definition



Table Name Field Name Descriptive Name Field Type Theory of operation
PROJECT2 pro2_id Project periodic summary ID INT A serial number assigned by the system
PROJECT2 project_id Project identification INT PROJECT2.project_id = PROJECT.project_id
PROJECT2 cal_prd Financial period INT 0 to 52
PROJECT2 cal_year Financial Year INT  
PROJECT2 pro_amnt Project cumulative amount currency  
PROJECT2 pro_qty Project cumulative quantity INT  
PROJECT2 budget_amnt Budget Amount currency  
PROJECT2 budget_qty Budget Quantity INT  



5.3.10 Source Journal Table

5.3.10.1 Theory of operation

The SRC table is used to store information about the specialized journals. This table contains a limited number of entries. The 10 standard journals and some custom journals defined by the user. Source Journal table is common to all the enterprises defined in SYSPARAM.

  1. SJ Sales Journal
  2. PJ Purchase Journal
  3. CRJ Cash Receipt Journal
  4. CDJ Cash Disbursement Journal
  5. POJ Purchase Order Journal
  6. SOJ Sales Order Journal
  7. SRJ Stocks Receiving Journal
  8. SRJ Stocks Transfer Journal
  9. OBJ Opening Balances Journal
  10. BUJ Budget Journal

5.3.10.2 Definition



Table Name Field Name Descriptive Name Field Type Theory of operation
SRC src_id Source journal identification INT A serial number generated by the system
SRC src_code<3> Short Journal Name CHAR A code assigned by the pgm for the first 10 records.
SRC journal_name<30> Long Journal Name CHAR  
SRC src_std Standard Source Journal BOOL No = A special journal added by the user.



5.3.11 Financial Statements tables

Theory of operation

Three related tables record the design of the financial statements. The FS table stores general information about the standard and custom financial statements used by the organization.

Definition



Table Name Field Name Descriptive Name Field Type Theory of operation
FS fs_id Financial Statement Identification INT  
FS enterprise_code<8> Enterprise Code CHAR FS.enterprise_code = SYSPARAM.enterprise_code
FS fs_title<60> Financial Statement Title CHAR  
FS fs_std Financial Statement Standard BOOL No= A custom statement defined by the user
FS fs_ledger<16> Ledger to used CHAR General Ledger, Activity Ledger, Project Ledger
FS must_balance Must Balance BOOL This statement has to consider all the accounts of the GL



Theory of operation

The FS2 table stores information about the vertical format of a statement. Every line of the financial statement has to be entered in this table.

Definition



Table Name Field Name Descriptive Name Field Type Theory of operation
FS2 fs2_id Financial Statement Line Identification INT A serial number assigned by pgm
FS2 fs_id Financial Statement Identification INT FS.fs_id = FS2.fs_id
FS2 line_title<60> Line Title CHAR  
FS2 line_action<1> Line Action CHAR Tells the printing program what to do : 0 = Print current amount, 1 = Print a total of level 1, 2 = Print a total of level 2, 3 = Print a total of level 3, 4 = Print a total of level 4, 5 = Print a total of level 5, 9 = Skip a page, 8 = Print a header,



Theory of operation

The FS3 table lists the GL accounts the current line is made of. The user can enter a specific account or a group of accounts using meta-characters like ?????? and *

To be continued ...

Definition



Table Name Field Name Descriptive Name Field Type Theory of operation
FS3 fs3_id Financial Statement Account Identification INT A serial number
FS3 fs2_id Financial Statement Line Identification INT FS3.fs2_id = FS2.fs2_id
FS3 acct_id Account Identification INT It could be gl_id, activity_id or project_id depending on FS.fs_ledger specified .
FS3 acct_mask<30> Account Mask CHAR Account mask with meta-characters



6. Accounts Receivable Module

6.1 Theory of operation

AR Module tracks transactions with customers. In a manual set of books, transactions are entered in a journal. Individual transactions are then copied (posted) to the AR Subsidiary Ledger, the totals of the journal are then added to the General Ledger appropriate accounts. Invoices and debit/credit memos sent to customers are journalized in the Sales Journal. Money and checks received from customers are journalized in the Cash Receipt Journal.

GNU Enterprise AR Module uses a slightly different approach. The AR Subsidiary Ledger being merely a copy of the journal grouped by customer there is no need to actually copy the transactions. The transaction posting to the AR Subsidiary Ledger is only simulated. AR Subsidiary Ledger is extracted from the Sales Journal and the Cash Receipt Journal. On the other hand, the journal posting to the General Ledger actually creates records in the General Journal.

Once a sales transaction is posted to the AR Subsidiary Ledger it is impossible to delete, cancel or remove it. The transaction can only be reversed. A reversed transaction is a copy of another transaction with all amounts multiply by -1. A sales transaction goes through 4 stages : In progress, In instance of approval, Posted to AR Subsidiary Ledger, Posted to General Ledger.

6.1.0.1 Posting options

GNU Enterprise allows the user to select 3 different General Ledger posting strategies : Real Time, Batch Summerized, Batch Detailed

6.1.0.2 Real Time Option :

When a sales or cash receipt transaction is posted to AR Subsidiary Ledger the program adds a journal entry in General Journal. If GLPARAM.sj_posting and GLPARAM.cr_posting are set to ``Real Time'' the GL Accounts Receivable control account permanently balances with the AR Subsidiary Ledger. This ``Real Time'' option creates more entries in the General Journal. Real Time Posting is recommended for small and medium size businesses.

6.1.0.3 Batch Summerized :

Periodically, the user posts to GL a batch of sales transactions. If GLPARAM.sj_posting is set to ``Batch'' the program computes the total for each account and adds one General Journal entry corresponding to the Sales Journal batch posted. Same process for the Cash Receipt Journal if GLPARAM.cr_posting is set to ``Batch''.

6.1.0.4 Batch Detailed :

Periodically, the user posts to GL a batch of sales transactions. The user can force detailed Sales Journal posting for specific GL accounts if GL.sj_detail_post is set to Yes. Same process for the Cash Receipt Journal.

6.2 AR Module Functions

6.2.1 Customer Card Maintenance

Add, Update, Copy Customer Card

6.2.2 Sales Invoicing

Theory of operation : Sales Invoicing is used to ship and bill merchandises and/or services when Sales Order Module has not been activated or no Sales Order has been issued for a particular shipment. Sales Invoicing program creates the Sales Journal. From the Sales Journal are extracted the Packing Slip and the Invoice.
Functions : Add, Update, Reverse, Copy, Post to Subsidiary, Post to GL (Invoices, Debit Memos, Credit Memos)

6.2.3 Cash Receiving

Theory of operation : Cash receiving program is used to apply payments against outstanding customer invoices. Cash receiving program creates the Cash Receipt Journal. From the Cash Receipt Journal is extracted the bank deposit slip.

Functions : Add, Update, Reverse, Copy, Post to Subsidiary, Post to GL. (Customer payments, Customer deposits)

6.2.4 Batch Posting to GL

6.2.5 Reporting

6.3 Account Receivables Module Tables

6.3.1 AR Parameters Table

ARPARAM table records general credit management information.



Table Name Field Name Descriptive Name Field Type Theory of operation
ARPARAM enterprise_code<8> Enterprise Code CHAR ARPARAM.enterprise_code = SYSPARAM.enterprise_code
ARPARAM fin_charge_type<16> Finance Charges Type CHAR Real = Create a debit memo in customer account Fake = Only show finance charges on statement None = No finance charge created nor shown on statement Default to CUSTOMER.fin_charge_type
ARPARAM statement_type<16> Statement Type CHAR Type of statement to be sent to customers : ``Open Item'' or ``Balance Forward'' or ``No statement'' Default to CUSTOMER.statement_type
ARPARAM aging_range_1 Aging Range 1 INT To print the Accounts receivable aged trial balance and customer statements Number of days in column 1 (Typically 30)
ARPARAM aging_range_2 Aging Range 2 INT Number of days in column 2 (Typically 60)
ARPARAM aging_range_3 Aging Range 3 INT Number of days in column 3 (Typically 90)
ARPARAM aging_range_4 Aging Range 4 INT Number of days in column 4 (Typically 120)



6.3.2 Customer Table

6.3.2.1 Theory of operation

CUSTOMER table records general credit management information about customers.



Table Name Field Name Descriptive Name Field Type Theory of operation
CUSTOMER cust_id Customer identification INT Serial number assigned by pgm
CUSTOMER enterprise_code<8> Enterprise Code CHAR CUSTOMER.enterprise_code = SYSPARAM.enterprise_code
CUSTOMER cust_acct<8> Customer account CHAR Customer code assigned by the user
CUSTOMER org_id Organization Id INT Name and address CUSTOMER.org_id = ORGANIZATION.org_id
CUSTOMER comm_id Communication Id CHAR Phone, Fax, e-mail, etc. CUSTOMER.comm_id = COMM.comm_id
CUSTOMER activity_status<16> Activity Status CHAR This customer account is Active, Inactive, De-activated
CUSTOMER purchase_grp_id Purchase group ID INT This customer is member of a purchasing group (CUSTOMER.purchase_grp_id = CUSTOMER.cust_id)
CUSTOMER category_id Customer category ID INT Customer classification as defined by the user
CUSTOMER territory_id Customer territory INT Customer territory as defined by the user
CUSTOMER industry_id Customer Industry ID INT Customer territory as defined by the user
CUSTOMER language_id Language ID INT Language spoken at customer site CUSTOMER.language_id = LANGUAGE.language_id
CUSTOMER team_id Sales team ID INT Sales team responsible for this customer
CUSTOMER term_id Term of payment INT Default term of payment granted to this customer
CUSTOMER whs_id Warehouse ID INT Default warehouse to serve this customer
CUSTOMER ship_to_id Ship to ID INT Default Ship merchandises to this address (CUSTOMER.ship_to_id=CUSTOMER.cust_id)
CUSTOMER full_order_ship Full Order Sipment BOOL This customer accepts only one shipment per order, (all items, all quantities shipped at once)
CUSTOMER full_qty_ship Full Quantity Shipment BOOL If an item is shipped, the total quantity must be shipped.
CUSTOMER mail_to_id Mail to Id INT Default mail invoice to this address(CUSTOMER.mail_to_id = CUSTOMER.cust_id)
CUSTOMER cur_id Currency Identification INT Default billing currency
CUSTOMER ar_ctrl_acct_id AR Control Account ID INT Receivable GL control account . Defaulted from CUR.ar_ctrl_acct_id
CUSTOMER ar_deposit_id AR Deposit ID INT Customer deposits GL control accounts. Defaulted from CUR.ar_deposit_id
CUSTOMER tax_id Sales Tax Id INT Sales tax applicable for shipments to this address CUSTOMER.tax_id = TAX.tax_id
CUSTOMER cur_id Currency Identification INT Default billing curency CUSTOMER.cur_id = CUR.cur_id
CUSTOMER statement_type<16> Statement Type CHAR AR statement print for this customer, defaulted from ARPARAM.statement_type ``Open Item'' or ``Balance Forward'' or ``No statement''
CUSTOMER fin_charge_type<16> Finance Charges Type CHAR Apply Finance Charges for late payments, defaulted from ARPARAM ``Real'' or ``Fake'' or ``None''
CUSTOMER carrier_id Default Carrier Id INT Preferred carrier for shipping to this customer CUSTOMER.carrier_id=VENDOR.vendor_id
CUSTOMER ship_id Shipping condition Id INT Preferred Shipping condition for this customer CUSTOMER.ship_id = SHIP.ship_id
CUSTOMER credit_limit Credit Limit currency Amount of authorized credit granted to this customer
CUSTOMER price_list_id Price group Id INT  
CUSTOMER create_date Record Create date DATETIME System date
CUSTOMER cust_note<100> Customer Notes CHAR Customer note pad



6.3.3 Sales Commission tables

6.3.3.1 Theory of operation

Salesman retribution varies from company to company. Sales commissions are calculated, earned and paid according to different scheme. Comission rates can vary with the customer, the item sold, the moment of the sales, the salesman, the sales team, etc. For the time being, GNU Enterprise allows the definition of one of these schemes : the commission rate is attached to the Sales Team. Additionnal tables would be needed to define the other commission schemes.
Three tables are used to compute and pay commissions to salespersons : EMPLOYEE table records information about employees (salespersons) the same table used in the Payroll Module, TEAM and TEAM2 tables record information on how and when the commission is to be paid. TEAM2 table allows for split commissions between members of a sales team. If the organization does not have a need for split commission, it defines sales team with only one member.
Employee table to be defined in Payroll ions are calculated, earned and paid to salesmen.



Table Name Field Name Descriptive Name Field Type Theory of operation
TEAM team_id Team identification INT Serial assigned by the program
TEAM enterprise_code<8> Enterprise Code CHAR TEAM.enterprise_code = SYSPARAM.enterprise_code
TEAM team_code<8> Team code CHAR Code assigned by the user
TEAM team_name<30> Team Name CHAR  
TEAM team_rate Team Rate INT Rate of commission payable to this team
TEAM com_base<16> Commission base CHAR The commission is calculated on : Sales or Gross Margin
TEAM tax_in_base Taxes included in base amount BOOL Taxes are added to commissionable amount
TEAM freight_in_base Freight included in base amount BOOL Freight charges are added to commissionable amount
TEAM inv_in_base Sales Invoices in base amount BOOL Sales transactions to take into account to arrived at the commissionable base
TEAM rma_in_base RMA in base amount BOOL Returned merchandise credits added to base amount
TEAM debit_in_base Debit memo in base amount BOOL Debit Memos added to base amount
TEAM credit_in_base Credit memo in base BOOL Credit Memos added to base amount
TEAM when_earned<16> When Earned CHAR When is the commission considered earned to the salesman : At billing time, At cash receiving time
TEAM term_id Term Identification INT When is the commission payable to the salesman. Terms of commission payment are defined in TERM table. TEAM.term_id = TERM.term_id



TEAM2 table defines how the commission is splitted between members of the team.



Table Name Field Name Descriptive Name Field Type Theory of operation
TEAM2 team2_id Team2 identification INT Serial assigned by the program
TEAM2 team_id Team Identification INT TEAM.team_id = TEAM2.team_id
TEAM2 employee_id Employee identification INT TEAM2.employee_id = EMPLOYEE.employee_id
TEAM2 member_rate Member Rate INT Rate of commission payable to this member of the team, 100% if no split commission



6.3.4 Sales Journal Tables

6.3.4.1 Theory of operation

Sales Journal is one the official books of account. It records documentary evidence required by law.

Sales Journal transactions (Invoices, debit memo, credit memo) are kept in 2 linked tables : the SJ header table and the SJ2 line table. From these

tables are printed the invoices, the Sales Journal, monthly statement sent to customers and sales analysis reports. Sales Journal tables linked with Cash Receipts tables constitute the Accounts Receivable Subsidiary Ledger from which is extracted the Account Receivable Subsidiary Trial Balance.

6.3.4.2 Definition

Sales Journal Table



Table Name Field Name Descriptive Name Field Type Theory of operation
SJ sj_id Sales Journal Entry identification INT Assigned by pgm
SJ enterprise_code<8> Enterprise Code CHAR SJ.enterprise_code = SYSPARAM.enterprise_code
SJ entry_date Entry date DATE Date the transaction was created in the table = System date
SJ trans_date Transaction Date DATE The posting to the appropriate financial period/year is based on this date
SJ cust_id Customer identification INT Bill to this account
SJ invoice_no<16> Invoice number CHAR  
SJ sj_type<16> Sales journal type CHAR sales_type = Sales Invoice rma_type = Returned Merchandises debit_memo_type = Debit memo credit_memo_type = Credit Memo deposit_type = Customer Deposit Type
SJ so_id Sales Order identification INT Reference to the Sales Order
SJ cur_id Currency Identification INT  
SJ ar_ctrl_acct_id Accounts Receivable Control GL Id INT Asset control account for receivables Defaulted from CUSTOMER.ar_ctrl_acct_id
SJ ar_deposit_id AR Deposit Acount ID INT Liability control account for customer deposits Defaulted from CUSTOMER.ar_deposit_id or SO.ar_deposit_id if there is a Sales order
SJ trans_amnt Transaction amount currency Amount posted to the GL control account (total of all lines)
SJ je_id Journal Entry Identification INT Reference to the journal entry (updated by the Post to GL program)
SJ cur_rate Currency rate of exchange INT  
SJ frgn_amnt Transaction foreign amount currency  
SJ entry_stage<16> Sales Journal Entry stage CHAR In progress, On approval, Posted to Subsidiary, Posted to GL
SJ reverse_sj_id Reversing Sales Journal Entry INT Cross reference to reversing and reversed entries
SJ entry_by<20> Sales Journal entered by CHAR Login name of the user creating the transaction
SJ sub_post_by<20> Subsidiary posting by CHAR Login name of the user having posted to the subsidiary receivables ledger
SJ sub_post_date Subsidiary posting date DATE system date
SJ gl_post_by<20> General ledger posting by CHAR Login name of the user having posted the transaction to the GL
SJ gl_post_date General Ledger posting date DATE system date
SJ link_doc_id Linked document identification INT Reference to another sales transaction related to this one. For example we could issue a credit memo applicable to a specific invoice.
SJ paid_amnt Paid Amount currency This field is updated by Post Cash Receipt Pgm
SJ paid_frgn_amnt Paid Foreign Amount currency This field is updated by Post Cash Receipt Pgm
SJ team_id Sales team identification INT Sales team Identification
SJ term_id Sales Terms Identification INT SJ.term_id = CUSTOMER.term_id = TERM.term_id Terms of payment for this transaction
SJ ship_to_id Ship to ID INT Shipping address (SJ.ship_to_id = CUSTOMER.cust_id)
SJ mail_to_id Mail to ID INT Mail the invoice to this address (SJ.mail_to_id = CUSTOMER.cust_id)
SJ sj_note<100> Sales Journal Notes CHAR Invoice Note Pad



6.3.4.3 Definition

Sales Journal Line Table



Table Name Field Name Descriptive Name Field Type Theory of operation
SJ2 sj2_id Sales journal line identification INT Serial number assigned by the program
SJ2 sj_id Sales Journal Identification INT SJ2.sj_id = SJ.sj_id
SJ2 line_type<16> Line Type CHAR item_type = Item line tax_type = Tax line freight_type = Freight Line
SJ2 item_id Item ID INT Defaulted from SO.SO2.item_id, if there is a Sales Order SJ2.item_id = ITEM_WHS.item_id = ITEM.item_id
SJ2 gl_id General ledger Account ID INT Defaulted from ITEM_WHS.sales_gl_id if (SJ2.line_type = ``item_type'') and (SJ.sj_type = ``sales_type''). Defaulted from ITEM_WHS.return_gl_id if (SJ2.line_type = ``item_type'') and (SJ.sj_type = ``rma_type''). Defaulted from TAX.TAX2.tax_charge_gl_id if (SJ2.line_type = ``tax_type'') .
SJ2 whs_id Warehouse identification INT  
SJ2 ssu_uom_id Stock SellingUnit of measurement ID INT  
SJ2 comm_rate Commission rate INT Rate of commission payable on this line
SJ2 serial_no<20> Serial number CHAR Serial number of the stock sold
SJ2 lot_no<20> Lot number CHAR Lot number of the stock sold
SJ2 unit_price Unit price currency Unit Price of the item sold in SSU
SJ2 unit_cost Unit Cost currency Unit Cost of the item sold in SSU
SJ2 frgn_unit_price Foreign Unit price currency Foreign Unit price in SSU
SJ2 activity_id Activity identification INT  
SJ2 project_id Project identification INT  
SJ2 invoice_line Invoice line sequence INT  
SJ2 trans_amnt Sales line transaction amount currency unit_price X trans_qty
SJ2 trans_qty Sales line transaction quantity INT Number of item sold in Stock Selling Unit of Measurement
SJ2 frgn_amnt Foreign amount currency frgn_unit_price X trans_qty
SJ2 trans_desc<100> Sales transaction description CHAR  



6.3.5 Cash Receipt Journal Tables

Theory of operation

Cash Receipt Journal is one the official books of account. It records documentary evidence required by law. Cash Receipt transactions (Check and/or cash received from customer are kept in 2 linked tables : the CR header table and the CR2 line table. From these tables are printed the Cash Receipt Journal, the deposit slips, cash flow analysis reports. Cash Receipts Journal tables linked with Sales Journal tables constitute the Accounts Receivable Subsidiary Ledger from which is extracted the Accounts Receivable Subsidiary Trial Balance.

6.3.5.1 Definition

Cash Receipt Table



Table Name Field Name Descriptive Name Field Type Theory of operation
CR cr_id Cash Receipt Journal Entry ID INT Assigned by pgm
CR enterprise_code<8> Enterprise Code CHAR CR.enterprise_code = SYSPARAM.enterprise_code
CR entry_date Entry date DATE Date the transaction was created in the table = System date
CR trans_date Transaction Date DATE The posting to the appropriate financial period/year is based on this date
CR cust_id Customer identification INT Payment received from this customer
CR check_no<16> Check number CHAR Customer Check Number
CR cr_type<16> Cash Receipt Journal Type CHAR payment_type = Check received from customer adjust_type = Adjustment to the customer account reimburse_type = Reimbursement to customer of a credit balance.
CR bank_deposit_no Bank Deposit number INT Reference to the bank deposit slip
CR cur_id Currency Identification INT  
CR cur_rate Currency rate of exchange INT Defaulted from CUR.CUR2.sell_rate
CR ar_ctrl_acct_id Accounts Receivable Control account ID INT Accounts Receivable GL asset control account to be credited Default to CUSTOMER.ar_ctrl_acct_id
CR bank_suspens_id Bank Suspense Account ID INT Asset suspense account to track check received until the deposit slip is actually filled and sent to the bank Default to CUR.bank_suspens_id
CR bank_acct_id Bank Account ID INT Asset GL account to be debited when the money is sent to the bank
CR trans_amnt Transaction amount currency Check amount posted to the GL control account (total of all lines)
CR frgn_amnt Transaction foreign amount currency Foreign currency check amount
CR je_id Journal Entry Identification INT Reference to the journal entry (updated by the Post to GL program)
CR entry_stage<16> Cash Receipt Journal Entry stage CHAR In progress, On approval, Posted to Subsidiary, Posted to GL
CR reverse_cr_id Reversing Cash Receipt Journal Entry INT Cross reference to reversing and reversed entries
CR entry_by<20> Cash Receipt Journal entered by CHAR Login name of the user creating the transaction
CR sub_post_by<20> Subsidiary posting by CHAR Login name of the user having posted to the subsidiary receivables ledger
CR sub_post_date Subsidiary posting date DATE system date
CR gl_post_by<20> General ledger posting by CHAR Login name of the user having posted the transaction to the GL
CR gl_post_date General Ledger posting date DATE system date
CR cr_note<100> Cash Receipt Note CHAR Note pad



6.3.5.2 Definition

Cash Receipt Journal Line Table records information about the invoices paid.



Table Name Field Name Descriptive Name Field Type Theory of operation
CR2 cr2_id Cash Receipt Journal line ID INT Assigned by the program
CR2 cr_id Cash Receipt Journal ID INT CR2.cr_id = CR.cr_id
CR2 sj_id Sales Journal Id INT Reference to the invoice paid
CR2 trans_amnt Transaction amount currency Amount applied to this invoice
CR2 frgn_amnt Foreign amount currency Foreign amount applied to this invoice
CR2 cr_type<16> Cash receipt type CHAR Defaulted from CR.cr_type`` Payment'' or ``Adjustment'' or ``Reimbursement''
CR2 gl_id General ledger account ID INT Default to CUR.ar_ctrl_acct_id if (cr_type = ``payment_type'') Default to CUR.ar_adjustment_id if (cr_type = ``adjust_type'') Default to CUR.ar_reimb_acct_id if (cr_type = ``reimburse_type''



7. Accounts Payable Module

7.1 Functions

7.1.1 Purchase Invoices

Add, Update, Copy, Reverse, Post to Subsidiary, Post to GL

7.1.2 Cash Disbursing

Add, Update, Copy, Reverse, Post to Subsidiary, Post to GL

7.1.3 Reporting

Cash Receipt Journal

7.2 Accounts Payable Module Tables

7.2.1 Accounts Payable Parameters Table

7.2.1.1 Introduction

``APPARAM'' table stores general information, options and user preferences related to Accounts Payable Module.

7.2.1.2 Definition



Table Name Field Name Descriptive Name Field Type Theory of operation
APPARAM enterprise_code<8> Enterprise Code CHAR APPARAM.enterprise_code = SYSPARAM.enterprise_code



7.3 Vendor Table

VENDOR table records information about vendors/suppliers/carriers. Vendor table is linked to CONTACT table.



Table Name Field Name Descriptive Name Field Type Theory of operation
VENDOR vendor_id Vendor identification INT Serial number assigned by pgm
VENDOR enterprise_code<8> Enterprise Code CHAR VENDOR.enterprise_code = SYSPARAM.enterprise_code
VENDOR vendor_acct<8> Vendor account CHAR Vendor code assigned by the user
VENDOR org_id Organization Id INT Name and address VENDOR.org_id = ORGANIZATION.org_id
VENDOR comm_id Communication Id INT Phone, Fax, e-mail, etc. VENDOR.comm_id = COMM.comm_id
VENDOR activity_status<16> Activity Status CHAR This vendor account is Active, Inactive, De-activated
VENDOR category_id Vendor category ID INT Vendor classification as defined by the user
VENDOR territory_id Vendor territory INT Vendor territory as defined by the user
VENDOR industry_id Vendor Industry ID INT Vendor territory as defined by the user
VENDOR language_id Language ID INT Language spoken at vendor site VENDOR.language_id = LANGUAGE.language_id
VENDOR term_id Term of payment INT Term of payment granted by this vendor
VENDOR whs_id Warehouse ID INT Default warehouse for merchandises received from this vendor
VENDOR cur_id Currency Identification INT Default purchasing currency
VENDOR ap_ctrl_acct_id AP Control Account ID INT Payable Control GL Account defaulted from CUR.ap_ctrl_acct_id
VENDOR ap_deposit_id AP Deposit Account Id INT Asset GL account to track deposit on PO, defaulted from CUR.ap_deposit_id
VENDOR tax_id Sales Tax Id INT Taxes applicable for shipments from this vendor
VENDOR carrier_id Default Carrier Id INT Preferred carrier with this vendor, VENDOR.carrier_id = VENDOR.vendor_id
VENDOR ship_id Shipping condition Id INT Preferred Shipping condition with this vendor
VENDOR vendor_note<100> Vendor Note CHAR Vendor note pad
VENDOR create_date Record Creation Date DATETIME  



7.4 Purchase Journal Tables

7.4.0.1 Theory of operation

Purchase Journal is one the official books of account. It records documentary evidence required by law. Purchase Journal transactions (Purchase Invoices, debit memo, credit memo) are kept in 2 linked tables : the PJ header table and the PJ2 line table. From these tables are printed Purchase Journal, Purchase Analysis Reports. Purchase Journal tables linked with Cash Disbursement tables constitute the Accounts Payable Subsidiary Ledger from which is extracted the Accounts Payable Subsidiary Trial Balance.

7.4.0.2 Definition

Purchase Journal Header Table



Table Name Field Name Descriptive Name Field Type Theory of operation
PJ pj_id Purchase Journal Entry identification INT Assigned by pgm
PJ enterprise_code<8> Enterprise Code CHAR PJ.enterprise_code = SYSPARAM.enterprise_code
PJ entry_date Entry date DATE Date the transaction was created in the table = System date
PJ trans_date Transaction Date DATE The posting to the appropriate financial period/year is based on this date
PJ vendor_id Vendor identification INT Bill to this account
PJ invoice_no<16> Vendor Invoice number CHAR  
PJ pj_type<16> Purchase journal type CHAR purchase_type = Purchase Invoice rma_type = Returned Merchandises debit_memo_type = Debit memo credit_memo_type = Credit Memo deposit_type = Vendor Deposit Type
PJ po_id Purchase Order identification INT Reference to the Purchase Order
PJ cur_id Currency Identification INT  
PJ ap_ctrl_acct_id Accounts Payable Control GL Id INT Liabilities control account for payables Defaulted from VENDOR.ap_ctrl_acct_id
PJ ap_deposit_id AP Deposit Acount ID INT Asset control account for advanced payments to vendors Defaulted from VENDOR.ap_deposit_id or PO.ap_deposit_id if there is a Purchase order
PJ trans_amnt Transaction amount currency Amount posted to the GL control account (total of all lines)
PJ je_id Journal Entry Identification INT Reference to the journal entry (updated by the Post to GL program)
PJ cur_rate Currency rate of exchange INT Currency rate at the time the invoice is entered.
PJ frgn_amnt Transaction foreign amount currency  
PJ entry_stage<16> Purchase Journal Entry stage CHAR In progress, On approval, Posted to Subsidiary, Posted to GL
PJ reverse_pj_id Reversing Purchase Journal Entry INT Cross reference to reversing and reversed entries
PJ entry_by<20> Purchase Journal entered by CHAR Login name of the user creating the transaction
PJ sub_post_by<20> Subsidiary posting by CHAR Login name of the user having posted to the subsidiary receivables ledger
PJ sub_post_date Subsidiary posting date DATE system date
PJ gl_post_by<20> General ledger posting by CHAR Login name of the user having posted the transaction to the GL
PJ gl_post_date General Ledger posting date DATE system date
PJ link_doc_id Linked document identification INT Reference to another purchase transaction related to this one. For example we could issue a credit memo applicable to a specific invoice.
PJ paid_amnt Paid Amount currency This field is updated by Post Cash Disbursement Pgm
PJ paid_frgn_amnt Paid Foreign Amount currency This field is updated by Post Cash Disbursement Pgm
PJ employee_id Buyer identification INT  
PJ term_id Purchase Terms Identification INT PJ.term_id = PO.term_id = VENDOR.term_id = TERM.term_id Terms of payment for this transaction
PJ pj_note<100> Purchase Journal Notes CHAR Invoice Note Pad



7.4.0.3 Definition

Purchase Journal Line Table



Table Name Field Name Descriptive Name Field Type Theory of operation
PJ2 pj2_id Purchase journal line identification INT Serial number assigned by the program
PJ2 pj_id Purchase Journal Identification INT PJ2.pj_id = PJ.pj_id
PJ2 pj_line_type<16> Purchase Journal Line Type CHAR item_type = Item line tax_type = Tax line freight_type = Freight Line
PJ2 item_id Item ID INT Defaulted from PO.PO2.item_id, if there is a Purchase Order PJ2.item_id = ITEM_WHS.item_id = ITEM.item_id
PJ2 gl_id General ledger Account ID INT Defaulted from ITEM_WHS.stock_gl_id if (PJ2.line_type = ``item_type'') and (PJ.pj_type = ``purchase_type''). Defaulted from ITEM_WHS.stock_gl_id if (PJ2.line_type = ``item_type'') and (PJ.pj_type = ``rma_type''). Defaulted from TAX.TAX2.tax_charge_gl_id if (PJ2.line_type = ``tax_type'') .
PJ2 whs_id Warehouse identification INT  
PJ2 spu_uom_id Stock PurchasingUnit of measurement ID INT  
PJ2 serial_no<20> Serial number CHAR Serial number of the stock purchased
PJ2 lot_no<20> Lot number CHAR Lot number of the stock purchased
PJ2 unit_price Unit price currency Unit Price of the item purchased in SPU
PJ2 unit_cost Unit Cost currency Unit Cost of the item purchased in SPU
PJ2 frgn_unit_price Foreign Unit price currency Foreign Unit price in SPU
PJ2 activity_id Activity identification INT  
PJ2 project_id Project identification INT  
PJ2 invoice_line Invoice line sequence INT  
PJ2 trans_amnt Purchase line transaction amount currency unit_price X trans_qty
PJ2 trans_qty Purchase line transaction quantity INT Number of item puchased in Stock Purchasng Unit of Measurement
PJ2 frgn_amnt Foreign amount currency frgn_unit_price X trans_qty
PJ2 trans_desc<100> Purchase transaction description CHAR  



7.5 Cash Disbursement Journal Tables

7.5.0.1 Theory of operation

Cash Disbursement Journal is one the official books of account. It records documentary evidence required by law. Cash Disbursement transactions (Check and/or cash sent to vendors are kept in 2 linked tables : the CD header table and the CD2 line table. From these tables are printed the Cash Disbursement Journal and check register. Cash Disbursement Journal tables linked with Purchase Journal tables constitute the Accounts Payable Subsidiary Ledger from which is extracted the Accounts Payable Subsidiary Trial Balance.

7.5.0.2 Definition

Cash Receipt Table



Table Name Field Name Descriptive Name Field Type Theory of operation
CD cd_id Cash Receipt Journal Entry ID INT Assigned by pgm
CD enterprise_code<8> Enterprise Code CHAR CD.enterprise_code = SYSPARAM.enterprise_code
CD entry_date Entry date DATE Date the transaction was created in the table = System date
CD trans_date Transaction Date DATE The posting to the appropriate financial period/year is based on this date
CD vendor_id Vendor identification INT Payment issued to this vendor
CD check_no<16> Check number CHAR Vendor Check Number
CD cd_type<16> Cash Disbursement Journal Type CHAR payment_type = Check sent to vendor adjust_type = Adjustment to the vendor account reimburse_type = Reimbursement from a vendor of a credit balance.
CD cur_id Currency Identification INT  
CD cur_rate Currency rate of exchange INT Defaulted from CUR.CUR2.purchase_rate
CD ap_ctrl_acct_id Accounts Payable Control account ID INT Accounts Payable GL liability control account to be credited Default to VENDOR.ap_ctrl_acct_id
CD bank_acct_id Bank Account ID INT Asset GL account to be credited for the check amount
CD trans_amnt Transaction amount currency Check amount posted to the GL control account (total of all lines)
CD frgn_amnt Transaction foreign amount currency Foreign currency check amount
CD je_id Journal Entry Identification INT Reference to the journal entry (updated by the Post to GL program)
CD entry_stage<16> Cash Receipt Journal Entry stage CHAR In progress, On approval, Posted to Subsidiary, Posted to GL
CD reverse_cd_id Reversing Cash Disburseme Journal Entry INT Cross reference to reversing and reversed entries
CD entry_by<20> Cash Disbursement Journal entered by CHAR Login name of the user creating the transaction
CD sub_post_by<20> Subsidiary posting by CHAR Login name of the user having posted to the subsidiary receivables ledger
CD sub_post_date Subsidiary posting date DATE system date
CD gl_post_by<20> General ledger posting by CHAR Login name of the user having posted the transaction to the GL
CD gl_post_date General Ledger posting date DATE system date
CD cd_note<100> Cash Disbursement Note CHAR Note pad



7.5.0.3 Definition

Cash Receipt Journal Line Table records information about the invoices paid.



Table Name Field Name Descriptive Name Field Type Theory of operation
CD2 cd2_id Cash Disbursement Journal line ID INT Assigned by the program
CD2 cd_id Cash Disbursement Journal ID INT CD2.cd_id = CD.cd_id
CD2 pj_id Purchase Journal Id INT Reference to the invoice paid
CD2 trans_amnt Transaction amount currency Amount applied to this invoice
CD2 frgn_amnt Foreign amount currency Foreign amount applied to this invoice
CD2 cd_type<16> Cash receipt type CHAR Defaulted from CD.cd_type`` Payment'' or ``Adjustment'' or ``Reimbursement''
CD2 gl_id General ledger account ID INT Default to CUR.ar_ctrl_acct_id if (cd_type = ``payment_type'') Default to CUR.ar_adjustment_id if (cd_type = ``adjust_type'') Default to CUR.ar_reimb_acct_id if (cd_type = ``reimburse_type''



8. Sales Order Module

8.1 Theory of Operation

Sales Order Module allows the user to prepare, print and send sales quotes, to convert sales quotes into sales orders, to ship merchandises with appropriate documents. The Stock Shipping program creates the Sales Journal. From the Sales Journal are extracted the Packing Slip and the Invoice. To be continued ..

8.2 Functions

8.2.1 Sales Quotes

Add, Update, Copy

8.2.2 Sales Orders

Add, Update, Copy, Reverse, Post to Subsidiary, Post to GL

8.2.3 Stock Shipping

Add, Update, Copy, Reverse, Post to Subsidiary, Post to GL

8.2.4 Reporting

8.3 Sales Order Module Tables

8.3.1 Parameters Table

``SOPARAM'' table is used to store general information, options and user preferences related to Sales Order Module.

8.3.1.1 Definition



Table Name Field Name Descriptive Name Field Type Theory of operation
SOPARAM enterprise_code<8> Enterprise Code CHAR SOPARAM.enterprise_code = SYSPARAM.enterprise_code
SOPARAM next_so_no Next Sales Order number INT Next Sales Order Number
SOPARAM next_ss_no Next Stock Shipping Number INT Next voucher number (Stock Shipping Journal)



8.3.2 Sales Order Tables

Sales Order tables SO, SO2 and SO3 record information on sales quotes sent to customers and sales orders received from customers.

8.3.2.1 Definition



Table Name Field Name Descriptive Name Field Type Theory of operation
SO cust_id Customer identification INT SO.cust_id = CUST.cust_id
SO enterprise_code<8> Enterprise Code CHAR SO.enterprise_code = SYSPARAM.enterprise_code
SO so_id Sales Order Journal Entry ID INT Assigned by the pgm
SO so_no<16> Sales Order number CHAR Number assigned by the user or the pgm
SO enterprise_code<8> Enterprise Code INT Organization receiving the sales order
SO entry_date Record creation date DATE System date
SO trans_date Transaction date DATE Document date and accounting date
SO so_type<16> Sales Order Type CHAR Proposal to customer, Sales Order, Sales Order with customer deposit, Return Merchandise Authorization
SO so_status<16> Sales Order Status CHAR Outstanding, Lost, Cancelled, Completed
SO full_order_ship Full Order Shipment BOOL Ship all items and all stated quantities (only one shipment required), Defaulted from CUSTOMER.full_order_ship
SO full_qty_ship Full quantity Shipment BOOL Ship stated quantities for every item shipped, Defaulted from CUSTOMER.full_qty_ship
SO ar_deposit_id AR Deposit Id INT Liability GL control account to track customer deposits Defaulted from CUSTOMER.ar_deposit_id
SO ar_dep_offset_id AR Deposit Offset Account ID INT Defaulted from CUR.ar_dep_offset_id
SO trans_amnt Transaction Amount currency Total of all SO lines
SO frgn_amnt Foreign Amount currency Total of all SO lines
SO deposit_amnt Deposit amount currency Customer deposit amount
SO deposit_check_no<16> Deposit Check number CHAR Customer check number
SO je_id Journal Entry Identification INT Reference to the journal entry created by Post to GL pgm. (If there is a customer deposit on the sales order)
SO entry_stage<16> SO Entry Stage CHAR In progress, On approval, Posted to Subsidiary, Posted to GL
SO reverse_so_id Reversing Sales Journal Entry INT Cross reference to reversing and reversed entries
SO entry_by<20> Purchase Order created by CHAR Login name of the user creating the transaction
SO sub_post_by<20> Subsidiary posting by CHAR Login name of the user having posted to the subsidiary payable ledger
SO sub_post_date Subsidiary posting date DATE System Date
SO gl_post_by<20> General Ledger Posting by CHAR Login name of the user having posted the transaction to the GL
SO gl_post_date General Ledger posting date DATE System date
SO ack_require<16> Acknowledgement required CHAR Verbal, E-Mail, Mail
SO ack_to_person_id Acknowledge to this person INT Acknowledgement sent to this person SO.ack_to_person_id = PERSON.person_id
SO ack_to_comm_id Acknowledge to INT Acknowledgement sent to this phone, fax, e-mail etc.. SO.ack_to_comm_id = COMM.comm_id
SO ship_to_id Ship To ID INT SO.ship_to_id = CUST.ship_to_id Shipping address
SO mail_to_id Mail Invoice to INT SO.mail_to_id = CUST.cust_id Another customer address in CUST table
SO whs_id Warehouse id INT Warehouse where merchandise is to be sent from Defaulted from CUSTOMER.whs_id
SO employee_id Employee ID INT Our employee taking the order SO.employee_id = EMPLOYEE.employee_id
SO contact_id Contact Identification INT Customer contact the SO has been negociated with SO.contact_id = CONTACT.cust_id
SO term_id Term of payment INT Term of payment granted to this customer Defaulted from CUSTOMER.term_id
SO cur_id Currency Identification INT Selling curency. Defaulted from CUSTOMER.cur_id
SO cur_rate Currency Rate currency Defaulted from CUR.CUR2.sell_rate
SO carrier_id Carrier ID INT Defaulted from CUSTOMER.carrier_id
SO ship_id Shipping condition Id INT Shipping condition for this SO, Defaulted from CUSTOMER.ship_id
SO so_note<100> Sales Order Note CHAR Sales order NotePad



SO2 table records information on items ordered



Table Name Field Name Descriptive Name Field Type Theory of operation
SO2 so_id Sales order ID INT SO2.so_id = SO.so_id
SO2 so2_id Sales Order detail Id INT Assigned by the pgm
SO2 line_type<16> Line Type CHAR ``Item_type'' or ``tax_type'' or ``freight_type''
SO2 item_id Item id INT Our item identification SO2.item_id = ITEM.item_id = ITEM_WHS.item_id
SO2 item_descript<100> Item description CHAR Our description
SO2 part_no<30> Part number CHAR Customer part number
SO2 part_name<100> Part name CHAR Customer part description
SO2 ssu_uom_id Stock Selling Unit of measure INT SO2.ssu_uom_id = UOM.uom_id
SO2 ssu_price Unit price currency Item Price per Stock Selling Unit



``SO3'' table records information on the delivery schedule of the items ordered.



Table Name Field Name Descriptive Name Field Type Theory of operation
SO3 so2_id Sales order detail Id INT SO3.so2_id = SO2.so2_id
SO3 so3_id Sales Order detail detail id INT Assigned by the pgm
SO3 whs_id Warehouse ID INT Warehouse where merchandise is to be sent from SO3.whs_id = WHS.whs_id
SO3 full_qty_ship Full Quantity Shipment BOOL Yes = Ship only the exact ordered quantities, No = Partial quantities accepted Default to Yes if (SO.full_order_ship = Yes) or (SO.full_qty_ship=Yes)
SO3 request_date Request date DATE Customer requested shipping date
SO3 promise_date Promise date DATE Probable shipping date as promise to customer
SO3 order_qty Order Quantity INT Requested quantity for this date
SO3 ship_qty Shipped quantity INT Quantity currently shipped (Updated by Stock Shipping Pgm)
SO3 cancel_qty Cancelled quantity INT Quantity currently cancelled (Updated by Stock Shipping Pgm)
SO3 ship_to_id Ship To ID INT SO3.ship_to_id = CUST.cust_id Shipping address (allow for multi-drop shipment)



9. Purchase Order Module

Theory of operation : PO module allows to : enter Purchase Requisition, convert Purchase Requisition into Request for Quotation, convert Request into Purchase Order, receive merchandises/services and create Purchase Journal and Stock Receiving Journal.

9.1 Functions

9.1.1 Purchase Requisitions

Add, Update, Copy, Convert to Request for Quotation, Convert to Purchase Order

9.1.2 Request for Quotation

Add, Update, Copy, Convert to Purchase Order

9.1.3 Purchase Orders

Add, Update, Copy, Reverse, Post to Subsidiary, Post to GL

9.1.4 Stock Receiving

Add, Update, Copy, Reverse, Post to Subsidiary, Post to GL

9.1.5 Reporting

Purchase Journal
Stock Receiving Journal

9.2 Purchase Order Module Tables

9.2.1 Parameters Table

``POPARAM'' table is used to store general information, options and user preferences related to Purchase Order Module.

9.2.1.1 Definition



Table Name Field Name Descriptive Name Field Type Theory of operation
POPARAM enterprise_code<8> Enterprise Code CHAR POPARAM.enterprise_code = SYSPARAM.enterprise_code
POPARAM use_commit_acct Use commitment Accounting BOOL Liability incurred by agreeing to buy (when a PO is issued) Liability reversed when goods are received
POPARAM default_whs_id Default Warehouse INT  
POPARAM accrue_rcvd_good Record Accrued Received Goods BOOL Liability incurred when stock is received Liability reversed when invoice is entered
POPARAM commit_gl_id Commitment GL Id INT Liability GL Account to record PO issued
POPARAM accrual_gl_id Accrual GL Id INT Accrued Liability GL Account to record Stock received
POPARAM next_po_no Next PO number INT Next Purchase Order Number
POPARAM po_no_chg PO Number Changeable BOOL The proposed PO number can be changed by the user.
POPARAM next_sr_no Next Stock Receiving Number INT Next voucher number (Stock Receiving Journal)
POPARAM next_purc_req_no Next Purchase Requisition Number INT  
POPARAM purc_rec_no_chg Purchase Requisition Number Changeable BOOL The proposed PR number can be changed by the user.
POPARAM nex_req_quote_no Next Request for Quotation Number INT  
POPARAM req_quote_no_chg Request for Quotation Number Changeable BOOL The proposed RQ number can be changed by the user.
POPARAM deposit_gl_id Deposit GL ID INT Asset GL control account to record deposit made to vendor



9.2.2 Purchase Order Tables

Purchase Order tables PO, PO2 and PO3 record information on purchase orders issued to vendors/suppliers.

9.2.2.1 Definition



Table Name Field Name Descriptive Name Field Type Theory of operation
PO vendor_id Vendor identification INT PO.vendor_id = VENDOR.vendor_id
PO po_id Purchase Journal Entry ID INT Assigned by the pgm
PO po_number<16> Purchase Order Number CHAR Number assigned by the user or the pgm as per POPARAM.po_no_chg
PO purc_req_no<16> Purchase Requisition Number CHAR Number assigned by the user or the pgm as per POPARAM.purc_rec_no_chg
PO req_quote_no<16> Request for Quotation Number CHAR Number assigned by the user or the pgm as per POPARAM.req_quote_no_chg
PO enterprise_code<8> Enterprise Code CHAR PO.enterprise_code = SYSPARAM.enterprise_code
PO entry_date Record creation date DATE System date
PO trans_date Transaction date DATE Document date and Accounting date
PO po_type<16> Purchase Order Type CHAR Purchase Requisition, Request for Quotation, Purchase Order, Request to return merchandise, Purchase Order with a deposit
PO po_status<16> Purchase order Status CHAR Outstanding, Cancelled, Completed
PO full_order_ship Full Order Shipment BOOL Ship all items and all stated quantities (only one shipment required)
PO full_qty_ship Full quantity Shipment BOOL Ship stated quantities for every item shipped
PO ap_ctrl_acct_id AP Control Account Id INT Payable Liabilities GL account Defaulted from VENDOR.ap_ctrl_acct_id
PO ap_deposit_id AP Deposit ID INT Asset GL account to track deposit on PO, Defaulted from VENDOR.ap_deposit_id
PO trans_amnt Transaction Amount currency Total of all PO lines
PO frgn_amnt Foreign Amount currency Total of all PO lines
PO deposit_amnt Deposit Amount currency Deposit made to vendors
PO check_no Check Number INT Deposit check number
PO je_id Journal Entry Identification INT Reference to the journal entry created by Post to GL pgm. (If Commitment accounting has been activated)
PO entry_stage<16> PO Entry Stage CHAR In progress, On approval, Posted to Subsidiary, Posted to GL
PO reverse_po_id Reversing Purchase Journal Entry INT Cross reference to reversing and reversed entries
PO purc_req_by<20> Purchase requisition created by CHAR Login name of the user entering the purchase requisition
PO purc_req_date Purchase Requisition Date DATE System Date
PO req_quote_by<20> Request for Quotation Entered by CHAR Login name of the user creating the Request for Quotation or converting the Purchase Requisition into a Request for Quotation.
PO req_quote_date Request for Quotation Date DATE System date
PO entry_by<20> Purchase Order created by CHAR Login name of the user creating the PO or converting Request for Quotation into a PO
PO sub_post_by<20> Subsidiary posting by CHAR Login name of the user having posted to the subsidiary payable ledger
PO sub_post_date Subsidiary posting date DATE System Date
PO gl_post_by<20> General Ledger Posting by CHAR Login name of the user having posted the transaction to the GL
PO gl_post_date General Ledger posting date DATE System date
PO ack_require<16> Acknowledgement required CHAR Type of acknowledgement : Verbal, E-Mail, Mail
PO ack_to_person_id Acknowledge to this person INT Acknowledgement sent to this person PO.ack_to_person_id = PERSON.person_id
PO ack_to_comm_id Acknowledge to INT Acknowledgement sent to this phone, fax, e-mail, etc. PO.ack_to_comm_id = COMM.comm_id
PO mail_to_id Mail Invoice to INT PO.mail_to_id = WHS.whs_id
PO whs_id Warehouse id INT Warehouse where merchandise is to be sent to PO.whs_id = WHS.whs_id
PO employee_id Buyer ID INT Our employee issuing the order PO.employee_id = EMPLOYEE.employee_id
PO contact_id Contact Identification INT Vendor contact the PO has been negociated with PO.contact_id = CONTACT.vendor_id
PO term_id Payment Terms INT Terms granted by this vendor Defaulted from VENDOR.term_id
PO cur_id Currency Identification INT Purchasing currency, Defaulted from VENDOR.cur_id
PO cur_rate Currency rate INT Defaulted from CUR.CUR2.purchase_rate
PO carrier_id Carrier ID INT Preferred carrier for this PO, Defaulted from VENDOR.carrier_id
PO ship_id Shipping Conditions Id INT Delivery terms for this PO, Defaulted from VENDOR.ship_id
PO po_notes<100> Purchase Order Note CHAR Purchase Order Note Pad
PO create_date Record Creation Date DATETIME System date time



PO2 table records information on items ordered



Table Name Field Name Descriptive Name Field Type Theory of operation
PO2 po_id Purchase order ID INT PO2.po_id = PO.po_id
PO2 po2_id Purchase Order detail Id INT Assigned by the pgm
PO2 line_number Line Number INT PO Line number
PO2 line_type<16> Line Type CHAR ``Item_type'' or ``tax_type'' or ``freight_type''
PO2 item_id Item id INT Item Ordered PO2.item_id = ITEM.item_id = ITEM_WHS.item_id
PO2 item_descript<100> Item description CHAR Our Item description
PO2 part_no<30> Part number CHAR Vendor part number
PO2 part_name<100> Part name CHAR Vendor part description
PO2 spu_uom_id Stock purchasing Unit of measure INT PO2.spu_uom_id = UOM.uom_id
PO2 spu_cost Unit cost currency Item cost per Stock Purchasing Unit



``PO3'' table records information on the delivery schedule of the items ordered.



Table Name Field Name Descriptive Name Field Type Theory of operation
PO3 po2_id Purchase order detail Id INT PO3.po2_id = PO2.po2_id
PO3 po3_id Purchase Order detail detail id INT Assigned by the pgm
PO3 gl_acct_id GL Account Id INT Asset or expense GL account (counterpart of PO.ap_ctrl_acct_id) Default from ITEM_WHS.stock_ctrl_gl_id if (PO2.line_type = ``item_type'') Default from TAX2.tax_paid_gl_id if (PO2.line_type = ``tax_type'') Default from CUR.ap_freight_id if (PO2.line_type = ``freight_type'')
PO3 whs_id Warehouse ID INT Warehouse where merchandise is to be sent to PO3.whs_id = WHS.whs_id
PO3 activity_id Activity ID INT  
PO3 project_id Project ID INT  
PO3 full_qty_ship Full Quantity Shipment BOOL Yes = Ship only the exact ordered quantities, No = Partial quantities accepted Default to Yes if (PO.full_order_ship = Yes) or (PO.full_qty_ship=Yes)
PO3 request_date Requested date DATE Asked shipping date
PO3 promise_date Promised date DATE Probable shipping date as promise by vendor
PO3 order_qty Order Quantity INT Requested quantity for this date
PO3 receive_qty Received quantity INT Quantity currently received (Updated by Stock Receiving Pgm)
PO3 cancel_qty Cancelled quantity INT Quantity currently cancelled (Updated by Stock Receiving Pgm)
PO3 purc_req_qty Purchase requisition quantity INT Quantity requested may be different from the ordered quantity



9.2.3 Stock Receiving Journal Tables

Stock Receiving Journal Tables SR, SR2 and SR3 record information on goods received from vendors/suppliers.

9.2.3.1 Definition



Table Name Field Name Descriptive Name Field Type Theory of operation
SR vendor_id Vendor identification INT SR.vendor_id = VENDOR.vendor_id
SR packing_slip<16> Packing Slip CHAR Vendor delivery slip
SR invoice_no<20> Invoice Number CHAR Vendor invoice number
SR invoice_date Invoice Date DATE Payable accounting date
SR sr_id Stock Receiving Journal ID INT Assigned by pgm
SR po_id Purchase Order Journal Entry ID INT SR.po_id = PO.po_id
SR enterprise_code<8> Enterprise Code CHAR SR.enterprise_code = SYSPARAM.enterprise_code
SR entry_date Record Creation Date DATE System date
SR trans_date Transaction date DATE Stock Receiving date and accrual accounting date
SR accrual_gl_id AP Control Account Id INT Liability GL account to accrue received goods SR.accrual_gl_id = POPARAM.accrual_gl_id
SR ap_ctrl_acct_id AP Control Account ID INT Payable Control Account, Defaulted from PO.ap_ctrl_acct_id
SR trans_amnt Transaction Amount currency Total of all SR2 lines
SR frgn_amnt Foreign Amount currency Total of all SR2 lines
SR je_id Journal Entry Identification INT Reference to the journal entry created by Post to GL pgm. If (POPARAM.accrue_rcvd_good = Yes) If (POPARAM.use_commit_acct = Yes)
SR entry_stage<16> Receiving Journal Entry Stage CHAR In progress, On approval, Posted to Subsidiary, Posted to GL
SR reverse_sr_id Reversing Receiving Journal Entry INT Cross reference to reversing and reversed entries
SR entry_by<20> Journal Entry by CHAR Login name of the user creating the transaction
SR sub_post_by<20> Subsidiary posting by CHAR Login name of the user having posted to the subsidiary payable ledger
SR sub_post_date Subsidiary posting date DATE System Date
SR gl_post_by<20> General Ledger Posting by CHAR Login name of the user having posted the transaction to the GL
SR gl_post_date General Ledger posting date DATE System date
SR whs_id Warehouse id INT Warehouse where merchandise is received SR.whs_id = WHS.whs_id
SR employee_id Employee ID INT Receiving Clerk doing the quantity and quality check SR.employee_id = EMPLOYEE.employee_id
SR cur_id Currency Identification INT Purchasing currency, SR.cur_id = PO.cur_id = CUR.cur_id
SR cur_rate Currency rate INT Defaulted from CUR.CUR2.purchase_rate
SR carrier_id Carrier Id currency Carrier for this receiving, SR.carrier_id = VENDOR.vendor_id
SR create_date Record creation Date DATETIME  



SR2 table records information on items received



Table Name Field Name Descriptive Name Field Type Theory of operation
SR2 sr_id Stock Receiving Journal ID INT SR2.sr_id = SR.sr_id
SR2 sr2_id Stock Receiving Detail ID INT Assigned by pgm
SR2 po2_id Purchase Order detail Id INT  
SR2 line_type<16> Line Type CHAR Defaulted from PO2.line_type ``Item_type'' or ``tax_type'' or ``freight_type''
SR2 whs_id Warehouse ID INT Defaulted from PO3.whs_id
SR2 activity_id Activity ID INT Defaulted from PO3.activity_id
SR2 project_id Project ID INT Defaulted from PO3.project_id
SR2 gl_acct_id General Ledger Account ID INT GL Asset account SR2.gl_acct_id = WHS. SR2.gl_acct_id = PO3.gl_acct_id
SR2 item_id Item id INT Our item identification SR2.item_id = ITEM.item_id = ITEM_WHS.item_id
SR2 receive_qty Received quantity INT Counted quantity
SR2 cancel_qty Cancelled quantity INT Quantity not shipped and will not be shipped
SR2 cancel_code<16> Cancellation code CHAR Reason for cancellation
SR2 reject_qty Rejected quantity INT Items rejected at quality inspection
SR2 reject_code<16> Reject Code CHAR Reason for rejection of the item
SR2 serial_no<20> Serial Number CHAR Serial number of the item received
SR2 lot_no<20> Lot Number CHAR Lot Number (if lot controlled)
SR2 peremption_date Peremption date DATE Lot expiration date
SR2 part_no<30> Part number CHAR Vendor part number
SR2 part_name<100> Part name CHAR Vendor part description
SR2 spu_cost Unit Cost currency Item Price per Stock Purchasing Unit
SR2 spu_uom_id Stock purchasing Unit of measure INT SR2.spu_uom_id = UOM.uom_id



10. Inventory Control Module

10.0.0.1 Introduction

Inventory Control Module aims at the basic stock accounting functions including : tools to take an inventory, to control stock available for sale or use, to balance the value of stock on hand with GL Control Account.

10.1 Functions

10.2 Tables

10.2.1 Parameter Table

Inventory Control parameter table ``ICPARAM'' records user options, preferences, default values used by IC module



Table Name Field Name Descriptive Name Field Type Theory of operation
ICPARAM enterprise_code<8> Enterprise Code CHAR ICPARAM.enterprise_code = SYSPARAM.enterprise_code



10.2.2 Warehouse Table

WHS table records general information about the different warehouses of the organization.



Table Name Field Name Descriptive Name Field Type Theory of operation
WHS whs_id Warehouse Identification INT Assigned by the pgm
WHS enterprise_code<8> Enterprise Code CHAR WHS.enterprise_code = SYSPARAM.enterprise_code
WHS whs_code<8> Warehouse Code CHAR  
WHS whs_name<50> Warehouse Name CHAR  
WHS create_date Create Date DATETIME Record creation date
WHS address_id Address Id INT Warehouse address WHS.address_id = ADDRESS.address_id
WHS comm_id Communication Id INT Warehouse Phone, Fax, email WHS.comm_id = COMM.comm_id
WHS whs_mgr_id Warehouse Manager Id INT WHS.whs_mgr_id = EMPLOYEE.employee_id
WHS tax_id Tax ID INT This tax code is use to determine if we are shipping within or across jurisdictions. If WHS.tax_id = CUSTOMER.tax_id then ITEM_WHS.tax_id prevails If WHS.tax_id <> CUSTOMER.tax_id then CUSTOMER.tax_id prevails
WHS stock_ctrl_gl_id Stock Control GL Id INT Asset account to record value of items on hand



10.2.3 Item Tables

10.2.3.1 Theory of operation

Articles purchased and sold, finished goods in stocks, goods in the process of manufacturing, raw materials and supplies are recorded in a set of related Item tables.

10.2.4 Item Table

10.2.4.1 Definition

ITEM table records basic stock information.



Table Name Field Name Descriptive Name Field Type Theory of operation
ITEM item_id Item Identification INT Assigned by the pgm
ITEM enterprise_code<8> Enterprise Code CHAR ITEM.enterprise_code = SYSPARAM.enterprise_code
ITEM item_code<30> Item Codification CHAR Assigned by the user
ITEM short_desc<30> Short description CHAR Item Short description
ITEM long_desc<100> Long Description CHAR Item Long Description
ITEM item_type_id Item Type ID INT ITEM.item_type_id = ITEM_TYPE.item_type_id
ITEM bar_code<30> Bar Code CHAR Universal Product Code
ITEM item_class_id Item Classification ID INT ITEM.item_class_id = ITEM_CLASS.item_class_id
ITEM item_line_id Item Line ID INT ITEM.item_line_id = ITEM_LINE.item_line_id
ITEM activity_status<16> Activity status CHAR Active, Inactive, De-activated
ITEM substitute_id Substitute Item ID INT ITEM.substitute_id = ITEM.item_id
ITEM qty_decimal Quantity Decimals INT Number of decimal to express the quantity of an item
ITEM sku_uom_id SKU Uom ID INT Stock Keeping Unit of measurement Quantity on hand is in sku ITEM.sku_uom_id = UOM.uom_id
ITEM ssu_uom_id Ssu Uom ID INT Stock Selling Unit on measurement Invoicing/shipping uses this unit ITEM.ssu_uom_id = UOM.iom_id
ITEM spu_uom_id Spu Uom ID INT Stock Purchasing Unit of measurement Purchasing/receiving uses this unit ITEM.spu_uom_id = UOM.uom_id
ITEM ssu_to_sku Factor INT Factor to go from SSU to one SKU
ITEM spu_to_sku Factor INT Factor to go from SPU to one SKU
ITEM sku_volume Sku Volume INT Volume of the item for one stock keeping unit
ITEM volume_uom_id Volume Uom ID INT Unit of measurement for the volume of the item ITEM.volume_uom_id = UOM..uom_id
ITEM sku_weight Sku Weight INT Weight of the item for one stock keeping unit
ITEM weight_uom_id Weight Uom ID INT Unit of measurement for the weight of the item ITEM.weight_uom_id = UOM.uom_id
ITEM sku_height Sku Height INT Height of the item for one stock keeoing unit
ITEM height_uom_id Height Uom ID INT Unit of measurement for the height of the item ITEM.height_uom_id = UOM.uom_id
ITEM sku_width Sku Width INT Width of the item for one stock keeping unit
ITEM width_uom_id Width Uom ID INT Unit of measurement for the width of the item ITEM.width_uom_id = UOM.uom_id
ITEM sku_length Sku Length INT Length of the item for one stock keeping unit
ITEM lenght_uom_id Length Uom Id INT Unit of measurement for the length of the item ITEM.length_uom_id = UOM.uom_id
ITEM sku_surface Sku Surface INT Surface of the item for one stock keeping unit
ITEM surface_uom_id Surface Uom ID INT Unit of measurement for the surface of the item ITEM.surface_uom_id = UOM.uom_id
ITEM check_on_hand Check on hand quantity BOOL While taking sales orders and invoicing, check quantity available
ITEM ctrl_method<16> Control Method CHAR Bulk Control, Serial Control, Lot Control, Serial-Lot Control, No Control
ITEM create_date Record Creation Date DATETIME Record creation date
ITEM std_cost Standard Cost currency Standard Cost
ITEM allow_neg_qty Allow negative quantity BOOL Allow quantity on hand to become negative
ITEM cost_method<16> Costing method CHAR Last In First Out : LIFO method, First In First Out : FIFO method, Weighted Average Cost : WAC method, Specific Identification Method : SIM method



10.2.5 Item Warehouse Table

ITEM_WHS table records item information specific to the warehouse, quantity on hand and GL Accounts.



Table Name Field Name Descriptive Name Field Type Theory of operation
ITEM_WHS item_id Item Identification INT ITEM_WHS.item_id = ITEM.item_id
ITEM_WHS enterprise_code<8> Enterprise Code CHAR ITEM_WHS.enterprise_code = SYSPARAM.enterprise_code
ITEM_WHS item_whs_id Item Warehouse ID INT Assigned by the pgm
ITEM_WHS whs_id Warehouse Identification INT ITEM_WHS.whs_id = WHS.whs_id
ITEM_WHS create_date Record Creation Date DATETIME  
ITEM_WHS stock_ctrl_gl_id Stock Control Account ID INT GL asset control account to record the value of the stock on hand Default from WHS.stock_ctrl_gl_id
ITEM_WHS sales_gl_id Sales GL ID INT GL Revenue Account to record merchandise sold to customers
ITEM_WHS return_gl_id Return GL ID INT GL Negative revenue account to record the value of merchandise returned by customers
ITEM_WHS discount_gl_id Discount GL ID INT GL Expense account or negative revenue account to record trade discounts
ITEM_WHS cogs_gl_id COGS GL ID INT GL Cost of goods sold account
ITEM_WHS order_point Order point INT Minimum quantity to keep on hand in sku
ITEM_WHS eco_order_qty Economic order quantity INT Economic order quantity in sku
ITEM_WHS qty_on_hand Quantity on hand INT Quantity currently on hand in sku
ITEM_WHS qty_on_po Quantity on purchase orders INT Quantity currently on outstanding purchase orders in sku
ITEM_WHS qty_on_so Quantity on Sales Order INT Quantity currently on outstanding sales orders in sku
ITEM_WHS qty_in_process Quantity in process INT Quantity currently in the manufacturing process in sku (for manufactured item)
ITEM_WHS qty_on_wo Quantity on work order INT Quantity currently reserved for work orders in sku
ITEM_WHS qty_in_transit Quantity in transit INT Quantity being moved between warehouses in sku
ITEM_WHS unit_cost Unit Cost currency Item Unit cost per sku
ITEM_WHS tax_id Tax ID INT Taxation authority



10.2.6 Item Price Table

ITEM_PRICE table defines the pricing scheme.



Table Name Field Name Descriptive Name Field Type Theory of operation
ITEM_PRICE item_id Item Identification INT ITEM_PRICE.item_id = ITEM.item_id
ITEM_PRICE enterprise_code<8> Enterprise Code CHAR ITEM_PRICE.enterprise_code = SYSPARAM.enterprise_code
ITEM_PRICE item_price_id Item price ID INT Assigned by the pgm
ITEM_PRICE create_date Create Date DATETIME Record creation date



10.2.7 Item Type Table

ITEM_TYPE table defines the usage of the item : Raw material, finished goods, components, shop supplies, office supplies, etc.



Table Name Field Name Descriptive Name Field Type Theory of operation
ITEM_TYPE item_type_id Item Type ID INT ITEM_TYPE.item_type_id = ITEM.item_type_id
ITEM_TYPE enterprise_code<8> Enterprise Code CHAR ITEM_TYPE.enterprise_code = SYSPARAM.enterprise_code
ITEM_TYPE item_type_code<8> Item Type Code CHAR Assigned by the user
ITEM_TYPE create_date Create Date DATETIME Record creation date
ITEM_TYPE activity_status<16> Activity Status CHAR Active, Inactive , Deactivated
ITEM_TYPE type_desc<100> Item Type Description CHAR  



10.2.8 Item Class Table

ITEM_CLASS table defines item classification for statistical usage. The actual meaning of this classification is at the user discretion.



Table Name Field Name Descriptive Name Field Type Theory of operation
ITEM_CLASS item_class_id Item Class ID INT ITEM_CLASS.item_id = ITEM.item_class_id
ITEM_CLASS enterprise_code<8> Enterprise Code CHAR ITEM_CLASS.enterprise_code = SYSPARAM.enterprise_code
ITEM_CLASS item_class_code<8> Class Code CHAR Assigned by the user
ITEM_CLASS create_date Create Date DATETIME Record creation date
ITEM_CLASS activity_status<16> Activity Status CHAR Active, Inactive, Deactivated
ITEM_CLASS class_desc<100> Class Description CHAR  



10.2.9 Item Line Table

ITEM_ LINE table defines line of business. The actual meaning of this classification is at the user discretion.



Table Name Field Name Descriptive Name Field Type Theory of operation
ITEM_LINE item_line_id Item Line ID INT ITEM_LINE.item_id = ITEM.item_id
ITEM_LINE enterprise_code<8> Enterprise Code CHAR ITEM_LINE.enterprise_code = SYSPARAM.enterprise_code
ITEM_LINE item_line_code<8> Item Line Code CHAR Assigned by the user
ITEM_LINE create_date Create Date DATETIME Record creation date
ITEM_LINE activity_status<16> Activity Status CHAR Active, Inactive, Deactivated
ITEM_LINE line_desc<100> Line Description CHAR  



10.2.10 Item Vendor Table

ITEM_VENDOR table records information on the different suppliers of an article.



Table Name Field Name Descriptive Name Field Type Theory of operation
ITEM_VENDOR item_id Item Identification INT ITEM_VENDOR.item_id = ITEM.item_id
ITEM_VENDOR enterprise_code<8> Enterprise Code CHAR ITEM_VENDOR.enterprise_code = SYSPARAM.enterprise_code
ITEM_VENDOR item_vendor_id Item Vendor ID INT Assigned by the pgm
ITEM_VENDOR create_date Create Date DATETIME Record creation date
ITEM_VENDOR vendor_id Vendor Id INT ITEM_VENDOR.vendor_id = VENDOR.vendor_id
ITEM_VENDOR part_no<30> Part number CHAR Vendor part number
ITEM_VENDOR part_name<100> Part name CHAR Vendor part description
ITEM_VENDOR spu_uom_id Stock Purchasing Unit of measure ID INT ITEM_VENDOR.spu_uom_id = UOM.uom_id
ITEM_VENDOR vendor_rating<1> Vendor rating CHAR A code to indicate the prefered vendor
ITEM_VENDOR last_price Last price currency Last quote or purchase price
ITEM_VENDOR currency_id Currency Id INT Currency of the last price



11. PR Module

11.1 Introduction

Payroll Module ...

11.2 Theory of operation

aaa

11.3 Payroll Functions

bbb

11.4 Payroll Tables

ccc

11.4.1 Employee Table

11.4.1.1 Definition



Table Name Field Name Descriptive Name Field Type Theory of operation
EMPLOYEE employee_id Employee Identification INT Serial assigned by the program
EMPLOYEE enterprise_code<8> Enterprise Code CHAR EMPLOYEE.enterprise_code = SYSPARAM.enterprise_code
EMPLOYEE emp_code<8> Employee Code CHAR Codification assigned by the user
EMPLOYEE person_id Person Id INT EMPLOYEE.person_id = PERSON.person_id
EMPLOYEE comm_id Communication Id INT EMPLOYEE.comm_id = COMM.comm_id
EMPLOYEE contact_id Contact Id INT EMPLOYEE.contact_id = CONTACT.employee_id



About this document ...

GNU Enterprise Accounting Package Proposal

This document was generated using the LaTeX2HTML translator Version 99.2beta8 (1.42)

Copyright © 1993, 1994, 1995, 1996, Nikos Drakos, Computer Based Learning Unit, University of Leeds.
Copyright © 1997, 1998, 1999, Ross Moore, Mathematics Department, Macquarie University, Sydney.

The command line arguments were:
latex2html -no_subdir -split 0 -show_section_numbers /home/louis/Ma_Page_Web/GNU_Enterprise_1.tex

The translation was initiated by Louis Charbonneau on 2001-06-27


next_inactive up previous
Louis Charbonneau 2001-06-27