LedgerSMB is free, open-source double-entry accounting and ERP software for small and mid-sized businesses. It runs in a browser, stores everything in PostgreSQL, and is released under the GNU General Public License version 2, so there is no licence fee, no per-user charge and no paid edition. The current release is 1.13.7, published on 6 July 2026.
What separates LedgerSMB from most open-source accounting projects is why it exists at all. It began in 2006 as a fork of SQL-Ledger over an unpatched authentication flaw, and that security and data-integrity focus still shapes the codebase. This review covers what it does, what it runs on, how to install it, how it compares with the other open-source ERP options, and where it falls short.
LedgerSMB at a glance
| Item | Detail |
|---|---|
| Software | LedgerSMB |
| Type | Double-entry accounting and ERP, browser based |
| Current release | 1.13.7 (6 July 2026); the 1.13 series arrived 4 October 2025 |
| Previous stable | 1.12 (14 December 2024) |
| Licence | GNU General Public License version 2 (GPLv2) |
| Cost | Free. No paid tier, no per-user fee, no feature paywall |
| Written in | Perl, with substantial logic in PostgreSQL |
| Database | PostgreSQL |
| Origin | Forked from SQL-Ledger; version 1.0.0 released 7 September 2006 |
| Hosting | Self-hosted. There is no official cloud or SaaS edition |
| Languages | 45 |
| Source | github.com/ledgersmb/LedgerSMB |
What is LedgerSMB?
LedgerSMB is a web application that handles the full order-to-cash and procure-to-pay cycle on top of a proper double-entry general ledger. The project describes itself as double-entry accounting and ERP for the web, and that is an accurate summary: it goes further than bookkeeping tools by carrying quotations, sales and purchase orders, inventory and fixed assets, but it is narrower than a full suite such as Odoo, with no CRM, manufacturing or website modules.
You install it on a server. Users then work in a browser, so there is no desktop client to deploy and no per-workstation install. That matters because several software directories incorrectly list LedgerSMB as a Windows desktop application; it is not one.
Why LedgerSMB was forked from SQL-Ledger
LedgerSMB is a fork of SQL-Ledger, and the reason is unusually well documented. In 2006, SQL-Ledger contained an authentication flaw catalogued as CVE-2006-4244. Versions 2.4.4 through 2.6.17 authenticated a user by checking that the value of the sql-ledger-[username] cookie matched the value of the sessionid parameter. Because an attacker controlled both, setting them to the same value granted access as any logged-in user, with no password required.
The issue had reportedly been raised roughly a year earlier, and several SQL-Ledger releases shipped in the interim without a fix. That, together with a development model where documentation and forums sat behind a paid wall, pushed part of the community to fork the code in September 2006 and run it as an open project with a public repository, open documentation and patches accepted from anyone.
What version 1.0.0 actually fixed
The first LedgerSMB release, published on 7 September 2006, is worth looking at because it shows the project’s priorities. Alongside closing the session-hijacking holes in both the main application and the admin interface, it corrected two database defects inherited from SQL-Ledger:
- Monetary amounts were stored as
FLOAT. The columnacc_trans.amountwas changed toNUMERIC. Binary floating point cannot represent most decimal fractions exactly, so totals and aggregated reports could drift by small amounts. For a ledger that is expected to balance, that is a serious defect. - Transaction lines could be orphaned. A
NOT NULLconstraint was added toacc_trans.chart_id, so a posting can no longer exist without the account it belongs to.
Those two changes explain the design philosophy you still see today: correctness is enforced in the database rather than trusted to the application layer.
LedgerSMB features
The current release covers:
- Quotations, sales orders and invoicing
- Purchase orders and vendor invoices
- Accounts receivable and accounts payable
- General ledger and journal entries
- Cash and payment handling, including multiple currencies
- Inventory management
- Fixed asset accounting with depreciation
- Profit centres, departments and project tracking
- Contact management
- Document output as PDF, HTML, CSV and office formats, with mailing from inside the application
- Reporting across the above, in 45 languages
Architecture and technology
LedgerSMB is written in Perl and backed by PostgreSQL, and the split between the two is the part worth understanding before you commit to it.
A large share of the business logic lives inside the database as stored procedures rather than in application code. Constraints, data types and procedures enforce the accounting rules, so the ledger stays consistent even if something goes wrong further up the stack. The upside is durability and strong reporting straight from SQL. The trade-off is that customising LedgerSMB means writing Perl and PL/pgSQL, a smaller talent pool than Python or JavaScript.
LedgerSMB pricing
LedgerSMB is free. It is distributed under GPLv2, there is no commercial edition, no per-user licence and no features held back behind a paid tier. Neither the project homepage nor the download page offers a paid hosting plan or subscription.
The real cost is operational rather than licensing. You are responsible for the server, the PostgreSQL instance, backups, upgrades and security patching, or for paying someone to handle them. For a business without in-house Linux and PostgreSQL skills, that support cost can easily exceed the subscription for a hosted product.
How to install LedgerSMB
The project supports several installation routes:
- Docker. Official production images are published for x86_64, ARM64 and ARM32, at roughly 300 MB. This is the quickest way to evaluate it.
- Installer script. An installer covering Debian and Fedora derivatives is provided at get.ledgersmb.org.
- Distribution packages. Debian 12 packages exist, with newer versions in the project’s own APT repository. Ubuntu packages are available.
- Source. Release tarballs and the Git repository are both published.
Release history and support policy
LedgerSMB ships a new stable series roughly once a year, with point releases in between. Older series reach end of community support on a published schedule, so check which series you are running before planning an upgrade.
| Series | Initial release | Status |
|---|---|---|
| 1.13 | 4 October 2025 | Current stable (latest point release 1.13.7, 6 July 2026) |
| 1.12 | 14 December 2024 | Old stable, still supported |
| 1.11 | 3 October 2023 | End of life |
| 1.10 | 8 October 2022 | End of life |
| 1.9 | 24 September 2021 | End of life |
| 1.8 | 4 September 2020 | End of life |
| 1.7 | 4 October 2019 | End of life |
The repository is actively maintained rather than dormant. At the time of writing it carries around 555 stars and 167 forks on GitHub, with commits landing continuously.
LedgerSMB compared with other open-source ERP software
LedgerSMB is a focused accounting and distribution system, not a broad suite. That is the main thing to weigh when comparing it:
| LedgerSMB | ERPNext | Odoo | Tryton | |
|---|---|---|---|---|
| Focus | Accounting, orders, inventory | Full ERP suite | Full ERP and business apps | Modular ERP |
| Built with | Perl and PostgreSQL | Python and MariaDB | Python and PostgreSQL | Python and PostgreSQL |
| Licence | GPLv2 | GPLv3 | LGPLv3 Community, paid Enterprise | GPLv3 |
| Paid edition | None | None | Yes, Enterprise | None |
| Official cloud | No | Yes, Frappe Cloud | Yes | No |
| Interface | Browser | Browser | Browser | Browser and desktop client |
If you need CRM, manufacturing, HR and a website alongside the ledger, ERPNext or Odoo cover more ground. If you want a governance model with no single commercial owner, Tryton is the closer comparison. LedgerSMB is the better fit when accounting correctness is the priority and you do not need the rest of the suite.
Limitations to weigh
- The interface looks dated. It is functional and fast, but it will not feel like a modern SaaS product.
- No official hosted option. Every deployment is one you run and maintain.
- Perl is a smaller ecosystem. Finding developers to extend it is harder than for the Python-based alternatives.
- Narrower scope. No CRM, manufacturing or e-commerce modules.
- Smaller community. Fewer third-party extensions, integrations and tutorials than Odoo or ERPNext.
Frequently asked questions
Is LedgerSMB free?
Yes. LedgerSMB is released under the GNU General Public License version 2. There is no paid edition, no per-user fee and no feature paywall. You only pay for the infrastructure you run it on and any support you choose to buy.
What is the latest version of LedgerSMB?
The current release is 1.13.7, published on 6 July 2026. The 1.13 stable series was released on 4 October 2025, and 1.12 from December 2024 remains supported as old stable.
Why was LedgerSMB forked from SQL-Ledger?
It was forked in September 2006 after an authentication flaw in SQL-Ledger, CVE-2006-4244, went unfixed across several releases. Versions 2.4.4 to 2.6.17 let an attacker log in as any active user by setting a cookie and a session parameter to the same value. The fork also moved the project to open documentation and a public repository.
What technology does LedgerSMB use?
It is written in Perl and stores data in PostgreSQL, with much of the accounting logic held in database stored procedures. It is used through a web browser, so no desktop client is needed.
Does LedgerSMB offer cloud hosting?
No. There is no official SaaS or hosted edition. You self-host it, using the official Docker images, the Debian and Fedora installer, distribution packages or the source release.
Verdict
LedgerSMB suits a business that wants a ledger it can audit, host and keep for years without a subscription, and that has the technical capacity to run a Linux server and a PostgreSQL database. The accounting foundations are stronger than the plain interface suggests, and the project’s history explains why: it exists because a previous project treated a security hole and a floating-point money column as acceptable.
It is the wrong choice if you want manufacturing, CRM or a hosted service with a vendor to call. In that case look at ERPNext or Odoo instead.
The source code is at github.com/ledgersmb/LedgerSMB, and you can browse more open-source ERP software.






