4. Accounting, commercial & production suite for
micro and small enterprises or medium enterprises
with basic requirements
It also offers basic functionality for purchasing, sales
and inventory management
Functionality and user interface can be tested
online
Migration scripts for upgrading from Quickbooks
and gnuCash also available
5. Accounting data is stored in a SQL database server, for
the display any text or GUI browser can be used.
SQL-Ledger is platform independent and runs on any
*NIX, Mac or Windows computer.
It can be accessed remotely so people can be in
different parts of a city, country or across the world.
The assembly feature can be used to build
manufactured goods from parts, services, labor units
and assemblies.
When the assembly is sold all the accounts linked to the
individual items are updated and stock levels adjusted
accordingly.
6. 1. Customization
Can be customized with external Perl modules and used
like a framework
Code has to meet defined calling conventions and main
core needs not to be modified
External module customizations apply on global or on
user level
Sophisticated meta data customization without special
programming skills is not provided
Layout for GUI and reports can be changed with
templates
7. 2. Flexible upgrades
Depends on degree of customization
When using external script approach, updates are
not a problem
3. Internationalization
Language preference, comma and date formats
can be configured on user level
4. User friendliness
Intuitive GUI
8. 5. Architecture
3 – tier web architecture
Web-based Perl program that interfaces with
PostgreSQL using the relevant Perl modules
The code is well partitioned, and the main
operation modules are written in an object
oriented way.
Software stack -
9. 6. Scalability
Very scalable
Two concurrent users can constantly (and rapidly)
add financial transactions and run into one query
that needs to be rewritten to accommodate
their performance needs over a space of more
than a year.
With the right expertise, SQL-Ledger could be
scaled up indefinitely.
7. Security
Access is controlled on user level
Administration can grant several functionality
groups per module to a user
8. Interfaces
CGI, SOAP, La Tex
10. 9. OS independence
Independent and runs on any *NIX, Mac or
Windows computer
10. DB independence
Mature open source database system, for data
storage, although already using Oracle or DB2,
these databases can also be used with SQL-Ledger
if preferred
11. Programming language
Perl
11. 1. Support infrastructure
FAQ and installation instructions on the download
page for various platforms available for free
user and several active regional mailing lists on
which the developer pops in occasionally with his
inputs.
Uses mailing list where there are questions &
comments of other users, that is active and
helpful.
Online demo
12. 2. Documentation
289 page manual
Commercial development support contract
The developer appears negative towards
community-based documentation, to buy theirs
Community based documentation does exist to
some extent however it should not be relied on as
it may be incorrect.
13. 1. Project structure
Run by DWS Systems Inc. , Canada & backed by
partners that provide customization & integration
services
Partners located in Australia, Belgim, Italy,
Swizerland, Netherlands, U.K & U.S.A
2. Community activity
150 – 300 mails a month
14. 3. Transparency
Planned features and their progress are documented
Bug tracking and versioning systems are not public
Developer support is offered on a commercial basis
4. Update frequency
Regular
15. 1. Development status
Stable
2. Reference site
Many reference site available
Its Web site has only very superficial information
There are a couple of helpful third-party Web sites,
but none with a great deal of detail
16.
17.
18. Most popular ERP system nowadays
Active community ( more than 900000 downloads)
Targeted to small and medium companies operating in
distribution/ retail and service areas
Most system released under GPL, professional Edition
available(purely proprietary)
Functions: purchasing, material management & order
management ( few manufacturing functions)
Functionality is organized along business processes:
- Quote-to-cash covers whole process from 1st
customer contact, pre-sales, sales and order actvities to
cash receive (strong CRM funtionality)
- Requisition- to-pay covers whole supplier process
from request, purchase order, request to payment
19. • CRM is integrated into other modules(not separate)
• Performance analysis covers accounting &
controlling
• Production currently in beta state and reference
customers are missing
• Web store delivers basic shop system (integrated
into other ERP system)
• Service management and basic project
management functionality available
20. 1. Customization
Allows meta based customizations on the fly without shutting
down system
Metabase is stores on the database in 114 tables called
Application Dictionary
Can be modified with Compiere client having administrator
rights
To create a new window database structure must be defined
first
GUI consists of a window with several tabs and fields &
corresponding database elements
21. Windows GUI structure input handling and validation, print formats,
default accounts, process buttons, menu structure and callouts are
defined in Application Dictionary
Modifications generate model code
For lower level customizations this can be extended with callouts,
document process workflows and SQL stored procedures
Callout can change values of all fields in a window and access all
tables
Further customizations are done following patterns followed by
Compiere
2. Flexible Upgrades
Commercial migration tool supports high-level customizations done via
application dictionary and callout functions
For changes in core code flexibility depends on patterns used
22. 3. Internationalization
GUI & reports are translated into English, Chinese,
German, Spanish, French, Italian & Dutch
Translation efforts in 26 languages
Accounting schemes available for US, Spain, Italy, &
Germany
Supports multiple sites by providing 3 entity levels
› System level (accessible by all organizations)
› Client level(multiple accounting schemes for single
client)
› Organization level(lowest level where transactions
are performed, virtual organizations supported)
23. 4. User friendliness
Tabbed layout
Supports a subset of rich GUI
Ex. Master views are not possible on one screen
Users complain of bad look and feel
5. Architecture
Mixture of fat client 2-tier & 3-tier architecture
Uses fat Java Client
Accounting engine is on application server
Thin web clients are used for web store and some
CRM functionality
Beta thin client serving all forms
24. 6. Scalability
On DB side
Application is mostly 2-tier based and thus depends
on DB scalability
Used application server supports clustering
No cluster installation is documented
Scalability is not proofed, but the used components
are known to scale well
25. 7. Security
Compiere provides a complete application-level security infrastructure,
supporting role-based security, data security, data encryption and auditing.
fully equipped with an application to implement security policies that protect
valuable corporate data from inappropriate or unlawful access.
Role-based Security
- Each User account is associated with one or more roles.
- Roles are used to secure access to both data and functionality. An
inheritance-based model is used to grant or revoke privileges according to role.
Data Security
- Robust data-level security is applied using Roles to restrict read and write level
access at the record or field level.
- With data security you have the ability to automate internal controls using
precise access rules, ensuring appropriate governance checks and appropriate
segregation of duties for transactions.
security policies are in your control.
26. Auditing
- Compiere provides the ability to audit any transaction in the
system, including changes to the
Active Data Dictionary (metadata).
- New transactions, changes to existing data and even queries of
specific records and fields can be
tracked in the audit log.
- The choice of how restrictive or open your
27. 8. Interfaces
Emails can be sent and files can be attached to
documents
Built- in reporting engine
CSV export-import of data is provided by the
commercially available migration tool
Other interfaces can be developed in Java using
APIs
9. OS independence
Independent and runs on any Linux/Unix, Mac or
Windows computer
28. 10. DB independence
DB abstraction layer is very SQL-centric
Some open source DB’s are available as Sourceforge
side projects, but they are neither supported nor
tested
Sybase also supported
Runs under the Firebird database using
the Fyracle extensions, without porting SQL code for
PostGreSQL was translated manually
11. Programming Language
Java
29. 1. Support Infrastructure (support services, support request, support
service exclusions)
Provides various levels of support
Support Services will be provided to customer's Authorized Users only
on unmodified versions of the Software
Uses reasonable commercial efforts to respond to the Support
Request within the Response Time specified in the Support
Agreement
Except if expressly provided, Compiere provides the support services
and software to customer and the authorized users "as is.“
Customer agrees that as a condition of Compiere's providing the
Support Services, Customer shall migrate to the most current version
of the Software at least once per year using Version Migration
Services to enable & provide effective ongoing support.
30. 2. Training
User & developer training
Implementation Technique Documentation Pack
Development Technique Documentation Pack
Tutorial Video
Online Q & A
3. Documentation
User manual consisting of 850 pages
Little developer documentation is available
Auto generated API documentation in Javadoc
format is minimal
Instructions on Community maintained developer
documentation( 36 pages) & Developer forums
31. 1.Product structure
Company driven project, led by Jorg Janke
(based in Portland, US)
Concentrates on development, second level
support & training
Project management, planning and execution
No implementation services no competition with
partners
More than 70 partners sell consulting & consulting
services in at least 25 countries
They determine development priorities
Track costs associated with multi-phase projects
across your business solution.
32. 2. Community activity
Active user community
Responsive forums
About 500 forum messages a month
Support requests, bugs & feature requests tracked
separately
3. Transparency
Project roadmap & detailed change log available
Public services for bug tracking & change requests
Public CVS access
33. 4. Update frequency
Regular
5. Other lock-in effects
PDF generation & migration tool need license
Customers with support contract have access to
installable fixes & patches
They get priority support & optional embedded
Oracle license
34. 1.Development status
Stable
Manufacturing and full web client in beta status
2. Reference site
Many reference sites available
Partners have customer cases on home page &
more details are provided during contracting
phase
Few are presented on an open source conference
Own Web site has accurate information
Helpful third-party Web sites
Editor's Notes
Ledger runs in a Perl interpreter. I do not currently know if it is possible to run it with Perl2C or other language converters to run in other environments. However, except for high-capacity environments, Perl is a good language choice for this sort of program. SQL-Ledger used to support DB2 and Oracle as well as PostgreSQL. However, currently some of the functionality is implemented using PostgreSQL user-defined functions. These would need to be ported to other database managers in order to make the software work on these. It should not be too hard, but the fact that it has not been done yet may mean that there is no real demand for running the software under other RDBMS's. One can substitute other web servers for Apache. Normally SQL-Ledger is run as a CGI program but it may be possible to run it in the web server process (note that this may not be entirely thread-safe). The operating system can be any that supports a web server andPerl (since PostgreSQL need not run on the same system). However, there are a few issues running SQL-Ledger on Windows (most notably in trying to get Postscript documents to print properly). On the client side, any web-browser will work. Currently, the layout is different for Lynx (which doesn't support frames), and the layout is not really useful under eLinks (the replacement for Lynx which does support frames). Some functionality requires Javascript to work properly, though the application is usable without these features.
The Compiere Web architecture dramatically improves ERP user experience. It is an example of the latest generation of Rich Internet Applications (RIA) that utilizes Ajax (Asynchronous JavaScript and XML) technology to deliver functionality, usability, responsiveness and personalization through a Web browser.
Role based- for example, everyone assigned to accounting roles are granted view-access to account balances, but only the users assigned the role of CFO can change the chart of accounts. Data security- For example, a data security policy can restrict sales representatives from viewing sales invoices from outside their territory. A different data security policy would enable accounts receivable staff to process sales invoices from all territories, but restrict them from changing prices. Auditing - For example, if an administrator changes a user's role, a security policy or a field on an order screen, those changes can be logged and audited.
Support ServicesCompiere provides the Support Services at the level of support selected in the Support Agreement for the Authorized Users. If the number of Users exceeds the number of Authorized Users, Customer must promptly provide a written report to Compiere of the number of actual Users who are not Authorized Users and immediately shall purchase such additional Support Services so that Customer has paid the relevant fee so that all Users are Authorized Users. Customer shall be responsible for any act or omission of Customer's Authorized Users and their compliance with all of the terms of the Support Agreement. Any action or breach of the terms of the Support Agreement by any of Customer's Authorized Users shall be deemed an action or breach by Customer.Support Services will be provided to Customer's Authorized Users only on unmodified versions of the Software. Each Compiere Subscription Agreement and Licenses covers one System and additional fees shall be due for each additional System. Compiere will use reasonable commercial efforts to respond to the Support Request within the Response Time specified in the Support Agreement. Compiere warrants that the Support Services will be performed with reasonable care and skill. If Customer believes that the Support Services have not met this standard, Customer shall promptly report such failure to Compiere (but in any case no later than thirty (30) days after such failure). Customer's sole and exclusive remedy, and Compiere's entire liability for a failure of the foregoing warranty, shall be for Compiere to promptly re-perform the Support Services free of charge so that it conforms to the foregoing warranty.EXCEPT AS EXPRESSLY PROVIDED IN THIS SECTION 1, COMPIERE PROVIDES THE SUPPORT SERVICES AND SOFTWARE TO CUSTOMER AND THE AUTHORIZED USERS "AS IS." COMPIERE DISCLAIMS ALL OTHER WARRANTIES OF ANY KIND, WHETHER EXPRESS OR IMPLIED, INCLUDING, WITHOUT LIMITATION, THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT OF THIRD-PARTY RIGHTS, AND ALL WARRANTIES THAT MAY ARISE FROM COURSE OF PERFORMANCE, COURSE OF DEALING OR USAGE OF TRADE.Customer agrees that as a condition of Compiere's providing the Support Services, Customer shall migrate to the most current version of the Software at least once per year using the Compiere Version Migration Services to enable Compiere to provide effective ongoing support.Support RequestsBefore submitting any Support Request to Compiere, Customer agrees to review the Documentation, try to replicate the Error in an unmodified version of the latest release of the Software, and research other support requests and bug reports available at www.compiere.com. If Customer has modified the Software, Customer must inform Compiere about the nature and extent of the modifications. Compiere may elect to provide Customer with support for Errors which Compiere reasonably believes are due to Customer's modification of the Software subject to the payment of a Support Request fee set forth in the Support Agreement.The Authorized Representatives must have received training on the Software as specified in the Support Agreement within six months of the earlier of (i) the Effective Date or (ii) an individuals' appointment as an Authorized Representative after the Effective Date.To be eligible for support services, the hardware on which the Software is installed must meet Compiere's minimum configuration requirements.Support Service ExclusionsNo Support Services will be provided for Software that is modified by anyone other than Compiere; problems caused by accident, neglect, misuse, or improper programming by Customer personnel; failure or fluctuations in electrical power or hardware equipment; or failure of Customer to fulfill its obligations under its written agreements with Compiere. Support services do not include services required due to a malfunction of equipment or software not supplied or maintained by Compiere.DefinitionsThe capitalized terms in the Agreement shall have the following meanings:"Affiliates"means any entity which is controlled, controlling or under common control with a party. For the purposes of this section, the ownership of fifty percent (50%) or more of the voting securities of an entity shall be deemed to be control."Authorized Representative" means the person or persons designated by Customer to communicate with Compiere about Errors and submit Support Requests. Authorized Representatives may be changed by Customer at any time upon written notice to Compiere, but such new Authorized Representatives must promptly comply with the training requirements for individuals."Authorized Users" means the number of Users set forth on the cover page to the Support Agreement as amended from time to time and for which Customer has paid the appropriate fees. All Users of the System must become Authorized Users. The failure to pay the appropriate fees when due is cause for termination of the Support Agreement."Error"means a reproducible defect in the Software that causes the Software not to operate substantially in accordance with its Documentation."Error Report" means the report of an Error by the Authorized Representative which is not a Support Request. Compiere will determine whether a communication is an Error Report or a Support Request."Intellectual Property Rights" means the copyrights, patents and trade secrets owned by Compiere. Intellectual Property Rights does not include trademark, service marks or domain names."Internal Business Purposes" means the internal business purposes of Customer and Customer's Affiliates. It does not include providing services to Third Parties which can be done under the terms of a separate ASP License Agreement."Production System" means a single installation of the Software running with a single database schema for operational purposes owned or controlled by Customer in a production environment."Response" means Compiere's acknowledgment of a Support Request received from Customer's Authorized Representative."Response Time" means, for any single Support Request, the elapsed period measured from the time that Customer's Authorized Representative initiates the incident until Compiere provides a Response."Software" means the Compiere ERP and CRM Smart Business Solution software existing on the Effective Date and the Updates, if any, provided by Compiere. Software does not include Third Party Software."Subscription Period" means the Initial Term and any Renewal Term except as terminated in Section 9."Support Agreement"means the agreement between Compiere and Customer for Support Services."Support Request" means a request communicated by Customer's Authorized Representative to Compiere using the designated procedure to request assistance with the product. An Error Report is not a Support Request. Compiere will determine whether a communication is an Error Request or a Support Request."Support Services"means the services provided to Authorized Users defined in the Support Agreement and at the level selected on the cover page."System" means a Production System. The System shall also include a temporary transfer to another computer in the event of a computer malfunction of the computer from the original System. The Support Agreement will cover a single Production System. If Customer adds another Production System or makes the Software available to any entity not classified as an affiliate, it will need to execute additional agreements."Test System"means a single installation of the Software running with a single database schema in an environment for test or quality assurance purposes which is owned or controlled by Customer. A Test System cannot be used for production purposes."Third Party" means an entity or person who is not Compiere, a Compiere Affiliate, Customer or Customer's Affiliate."Third Party Software" means software licensed by a Third Party."Update"means any error corrections and/or updates to the Software made available to its licensees by Compiere. The definition of Updates depends on the Support Service Level that Customer has selected as defined in Exhibit A."Users" means any individual who has one or more roles and can login to use the Software on a particular Production System and shall be limited to employees and contractors of Customer and Customer's Affiliate(s); provided however that Customer has the obligation to impose the conditions of use in the Support Agreement on any contractors and Customer is responsible for Customer's contractors' compliance with the terms of the Support Agreement. Users also include any employees or contractors accessing the Software through external computer programs or generating transactions through electronic devices. Users are counted for each Production System using the Software to which they have access. For example, the same employee having access to two Production Systems must be counted as a User for each System under each Agreement (i.e. a Customer with two Agreements must count any Authorized Users with access to both systems as an Authorized User under EACH Agreement). Users of Affiliates are Customer's Authorized Users unless the Affiliate is bound by a separate Compiere Subscription Agreement and Licenses.