SQL-Ledger vs LedgerSMB

Both descend from the same code. LedgerSMB forked from SQL-Ledger 2.6 in 2006 and has since rewritten most of what it inherited; SQL-Ledger carried on under its original author until 3.2 and is now maintained by the community that used it, including us. This page is for someone choosing between them, or holding a dataset from one and wondering about the other.

Where they came from

SQL-Ledger was written by Dieter Simader from 1999 as a Perl CGI application on PostgreSQL, released under the GPL. In 2006 a group of contributors forked version 2.6 as LedgerSMB, initially to ship security fixes faster, then to restructure the code. The two have not exchanged code since, so a 2006-era similarity in screens and tables is the only thing they still share.

What each one is today

SQL-Ledger 3.2LedgerSMB 1.x
CodePerl CGI, one script per module, PostgreSQL; small and readable, no build step. Perl on a PSGI/Plack stack with a Dojo JavaScript front end and much of the logic in PostgreSQL stored procedures.
ModulesAR, AP, GL, orders and quotations, inventory with assemblies, POS, payroll, time cards, vouchers, recurring transactions, multi-currency, document control. AR, AP, GL, orders and quotations, inventory, multi-currency, reconciliation. Payroll and POS were removed after the fork; time cards remain in reduced form.
PermissionsRoles built from the menu tree; each user has a login and a role. Database roles per user and per permission, enforced by PostgreSQL. Finer-grained, and more to administer.
DocumentsHTML, LaTeX, text and XML templates edited in the browser, one set per language. Template Toolkit templates (HTML, LaTeX, CSV), edited on the server or through the UI.
InterfacePlain HTML forms; on this hosting restyled with Bootstrap 5 and usable on a phone. Single-page style Dojo interface; heavier, more interactive.
Multi-companyOne database per company; a login can reach several. One database per company; users are database roles within it.
UpgradesSQL upgrade scripts applied automatically at login; 2.x datasets upgrade to 3.2 in one pass. Versioned migrations; 1.2 → 1.3 was a schema rewrite, later steps are incremental.
InstallApache + Perl + PostgreSQL, or hosted here in minutes. Docker images are the usual route; a manual install needs the Plack stack and a Dojo build.
LicenceGPL v2GPL v2+

How to choose

Moving a LedgerSMB dataset to SQL-Ledger

A LedgerSMB 1.2 database is close enough to SQL-Ledger 2.6 that the stock upgrade scripts take it forward; we have done this for several customers. Later LedgerSMB versions need a data migration through the accounting tables rather than a schema upgrade, which we do case by case. Either way, send us a pg_dump and we will tell you what it involves. Get in touch.

See everything SQL-Ledger does · How SQL-Ledger works · SQL-Ledger vs Odoo Community · User manual