How do I migrate from SQL-Ledger?

A lot of people are wondering how to manage their migration to LedgerSMB from SQL-Ledger. While there is no one simple answer that will suit everyone's situation, there is some general advice.

First thing to know is - you are among friends. LedgerSMB is built on a community of people who want to see the software and it's users succeed. Information is freely shared, and as long as you are prepared to have a go at helping yourself, we are happy to jump right in and help you do that!

We now have a mailing list, whether you are actively working on migrating to LedgerSMB or even if you are staying with SQL-Ledger for now and want some friendly community support, join up the User List to get SQL-Ledger to LedgerSMB migration help

The best course of action depends on your situation:

I am running SQL-Ledger 2.8.0+

Short answer: roll-back to a backup or test the new experimental support for migrating to LedgerSMB 1.3.x

Update 2012-03-22: LedgerSMB 1.3.x: Experimental support for migrating from SQL-Ledger via

Update 2011: LedgerSMB 1.3.x: Take a look at this documents in cvs for the latest info:

Currently we have an automated migration path under development for installations of SQL-Ledger-2.8.0. We can however give (free) case-by-case assistance if you are stuck at 2.8.0 and want to move to LedgerSMB - it may be fairly straightforward for your case, we just can't guarantee it across the board yet.

If you can revert to an SL version prior to 2.8.0 without data loss (ie, you upgraded but haven't entered any new data and can restore your old version) then you can migrate most easily by reverting to your previous SL install, then following the advice below for users not yet on 2.8.0

If you have upgraded to SQL-Ledger 2.8.0 and have new transactions in it that are not in your old backup (or you don't have a prior backup) then your best bet is to wait until LedgerSMB 1.3.0 is released, or contact us on the lists or IRC channel for specific advice on the best way to migrate. We plan to have a direct migration path for 2.8.0 users once 1.3.0 is out.

I am running an older SQL-Ledger (pre-2.8.0)

Short answer: Jump in, the water's great

Excellent, this is right now the easiest migration path. Current recommendation is that you migrate to LedgerSMB 1.1.12 which includes some important security fixes and data integrity controls not found in any SQL-Ledger version, but if you want to jump straight up to 1.2 you have options there as well.

I want the easiest, quickest way to LedgerSMB

Short answer: Upgrade to LedgerSMB 1.1.12

The best way is to upgrade to the latest 1.1.x release (1.1.12 as of this writing). These releases contain fixes for some serious security flaws not fixed in any SQL-Ledger version and several improvements for data integrity. It is also a clean GPL'd release without any licensing concerns for translations, contributions etc.

From Chris Travers' list email April 14 2007:

The upgrade to 1.1.x should be as simple as any SQL-Ledger upgrade. However, we do tighten some of the integrity controls and occasionally people run into problems cases where the data in the db is in an inconsistant state. If you do, write for help or contact us on #irc and we can help you sort through it.

Note that currently the upgrade from 1.1.x to the 1.2.x series involves some changes to user authentication and template variables which might require some manual intervention for some installs. This migration path might be smoothed out a bit as time goes by, so if you are feeling cautious, stay with 1.1.x until you are comfortable with moving to 1.2.x or directly 1.3.x.

However, if you want to get the pain out of the way, or just want to be running the latest and greatest...

I want the latest, shiniest LedgerSMB

Short answer: Great! Go straight for LedgerSMB 1.2.x

From Chris Travers' list email April 14 2007:

The upgrade from 1.1.x to 1.2.x is a little rough. We have made a number of changes, which although they are again good security design, break a lot of backwards compatability. These include:
1) User information is stored in the database (we have a script to migrate users)
2) No server writeable and executable perl scripts ;-)

Remember, you might have some small issues with migrating from anything up to 1.2.x currently. That's OK though - there is plenty of expedient help available and most of the hiccups are easily fixed up. Try the users mailing list, or for rapid-response support try the IRC channel - there are usually a few members from the core team online to help you out of any migration issue you might have.