[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
gnue/gnue-config accounting/ar/classes/invoice....
From: |
Neil Tiffin |
Subject: |
gnue/gnue-config accounting/ar/classes/invoice.... |
Date: |
Fri, 24 Aug 2001 12:13:33 -0700 |
CVSROOT: /home/cvs
Module name: gnue
Changes by: Neil Tiffin <address@hidden> 01/08/24 12:13:33
Modified files:
gnue-config/accounting/ar/classes: invoice.gcd
gnue-config/accounting/package-doc: introduction.sgml
gnue-config/base/org/classes: org.gcd
gnue-config/sales/sales-order/classes: sales-order.gcd
Log message:
Move definitions around to remove dependencies between sales and
accounting.
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue-config/accounting/ar/classes/invoice.gcd.diff?cvsroot=OldCVS&tr1=1.9&tr2=1.10&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue-config/accounting/package-doc/introduction.sgml.diff?cvsroot=OldCVS&tr1=1.5&tr2=1.6&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue-config/base/org/classes/org.gcd.diff?cvsroot=OldCVS&tr1=1.7&tr2=1.8&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue-config/sales/sales-order/classes/sales-order.gcd.diff?cvsroot=OldCVS&tr1=1.6&tr2=1.7&r1=text&r2=text
Patches:
Index: gnue/gnue-config/accounting/ar/classes/invoice.gcd
diff -u gnue/gnue-config/accounting/ar/classes/invoice.gcd:1.9
gnue/gnue-config/accounting/ar/classes/invoice.gcd:1.10
--- gnue/gnue-config/accounting/ar/classes/invoice.gcd:1.9 Thu Aug 23
06:44:08 2001
+++ gnue/gnue-config/accounting/ar/classes/invoice.gcd Fri Aug 24 12:13:33 2001
@@ -22,16 +22,19 @@
#
# This file originally written by Neil Tiffin (address@hidden).
#
-# $Id: invoice.gcd,v 1.9 2001/08/23 13:44:08 ntiffin Exp $
+# $Id: invoice.gcd,v 1.10 2001/08/24 19:13:33 ntiffin Exp $
#
include "../../../base/person/classes/person.gcd"
include "../../../base/currency/classes/currency.gcd"
-include "../../../sales/sales-order/classes/sales-order.gcd"
+include "../../../base/org/classes/org.gcd"
module ar
{
+ # -------------------------------------------------------------------------
+ # document the receipt of cash
+ # -------------------------------------------------------------------------
class cash_receipt
{
date date not null;
@@ -41,6 +44,9 @@
char check_number<15>;
};
+ # -------------------------------------------------------------------------
+ # document invoice adjustments
+ # -------------------------------------------------------------------------
class adjustment
{
date date not null;
@@ -49,21 +55,39 @@
ar::invoice *invoice;
};
- class invoice : so::header
+ # -------------------------------------------------------------------------
+ # the invoice header
+ # -------------------------------------------------------------------------
+ class header
{
+ org::header head;
char id<10>; # invoice number
date date_invoiced;
char status; # open, paid-in-full, closed
char note<500>;
+ ar::detail [] detail;
+
currency::money total;
ar::cash_receipt [] payment;
ar::adjustment [] adjustment;
char initial_setup(char force);
};
+
+ # -------------------------------------------------------------------------
+ # the invoice detail
+ # -------------------------------------------------------------------------
+ class detail
+ {
+ org::header head;
+ ar::header *header;
+ }
- class sales_journal
+ # -------------------------------------------------------------------------
+ # Sales transactions for interfacing to external financial systems
+ # -------------------------------------------------------------------------
+ class sales_tx
{
date date not null; # date of transaction
currency::money amount not null; # amount of transaction
@@ -74,8 +98,10 @@
date posted; # if empty not posted
};
+ # -------------------------------------------------------------------------
# avaliable credit status for customers
# for example on sales hold, on shipping hold etc.
+ # -------------------------------------------------------------------------
class cr_status
{
char name<8>; # name that appears on forms
@@ -87,6 +113,9 @@
boolean needs_approval = false;
};
+ # -------------------------------------------------------------------------
+ #
+ # -------------------------------------------------------------------------
class credit : customer::customer
{
currency::money sales_limit;
Index: gnue/gnue-config/accounting/package-doc/introduction.sgml
diff -u gnue/gnue-config/accounting/package-doc/introduction.sgml:1.5
gnue/gnue-config/accounting/package-doc/introduction.sgml:1.6
--- gnue/gnue-config/accounting/package-doc/introduction.sgml:1.5 Wed Jul
4 06:38:48 2001
+++ gnue/gnue-config/accounting/package-doc/introduction.sgml Fri Aug 24
12:13:33 2001
@@ -15,7 +15,7 @@
<sect2>
<title>Version </title>
<para>
- This chapter is $Revision: 1.5 $ $Date: 2001/07/04
13:38:48 $.
+ This chapter is $Revision: 1.6 $ $Date: 2001/08/24
19:13:33 $.
</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.
@@ -30,28 +30,13 @@
<sect2>
<title>Definition of GNUe Accounting Package </title>
<para>
- The Accounting Package encompasses all of the
transactions required to ??
+ The Accounting Package encompasses all of the
functions required to complete financial control including statements and tax
reporting.
</para>
<para>
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>
- <title>Scope of initial GNUe Accouting Package
Functionality </title>
- <para>
- The first version of the Accouting Package will
be a proof of concept package to stress and test the GNUe tools architecture.
As such it will have limited functionality. However, with that said the modules
and objects developed for the initial package should be re-usable to address
larger or industry specific implementations.
- </para>
- <para>
- It is important that the first package have a
solid design. To distribute the work and assure a sound design we need to
decide what functionality will go into the initial scope and what will go into
future scope.
- </para>
- </sect2>
- <sect2>
- <title>Future Accounting Functionality </title>
- <para>
- Future functionality describes requirements
slated for a future version of GNUe. These requirements may appear in either
standard GNUe functionality or in industry packages.
- </para>
- </sect2>
- <sect2>
<title>Accounting Package Modules</title>
<para>
This document will lay the general groundwork
for modules in the accouting function. The initial modules are:
@@ -73,39 +58,54 @@
</para>
</listitem>
<listitem>
+ <para>
+ Financial Statements (fs) - Printing and formatting financial
statements for single legal entity.
+ </para>
+</listitem>
+ </orderedlist>
+ </sect2>
+ <sect2>
+ <title>Future Accounting Functionality </title>
+ <para>
+ Future functionality describes requirements
slated for a future version of GNUe. These requirements may appear in either
standard GNUe functionality or in industry packages.
+ </para>
+ <orderedlist>
+<listitem>
+ <para>
+ Consolidated Financial Reporting (cfr) - Consolidation,
printing and formatting financial statements for many legal entities.
+ </para>
+</listitem>
+<listitem>
<para>
- Financial Statements (fs) - Printing and formatting financial
statements.
+ Project Based Costing (pbc) _ Providing project based cost
reports and data.
</para>
</listitem>
<listitem>
<para>
- Budgeting (bg) - Managing budgets.
+ Fixed Assets (fa) - Manage fixed assets and depreciation.
</para>
</listitem>
<listitem>
<para>
- Activity Based Costing (abc) - Providing activity based cost
reports and data.
+ Budget Management(bm) - Managing budgets.
</para>
</listitem>
<listitem>
<para>
- Bank Reconcilation (br) - Reconcilation of bank transactions.
+ Activity Based Costing (abc) - Providing activity based cost
reports and data.
</para>
</listitem>
<listitem>
<para>
- Project Based Costing (pbc) _ Providing project based cost
reports and data.
+ Bank Reconcilation (br) - Reconcilation of bank transactions.
</para>
</listitem>
<listitem>
<para>
- Fixed Assets (fa) - Manage fixed assets and depreciation.
+ Investment Management (im) - Managing finincial investments as
a minor part of on-going operations. This is not for the Investment Industry.
</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>
@@ -219,8 +219,9 @@
</sect2>
<sect2>
- <title>Accounting Transactions</title>
+ <title>Accounting Interface</title>
<para>
+ All of the sub-systems will have a standard interface to the
accounting system. The subsystems will need to work without GNUe Accounting
installed and automatically detect that it is installed and react accordingly.
</para>
</sect2>
</sect1>
Index: gnue/gnue-config/base/org/classes/org.gcd
diff -u gnue/gnue-config/base/org/classes/org.gcd:1.7
gnue/gnue-config/base/org/classes/org.gcd:1.8
--- gnue/gnue-config/base/org/classes/org.gcd:1.7 Wed Jul 4 11:04:13 2001
+++ gnue/gnue-config/base/org/classes/org.gcd Fri Aug 24 12:13:33 2001
@@ -22,15 +22,17 @@
#
# This file originally written by Neil Tiffin (address@hidden).
#
-# $Revision: 1.7 $ $Date: 2001/07/04 18:04:13 $ $Author: ntiffin $
+# $Revision: 1.8 $ $Date: 2001/08/24 19:13:33 $ $Author: ntiffin $
#
include "../../../base/person/classes/person.gcd"
include "../../../base/location/classes/address.gcd"
+include "../../../base/units/classes/units.gcd"
+include "../../../base/currency/classes/currency.gcd"
module org
{
# -------------------------------------------------------------------------
- # base class for instantiating person type as a general contact
+ # base class for instantiating person as a contact and defining a type.
# -------------------------------------------------------------------------
class contact
{
@@ -39,7 +41,7 @@
};
# -------------------------------------------------------------------------
- # base class for instantiating address type as a company address
+ # base class for instantiating address as a company address
# -------------------------------------------------------------------------
class address
{
@@ -61,6 +63,62 @@
INDEX (organization_name);
};
+ # -------------------------------------------------------------------------
+ # Defines the available types of lines. For example, tax, freight, labor,
+ # and material etc.
+ # -------------------------------------------------------------------------
+ class line_type
+ {
+ char code<8>;
+ char desc<30>;
+ };
+
+ # -------------------------------------------------------------------------
+ # define the status of the line item. For example, open, closed, deleted,
+ # and modified.
+ # -------------------------------------------------------------------------
+ class line_status
+ {
+ char code<8>;
+ char desc<30>;
+ };
+
+ # -------------------------------------------------------------------------
+ # base class for transactions headers external to company
+ # -------------------------------------------------------------------------
+ type header
+ {
+ char order_id<10>;
+ date order_date;
+ date cust_required;
+ char ship_to_name<80>; # these fields copied from custmer
+ location::address ship_to_address; # because cust master may change
+ char bill_to_name<80>; # and we need record of who we
+ location::address bill_to_address; # actually sold to
+ char ship_via<15>;
+ char customer_ref<30>; # P.O. number, verbal name
+ currency::money total; # total for all items
+ char notes<500>; # special notes for this order
+
+ boolean closed; # all transaction against this
+ # are complete.
+ org::organization * customer;
+ };
+
+ # -------------------------------------------------------------------------
+ # base class for transactions details external to company
+ # -------------------------------------------------------------------------
+ type detail
+ {
+ int line_number;
+ char description<25>;
+ unit::quantity quantity;
+ currency::money unit_price;
+ org::line_type *type; # freight, sales tax, item, tax service etc.
+ org::line_status *status; # open, deleted, etc.
+ char notes<255>;
+ int blank_after = 0; # print num blank lines after this line
+ };
};
Index: gnue/gnue-config/sales/sales-order/classes/sales-order.gcd
diff -u gnue/gnue-config/sales/sales-order/classes/sales-order.gcd:1.6
gnue/gnue-config/sales/sales-order/classes/sales-order.gcd:1.7
--- gnue/gnue-config/sales/sales-order/classes/sales-order.gcd:1.6 Thu Jul
5 11:38:29 2001
+++ gnue/gnue-config/sales/sales-order/classes/sales-order.gcd Fri Aug 24
12:13:33 2001
@@ -22,61 +22,30 @@
#
# This file originally written by Neil Tiffin (address@hidden).
#
-# $Id: sales-order.gcd,v 1.6 2001/07/05 18:38:29 ntiffin Exp $
+# $Id: sales-order.gcd,v 1.7 2001/08/24 19:13:33 ntiffin Exp $
#
-include "../../../base/currency/classes/currency.gcd"
-include "../../../base/units/classes/units.gcd"
+include "../../../base/org/classes/org.gcd"
include "../../../sales/customer/classes/customer.gcd"
module so
-{
- class line_type
- { # Defines the available types of lines. For example
- # tax, freight, labor, material etc.
- char code<8>;
- char desc<30>;
- };
-
- class line_status
- {
- # defined the status of the line item. For example
- # open, closed, deleted, modified.
- char code<8>;
- char desc<30>;
- };
-
+{
+ # -------------------------------------------------------------------------
+ # Sales order header.
+ # -------------------------------------------------------------------------
class header
{
- char order_id<10>;
- date order_date;
- date cust_required;
- char ship_to_name<80>; # these fields copied from custmer
- location::address ship_to_address; # because cust master may change
- char bill_to_name<80>; # and we need record of who we
- location::address bill_to_address; # actually sold to
- char ship_via<15>;
- char customer_ref<30>; # P.O. number, verbal name
- currency::money total; # total for all items
- char notes<500>; # special notes for this order
-
- boolean closed;
-
- so::detail [] detail;
+ org::header head;
customer::customer * customer;
+ so::detail [] detail;
};
+ # -------------------------------------------------------------------------
+ # Sales order detail.
+ # -------------------------------------------------------------------------
class detail
{
+ org::detail det;
so::header *header;
-
- int line_number;
- char description<25>;
- unit::quantity quantity;
- currency::money unit_price;
- so::line_type *type; # freight, sales tax, item, tax service etc.
- so::line_status *status; # open, deleted, etc.
- char notes<255>;
- int blank_after = 0; # print num blank lines after this line
};
};
- gnue/gnue-config accounting/ar/classes/invoice....,
Neil Tiffin <=