commit-gnue
[Top][All Lists]
Advanced

[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
   };
 };



reply via email to

[Prev in Thread] Current Thread [Next in Thread]