chalou@videotron.ca
Lyx format available at
http://pages.infinit.net/chalou/GNU_Enterprise_1.lyx
Date: June 27, 2001
Common tables used by the different packages of the application.
| 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 |
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 |
| 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 |
| 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 |
| 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 |
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 |
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.
| 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 |
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.
| 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 |
Data entry screens and reports are displayed in the user prefered language. Some reports are printed in the customer or vendor prefered language.
| 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 |
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.
| 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. |
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.
| 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 |
The UOM table is used to ensure consistency in the usage of units of measure.
| 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 |
The TERRITORY table is used to define geographical references for customers and vendors.
| 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 |
The INDUSTRY table is used to define line of business for customers and vendors.
| 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 |
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.
| 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 |
Tables used by the different modules of the Accounting Package
Accounting Package parameters ``ACCPARAM'' table records general information used by the different modules of GNU Enterprise Accounting package.
| 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 |
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.
| 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 |
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.
| 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 |
These tables (TERM and TERM2) define purchase payment terms with vendors, sales credit terms with customers and commission payment terms with salesmen.
| 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 |
SHIP table defines shipping conditions with vendors and customers.
| 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 |
CONTACT table records information about contact persons at customers/vendors/employees sites.
| 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 |
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 :
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.
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.
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''
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 ....
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.
A Financial Statement is defined as any report extracted from Journal Entries (tables JE and JE2) and/or periodic summary tables (GL2, ACTIVITY2, PROJECT2).
The Period End Function consists in closing the current period/year and opening the following one. More than one period can be kept open.
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.
General Ledger parameters ``GLPARAM'' table is used to store general information used by the different functions of the GL module.
| 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. |
These tables allow the accountant to define the structure of the chart of accounts, the activity accounts and the project accounts.
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 |
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 |
GL table is used to record chart of accounts information. It is updated by the Maintain Chart of Accounts program.
| 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 |
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.
| 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 |
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.
| 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 |
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 |
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).
| 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 |
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.
| 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 |
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.
| 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 |
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.
| 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 |
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.
| 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 |
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.
| 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 |
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.
| 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. |
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.
| 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 |
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.
| 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, |
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 ...
| 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 |
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.
GNU Enterprise allows the user to select 3 different General Ledger posting strategies : Real Time, Batch Summerized, Batch Detailed
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.
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''.
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.
Add, Update, Copy Customer Card
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)
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)
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) |
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 |
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 |
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.
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 |
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 |
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.
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 |
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'' |
Add, Update, Copy, Reverse, Post to Subsidiary, Post to GL
Add, Update, Copy, Reverse, Post to Subsidiary, Post to GL
Cash Receipt Journal
``APPARAM'' table stores general information, options and user preferences related to Accounts Payable Module.
| Table Name | Field Name | Descriptive Name | Field Type | Theory of operation |
| APPARAM | enterprise_code<8> | Enterprise Code | CHAR | APPARAM.enterprise_code = SYSPARAM.enterprise_code |
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 |
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.
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 |
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 |
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.
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 |
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'' |
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 ..
Add, Update, Copy
Add, Update, Copy, Reverse, Post to Subsidiary, Post to GL
Add, Update, Copy, Reverse, Post to Subsidiary, Post to GL
``SOPARAM'' table is used to store general information, options and user preferences related to Sales Order Module.
| 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) |
Sales Order tables SO, SO2 and SO3 record information on sales quotes sent to customers and sales orders received from customers.
| 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) |
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.
Add, Update, Copy, Convert to Request for Quotation, Convert to Purchase Order
Add, Update, Copy, Convert to Purchase Order
Add, Update, Copy, Reverse, Post to Subsidiary, Post to GL
Add, Update, Copy, Reverse, Post to Subsidiary, Post to GL
Purchase Journal
Stock Receiving Journal
``POPARAM'' table is used to store general information, options and user preferences related to Purchase Order Module.
| 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 |
Purchase Order tables PO, PO2 and PO3 record information on purchase orders issued to vendors/suppliers.
| 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 |
Stock Receiving Journal Tables SR, SR2 and SR3 record information on goods received from vendors/suppliers.
| 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 |
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.
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 |
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 |
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.
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 |
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 |
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 |
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 |
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 |
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 |
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 |
Payroll Module ...
aaa
bbb
ccc
| 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 |
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