Using SQL-Ledger for Your Business
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).
Making Open Source Work
Dieter Simader is the author of SQL-Ledger. He started the project four years ago. His software has taken off since then, and he now works on SL full-time. He's made his open-source project, released under the GPL with no cost to others to use, his primary source of income.
So how does one make a living off free software? If you visit the SL site, you can see that Dieter offers support contracts, which are all reasonably priced. His software is of high quality, and his offerings include data conversion, pay-as-you-play support and support for the development version if you need the more advanced features. He also sells the software manual that tells you not only how to use his program but how to customize screens for all users or for certain users, using SL's API.
These value-added features are well worth the price and should be considered essential for any business. Although businesses can hire someone else to do what Dieter does, including supporting the software, customizing templates and importing data, few could do the work as well as Dieter.
As a consultant, my clients usually want to deal with me, not someone on another continent whom they don't know. For that convenience, they are willing to pay a premium. So I tack a small percentage on to Dieter's price, pay Dieter and we're both happy. He gets work and is paid for supporting his program. I get an annoyance fee, because my clients will annoy me if the software doesn't work to their satisfaction. This model also serves as a good way to expand into markets where the author doesn't speak the language, so additional revenue also serves as a translation fee. SQL-Ledger is proof that open-source business models can work.
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 setup.pl 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).
- Readers' Choice Awards 2014 Poll
- Give new life to old phones and tablets with these tips!
- Tech Tip: Really Simple HTTP Server with Python
- Source Code Scanners for Better Code
- Memory Ordering in Modern Microprocessors, Part I
- RSS Feeds
- Raspberry Pi: the Perfect Home Server
- Linux Systems Administrator
- Senior Perl Developer