Small and Medium business accounting and ERP
LedgerSMB is a free integrated web application accounting system, featuring double entry accounting, budgeting, invoicing, quotations, projects, timecards, inventory management, shipping and more ...
The UI allows world-wide accessibility; with its data stored in the
enterprise-strength PostgreSQL open source database system, the system is known
to operate smoothly for businesses with thousands of transactions per week.
Screens and customer visible output are defined in templates, allowing easy and
fast customization. Supported output formats are PDF, CSV, HTML, ODF and more.
Directly send orders and invoices from the built-in e-mail function to your customers or RFQs (request for quotation) to your vendors with PDF attachments.
Note that these are the system requirements for LedgerSMB 1.9, the current development version. Please check the system requirements for the 1.7 old stable version and the 1.8 version.
Perl 5.24+PostgreSQL 9.6+- Web server (e.g.
nginx,Apache,lighttpd,Varnish)
The web external server is only required for production installs; for evaluation purposes a simpler setup can be used, as detailed below.
A Dojo 1.16 compatible web browser
is all that's required on the client; it includes all
current versions of Chrome and FireFox as of 3.6, as well as MS Internet Explorer and a wide range of mobile browsers. Please note that LedgerSMB
explicitly doesn't make any attempts to support Internet Explorer.
The quickest way to get the Docker image up and running is by using the
docker-compose file available through the GitHub repository at:
https://github.com/ledgersmb/ledgersmb-docker/blob/1.8/docker-compose.yml
which sets up both the LedgerSMB image and a supporting database image for
production purposes (i.e. with persistent (database) data, with the
exception of one thing: setting up an Nginx or Apache reverse proxy
with TLS 1.2 support -- a requirement if you want to access your
installation over any type of network.
See the documentation on Docker Hub.
The instructions below are for getting started quickly; the project's site provides in-depth installation instructions for production installs.
The following non-Perl (system) dependencies need to be in place for the
cpanm command mentioned below to work, in addition to what's documented
on the How to install CPAN modules
page on CPAN.
cpanminusThis can be manually installed, or installed as a system package. It may not be necessary to installcpanminusif you are only going to install from debian packages.PostgreSQLclient librariesPostgreSQLserverDBD::Pg 3.4.2+(socpanmrecognizes that it won't need to compile it) This package is calledlibdbd-pg-perlinDebianandperl-DBD-PginRedHat/FedoramakeThis is used bycpandependencies during their build process
Then, some of the features listed below have system requirements as well:
latex-pdf-psdepends on these binaries or libraries:latex(usually provided through atexlivepackage)pdflatexdvipdfmdvipspdf2ps
This section depends on a working local::lib installation
as well as an installed cpanm executable. Both should be available from
your distribution's package repository (Debian calls them liblocal-lib-perl
and cpanminus respectively). cpanm depends on the make and gcc commands
being available.
NOTE: gcc can be removed after all cpan dependencies are installed.
However, it may be necessary to reinstall it if additional modules are
required during an upgrade
To install the Perl module dependencies, run:
cpanm --quiet --notest --with-feature=starman [other features] --installdeps .NOTES
- Don't miss the "." at the end of the
cpanmcommand! - The environment variables
PERL5LIB,PERL_MB_OPTandPERL_MM_OPTneed to be set and thatPATHneeds to include the local::lib location. [other features]are described in the in-depth installation instructions- The in-depth installation instructions contain a list of distribution provided packages to reduce the number of dependencies installed from CPAN.
While it's possible to use LedgerSMB with the standard postgres user,
it's good practice to create a separate 'LedgerSMB database administrator'.
In this quickstart, we add a password to the postgres superuser:
$ sudo -u postgres psql -U postgres \
-c "alter role postgres password 'CHANGE-ME' valid until 'tomorrow'"
NOTES
- The password is only valid until the end of the day it's assigned then you can't forget to remove the password leaving a security hole
LedgerSMB should be able to run without configuration. If you need specific settings, please
cp doc/conf/ledgersmb.conf.default ledgersmb.confand edit ledgersmb.conf to match your requirements.
With the above steps completed, the system is ready to run the web server:
$ starman --preload-app -I lib -I old/lib --listen localhost:5762 \
bin/ledgersmb-server.psgi
2020/05/12-02:14:57 Starman::Server (type Net::Server::PreFork) starting! pid(xxxx)
Resolved [*]:5762 to [::]:5762, IPv6
Not including resolved host [0.0.0.0] IPv4 because it will be handled by [::] IPv6
Binding to TCP port 5762 on host :: with IPv6
Setting gid to "1000 1000 24 25 27 29 30 44 46 108 111 121 1000"NOTES
- The command above does not need
rootprivileges - Please don't use Starman's
--useroption to set the user; it badly interacts with initialization run by LedgerSMB
We support the following Environment Variables within our code
-
LSMB_WORKINGDIR: Optional- Causes a
chdirto the specified directory as the first thing done instarman.psgi - If not set the current dir is used.
- An example would be
LSMB_WORKINGDIR='/usr/local/ledgersmb/' starman ... - Causes a
We support the following Environment Variables for our dependencies
PGHOST: Optional- Specifies the
Postgres serverDomain Name or IP address
- Specifies the
PGPORT: Optional- Specifies the
Postgres serverPort
- Specifies the
PGSSLMODE: Optional- Enables SSL for the
Postgresconnection
- Enables SSL for the
Please note the earlier remarks about the local::lib environment requiring
the variables PERL5LIB, PERL_MM_OPT, PERL_MB_OPT and PATH being set
up.
The system is installed and should be available for evaluation through
http://localhost:5762/setup.pl# creation and privileged management of company databaseshttp://localhost:5762/login.pl# Normal login for the application
The system is ready for preparation for first use.
Web site: http://ledgersmb.org/
Live chat:
- IRC:
freenode #ledgersmb - Matrix:
#ledgersmb:matrix.org(bridged IRC channel)
Mailing list archives: http://archive.ledgersmb.org
Mailing lists:
Repository: https://github.com/ledgersmb/LedgerSMB
Source code contributors can be found in the project's Git commit history
as well as in the CONTRIBUTORS file in the repository root.
Translation contributions can be found in the project's Git commit history
as well as in the Transifex project Timeline.
Copyright (c) 2006 - 2020 The LedgerSMB Project contributors
Copyright (c) 1999 - 2006 DWS Systems Inc (under the name SQL Ledger)
