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+
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.
Docker compose
)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.
cpanminus
This can be manually installed, or installed as a system package.
It may not be necessary to install cpanminus
if you are only going to install
from debian packages.PostgreSQL
client librariesPostgreSQL
serverDBD::Pg 3.4.2+
(so cpanm
recognizes that it won't need to compile it)
This package is called libdbd-pg-perl
in Debian
and perl-DBD-Pg
in RedHat/Fedora
make
This is used by cpan
dependencies during their build processThen, some of the features listed below have system requirements as well:
latex-pdf-ps
depends on these binaries or libraries:
latex
(usually provided through a texlive
package)pdflatex
dvipdfm
dvips
pdf2ps
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
cpanm
command!PERL5LIB
, PERL_MB_OPT
and PERL_MM_OPT
need to be set and that PATH
needs to include the local::lib location.[other features]
are described in the in-depth installation
instructions
PostgreSQL
configurationWhile 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
LedgerSMB should be able to run without configuration. If you need specific settings, please
cp doc/conf/ledgersmb.conf.default ledgersmb.conf
and 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
root
privileges--user
option to set the user;
it badly interacts with initialization run by LedgerSMBWe support the following Environment Variables within our code
LSMB_WORKINGDIR
: Optional
chdir
to the specified directory as the first thing done in
starman.psgi
LSMB_WORKINGDIR='/usr/local/ledgersmb/' starman ...
We support the following Environment Variables for our dependencies
PGHOST
: Optional
Postgres server
Domain Name or IP addressPGPORT
: Optional
Postgres server
PortPGSSLMODE
: Optional
Postgres
connectionPlease 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 applicationThe system is ready for preparation for first use.
Web site: http://ledgersmb.org/
Live chat:
freenode #ledgersmb
#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)