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
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.
The web external server is only required for production installs; for evaluation purposes a simpler setup can be used, as detailed below.
Dojo 1.16 compatible web browser
is all that's required on the client; it includes all
current versions of
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:
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
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 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 install
cpanminusif you are only going to install from debian packages.
cpanmrecognizes that it won't need to compile it) This package is called
makeThis is used by
cpandependencies 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 a
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
cpanm depends on the
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 .
PERL_MM_OPTneed to be set and that
PATHneeds to include the local::lib location.
[other features]are described in the in-depth installation instructions
While it's possible to use LedgerSMB with the standard
it's good practice to create a separate 'LedgerSMB database administrator'.
In this quickstart, we add a password to the
$ sudo -u postgres psql -U postgres \ -c "alter role postgres password 'CHANGE-ME' valid until 'tomorrow'"
LedgerSMB should be able to run without configuration. If you need specific settings, please
cp doc/conf/ledgersmb.conf.default ledgersmb.conf
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"
--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
chdirto the specified directory as the first thing done in
LSMB_WORKINGDIR='/usr/local/ledgersmb/' starman ...
We support the following Environment Variables for our dependencies
Postgres serverDomain Name or IP address
Please note the earlier remarks about the
local::lib environment requiring
PATH being set
The system is installed and should be available for evaluation through
http://localhost:5762/setup.pl# creation and privileged management of company databases
http://localhost:5762/login.pl# Normal login for the application
The system is ready for preparation for first use.
Mailing list archives:
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)