FAQ

FAQ Category: Installation

The table below lists the compatibility of LedgerSMB versions with Perl versions. Products for which support has ceased due to End-of-Life date being reached are not listed and should not be used.

Perl compatibility
Perl 1.9 1.10 1.11 1.12
5.22 no no no no
5.24 yes no no no
5.26 yes no no no
5.28 yes no no no
5.30 yes no no no
5.32 yes yes yes no
5.34 yes yes yes no
5.36 no* 1.10.22+ yes yes
5.38 no* 1.10.22+ yes yes
5.40 no* no** 1.11.19+ yes

Versions 1.8 and earlier are not in this table due to the fact that they're past End of Life.

* These Perl versions are distributed with a version of Math::BigFloat which is incompatible with LedgerSMB 1.9.
** There's a bug in 1.10 which prevents its modules to be loaded with Perl 5.40

In general: neither. The advice is to have the full source tree in /opt/ledgersmb/<version>.

Installing the LedgerSMB modules in the standard Perl search path works, but interferes with running different versions side-by-side.

To undo installation in /usr/local:

  • remove /usr/local/share/perl/5.XX.X/LedgerSMB/
  • delete /usr/local/share/perl/5.XX.X/LedgerSMB.pm; and
  • find and remove the .pl files that come in LedgerSMB's project root directory and bin/ and LedgerSMB/Scripts/ directories.

The default configuration limits access to the /ledgersmb/login.pl page to connections from localhost (127.0.0.1) only for maximum security.

If you want to allow connections from other locations, it's highly advisable to use encrypted (VPN) connections to access your ledger in order to maintain good security.

FAQ Category: Contributing

FAQ Category: Administration

Assuming you have followed the How Do I Backup My Data instructions, you can restore your database as follows...

Note LedgerSMB versions prior to version 1.9.16 did not support PostgreSQL 14 or higher due to a backward incompatible change in PostgreSQL 14.

Note that the following examples use the  'lsmb_dbadmin' for the database administrative user. Recent LedgerSMB installs do not automatically create an 'lsmb_dbadmin' user.  This has to be created manually.  You may have to use the 'postgres' user depending on how your database was installed.

1) Restore the roles

$ psql -h [database host] -U [database admin user] < [roles backup file]

For example:

$ psql -h localhost -U lsmb_dbadmin < lsmb-roles.sqlc

2) Create a new database to restore into

$ psql -h [database host] -U [database admin user] -c 'CREATE DATABASE [new company name]'

For example:

$ psql -h localhost -U lsmb_dbadmin -c 'CREATE DATABASE newcompany'

3) Restore the company backup into the new database:

$ psql -h [database host] -U [database admin user] [new company name] < [company backup file]

For example:

$ psql -h localhost -U lsmb_dbadmin newcompany < lsmb-db.sqlc

Log in to the the 'setup.pl' administrative interface, using your ledgersmb database admin user (usually "lsmb_dbadmin" or "postgres"). The default address for setup.pl is http://localhost/ledgersmb/setup.pl.

There are 2 buttons:

  • Backup database (parts, customers, accounting records, etc)
  • Backup roles (your login accounts and rights)

One creates a backup of the content of your database. The other creates a backup of the roles.

Roles are elements which are required to exist before creation of a database, and assign fine-grained access control.

Both files are needed when restoring, and you need to restore the roles before the database.

The backup can be mailed to an e-mail account, or you can download it with your browser, depending on your output selection in the backup screen.

After backing-up the data, it is prudent to confirm that the backups are of non-zero size to confirm that they have been correctly downloaded.

See How Do I Restore My Data for further information.

Overview

Company database upgrades are supported all the way back from 1.4 directly to 1.8, using the 1.8 software. Company database upgrades from 1.3 and 1.2 are also supported, but due to the different nature of the upgrade process are called "migrations". The important difference being that when doing a migration, a copy of the data is being created in the 1.8 structure, while upgrades adjust the existing structure for 1.8. When upgrading from versions earlier than 1.7, please read the release notes and upgrade instructions of those versions: those instructions still apply but are not repeated here.

Before starting, please remember:

  • Create a backup
  • Don't do this in a hurry
  • When running into problems, check out the "Support" page

Technical upgrade

Upgrading the software works the same as with prior versions. Please refer to the procedure to upgrade a tarball installation for 1.7 for the 1.8 upgrade. Be sure to install the new Perl module dependencies listed in the Changelog. Also note that the Docker image definition contains a comprehensive list of Debian Buster package dependencies.

<Upgrading docker & docker compose to be written>

Company database upgrade

Technically, this process hasn't changed since 1.7 and the instructions for 1.7 still apply.

Each new LedgerSMB release has tightened the checks on validity of the data stored in the database. 1.8 continues on that path and adds yet more checks - this helps us find bugs and prevents undesirable data entering into the ledger. During the upgrade, existing data is checked against these new quality criteria and optionally offered for correction (or deletion, depending on the type of inconsistency).

Before you begin

  • Verify that all Reconciliation Reports have been either approved or deleted
    If you forget this step, the migration will offer to delete it for you; approval isn't supported during migration. Note that this does not refer to transactions; unapproved transactions can safely exist during upgrade.
  • Create a backup
  • Tell users not to use your system during upgrade

After the upgrade

  • Import the templates for PnL and Balance sheet
    Go through the menu System > Templates and either upload the various "PNL" and "balance_sheet" document formats or paste the source; you can find the template sources here: https://github.com/ledgersmb/LedgerSMB/tree/1.8/templates/demo (the TeX document to be processed by pdflatex) or here: https://github.com/ledgersmb/LedgerSMB/tree/1.8/templates/xedemo (the TeX document to be processed by xelatex)
  • Assign the new role 'file upload' to administrator users
    Log into setup.pl in a company you want to change the access rights for; click "List users". From the list of users, select a user that you want to assign file upload rights (for the menu System > Files). Repeat for all relevant users.

FAQ Category: Integration

No, there is currently no REST api; however, one is planned.

Other APIs are not available, except for the Perl APIs the application uses itself.

Not out of the box. However, community member John Locke (from Freelock Inc) is doing it using a custom integration. He doesn't mind sharing his code.

FAQ Category: Accounting

What you need to do is look for rows in payment_links which have type=0

Then, in acc_trans, you need to identify those rows which have an entry_id of a row which has a 0 amount. That row is probably an fx_transaction row.

The preceding entry_id row is likely one for the same transaction, with a non-zero, non-fx_transaction amount.

You need to insert a new row into the payment_links table with:

  • payment_id: same as for the fx_transaction
  • entry_id: entry_id of preceeding entry in acc_trans
  • type: 0

When you do that, the customer balances should be fixed.

I have made a payment to a vendor, but entered an incorrect date, far in
the future. Consequently the payment does not show when I try to reconcile
the relevant bank statement.

How do I back-out the incorrectly entered payment?

Cash/Vouchers/Reverse Payment.

Then when you are done adding the payments you want to reverse,
approve the batch.

Tested on: LedgerSMB 1.3.15.
source: http://permalink.gmane.org/gmane.comp.finance.ledger.smb.user/6087

Short answer: Yes

LedgerSMB can tie product sales to a tax class so that VAT can automatically be split off into the required VAT accounts on a sale, and when cancelling an invoice, automatically perform the reverse bookings.

Each product can be 'attached' to an account and the associated % will be applied automatically.

Quite a few users find some of the terminology and accounting processes a little confusing at first. Some of the more popular small business accounting packages tend to hide these aspects of book-keeping from users for simplicity, so with the current user interface there is often some new ideas to grasp.

First step is the manual - the LedgerSMB manual is free and highly recommended reading.

If you would like some background on general accounting practices, there is an (unassociated) tutorial So, you want to learn Bookkeeping" which seems a good place to start.

Another excellent resource is second-hand book stores. Lots of MBA studends sell off their textbooks (presumably to finance their first business rather than pay of gambling debts) so second-hand bookstores will often have very good texts on accounting at bargain prices - these can make great reference books.

Finally it would be remiss not to recommend securing the services of an accountant to help you out with the finer points from time to time, should you feel the need or have a legal obligation to do so.

Wikipedia articles:
https://en.wikipedia.org/wiki/Accounting
https://en.wikipedia.org/wiki/Double-entry_bookkeeping_system
https://en.wikipedia.org/wiki/Accountant

FAQ Category: Support

Active support

Versions 1.10 and higher are under active development and are supported by the community. Planned end-of-life dates for current releases are:

  • 1.12: Planned End-of-life date: 2026-12-14 (released 2024-12-14)
  • 1.11: Planned End-of-life date: 2025-10-03 (released 2023-10-03)

End of life

If you're looking for help on how to use EOL-ed versions, please try mailing the users mailing list.
If you're looking for someone to create bugfixes, please check with one of the parties providing commercial support or for less urgent fixes LedgerSMB Issues

Version 1.10 has been declared end-of-life on 2024-10-08. The last release in the series is 1.10.38. No futher releases will be made by the community.

Version 1.9 has been declared end-of-life on 2023-09-24. The last release in the series is 1.9.30. No futher releases will be made by the community.

Version 1.8 has been declared end-of-life on 2022-09-04. The last release in the series is 1.8.31. No futher releases will be made by the community.

Version 1.7 has been declared end-of-life on 2022-10-04. The last release in the series is 1.7.41. No further releases will be made by the community.

Version 1.6 has been declared end-of-life on 2021-06-10. The last release in the series is 1.6.33. No further releases will be made by the community.

Version 1.5 has been declared end-of-life on 2019-12-23. The last release in the series is 1.5.30. No further releases will be made by the community.

Version 1.4 has been declared end-fo-life on 2017-09-16. The last release in the series is 1.4.42. No further releases will be made by the community.

Version 1.3 has been declared end-of-life on 2015-12-23. The last release in the series is 1.3.47. No further releases will be made by the community.

LedgerSMB versions 1.0, 1.1 and 1.2 won't be maintained any further due to the fact that there are some known security issues which can't be fixed.

For real-time help try our Matrix (IRC like) room  #ledgersmb - you will usually find most of the core team hanging out there. The most feature-full and commonly used client is Element. It is available as a web client (for computers) and also as Android and iOS clients from within the appropriate app stores. We suggest you create a matrix account as that will allow you to log back in later to see our response to your question.

There are people there who range from users to developers who are willing to help. We have agreed to adopt the Ubuntu code of conduct for our community. Please read it if you plan on joining.

Please keep in mind that the community (especially the people you may need help from) are scattered around the world and will likely be in a different timezone to you. This means that it can sometimes take quite a few hours before someone responds. (although these days on IRC there is someone around almost all of the time). For email lists this is not a big problem, but if you are using Matrix (directly or via a matrix guest session) you will need to stay connected until someone answers otherwise we have no way to contact you :-)

If you ask for help as a signed up Matrix user, please log back in and check for a response occasionally, we will always respond as soon as someone is available.

NOTE: there is a nice feature of the Riot web app (a bell shaped icon near the top right) that shows all the messages that mention your name.
This is useful when you come back after a while to see if someone has responded to your question.
Just click on a message there to jump to that point in the chat history

Connecting to MATRIX

Read more about using Matrix  and Element Client

Webclient

You can use a browser-based matrix client to join the channel.
It defaults to guest access with reduced features, but it is trivial to sign up and get additional benefits like channel history and other things.

Dedicated Chat client

Is there a place where we could buy some consulting for LedgerSMB?
or a minimal setup according to our specs?

Take a look at Commercial Support