[Advacs-discuss] Modules
Helmut Wollmersdorfer
helmut@wollmersdorfer.at
Wed, 01 Sep 2004 14:51:58 +0200
[redirected to the list.
If you feel this is impolite, I apologize in advance.]
Oliver Elphick wrote:
> On Wed, 2004-09-01 at 10:48, Helmut Wollmersdorfer wrote:
>>David Palmer wrote:
>>>In this way we could develop a scenario whereby even ecommerce could be
>>>hooked directly into the accounts structure (sales ledger?).
>>That's a question of interface design. I assume that an additional modul
>>like a webshop should not update the database directly. It should better
>>use a provided invoice interface to sales ledger.
> We should provide an interface (I'm trying to work that out at the
> moment) and I would expect that any add-on modules of our own would use
> it, just as a remote package might interface to it in order to make
> entries to the system.
Invoice interface was just an example.
But we can use it as an example to discuss the interface architecture.
As I understand invoicing is one of the basic functionalities of SL
(Sales Ledger). This means that SL provides the basic rules and logic to
create simple invoices, print and view them, record them, create the
corresponding entries in GL or other Sub-Ledgers, create open items.
SL updates the database directly(?).
This is the first interface - data backend on SQL level.
Then it needs interfaces for input and output.
This can be a User Interface application (providing additional
conveniences), a batch interface (e.g. a driver reading a file), user
developed (third party) billing systems.
I assume this structure:
Database
|
| SQL
|
SL
|
| Invoice Interface
|
Applications
For the invoice interface I would like to support XML, as this provides
flexibility meeting nearly all thinkable requirements. XML can be mapped
from or to Python Objects with standard functionality. It can be used
with different style sheets to create PDF, PS, HTML etc., even from or
to GUIs. It can be sent to customers or received from suppliers. If we
use the open standard for invoices - OpenTrans http://www.opentrans.org
- then we save a lot of time in designing the invoice object. This
standard reflects nearly all requirements that I can imagine. That does
not mean, that we should support all entities of it in first versions.
The standard provides mandatory and optional elements.
It also defines the other documents of business transactions like
- request for quotation
- quotation
- order
- orderchange
- order response
- dispatch notification
- receipt acknowledgement
- invoice
This can be very usefull for the other satellites.
Shall I add the documents to CVS/advacs/docs/opentrans? They are
available in EN and DE, each 4 MB zipped. The license[1] is free and
seems compatible with debian policy, but to be secure the debian license
experts should proof this. Do you know the email of them?
For dealing with XML to User Interfaces GNUe
http://www.gnuenterprise.org/ seems to have a general solution (Python).
Maybe we can take some ideas.
[1] The original text:
Fraunhofer IAO and the University of Essen hereby grant you the
permanent, non-exclusive, royalty-free, world-wide right and the license
to use the openTRANS® Specification and to use, copy, publish and
distribute same in compliance with the copyrights indicated in the
specification. Fraunhofer IAO and the University of Essen hereby declare
themselves willing to grant you a royalty-free license, in accordance
with copyright laws, for the implementation and use of the openTRANS®
Tags and Guidelines for the creation of computer programs in accordance
with these guidelines. This license is granted under the condition that
you do not assert any copyright claims vis-a-vis Fraunhofer IAO and the
University of Essen BLI or other companies for their implementation.
Fraunhofer IAO and the University of Essen BLI expressly retain all
other rights to the material and the subject of the specifications.
Fraunhofer IAO and the University of Essen BLI expressly decline any
type of guarantee for the specification, including guarantees that this
specification or its implementation does not infringe on the rights of
third parties. If you publish, copy or distribute this specification, it
must carry a copyright reference. If, however, you alter the
specification, the name of the altered specification may under no
circumstances contain the term "openTRANS® " and the following reference
must be contained in the amended version: "Parts of this specification
are based on the openTRANS® Standard V1.0 (Copyright © 2000-2001
Fraunhofer IAO and University of Essen BLI").
We reserve the right to make changes to the information contained in
this document without prior notice.
Helmut Wollmersdorfer