[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
gnue/gnue-config/accounting gl/classes/gl_acct....
From: |
Neil Tiffin |
Subject: |
gnue/gnue-config/accounting gl/classes/gl_acct.... |
Date: |
Sat, 30 Jun 2001 15:18:05 -0700 |
CVSROOT: /home/cvs
Module name: gnue
Changes by: Neil Tiffin <address@hidden> 01/06/30 15:18:05
Modified files:
gnue-config/accounting/gl/classes: gl_acct.gcd gl_post.gcd
gnue-config/accounting/gl/doc: gl_post.sgml
gnue-config/accounting/package-doc: introduction.sgml
Log message:
Update docs and classes to add more detail requirements for general
ledger module and define modules in accounting package.
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue-config/accounting/gl/classes/gl_acct.gcd.diff?cvsroot=OldCVS&tr1=1.4&tr2=1.5&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue-config/accounting/gl/classes/gl_post.gcd.diff?cvsroot=OldCVS&tr1=1.2&tr2=1.3&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue-config/accounting/gl/doc/gl_post.sgml.diff?cvsroot=OldCVS&tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue-config/accounting/package-doc/introduction.sgml.diff?cvsroot=OldCVS&tr1=1.1&tr2=1.2&r1=text&r2=text
Patches:
Index: gnue/gnue-config/accounting/gl/classes/gl_acct.gcd
diff -u gnue/gnue-config/accounting/gl/classes/gl_acct.gcd:1.4
gnue/gnue-config/accounting/gl/classes/gl_acct.gcd:1.5
--- gnue/gnue-config/accounting/gl/classes/gl_acct.gcd:1.4 Wed Jun 27
11:43:03 2001
+++ gnue/gnue-config/accounting/gl/classes/gl_acct.gcd Sat Jun 30 15:18:05 2001
@@ -24,7 +24,7 @@
# Based on concepts and documents from Louis Charbonneau and
# Stanley A. Klein.
#
-# $Id: gl_acct.gcd,v 1.4 2001/06/27 18:43:03 ntiffin Exp $
+# $Id: gl_acct.gcd,v 1.5 2001/06/30 22:18:05 ntiffin Exp $
#
module gl_acct
@@ -53,6 +53,7 @@
char description<80>;
};
+ # list of all govenrment codes for validating
class gvt_code
{
# TODO name should be a pointer to something?
@@ -62,6 +63,7 @@
char description<80>;
};
+ # list of all account status for validating
class status
{
char name<16>; # GL Account Activity Status Active,
@@ -75,11 +77,11 @@
{
char enterprise_code<8>; # Enterprise Code
- char gl_acct<10>; # General Ledger Account Key for the
+ char number<10>; # General Ledger Account Key for the
# user to access the account, can be
# updated by the user
- char gl_title<60>; # General Ledger Account Title
-
+ char name<60>; # General Ledger Account Name
+ # alternate access
gl_acct::status *status; # GL Account Activity Status Active,
# Inactive, Deactivated
date status_change; # last status change
@@ -93,7 +95,11 @@
# TODO in my opinion this should be a pointer to the subledger
boolean ctrl_acct; # Control Account Yes= This account
# controls a subledger
+
+ index by number;
+ index by title;
- boolean validate_acct( text acct_num );
+ boolean validate_acct_num( text acct_number );
+ boolean validate_acct_name( text acct_name );
};
};
Index: gnue/gnue-config/accounting/gl/classes/gl_post.gcd
diff -u gnue/gnue-config/accounting/gl/classes/gl_post.gcd:1.2
gnue/gnue-config/accounting/gl/classes/gl_post.gcd:1.3
--- gnue/gnue-config/accounting/gl/classes/gl_post.gcd:1.2 Wed Jun 27
11:43:03 2001
+++ gnue/gnue-config/accounting/gl/classes/gl_post.gcd Sat Jun 30 15:18:05 2001
@@ -24,40 +24,49 @@
# Based on concepts and documents from Louis Charbonneau and
# Stanley A. Klein.
#
-# $Id: gl_post.gcd,v 1.2 2001/06/27 18:43:03 ntiffin Exp $
+# $Id: gl_post.gcd,v 1.3 2001/06/30 22:18:05 ntiffin Exp $
#
+include "../../../base/currency/classes/currency.gcd"
+
module gl_post
{
+
+ class recurring
+ {
+
+ };
+
# types of posting available
- enum type
+ class type
{
- realtime,
- batch,
- detail # batch detail
+ char name<25>;
+ boolean real_time;
+ boolean batch;
+ boolean batch_detail;
};
class parameters
{
- char enterprise_code<8>; # Enterprise Code
- enum gl_post::type sj; # Sales Journal posting to GL This
- # parameter can take 3 values : Real
- # Time = Simultaneaously post to AR
- # Sub.
- enum gl_post::type cr; # Cash Receipt posting to GL Real Time,
- # Batch or Batch Detailed
- enum gl_post::type pj; # Purchase Journal posting to GL Real
- # Time, Batch or Batch Detailed
- enum gl_post::type pj; # Purchase Journal posting to GL Real
- # Time, Batch or Batch Detailed
- enum gl_post::type cd; # Cash Disbursement posting to GL Real
- # Time, Batch or Batch Detailed
- enum gl_post::type ic; # Stocks Receiving posting to GL Real
- # Time, Batch or Batch Detailed
- enum gl_post::type pr; # Payroll posting to GL Real Time,
- # Batch or Batch Detailed
- enum gl_post::type br; # Bank reconciliation posting to GL
- # Real Time, Batch or Batch Detailed
+ char enterprise_code<8>; # Enterprise Code
+ gl_post::type *sj; # Sales Journal posting to GL This
+ # parameter can take 3 values : Real
+ # Time = Simultaneaously post to AR
+ # Sub.
+ gl_post::type *cr; # Cash Receipt posting to GL Real Time,
+ # Batch or Batch Detailed
+ gl_post::type *pj; # Purchase Journal posting to GL Real
+ # Time, Batch or Batch Detailed
+ gl_post::type *pj; # Purchase Journal posting to GL Real
+ # Time, Batch or Batch Detailed
+ gl_post::type *cd; # Cash Disbursement posting to GL Real
+ # Time, Batch or Batch Detailed
+ gl_post::type *ic; # Stocks Receiving posting to GL Real
+ # Time, Batch or Batch Detailed
+ gl_post::type *pr; # Payroll posting to GL Real Time,
+ # Batch or Batch Detailed
+ gl_post::type *br; # Bank reconciliation posting to GL
+ # Real Time, Batch or Batch Detailed
# TODO these next three should be reviewed
char gla_segment<30> ; # General Ledger Account Segmentation
@@ -108,4 +117,84 @@
# Open to posting, No = Close to
# posting
};
+
+
+ # Journal Entry Stage In progress, On
+ # approval, Posted to GL
+ class entry_stage
+ {
+ char name<16>;
+ }
+
+ class gen_jour_head
+ {
+ char enterprise_code<8>; # Enterprise Code
+
+ int64 voucher_no ; # Journal entry voucher number A
serial
+
# number assigned by
the system, from a
+
# starting point
specified by the
+ date trans_date ; # Journal transaction date
Financial
+
# year and period
derived from this
+
# date.
+ int src_id ; # Source Journal Identification
+
+ int16 year ; # Journal Entry Financial year
Derived
+
# from the Financial
Calendar
+ int16 period ; # Journal Entry Financial period
+
# Derived from the
Financial Calendar
+ int reverse_je_id ; # Reverse by this journal entry
Cross
+
# reference to the
reversing entry
+
# (used by Cash Flow
Statement)
+ char entry_by<20> ; # Journal Entry enter by Login
name of
+
# the user having
created the entry.
+ date entry_date ; # Entry date System date
+ char gl_post_by<20> ; # Journal Entry posted by Login
Name of
+
# the user having
posted the entry
+ date gl_post_date ; # Posting to GL date System
date
+ char je_descript<100> ; # Journal Entry Descriptive text
+
# Explanation of the
entry and/or
+
# references to
support documents
+
+ gl::entry_stage stage ; # Journal Entry Stage In
progress, On
+
# approval, Posted to
GL
+ };
+
+
+ class gen_journal
+ {
+ int je_id ; # Journal Entry header
identification
+
# JE2.je_id = JE.je_id
+ int gl_id ; # General ledger account
identification
+
# JE2.gl_id = GL.gl_id
+ int activity_id ; # Activity ledger Account
+
# Identification
JE2.activity_id =
+
# ACT.activity_id
+ int project_id ; # Project Ledger Account
Identification
+
# JE2.project_id =
PRO.project_id
+ currency::money trans_amnt; # Journal Entry Transaction
Amount
+
# Journal Entry
Transaction Amount
+
+ char trans_descript<100>; # Journal Entry Transaction
Description
+
# Explanation and/or
references to
+
# support documents
+ currency::money frgn_amnt; # Transaction Foreign Amount
+
# Transaction Foreign
Amount
+
+ gl::gen_jour_det *detail; # pointer to detail if exists
+ };
+
+ # only needed if detail transactions posting is selected
+ class gen_jour_det
+ gl::gen_journal summary;
+
+ int cust_id ; # Customer identification
JE2.cust_id =
+
# CUSTOMER.cust_id
+ int vendor_id ; # Vendor Identification
JE2.vendor_id =
+
# VENDOR.vendor_id
+ int item_id ; # Item identification Item
+
# identification
+ char invoice_no<16> ; # Invoice Number Reference to the
+
# purchase invoice or
sales invoice
+ };
+
};
Index: gnue/gnue-config/accounting/gl/doc/gl_post.sgml
diff -u gnue/gnue-config/accounting/gl/doc/gl_post.sgml:1.1
gnue/gnue-config/accounting/gl/doc/gl_post.sgml:1.2
--- gnue/gnue-config/accounting/gl/doc/gl_post.sgml:1.1 Wed Jun 27 10:52:38 2001
+++ gnue/gnue-config/accounting/gl/doc/gl_post.sgml Sat Jun 30 15:18:05 2001
@@ -3,19 +3,55 @@
<sect1>
<title>Requirements</title>
<para>
- This chapter is $Revision: 1.1 $ $Date: 2001/06/27
17:52:38 $. This section was intitially conceived by Louis Charbonneau and
discussions were coordinated by Stanley A. Klein.
+ This chapter is $Revision: 1.2 $ $Date: 2001/06/30
22:18:05 $. This section was intitially conceived by Louis Charbonneau,
discussions were coordinated by Stanley A. Klein, and this section was written
by Neil Tiffin (address@hidden).
</para>
<sect2>
<title>Business Requirements</title>
+<para>
+ 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.
+</para>
+<para>
+ GL Module uses double entry bookkeeping. By definition, debit amounts
are positive and credit amounts are negative. A journal entry balances when the
algebraic sum of all its amounts is zero. The General Ledger balances when the
algebraic sum of all the journal entries is zero. The trial balance is a
complete list of account positive and negative balances.
+</para>
+<para>
+ 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
+</para>
+<para>
+ 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.
+</para>
+<para>
+Financial Statements are prepared using the Financial Statement Module.
+</para>
+<para>
+ 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).
+</para>
<orderedlist>
<listitem>
<para>
-</para>
+Add, update and change status of natural account numbers.
+ </para>
</listitem>
<listitem>
- <para>
-</para>
-</listitem>
+ <para>
+Create account segments during system load and assure that segments can not be
changed without major intervention by knowledgable party.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+Add, update, and delete recurring manual transactions. Recurring transactions
may have an effective start and end date. An option should exist to remove all
expired transactions.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+Post specialized journals to general journal. This posting should be
selectable by source and date. When run will post all unposted transactions in
the source journal up to and including the date specified.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+Create manual journal entries.
+ </para>
+ </listitem>
</orderedlist>
</sect2>
<sect2>
@@ -39,7 +75,7 @@
<itemizedlist mark=bullet>
<listitem>
<para>
- TODO
+ entry_stage - defines three
stages; in progress, waiting for approval, and posted to GL.
</para>
</listitem>
</itemizedlist>
@@ -59,7 +95,17 @@
<itemizedlist mark=bullet>
<listitem>
<para>
- TODO
+ Maintain recurring transactions.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Enter manual ledger
transactions.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Post source transactions to
general ledger.
</para>
</listitem>
</itemizedlist>
@@ -69,7 +115,12 @@
<itemizedlist mark=bullet>
<listitem>
<para>
- TODO
+ Trial Balance.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Pre-posting transaction report.
Same selection parameters as posting. Selections to include all transactions,
summary or both.
</para>
</listitem>
</itemizedlist>
@@ -79,7 +130,7 @@
<itemizedlist mark=bullet>
<listitem>
<para>
- TODO
+ Source Journal Transaction
Validation - In order for source journal transactions to be posted to the
general journal the source must have a valid account number, a valid date in
the current posting period and have a valid "created by" user.
</para>
</listitem>
</itemizedlist>
Index: gnue/gnue-config/accounting/package-doc/introduction.sgml
diff -u gnue/gnue-config/accounting/package-doc/introduction.sgml:1.1
gnue/gnue-config/accounting/package-doc/introduction.sgml:1.2
--- gnue/gnue-config/accounting/package-doc/introduction.sgml:1.1 Wed May
16 16:53:43 2001
+++ gnue/gnue-config/accounting/package-doc/introduction.sgml Sat Jun 30
15:18:05 2001
@@ -9,13 +9,13 @@
<sect2>
<title>Source of Information </title>
<para>
- This version was written by Neil Tiffin
(address@hidden) and based on information developed by Louis Charbonneau.
+ This version was written by Neil Tiffin
(address@hidden) and based on information developed by Louis Charbonneau and
Stanley R. Klein.
</para>
</sect2>
<sect2>
<title>Version </title>
<para>
- This introduction is $Revision: 1.1 $ $Date:
2001/05/16 23:53:43 $.
+ This introduction is $Revision: 1.2 $ $Date:
2001/06/30 22:18:05 $.
</para>
<para>
It is a preliminary draft proposal for
discussion purposes only. Most of the business requirements are complete. That
is they are listed in the particular module where they belong. They may not not
completely defined yet. The forms and reports are just started and are not
complete. Most of the business objects are named.
@@ -33,7 +33,7 @@
The Accounting Package encompasses all of the
transactions required to ??
</para>
<para>
- The Accounting Package does NOT include MRP,
routings, bills of material, manufacturing, sales prospecting, sales
representatives, marketing, capital equipment, maintenance, customer care,
customer support, management reporting, data warehousing and etc.
+ The Accounting Package does NOT include MRP,
routings, bills of material, manufacturing, sales prospecting, sales
representatives, marketing, maintenance, customer care, customer support,
management reporting, data warehousing and etc.
</para>
</sect2>
<sect2>
@@ -54,11 +54,169 @@
<sect2>
<title>Initial modules for the Accounting
Package</title>
<para>
- This document will lay the general groundwork
for modules in the accouting function.
+ This document will lay the general groundwork
for modules in the accouting function. The initial modules are:
</para>
- <para>
- Each Module definition below contains a list of
Business Requirements, Business Objects, and External Objects. The Business
Requirements are the general business functionality that the module will
support. The Business Objects are the objects whos definition is managed and
controlled by the respective module. External Objects are interfaces to objects
managed and controlled by other Module definitions. No attempt has been made to
create an object structure in this document. That is the responsibility of the
module developers. For example the Warehouse business object may be related to
a general Location Business Object. It is also assumed that the requirements
stated here will change as the Modules are defined and or refactored.
- </para>
+ <orderedlist>
+<listitem>
+ <para>
+ General Ledger (gl) - Posting control, month end and year end
processing of transactions.
+ </para>
+</listitem>
+<listitem>
+ <para>
+ Accounts Receivable (ar) - Processing money into the
organization from customers.
+ </para>
+</listitem>
+<listitem>
+ <para>
+ Accounts Payable (ap) - Paying suppliers.
+ </para>
+</listitem>
+<listitem>
+ <para>
+ Financial Statements (fs) - Preparing financial statements.
+ </para>
+</listitem>
+<listitem>
+ <para>
+ Budgeting (bg) - Managing the budgeting process.
+ </para>
+</listitem>
+<listitem>
+ <para>
+ Activity Based Costing (abc) - Providing activity based cost
reports and data.
+ </para>
+</listitem>
+<listitem>
+ <para>
+ Bank Reconcilation (br) - Reconcilation of bank transactions.
+ </para>
+</listitem>
+<listitem>
+ <para>
+ Project Based Costing (pbc) _ Providing project based cost
reports and data.
+ </para>
+</listitem>
+<listitem>
+ <para>
+ Fixed Assets (fa) - Manage fixed assets and depreciation.
+ </para>
+</listitem>
+ </orderedlist>
+ <para>
+ Each Module definition contains a list of
Business Requirements, Business Objects, and External Objects. The Business
Requirements are the general business functionality that the module will
support. The Business Objects are the objects whos definition is managed and
controlled by the respective module. External Objects are interfaces to objects
managed and controlled by other Module definitions. No attempt has been made to
create an object structure in this document. That is the responsibility of the
module developers. For example the Warehouse business object may be related to
a General Location Business Object. It is also assumed that the requirements
stated here will change as the Modules are defined and or refactored.
+ </para>
+ </sect2>
+ <sect2>
+ <title>Accounting Terms</title>
+<orderedlist>
+<listitem>
+ <para>
+ Journal : A book of original entries. A book to record business
transaction in a chronological manner.
+ </para>
+</listitem>
+<listitem>
+ <para>
+ Journalize (to) : To enter daily business transactions in a journal.
+ </para>
+</listitem>
+<listitem>
+ <para>
+ Sales Journal : A specialized journal to record sales transactions
(Sales invoices issued to customers)
+ </para>
+</listitem>
+<listitem>
+ <para>
+ Cash Receipt Journal : A specialized journal to record money and checks
received from customers.
+ </para>
+</listitem>
+<listitem>
+ <para>
+ Purchase Journal : A specialized journal to record Purchase Invoices
received from vendors/suppliers.
+ </para>
+</listitem>
+<listitem>
+ <para>
+ Cash Disbursement Journal : A specialized journal to record payments
issued to vendors/suppliers
+</para>
+</listitem>
+<listitem>
+ <para>
+ Purchase Commitment Journal : A specialized journal to record
liabilities incurred by agreeing to buy. (purchase orders issued to
vendor/suppliers.) Purchase Order Journal or PO Journal.
+ </para>
+</listitem>
+<listitem>
+ <para>
+ Stock Receiving Journal : A specialized journal to record merchandises
received from vendors/suppliers.
+ </para>
+</listitem>
+<listitem>
+ <para>
+ Sales Commitment Journal : A specialized journal to record liabilities
incurred by agreeing to sell. (Sales orders received from customers) Sales
Order Journal or SO Journal
+ </para>
+</listitem>
+<listitem>
+ <para>
+ Stock Transfer Journal : A specialized journal to record moving
of merchandises between warehouses, locations, departments.
+ </para>
+</listitem>
+<listitem>
+ <para>
+ General Journal : A journal used to record miscellaneous
transactions not suited for a specialized journal.
+ </para>
+</listitem>
+<listitem>
+ <para>
+ Ledger : A book used to record business transactions coming
from a journal. Each page of the ledger is devoted to a specific account. An
account book in which all final entries of the transactions of a business
concern are recorded.
+ </para>
+</listitem>
+<listitem>
+ <para>
+ Posting : Copying a business transaction from a journal to two
or more pages of the ledger.
+ </para>
+</listitem>
+<listitem>
+ <para>
+ General Ledger : An account book made of all the asset
accounts, liability accounts, equity accounts, revenue accounts and expense
accounts.
+ </para>
+</listitem>
+<listitem>
+ <para>
+ Subsidiary Ledger : A detail account book having a controling
account in the General ledger.
+ </para>
+</listitem>
+<listitem>
+ <para>
+ Accounts Receivable Ledger : A subsidiary ledger keeping track
of the transactions with customers. The total of amounts due by all the
customers has to be equal to the amount of the receivable controlling account
in the General Ledger.
+ </para>
+</listitem>
+<listitem>
+ <para>
+ Accounts Payable Ledger : A subsidiary ledger keeping track of
the transactions with vendors/suppliers The total of amounts due to all the
vendors has to be equal to the amount of the payable controlling account in the
General Ledger.
+ </para>
+</listitem>
+<listitem>
+ <para>
+ Stocks Ledger : A subsidiary ledger keeping track of the value
of the merchandises on hand. The total value of all the items on hand, has to
be equal to the amount of the Stocks controlling account in the General Ledger.
+ </para>
+</listitem>
+<listitem>
+ <para>
+ Activity Ledger : A subsidiary ledger used for Activity Based
Costing.
+ </para>
+</listitem>
+<listitem>
+ <para>
+ Project Ledger : A subsidiary ledger used for Project Based
Costing.
+ </para>
+</listitem>
+<listitem>
+ <para>
+ Source of an entry : In the General Ledger, identification of
the journal from which the entry is coming from.
+ </para>
+</listitem>
+</orderedlist>
+
</sect2>
</sect1>
</chapter>
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- gnue/gnue-config/accounting gl/classes/gl_acct....,
Neil Tiffin <=