Using SQL-Ledger for Your Business

If you're keeping a proprietary OS around just to run the accounting software, you're missing a chance to step up to the flexible, better-supported alternative.

Back in the late 1990s, I started looking for a good accounting software package for Linux. I was disappointed by all the offerings I found; none was up to snuff or even looked like it might ever be. Then, about three and a half years ago, I stumbled on SQL-Ledger (SL) written by Dieter Simader (see the “Making Open Source Work” sidebar).

To be honest, at first glance I thought SQL-Ledger wasn't yet an offering for a serious business. It lacked point of sale (POS), payroll and a number of other features. But, based on its ease of installation, its flexibility and a number of other factors, not the least of which was the author's rather ambitious to-do list, I tried it out.

I used SQL-Ledger for my IT consulting business, Pananix, SA, and it proved to be more than adequate. I could input customers and vendors, create invoices and orders, and print basic reports, including trial balance, income statement and balance sheet. SL even had rudimentary support for goods and services reports covering product inventory and services.

Because I currently live in a Spanish-speaking country, I anticipated problems. I'm not familiar with Spanish accounting terms, but the laws of this country require that the program interface and all statements and reports be in Spanish for the natives and tax auditors. Fortunately, SL is written in such a way that users can choose the language they require. That means I can see everything in English, while my accountant and the local tax authorities see Spanish—perfectly legal. If a language doesn't exist, it can be added easily. This feature was not well supported in any other accounting package I looked at and was a major factor for me in choosing SL.


Installation was a breeze back when I first looked at SL, but it's even easier now. The biggest stumbling block for most people involves the few requisite Perl modules for database support. A second stumbling block comes with the configuration of PostgreSQL itself, but all these are covered in the instructions and FAQ. As long as they are followed to the letter, even newbies shouldn't have any difficulty. The problems seem to arise when folks wander off on their own and deliberately or accidentally make changes affecting permissions, occasionally permissions on the database itself.

Once Perl and whatever supported database you want to use are set up, the rest is easy. MySQL is not supported and will be only when it provides certain parts of the SQL-92 standard it is now missing. PostgreSQL is the database used for design and testing, but Oracle and DB2 also work.

You also need to configure your Web server of choice to access SL, but that involves only copying a few lines to httpd.conf and restarting it. If you install SL under your DocumentRoot, even this step can be omitted, as long as you can run CGI scripts from below your DocumentRoot. If you want to print reports to disk as PDF files, you need to make sure you have LaTeX installed.

The currently recommended installation practice for SL itself is to use the author's supplied file to handle everything for you. This makes it difficult to go wrong, and the script also is used to upgrade SL. The author recently included code to test the database itself during upgrades to ensure you don't have version mismatches between the database and the code. If you do, it automatically upgrades it (nice touch, that).



Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Timely review of SQL-Ledger

Max's picture

I've always known about SQL-Ledger and I'm hoping that it's still doing well. I really feel that business owners need to wake up a bit and ditch the QB addiction -- just as a lot of people are waking up to Linux (especially Mandriva 2010, Linux Mint 8, PCLinuxOS 2009, SimplyMEPIS, and Ubuntu).

And why doesn't Intuit have the foresight to make a QB client for Linux? Surely they can see the writing on the wall and knowing that Windows is a pain in the a#s for many users.


- Max (aka Max "The IT pro")


Sreejith's picture

If we can send cheque's through SQL-Ledger directly will be great and also uploading a file option to upload checks and all necessary statement would be great.

Don't Think About Using SQL-Ledger - Just Do It !

Brian Clark's picture

After using Quickbooks for a year I was really annoyed to find it stops working when the year is up and you are expected to buy the 'latest' version.

Even if you don't need the latest features you have to buy it in order to get to you last years data! Needless to say I exported the lot and transferred it software that isn't run by a money hungry company wanting to keep its shareholders happy - no I switched to SQL-Ledger and haven't looked back.

Installation was straight forward, but I must say I was new to Ubuntu Linux so its probably a complete doddle for anyone who knows what they're doing!

Everything is there you need from a standard accounting base. It does force you to work with the accounts without any of the pretty screens I was used to in Quickbooks but considering how much I'm saving (plus I'm learning how accounting actually works), its well worth it.

Backing up your data is a necessity for any accounting system and SL has a brilliant feature for emailing a copy of the file to yourself. Considering my 2 years of data occupies about 100kb zipped its never a problem regarding size. This way even if your complete system dies, there will be a copy on your mail server (when "Leave on server" is enabled in your mail client).

Adjusting the templates for your own use is fairly easy. The HTML ones are fine and the PDF ones just need a bit of thought before you plough in... Backing these up is also very handy as I've been known to install a new version and forget that templates are not part of the routine backup plan.

There is a manual available which is worth getting but not essential from day one. It gives very in depth details on how the system works and how to modify it for your needs. I'd try the system out first then buy the manual when you are ready. Either way its worth it!

Updates are regular and bug fixes - when there are any - appear quite promptly.

Being web based makes deployment much easier when you have lots of machines and printing isn't a problem. Just remember to turn off header and footer information in the browser so it doesn't stick a horrible "Page 1 of 1" and URL on everything!

Sending emails of invoices is quite useful but not all customers are geared up for e-commerce yet. Its sometimes easier to post an invoice as they can cope with a paper copy! For those that have the inclination however, it does mean you get paid a little quicker...

Any way thats my two penny worth (or two cents for our kind friends in the US!)

Brian Clark

Re: Using SQL-Ledger for Your Business

Anonymous's picture

I have been using this great program under mandrake linux for a multisite consulting business, because it works. The constant improvements and ability to modify it, should convert any quickbooks power user. The latest round of improvements leave out really only CRM and Payroll functions to round out a near mature product.

Re: Using SQL-Ledger for Your Business

Anonymous's picture

We use it for a small multnational company, and the login being available via the internet (and adequate security of course!!) makes it a breeze to use. A truly excellent function system - and with the blessing that it is flexible enough to be altered in those "little ways" by someone with a modest amount of knowledge to make it a truly useful system for small businesses.

Re: Using SQL-Ledger for Your Business

Anonymous's picture

How many concurrent users can SL support?

SQL-Ledger stores it's data i

A SQL-Ledger User's picture

SQL-Ledger stores it's data in a database and runs through a webserver app of your choice (apache is common)
The easiest database to use is PostgresQL, but Oracle and others have been supported in the past.
MySql is not currently supported since Mysql lacks features that SQL-Ledger requires.

That said.... the number of concurrent users is really dependent on the speed of your webserver and database server, not on a limitation of the SQL-Ledger software.
Many people run it on older hardware and have a lot of users accessing it with no speed problems.

There is a lot of good info available from users on the SQL-ledger mailing list.

You can access it via

Re: Using SQL-Ledger for Your Business

Anonymous's picture

Thanks David for such an informative article.

SQL-Ledger country specifics

hakem's picture

I am browsing software to find an open source accounting solution for our small company. My question is wether sql-ledger supports accountancy rules specific to Belgium?

Hello Hakem. It depends on

Anonymous's picture

Hello Hakem.

It depends on what you mean specifically.
Go to and join the mailing list.
That way you can ask any Belgian users how they are implementing it.

I am looking for something ju

Anonymous's picture

I am looking for something just like this to help run my business but at the moment I use Quick Books Pro 2003 for all my fincancials. Is it possible to integrate the two?

Using SQL-LEDGER for your business

Anonymous's picture

I am considering the question of "integrating": QuickBooks and SQL-Ledger but only because my CPA uses QuickBooks, and I have 5 years records in MySQL If the question were one of "porting" data between QB and SQL, if INTUIT are still using an XML format for their ledger dumps
it might not be hard to do. But I don't know yet whether Intuit still
use QBXML and how different their parser is from the standard ones.
But I do not really understand why one would wish to integrate the two systems. If it's a question only of retraining personnel used to QB to use SQL-L, then perhaps it makes sense to have the two sysems
intercommunicate. As long as Intuit still uses XML to describe the
semantics of the numbers and phrases in a dump of the ledger, it
seems to me perhaps that one would need to only to write an XML
schema of their dump, and another for the way you want your chart of accounts to be in SQL-L, and then use XMLT to translate from one to the other.
But I haven't actually tried anything, so readers should take what I say with a grain (if not at least a tespoon) of salt).

John Gabriel

PS I'm at present busy putting 5 years of data in SQL into QuickBooks (If it turns out that I can) so that I can give all of our accounting to somebody who is trained to do it. So, I'm unlikely
to answer any E-mail until I have found my way through that problem.
It also seems possible by judicious use of XML to make a simple
minded SQL General Ledger, or other accounting procedure have the
"look and feel" of QuickBooks. Many years ago I helped convert
a G/L A/P A/R written in BASIC for a WANG? microprocessor running
what I think was an INTEL 8008 to CP/M BASIC for an 8080, and until
DBASE appeared on the scene It was quite fairly popular among the brave folks who did their accounting on an ALTAIR instead of an IBM 7090 or 360/20

Thanks for the answer John. I

Anonymous's picture

Thanks for the answer John. I currently use the payroll service amongst other things and I am not 100% ready to cut the cord and leave QB. Let us know how your latest project went.

Thanks again for taking the time. It is appreciated.

A few of my clients using SQL

Anonymous's picture

A few of my clients using SQL-Ledger have out source pay roll. I can't remember the name of the company they are using but it's costing them less to have a third party do pay roll, plus they get direct deposit. I hate QB, it has cost most of my client $1000's over the years to maintain everything and since it runs on Windows it's cost money to keep updating the OS. The only reason they run is because their CPA wants it.

My $0.02

In Canada the payroll company

Anonymous's picture

In Canada the payroll company is called Ceridian.