Adaxa Compiere Book
Adaxa Compiere Book
Prepared by
Contents
1 Business Overview 6
3 Quote to Cash 16
3.1 Quotations 17
3.3 Shipments 17
3.5 Receipts 18
4 Requisition to Pay 19
4.1 Requisitions 20
4.5 Payments 20
5.2 Payments 23
5.5 Charges 24
7 Partner Management 29
9 Performance Analysis 34
10 Web Store 37
11 Manufacturing 40
12 Technical Overview 42
13 Application Architecture 49
13.3 Safe-fail 52
13.6 Scalability 56
14 Information Architecture 57
15.2 Customisation 68
15.4 Interfaces 69
15.5 Extensions 69
15.6 e_Commerce 70
1 Business Overview
Compiere ERP & CRM is a sophisticated open source business solution that provides an
industrial strength alternative to proprietary products. Most ERP solutions available in the
market today provide similar functionality and many organisations evaluate solutions on
the basis of their functional capabilities at a particular point in time. This approach is
common place but is not the most appropriate methodology for evaluating and selecting a
business solution for the long term. The approach will lead to different results when two
products are evaluated over a period of time because of the leap frogging of one product
over another as new releases are brought to market.
The life span of an ERP solution is often ten or more years and during this time technology
and business requirements will change. While the functional capability of a product is
important it is equally important to take into consideration the technology on which the
product is based and its ability to be modified and enhanced to meet the changing needs of
an organisation as its business needs change. Furthermore it is critical to make sure that
essential changes do not jeopardise the ability to migrate to subsequent releases of the
product whilst preserving the integrity of the business specific changes.
Whilst Compiere is functionally rich, it is its ability to incorporate business specific changes
and preserve those changes into future releases of the software that demonstrates its real
power.
1.2.1 Flexibility
Compiere adopts open standards which allows
for the standardisation, stability and interoperability of systems
clear, public and viewable descriptions of data and behaviour
disparate software to act in complementary ways
1.2.2 Long-
Long-term viability
Compiere shields itself from obsolescence by complying with industry
standards and utilizing toolsets which support these standards
Not dependent on the long term viability of the organsiation responsible for
the development of the product. For example Peoplesoft has recently taken
over JD Edwards causing significant uncertainty for the end users of the JD
Edwards products. Likewise Oracle has taken over Peoplesoft with the stated
intention of converting Peoplesoft end users to the Oracle Financials product
set. The ongoing viability of Open Source software is not subject to the
survival of any specific organisation.
1.2.3 Lower
Lower Total Cost of Ownership
No initial software licence fees (subject to database choice)
The following outlines the rewards that can be gained from the introduction of an open
source solution such as Compiere.
An open source solution is almost always supplied at a lower total lifetime cost, but is often
perceived to be provided with a lower level of support and at a higher level of risk than a
proprietary solution. This is typically not the case.
The level of support provided by an organisation such as ADAXA can be significantly higher
than that provided by a reseller distributing products from the developers of proprietary
software applications. The primary reason is that the source code is available and can be
modified to resolve the problem locally. In the case of proprietary products the source code
is typically not available to the support organisation and they are dependent upon their
principal to provide a correction. This is often done in a subsequent release some six to
twelve months later. Further support options can be found amongst the community of
developers, partners and users of the software who respond to issues posted on forums
often within a matter of hours, and sometimes minutes, of the support request being made.
In addition to the question of support, most organisations like to feel that they can obtain
“guarantees” that the software purchased is free from major defect, or if a defect is found it
will be quickly fixed. Recent history and common experience is that purchasing software
from a major vendor is no guarantee of freedom from errors. Arguably, most versions of
UNIX, including Linux, are far less likely to crash at random than Windows, yet for many IT
procurers Windows is a “safer bet”. The reality is that in open source solutions, the known
error lists and the source code are available to enable the support organisation to correct
any error that might arise in a timeframe to match the priority of the error. This is usually
not the case with proprietary software. Typically the error lists are not published and the
source code is not available to the organisations who distribute and support the software.
Organisations such as ADAXA have the expertise and the tools available to them to reduce
the risk to organisations to be at least comparable and probably lower than those of
proprietary systems.
Compiere is able to operate on a large selection of hardware and operating systems. This
flexibility enables a user to choose the hardware and operating system platform that meets
their individual requirements.
As with hardware, Compiere will run on a range of operating systems including Unix,
Windows, Linux and Mac OS X thus allowing the Compiere user to choose from the full
range of free open software operating systems to proprietary offerings from traditional
vendors.
Compiere utilises the JBoss application server for which no fees are applicable. The current
development plan also allows for Compiere to run on IBM Websphere and the Oracle
Application Server (OAS). For those organisations wishing to use OAS it can be licensed from
Oracle or used at no additional charge if Compiere maintenance is in place with a certified
Compiere partner.
Licences
Database licences: Compiere users have the choice of acquiring their own
Oracle database licence or acquiring a licence by paying for an annual
Compiere maintenance agreement which provides low cost use of the Oracle
database as an embedded application under the terms of a contract
negotiated between Oracle and Compiere, Inc. From February 2005, users
have additional database choices, some of which are free open-source
products and some are commercial products offered on zero or a minimal
licence fee basis.
Recurring Expenses
Database Licence maintenance: please see comments above under the capital
purchase section.
Much open source software is licensed under the terms of the GNU Public Licence. This
licence requires that modifications made to the product (other than for in-house use) must
be provided back to the open source community. The Compiere ERP & CRM system is
licensed under the terms of the Mozilla Public licence. This licence allows users to develop
additional functionality and use it in-house, or even licence it for a fee to third parties
without incurring an obligation to return the enhancement to the open source community.
Compiere provides fully integrated and easy to use first tier functionality for mid-market
enterprises. Unlike traditional systems it is organised to map onto the typical business
processes as shown below. It is provided as a complete, integrated unitary system rather
than a series of loosely coupled modules with data transfers between them. This
integration applies to the Customer Relationship Management, the web store data as well as
the traditional ERP information .
Business processes rather than traditional departments drive Compiere's design and in
today's world, especially in mid-market enterprises, employees often perform entire
business processes or related processes.
Shown in the chart below is a mapping of the Compiere processes to the modules often
found in more traditional proprietary applications.
General Ledger x
Accounts
Payables
x x x
Accounts
Receivables
X x x
Purchase Order x x x x
Sales X x x x
Order
Inventory
Management
X x x x x
Fixed
Assets
x
Customer
Relationship X x
Management
In this document certain words are used which have particular meanings within the context
of the Compiere application. They are described below.
Quote to Cash covers the business processes used for creating quotations for prospects or
customers, sales order management, invoicing and cash receipting. The functionality is
tightly integrated with Supply Chain Management and Customer Relationship Management
components of Compiere. This functionality is typically found in modules entitled sales
order entry and accounts receivable.
Requisition to Pay covers the business process used for creating purchase orders,
processing invoices received from vendors and generating payments. The functionality is
tightly integrated with Supply Chain Management. This functionality is typically found in
modules entitled purchasing and accounts payable.
Open Item Management automates the processes associated with the entry and allocation of
cash received from customers and payments made to creditors. Open Item Management
also provides for the reconciliation of bank statements and cash books. At the time of
reconciliation Compiere provides functions to allow for the reconciliation of in-transit
payments and bank charges or the creation of payments for direct debit transfers. Banks in
the various jurisdictions in which Compiere is deployed varies. ADAXA provides an addon
to the standard version of Compiere to provide the file format required by Australian Banks.
Partner Relations Management links different clients to each other allowing them to manage
lead distribution, service requests, collateral distribution and marketing expenses. It
facilitates the provision of shared (centralised) services by one organisational entity to other
organisational entities. This functionality enables organisations which manage a number of
wholly or partly owned entities (such as a franchise operation) to provide centralised
services to the remote operations.
Supply Chain Management covers all material management activities including inventory
receipts, shipments, movements and stock take count management and processing.
Performance Analysis covers the costing and accounting dimension of the application. This
functionality is typically found in Reporting and General Ledger modules as well as in those
modules that generate accounting entries.
The Compiere Web Store allows an organisation to maintain and operate a web presence.
The information made available on web and in the web store is shared with the standard
application. No synchronisation or additional integration is required. The web store
components can be customised to the look-and-feel required to match an existing web site
and in addition to web store capability also provide self service functionality to enable
Business Partners to view their transactions online with an appropriate level of security.
3 Quote to Cash
‘Quote to Cash’ covers the business processes required for the creation of a quotation for a
prospect or customer, sales order management, invoicing and the receipt of cash. The
functionality is tightly integrated with Supply Chain Management and Customer
Relationship Management. In traditional systems, this functionality is likely to be found in
modules entitled sales order processing and accounts receivables.
A schematic showing the process flow from the entry of a Quotation to the receipt of cash is
shown in Figure 1 below.
3.1 Quotations
Compiere provides for the creation and printing of customer quotations based on general or
customer specific price lists. Quotations can be made "binding", in which case they reserve
inventory. Quotations can be modified at any time and when appropriate automatically
converted to a Sales Order without additional data entry.
A Sales Order is the "fulfilment control document" and from a Sales Order, shipment and
invoicing documentation can be generated automatically. In addition it is possible to
automatically raise Vendor Purchase Orders for the items specified on the sales order and
directly shipped to the customer if appropriate.
Different types of sales orders cause different business process behaviour. For example, a
“Prepaid Order” will not allow shipments to be generated until payment occurs. A “Point of
Sale” order assumes the customer is at the counter with the goods in hand and generates all
transactions including stock decrement, invoicing and payment through the entry of a single
document. A “Standard Order” by comparison, will check availability before accepting the
order then queue the order for fulfilment by the warehouse and then generate an invoice in
the next invoice run or otherwise in accordance with the invoice rules for that customer.
3.3 Shipments
Based upon the details captured on the Sales Order, one or more shipments can be
generated immediately or automatically when inventory subsequently becomes available.
Compiere automatically back orders unavailable items. Compiere can be configured to
allow shipments to be effected from the shipment documentation or alternatively provide
for a more disciplined warehouse approach by requiring explicit confirmation of picking
and/or shipment prior to the generation of invoice documentation. Confirmations can be
used to manage movements of inventory from, say, a receiving area to ‘put away’ areas from
which it then becomes available for further processing.
Invoices are generated according to the arrangements in place with the customer. Invoices
can be generated
For example, an invoice schedule could be established to arrange for the creation of a
summary invoice including all shipments to the customer over the previous day, week or
month.
3.5 Receipts
When entering a Sales Order or Invoice, the payment rules allow flexibility in the automatic
generation of receipts:
Open Items are settled by entering Payments (e.g. receiving a cheque or creating a direct
debit), creating a Cash Book entry (e.g. open invoice paid by petty cash later) or during the
process of reconciling Bank Statements (e.g. bank transfers).
4 Requisition to Pay
‘Requisition to Pay’ covers the business processes required for the creation of requisitions,
purchase orders, receipt of vendor invoices and payment processing. The functionality is
tightly integrated with Supply Chain Management. In traditional systems this functionality is
typically found in modules entitled purchasing and accounts payables.
A schematic showing the process flow from the entry of a Requisition to the payment for
the goods received is shown in Figure 2 below.
4.1 Requisitions
This workflow is provided as an indication of the way that a Document Workflow can be
setup. In the current version of Compiere Requisitions do not automatically generate
Purchase Orders. Purchase Orders are optionally automatically generated from the
processing of a Replenishment Report.
Compiere supports two-way and three-way matching with receiving and invoicing
documentation and following matching Purchase Orders are automatically closed to
minimise overhead on the PO screens but remain accessible via reports.
Material Receipts are processed by creating a material receipt record. Material Receipt
records are then matched to the Purchase Order or Vendor Invoice. Material Receipt records
can be auto-created from Purchase Orders or Vendor Invoices to avoid the overhead of
additional data entry.
Vendor Invoices are entered based on the vendor’s invoice document or may be created
from (and matched with) Purchase Orders or Material Receipts as Recipient Created Tax
Invoices. Material Receipts can also be created automatically from the vendor invoice when
the invoice and shipment are received concurrently.
4.5 Payments
Payments are generated based on payment terms which allow for payment discounts to be
optimised. Payments can be made by direct debit transactions or Compiere’s cheque
printing facilities. Payments can also be made by credit card and details can be recorded
when entering the Purchase Order or Invoice. ADAXA provides an addon to the standard
version of Compiere to provide payments in the file format required by Australian Banks.
Compiere automates the management of Open Items using a Payment Rules processor.
Depending on the payment rule associated with the vendor invoice, payments are
automatically created. Payment rules can be changed at any time to reflect changes in the
actual method of payment and in the event that it is decided to pay an invoice using an
alternative method. The following payment rules are supported by Compiere:
Cash
On Account (Payment Term)
Credit Card
Cheque
Direct Debit transfer
5.1.1 Cash
When cash is selected as payment method, an entry is automatically made in the default
Cash Book for that day.
For ‘on account’ customers the payment term defaults to the payment term in the Business
Partner definition unless another payment term is specified by the user.
Credit card transactions can be entered and processed online. The invoice is marked as paid
and the charge maintained in the system as an unreconciled payment.
5.1.4 Cheque
After selection of the appropriate bank account, cheques can be entered into the system. If
enabled, cheques can be processed online (as electronic cheques). The associated invoice is
marked as paid and the cheque maintained in the system as an unreconciled payment.
5.2 Payments
Payments (via Credit Card, Check, Transfer) are created when an invoice being paid by either
method is entered into the system or can be entered later. If a payment is for one invoice
with the exact amount, there are no additional steps. If the payment is for multiple
invoices, or if multiple payments apply to one invoice, or if a payment discount was taken
then the payment must be allocated to the relevant invoice.
5.2.1 Allocation
The Allocation process links (multiple) payments to (multiple) invoices or credit memos and
records payment discounts and receivable write-offs. The user selects the relevant
documents and then enters/confirms the difference as a short payment, discount or write-
off.
Bank Statements can be manually entered or automatically loaded from electronic details
supplied by the financial institution. Compiere provides functions to allow for the
reconciliation of in-transit payments and bank charges or the creation of payments for
direct debit transfers.
Petty cash transactions are recorded in the relevant cashbook. Invoices paid by cash are
automatically entered in the cash journal. A cash journal is created for each organisation for
each day.
The Cash Journal is processed after balancing adjustments are made by creating a new cash
journal with the correcting entries.
5.5 Charges
Charges are used in Compiere to allow the user to process non-product related costs and
revenues. Examples include freight charges, bank charges or interest. Charges are linked to
general ledger accounts. A number of charge types can point to the same general ledger
account so that a charge for “Copy Paper” and a Charge for “Printer Cartridges” could both
point to a “Printing and Stationery” natural account.
A charge can refer to either an expense or revenue item. The charge 'Freight' could be
credited to a revenue account if entered on a sales invoice or to an expense account if it
appears on a supplier’s invoice. The system determines the type based on the context. A
charge in a customer invoice is revenue; a charge in a supplier invoice is expense. A charge
with a positive amount in the Cash Book is revenue and with a negative is a cost item.
The user can define the tax status of the charge. If Vendor Invoice lines are allocated to a
charge, the tax rate defaults to the tax category defined by the user to be applicable to that
charge. Charges can be defined to debit or credit multiple GL accounts in accordance with
predefined percentage splits.
The amount of a charge can be predefined to speed data entry. The default amount is not in
a specific currency. The currency of the document determines the currency of the charge.
Customer Relationship Management is not an independent module, but a logical view of all
customer and prospect related activities. A schematic of the components of CRM and their
relationships is shown in Figure 4 below.
Customer Relationship Management functions are an integral part of the business process.
As a result, there are no batch or synchronisation processes for the back-office functionality
as is normally required with traditional CRM systems.
By utilising the tracking number, the Request creator can update information in the Request.
Request Management capabilities within CRM ensure timely response, escalation in
accordance with a defined process, timescale and closure.
Requests can also be generated based on the account status (e.g. date of last sale, overdue
payment, etc.) for customer service or sales to follow up.
Customer retention is a crucial mission for every company. Compiere supports this by
creating mailings or requests for the (tele)-sales force to follow up. Criteria for a campaign
could be last sale, sales volume, products purchased or a variety of other triggers.
To attract new customers, addresses of prospects can be imported for mailings or requests
for the (tele)-sales force to follow up.
The effectiveness of marketing campaigns can be measured by the revenue or gross profit
generated for each campaign by linking each document (e.g. Invoice or Order) to the relevant
campaign at the time of invoice creation. This information is then available within
Compiere for reporting and analysis.
Reports on revenue and gross profit of specific customers or customer groups over a period
of time can be generated using the report writing capability built into Compiere or by using
third party report writers and/or OLAP viewers.
The system allows authorised Business Partner Contacts (i.e. customers, vendors or
employees) to access the system to view or query information relevant to that Business
Partner using a web browser. The information may be used for such purposes as obtaining
information on account balances, invoices and the like and to initiate follow-ups and make
payments against outstanding open items. Self service can also be used to allow customers
to register to receive permission based marketing material for selected interest areas and to
download files such as material data safety sheets or (for example) lists of phone numbers
called supporting telephony services invoicing.
7 Partner Management
Partner Management links different clients to each other allowing them to manage lead
distribution, service requests collateral distribution and marketing expenses. It also allows
for the provision of (centralised) services and is shown diagrammatically in the schematic
below.
Compiere can be used to create leads and distribute them to Business Partners. The system
can be used to follow up and monitor progress and results.
Compiere allows Business Partners to create charge invoices directly for marketing expense
activities directly on the user’s system.
Compiere provides for the initiation and follow up and management of service and/or
warranty requests.
Compiere facilitates the management and provision of shared services (e.g. Accounting,
Help Desk, Shipping, etc.) to associated Business Partners such as franchisees. As a Service
Provider, the user has access to just the information needed for its tasks across multiple
clients and organisations.
The system can maintain central data like Products, Price Lists or Accounting Information
for all your partners. Partners can add additional entities, but cannot change the centrally
maintained elements for consistency and security. This combination of central and locally
maintained information provides for the management of a ‘network of organisations’
typically found in a franchised operation or those organisations that provide central
functions for otherwise independent associates.
This functionality ensures that GST is correctly handled between the separate legal entities
and also provides for the products to be recorded at different costs in the franchisor and
franchisee accounts. Furthermore it significantly reduces the effort involved in processing
the transactions.
The above is described in simple terms and Compiere provides additional sophistication to
allow the recipient of the goods (in this case the franchisee) to ‘confirm’ the receipt of goods
to allow for the management of goods in transit and to ensure that no invoice is raised by
the franchisor until such time as the receipt of the goods has been confirmed.
Supply Chain Management covers all material management activities including inventory
receipts, shipments, movements and counts within a Client, its organisations and to and
from suppliers and customers. The schematic representation of the process is shown in the
schematic below.
The Product Catalogue lists the user’s Products and Services with optional Bill of Materials
and Substitutes. The system allows the user to import and update purchase prices from its
vendors.
Products are organised in categories and hierarchies and can also be searched based on
attributes that apply over a number of products, for instance “find me all products that are
yellow shirts with short sleeves”.
Multiple price lists are supported for all purchased and sold items. Compiere’s purchase
price list functionality allows simple control of discounts from suppliers. The system
provides general and customer specific sales price lists. Price lists are date controlled to
allow special sales initiatives.
Compiere supports multiple warehouses with user defined locations within each warehouse
for recording stock locations in shelves and bays (Bin Locations). A physical warehouse can
be broken into multiple logical warehouses such as receiving, quality assurance and testing,
bulk storage and picking. Priorities can be set to ensure that picking takes place from bin
locations in a prescribed sequence. Inventory movements can be effected between bin
locations and warehouses. Movements between warehouses can be configured to produce
appropriate shipping documentation and manage ‘in transit’ stock.
Stock counts and stock valuation adjustments are managed by recording the difference
between the book stock quantity and the count quantity and processing any difference so
that sales activity can continue in parallel with the stock take data entry process.
Stock used for internal purposes can be easily written off to record the stock decrement and
consequent financial entries in the Financial Ledger.
The system shows ‘available to promise’, after allowing for reservations for committed
future customer shipments and expected vendor receipts.
9 Performance Analysis
Performance Analysis covers the costing and accounting dimension of the application. In
traditional systems, this functionality usually appears in modules called Reporting and
General Ledger as well as those modules which generate accounting entries. A
diagrammatic representation of Performance Analysis is shown in the schematic below.
Accounting entries are automatically generated based on rules which apply to Document
transaction types defined by the system which are able to be extended by the user. The
rules define the natural account codes for each group of transactions generated by an
accounting document. As a result most transactions are entered into the system without
the user’s staff needing to know anything about account numbers. The system also allows
for manual entries to generate additional postings (actual, budget and statistical).
Reports can be created for every type of Document in the system. The user can define the
layout, sequence, labels, format and totalling for any report and make it available for any
system user or organisation by setting the security appropriately . Report Views enable
analytical and summary reporting.
The reporting facility allows drill down to underlying elements (e.g. from order to business
partner, payment rules, etc.) or drill across to referenced items (e.g. from order to invoices,
or shipments linked to that order). This reporting facility is applicable across the entire
system allowing any information that can be shown on the users screen to be output with a
report format and content specified by the user.
For multidimensional entries, the user can select the dimensions to be used in the report.
All information able to be reported on can also be exported in a variety of formats suitable
for use in spreadsheets and word processors.. Business Views provide for reporting by
external dedicated SQL based reporting tools such as OLAP viewers. Additional Business
Views can be created or existing views extended to allow more detailed analysis where
necessary.
The system provides for the creation of user defined rules to cause amounts debited or
credited to the system by any document to be spread over multiple General Ledger
accounts.
10 Web Store
The Compiere Web Store provides a highly featured web presence for an organisation. The
information is shared with the standard application eliminating the need for
synchronization or additional integration between the web store and the back end
application. The web store components are based on cascading style sheets and can be
readily customised to provide the look-and-feel required. A diagrammatic representation of
the web store functionality is shown below.
Users are able to view and search the product catalogue. Product images and specifications
are stored for each product and can be displayed on the web store at the users discretion.
The products available on the web are able to be restricted according to the Business
Partners’ access rights and once a user has logged onto via the web store products are
ranged and priced according the pricing specific to the customer.
Hierarchies are able to be defined to limit product selection and products can be searched
by Product Category and/or Product Attributes.
Compiere enables users to add items to the Shopping Basket via the Product Catalogue or
web form request. Item quantities can be changed and items deleted from the shopping
basket. It is mandatory to sign on with secure access to retrieve stored customer
information. The payment information is then entered or confirmed. Currently, the Verisign
payment processor is supported with others due to be supported in the future. Before
submitting the payment for authorisation the credit card number can be verified for data
entry errors. This ensures that transaction fees are minimised for rejected transactions
resulting purely from erroneous data entry.
After receiving the payment confirmation, the order is created and the receipt is displayed
together with the authorisation code received from the payment gateway.
An email is sent to the person responsible for Web Orders to notify them of the order and
effect further processing..
User information can be stored and cookies enabled to allow automatic detection and sign
in. Users are required to authorise their email address to reduce the possibility of
fraudulent transactions.
10.3.2 Counter
The system monitors web requests and collects web statistics to analyse web activity and
identify visitors to the site as well as click counts.
A web user Request can be forwarded to one or more email addresses for action. A
confirmation can also be sent to the requester. The Request becomes part of the Customer
Relations Management information base.
11 Manufacturing
Compiere ERP & CRM provides elements of manufacturing insofar as it supports complex
nested Bills of Material. A BOM Product can be ‘produced’ and finished goods inventory will
be incremented and raw materials and service inputs credited.
Users with more complex requirements may wish to consider the functionality provided by
Kompiere Libero Manufacturing and Compiere MFG & SCM.
Resource Management
Manufacturing Workflow
Bill of Material & Formulas
Order Manufacturing Management
Material Requirement Planning & Forecast
Capacity Requirement Planning
Cost Management
Software with these four capabilities will enable manufacturers to effectively plan raw
material purchases, execute a manufacturing plan, receive parts, manufacture, store and ship
products in the most efficient and predictable manner possible. It will operate in a stand alone
mode or connected to an ERP.
12 Technical Overview
12.1.1 Technology
In contrast, traditional systems are often accounting driven, resulting in an information gap
which is filled by derived information or expensive ineffective bridges.
Compiere provides
multiple views of a
user’s information
based on the detail of
the actual transactions.
This structure allows
maximum flexibility
and easy integration of
supplemental external
information. As these are just views of the information in the database, they can be changed
quickly.
Compiere is a 100% pure Java solution based originally on Oracle database technology. In
February 2005 Compiere included a Database Independence Kit which has been used to
implement Compiere on Sybase and will be used in the near future to implement Compiere
on IBM DB2 and Microsoft SQL Server (refer to section 12.1.3 below).
The client application component is written in Java and is designed to utilise the capacity of
today's PCs. The Java Application or Java Applet client is the preferred choice for high data
volume and provides a high performance graphical user interface. It communicates, via thin
JDBC, with the database and via RMI with the application server. The client accesses the
servers via the Internet or Intranet.
As an alternative, an HTML client can be used, where the installation or download of the
application is not appropriate (i.e. self-service functionality for vendors, customers,
employees). This part is implemented through Java Servlets and Java Server Pages hosted in
Servlet Servers. The available functionality provides most, but not all, of the functionality
provided by the Java Applet Client.
The JMX based application server component is implemented in Java based on J2EE
technology using the JBoss application server infrastructure. Future releases of Compiere
are planned to support IBM Websphere and Oracle Application Server and other J2EE
compliant servers.
ComPiere, Inc is a technology partner of the following organisations (items marked with *
are planned for future release of Compiere):
Apache
Apache Webserver
Apache Jakarta (Tomcat, ECS and JUnit)
Apache Ant
Apple Computer
Operating System
Eclipse
Java Integrated Development Environment
Embarcadero Technologies
Development tools
IBM
Java Technology
Databases (DB2 and Cloudscape*)
Application Server*
JBoss
Application Server
Oracle
Database technology
Application Server*
Qoppa Software
PDF Printer and Viewer
Microsoft
Operating System
RedHat
Operating System
SUN Microsystems
Java Technology
Application Server*
Sybase
Database
Prior to the release of version 2.5.2, Compiere relied on database Triggers and Procedures to
provide 100% uptime. As application servers became more stable, the PL/SQL Procedure
functionality was moved to Compiere's workflow engine. The Compiere persistence engine
was extended to be able to eliminate Triggers and all PL/SQL functions were converted to
SQLJ (Java running in the database).
Compiere generates the SQL statements and parses them for security. The database
independence layer then converts the SQL to the target database notation.
The setup program packages the required libraries for deployment of application servers
and clients.
This approach eliminates the need to ‘port’ Compiere to other database engines and allows
new releases to be available on all platforms simultaneously.
Parser which converts the DML and DDL to the target database notation
Database Management/Interface Class
Database Class setup
Ant and OS scripts to create the library and perform database tasks
A database is crucial for any ERP/CRM application and users will want to select a database
based on the following criteria. You may not need all of them to the full extent and you can
compensate, e.g. by access to an experienced database administrator but the following are
matters for consideration in the choice of database:
The user’s choice of database is important because the user may experience database issues
and erroneously view them as Compiere errors. Clearly a mission critical production
environment will benefit from using a database that is well understood by Compiere
supporters.
Compiere fully supports Business Process Management (BPM) and is based on the Workflow
Management Coalition and OMG standards. In the following, we use the term Workflow to
include BPM capabilities.
In contrast to other ERP and CRM applications, Workflow is not "on top" of the application;
Compiere is based on Workflow. The Compiere Workflow Engine is Compiere's core
transaction management. That means that all processes in Compiere are automatically
workflow enabled and easy to extend and modify. As workflow is completely integrated,
Compiere workflows are easier to maintain and can provide much more functionality then
the external or ad-on workflow offerings of some other ERP and CRM vendors.
Transition between nodes can optionally have conditions. Multiple transitions from a node
allow parallel processing. This enables complex scenarios to be modelled using Compiere’s
workflow functionality.
Users can define an approval hierarchy or use the organization hierarchy defined in
Compiere.
A person responsible for a workflow can be a human (specific or invoker), a group (role), or
(supervisor) of an organization. Different persons can be responsible for each workflow
node/step.
Compiere provides dynamic priority management enabling Compiere to be used for Call
Centre routing and priority based customer support.
Users can define escalation rules resulting from inactivity and send alerts to the persons
responsible for the workflow and/or the supervisor.
Client
Java Application
Java Applet
HTML
Application Server
Database Server
A variety of configurations are supported. Where communication bandwidth allows, the Java
application client can be deployed. Secure access can be provided using a Terminal Services
approach using proprietary or open source solutions.
13 Application Architecture
Business applications change over time. They need to utilise new technology and always
need to provide additional and smarter functionality. Packaged applications must also
support additional customer specific functionality, although it is often not suitable for
integration in the core functionality (e.g., customisations and certain extensions).
Even though it is known that requirements for packaged applications are constantly
changing over time, very few applications are designed to sustain change and additions.
Business applications can have a long life expectancy and tend to provide more functionality
over time due to enhancements, so it is important to provide a framework to manage this
proliferation of complexity. If applications are not designed to sustain increasing complexity
they will become unstable as extra functionality is grafted onto the base application.
Compiere uses the following design principles in order to create a sustainable architecture:
Early versions of the Compiere architecture were designed in the mid '80s using Smalltalk,
one of the first truly object-oriented languages and environments. Other early roots of the
architecture are based on the 'Next Generation' project of ADV/Org, which was very similar
to SAP's original R/3 project.
The Application User Interface and HTML screens are generated at runtime based on rules in
the Application Dictionary. The result is a consistent User Interface, allowing users to
navigate quickly in unfamiliar application areas. This method of generating a user interface
enables rapid development and the resulting system is much more stable than comparable
applications. This method also enables screen layouts to be modified or extended and new
windows created by system administrators without the need to modify any code. Users
automatically see the “new” window the next time that they select that menu item.
The "rich" Windows Application User Interface utilises the computing power of today's PCs
and is preferable in situations where fast reaction and navigation is important. The "reach"
HTML User Interface allows to the use of the application wherever an Internet browser is
accessible. Not every function of the rich window is available via the html window however
the majority are.
The Data Dictionary knows about structure and dependencies. This allows a user with the
right access to zoom from any Pick-List to the window where the data is maintained in order
to update or enter new information. Users can enter a new customer or update existing
customer information while entering an order without leaving the original window.
The Data Dictionary allows the user to quickly access information. If more entity
information than, for instance, a company's name is required to be viewed, the ‘Info’
functionality can be invoked. For example, the Customer Info includes address and credit
line information; the Product Info includes prices, margin and availability. Info is used if the
user needs more information to make a choice and is always available. The selection can be
sorted and where appropriate, multiple records can be selected.
Users can Query records. Queries reduce the number of records in a window by allowing the
user to enter one or more selection criteria in an enhanced 'query by example' style window
tab accessible throughout the application.
A user with the necessary permission can customise Window layouts and can tailor screens
for a specific situation and client. All users can set default values in fields on their screens
to avoid reselecting commonly used values.
For most other applications, Reporting is a separate or add-on entity. Compiere's reporting
is based on the data dictionary. As the report viewer has access to the definitions, this
enables the ability to drill-down to any entity referenced and to drill-across to entities in any
report (refer to sections 13.2.1and 13.2.2 below). The links are automatically generated and
highlighted on the screen. The drill down and across functionality adheres to the security
and access definitions.
Business Views are designed for end users and allow access to information using standard
SQL based tools without the need to create SQL table joins. The majority of Business Views
are generated based on the Application Dictionary.
All reporting output can be viewed on screen before sending it to a printer or generating
files in many different formats (e.g. Excel, HTML, XML, Word and PDF).
13.2.1 Drill-
Drill-down
When drill-down is used, a new report is generated based on the entity selected. In an order
report, for example, it is possible to drill-down to the order lines by double clicking on the
order header line.
13.2.2 Drill-
Drill-across
Drill-across allows the user create a new report where a specific entity is used. For example,
in a Product report a user may select a specific line (product); then drill-across to an Order-
Line or Invoice-Line Report to display only the lines, where that product is referenced.
Lists are based on Window information and multiple reports can be generated for each
window in the system. Any of these reports can be initiated from within a particular window
or alternatively placed on the menu with selection parameters defined by the system
administrator.
Reports are used to display summarised information which are based on Report Views.
Compiere differentiates the 'view' from the 'model'. A number of standard views are
provided but additional views of the data can be created with a user-provided SQL Select
statement. In contrast to other applications, the user doesn't need to resolve foreign key
references (which require knowledge of the data model) or worry about data security since
Compiere automatically resolves these issues.
Few people agree on how each report should look. Compiere allows the user to define
reports at the System, Client, Organisation or User level:
Report columns
Column order
Report sorting
Column heading
Sums, counts, minimum, maximum, mean, deviation and variance (for
numeric columns)
Grouping
The language of the report is based on the user's language selected at logon time. Each user
can have a different language. The structure of the report is copied from the lower of
System, Client, or Organisational level.
Data selection is via Report Parameters entered when initiating the report, or via the
advanced Query panel allowing the user to enter criteria in an enhanced 'query by example'
style.
13.3 Safe-fail
Usually applications are designed to be fail-safe. It is assumed that everything works and all
data is entered correctly and is consistent. In the case of failure, experts have to search for
the cause and check for damages. The user usually notices the problem some time after it
has occurred. The reality is that applications do sometimes fail.
As an example let’s say the substructure of the transaction to sell a product over the
counter is as follows:
Post
To have ten or more transactions rather than one or two may seem to look like overkill, but
it is actually faster and much more reliable than the standard approach:
When committing, only two sub-transactions are performed, the material and invoice
transaction. This ensures a fast return, so that the user can continue with entering the next
transaction. The remaining sub-transactions are scheduled, optionally batched and are
executed asynchronously in parallel on the server at predefined intervals. This allows the
deployment of load-balancing rules to ensure fast online response.
Each transaction only performs one task. This is easier to stabilise and the impact of failure
is isolated and easy to identify.
Additional functionality is much easier to implement. The cost of adding new functionality
in Compiere is much less than in many other applications.
The user can continue working with little restriction if the main transaction (e.g. inventory
adjustment) is successful. The remaining transactions can be generated, after the underlying
problem has been fixed.
As applications become more complex with ever growing combinations, the possibility of
error grows exponentially. Compiere provides an extensive validation framework and if that
fails, it isolates the problem ensuring high availability of the core functions.
Compiere provides comprehensive, yet flexible security to meet the users’ needs. Function
security is based on User Roles which control access to Windows, Reports and Processes.
Data security for Client and Organisation information is maintained at database level
through the security context. This is an additional level of security after the normal
database user login. Before accessing any data the user must login via a stored procedure
with application username, password, role and optionally the user’s language preference.
All passwords are stored in encrypted form.
It is difficult to talk in general terms about the security in applications and the following is
intended to provide a brief overview of the flexibility and power of the security functionality
in Compiere.
13.4.1 Roles
The first level of Security in Compiere is defined by Roles. Users are able to logon to
Compiere with a specific Role. A User may have many roles but is granted access to
Compiere based on the single Role selected at login.
Roles define the first level of Security, the Organisations, Windows, Processes, Forms,
Workflows and Tasks (hereafter “Entities”) that the User can access. The User does not see
menu items that they cannot access.
Roles also define the actions that a User can perform in the Entities they can access by Role
Control.
The Role definition allows a series of actions to be enabled or disabled for the particular
Role.
Show Accounting checkbox - allows the Role to access the Accounting tabs
on windows The Accounting tabs allow modification of the GL accounts
which transactions generated by Documents such as invoices, goods receipts
and payments post to. The Show Accounting checkbox also controls the
display of the Posted/Not Posted button on Documents which allows the user
to force immediate transaction posting rather than batch processing of
transactions. It also controls access to the Account Info window which allows
the display of accounting information which would usually be restricted.
Can Report checkbox - allows the Role to have the ability to execute reports.
Can Export checkbox - allows the Role to have the ability to export data. A
Role must have the ability to Report to be able to Export.
Personal Lock checkbox - allows the Role to Lock records so no other Role
can access them.
Personal Access checkbox - allows the Role to access Locked records
regardless of the Role that locked the record.
Read Only checkbox - controls whether the Role is allowed to update
records.
Dependent Entities checkbox - controls whether access should also be
restricted for other screens and processes that use this record such as
allowing someone dealing with Payments Terms to be able to see Orders,
Invoices, etc. where any Payment Term is used.
Overwrite Price Limit – Controls the ability to override any price limits when
entering orders or invoices
Maintain Change Log – Determines whether or not the system will maintain a
log of changes made by users of this role
Access all Orgs – Controls access to organisations. If this box is not checked
it is possible to restrict access to the organisations assigned to the specific
user.
Preference Level – Controls the ability of users of this role to set preferences
at the Client, Organisation, Window or User level.
The second level of Security in Compiere is Role Data Access. For a given Role and its
privileges, the security can be further refined by defining access for specific tables, columns
or records. For example:
Specific Users may only create Sales Orders with Payment Terms of
“Immediate”; they are not allowed to offer Credit Payment Terms.
Preventing Users from using specific accounts in GL Journal or to see the
balances for these accounts.
If the Role has Personal Lock enabled a padlock icon appears on the toolbar: The lock in the
open position indicates that this record is open to all users. The lock in the closed position
indicates that this record is open to only the user who locked the record and those users
whose role has Personal Access enabled.
Compiere has many levels and types of help and support functionality. Some is intended to
help the user and other parts are intended to help the support person attempting to assist
the user.
Compiere provides on-line, context-sensitive help for each field on each screen. Hovering
over the field name on a window displays the abbreviated help for that field. Users can also
mouse click on the HELP button on the toolbar to be provided with access to more extensive
help.
The abbreviated and longer help messages are stored in the Active Data Dictionary with the
details of the field that the help relates to and the text can be changed or extended by any
User with the necessary privilege.
In addition, clicking on the HELP button on the ribbon menu on the top of the screen
displays two further help options.
The first is on-line help which opens an internet browser screen which points to a website
where additional help information may be stored in a web-server managed by the User
organisation which could contain procedural manuals and the like for the organisation.
The second help option button creates an email to the User organisation’s nominated
support person or group from the user. The email contains the full information about the
user’s application/system environment and information about the task being performed
when the query was created. This information provides the support person with the context
of the user’s action which has caused the support request.
In addition to the above, in the user preferences there is a variable “trace level” indicator
which controls the granularity of logged information.
13.6 Scalability
The design of Compiere provides for the de-coupling of document posting processes so that
data which requires instantaneous update is posted separately from less urgent transactions
such as, say, matching a payment and an open-item invoice
Compiere users are not required to “post” the financial consequences of transactions to the
system since the application server periodically (under administrator control) sweeps and
posts all un-posted transactions.
The de-coupling of time-critical postings from less time-critical postings allows background
tasks to occur without affecting more urgent tasks. Transaction de-coupling is the basis for
this capability.
14 Information Architecture
14.1.1 Multi-
Multi-Organisation and Service-
Service-Centre
Compiere was designed to maintain different organisations and supports three entity levels
as follows:
System
Client
Organisation (and its associated hierarchy)
System level data is mostly infrastructure information, but can also include system-wide
business partners, products, accounting schema(s), etc. The system level is equivalent to the
database installation. Compiere provides tools to synchronise different systems.
Client level data defines information and accounting structure for an entity (or group of
entities) as well as common business partners, products and then like for that entity.
14.1.2 Multi-
Multi-Currency
Multi-Currency transactions
Ability to transact in other than the users accounting currency
Ability to revalue transactions due to exchange movements
(Bank) Accounts in other than accounting currency
Multi-Currency reporting
Ability to translate Accounts Receivable and Accounts Payable transactions or
balances for reporting purposes
Multi-Currency accounting
Ability to account for transactions in parallel in different currencies
Some currencies such as the Euro require certain precision and rounding rules and countries
like France require special handling of rounding differences.
Compiere provides full support for all aspects of multi-currency functionality (e.g. price
lists, preferred customer currency, etc.), and there is no need to copy or replicate
transactions. A transaction may have one or many accounting currencies. Starting,
switching and discontinuing a currency is easy due to lack of a primary accounting
currency.
As trade becomes more and more global, multi-currency features become important. Most
applications provide support in this area but with significant restrictions that are avoided in
Compiere.
14.1.3 Multi-
Multi-Accounting
An entity may be required to account in multiple, parallel accounting standards due to any
combination of the following:
Usually, a Set of Books is defined as a set of transactions with the same Chart of Accounts,
Calendar, Accounting Currency, Accounting Standard and Costing Method. In some
situations, it is sufficient to convert or translate a Set of Books to another Set of Books. For
most competing applications, this is the only option. There are situations, where this is not
sufficient due to:
Most applications replicate transaction data to be able to support the different accounting
dimensions.
Chart of Accounts
Accrual or Cash-based
accounting
Accounting standard
Costing method
Accounting currency
Note, that in contrast to a Set of Books, a Calendar is not directly part of an Accounting
Schema, as multiple calendars per accounting schema may exist. The calendar is reduced to
In contrast to most other applications, Compiere differentiates transaction and the resulting
accounting consequences with the following benefits:
14.1.4 Multi-
Multi-Tax
Compiere supports Sales Tax and Value Added Tax, including multiple taxes where a tax is
charged based on say, a product cost plus a state based tax (e.g. for Canada). The tax engine
determines the correct tax, its amount and date based on the following:
Transaction time
Product category
Ship from/to location
Invoice from/to location
14.1.5 Multi-
Multi-Costing
Using different costing methods (Standard, Average) can result in different financial results.
Compiere supports using more than one costing method, e.g. for legal accounting and
business decision-making.
Standard Costing
Actual Costing (Average)
FIFO
LIFO
(Average, FIFO and LIFO costing methods are not implemented in version 252d but
scheduled for release in a later version of 2.5.2 provisionally planned for release in the third
quarter of 2005).
As at June 2005, Compiere’s costing methods are being substantially extended. Please
contact ADAXA if up-to-date information on costing methods is required. The comments
below relating to costing methods includes improvements scheduled for release in the
second half of 2005.
Standard Costing
In Standard Costing, the system maintains a standard cost and accumulates the differences
between actual costs and standard costs over time. Due to changing prices, it is necessary to
set new standard prices periodically. The new standard price can be set manually or from
sources like:
When an item is received, it is posted with the standard cost price. When the matched
invoice is posted, the difference between the standard price and the actual price is posted to
a standard cost differences account. If product related credit memos or early payment
discounts are received later, or realised currency gain/losses occur, these amounts are also
posted to the cost difference account. The balance on that account reflects how closely the
standard cost price matches the actual costs.
Actual Costing
The actual cost price is adjusted when products with changed costs are received.
When an item is received, it is posted at the actual cost price. If there is no current actual
cost price, the standard cost price is used, or if that does not exist the purchase order price
is used. When the matched invoice is posted, the difference between the cost price used and
the actual price is posted and the costs are adjusted. If product related credit memos or
early payment discounts are received later, or realised currency gains/losses occur, these
amounts are also posted to the product account.
One major issue in actual costing is correcting the costs if the product has been sold before
receiving the invoice. Presently, Compiere does not retroactively adjust the costs used in
the receipt and sales transaction, but adjusts the actual cost price for future use.
With effect from the release of the enhanced product costing version, additional product
costing options such as LIFO and FIFO will be supported together with the use of average
costing for accounting purposes as well as the recording of averages as performed in earlier
versions.
Screens
Reports
Messages
Seed Data (e.g. status information like Open/Close, etc.)
Transactions
Many applications allow the translation of Screens, Reports and Messages, but few allow the
translation of seed data and even fewer, the translation of transactions.
Finally, the system must have the ability to create documents in the language of a customer
or vendor.
Very few applications support this because it requires printing the translated word for
'Invoice' as well as providing for different address formats, description of products, etc. (see
also Multi-Currency for business partner specific currency).
Compiere allows users to translate all elements, allowing different users to have their
screens and reports in their language and whilst allowing documents to be printed in the
format and language of the customer or vendor. Dates and address formats are also printed
in the format specified for the country of destination.
As the translation is dictionary based, the translation is much more consistent than other
applications with different tool-sets for translating the different elements.
Most applications do not allow any change mid stream or alternatively a change requires the
same effort as implementing the system from scratch.
Compiere provides for the addition, change or deletion of information dimensions at any
time. The underlying OLAP (Online Analysis Processing) structure is maintained
automatically.
Organisation
Owning (balance sheet
organisation)
Transacting (executing
organisation or service
centre)
Natural Account
Project
Marketing
Channel
Campaign
Compiere allows the user to define additional dimensions. These dimensions can be
validated via lists or table lookups.
All dimensions allow the definition of Trees. These summary levels allow the user to reflect
the organisation structure or the balance sheet and income statement positions in a logical
tree structure. Changes to the tree structure are possible at any time and are reflected in
the data structures immediately.
Every information dimension has a primary tree and can have additional summary trees.
This may be required if it is desired to maintain the 'old' and 'new' structure for comparison
- or if it is necessary to support different parallel business partner hierarchies, e.g. one by
Industry, another by category (wholesale, retail, consumer).
Many applications do not have the ability to structure information dimensions, which
results in unnecessary data entry and overhead. For example: if a user wants information on
branch and division levels and divisions are made up of branches, the user may have to
enter the two fields branch and division and define rules, so that users cannot enter a wrong
branch for a given division and vice versa.
Data entry needs to be as efficient as possible, which is equivalent to entering as few fields
as possible. Compiere provides a framework, which derives information automatically from
the transaction context to minimise the amount of data that the user needs to enter. Users
can also select choices.
This is a significant advantage over other applications. For example, the Order Entry
functionality is not usually 'aware' of the information needs of Customer Relationship
functionality, this results in information that is not available or needs to be derived from
existing data with subsequent loss of required detail.
Getting the information right from the source is a tremendous benefit. But, if the
information is not needed, the user is not asked.
For reporting purposes, the user can slice and dice any combination of information
dimensions. For all transactions the source and accounting currency information is
maintained in addition to unit of measure and quantity.
Users can view financial results by Business Partner and Region or Product Group and date
or period.
The information required for a business decision is often not found in traditional
accounting systems, so additional data warehousing systems maintain parallel data to
accommodate this need. Compiere is based on a data warehousing architecture to allow
flexible reporting.
Compiere maintains both the accounting and transaction date. This is required for revenue
recognition rules of service contracts or if the costs were for another period (eg. next year's
rent). If it is necessary to account using different accounting principles (e.g. accrual and
cash based), the accounting periods can be different. Reporting can be based on either view.
This bottom-up approach also allows meeting the Italian, French and Latin-American
accounting requirements without artificial constructs. As the generation of accounting lines
is rule based, no superfluous accounting lines are generated. Compiere makes the
accounting easy to understand and reconcile. It even reconciles differences between
disparate accounting methods (e.g. cash and accrual based or using different costing
methods).
In the majority of applications, the developers have to design, code and test every screen.
Compiere uses the more advanced concept of a central active data dictionary, also called
information repository to simplify this task.
The Data Dictionary is user-extensible and can include user specified rules and information.
This enables authorised users to add new tables and new screens and additional fields to
existing screens. All added items are automatically able to be listed and reported using the
standard reporting functionality available throughout the whole application.
15.2 Customisation
The Menu Bar allows the user to save any entry in the menu (Window, Process,
Report) as a short-cut.
Terminology can be changed. Examples are: if users don't have 'Products', but 'Items'
or if 'Organisation' is called 'Branch', etc.
Help Text can be modified and extended by the user to provide hints and help texts.
15.4 Interfaces
If the internal reporting facilities are not sufficient, third party SQL based tools can be used.
Compiere provides business views which resolve all foreign key references and are therefore
'ready to use'. There is no need for data model knowledge or the development and
maintenance of catalogues for the use of third party tools.
Excel
HTML
XML
Text
PDF
PS
Word
Business OLAP Cubes
Compiere allows exporting of OLAP data to Excel Pivot tables and selected OLAP tools for
further analysis.
Compiere imports data from XML, fixed records, etc. There are predefined formats, but
users can also define their own record formats.
15.5 Extensions
If the information structure is not sufficient, users can add fields to any record with its
presentation and validation rules. Data entry can be made mandatory, if certain conditions
apply. The entry validation can be based on lists, tables or functions like callouts.
15.5.2 Scripting
Compiere Scripting allows the user to extend the functionality using Java syntax. It is also
used for conversion.
15.5.3 Call-
Call-out
Functional extensions are implemented via 'callout' technology. Clients can provide
additional functionality in Java or even native C functionality, e.g. for additional validation
or data feeds. Callouts can be invoked before or after data entry in any field. Compiere
ensures that callouts cannot crash or corrupt the system.
15.5.4 Rules
The advanced user can extend and in certain areas modify the rule base. Rules are organised
in packets making sure that transaction integrity is maintained. Rule extensions could be
used for generating statistical entries or special reporting needs.
Currently, rules are used for creating accounting transactions and for pricing.
15.6 e_Commerce
Compiere provides interfaces according to the OAGIS (Open Applications Group Integration
Specification). The interfaces are implemented in XML or via Interface Tables.
The Open Applications Group is a non-profit consortium focusing on best practices and
processes based on XML content for eBusiness and Application Integration. It is the largest
publisher of XML based content for business software interoperability in the world. Open
Applications Group, Inc. members have over 5 years of experience in building this industry
consensus based framework for business software application interoperability and have
developed a repeatable process for quickly developing high quality business content and
XML representations of that content. Members include SAP and Oracle.
Compiere supports OFX (Open Financial Exchange) transactions. Open Financial Exchange is
a unified specification for the electronic exchange of financial data between financial
institutions, business and consumers via the Internet. Created by CheckFree, Intuit and
Microsoft in early 1997, Open Financial Exchange supports a wide range of financial
activities including consumer and small business banking, consumer and small business bill
payment and bill presentment.
Compiere provides interfaces according to the OAGIS (Open Applications Group Integration
Specification). The interfaces are implemented in XML or via Interface Tables.
Title of Document:
Compiere Overview
This document contains an overview of the Compiere ERP & CRM system for the sole
purpose of enabling the target audience to gain an understanding of the functionality
and architecture of Compiere ERP & CRM system. It is not warranted that this document
is error free. The majority of the information has been compiled from the information
published on the Compiere Website (www.compiere.org). It is recommended that readers
refer to the up-to-date version of this information on the website to confirm the currency
of the information contained in this document.
Indexing Terms:
0.2 14-09-2003 Review of initial draft to correct structure and grammatical errors
252d 04-07-2005 Updated to reflect many of the changes in Compiere Version 252d
1 This document was prepared for the purposes set out herein. Responsibility is disclaimed for
any loss or damage (including but not limited to damage resulting from the use by the reader
of the document) suffered by any other person for any reason at all including but not limited
to negligence by ADAXA Pty Ltd. Whilst this document is accurate to the best of our
knowledge and belief, ADAXA can not and does not guarantee the completeness or accuracy
of information contained herein.
2 This document is based on copyright information sourced from the compiere.org website.
Information sourced from the compiere.org website is copyright in accordance with the terms
detailed on the www.compiere.org web site. All additional material is copyright to ADAXA Pty
Ltd.