Is MYOB crashing? Too slow? It may be time to upgrade, but first there are some fixes worth trying which can reduce crashes & lock-outs, and improve MYOB speed and performance. 

See also: Tips for a new IT system

When businesses grow, MYOB starts to cause problems. The first and most obvious problem is technical: the software starts to crash and becomes very slow when the number of users exceeds four or five, and when the database files grow above 300 MB.

The second problem with MYOB is less visible. MYOB is basic business software. It doesn't support business controls very well, it has poor reporting flexibility, inadequate foreign currency reporting and poor support for decision making. It's book-keeping software, and to be fair, quite good at it.

The cost of running businesses with book-keeping software is less obvious than the problems with performance. However, the cost to the business in poor support for fast, effective decisions is high.

You should allow four to six months to move away from MYOB, including the lead time to competitively investigate and shortlist successor systems. In an emergency, a migration can take only four weeks, but this will be risky and expensive.

So you may be interested in short term actions to improve MYOB performance, buying you time for a good quality implementation of a new system. These actions require some investment, but most of the investment is necessary for successor systems anyway.

Getting the most from MYOB: working around crashes and slow response

(For non-technical readers)

The first three steps are ordered by priority.

Step 1: User a terminal server

Is MYOB crashing frequently, and very slow? MYOB suffers even with a fairly small number of transactions and concurrent users because it has a very primitive database. Each user is constantly fighting for access to the data, and the software doesn't divide access into small pieces with a neutral umpire regulating access (that's a good description of the solution all the next-level systems use: a database server). Even worse, this war for access to the MYOB database occurs over the network, which slows the process down further. This is a design limitation of MYOB which has apparently been difficult to fix.

Performance can be significantly improved by putting all MYOB users and the MYOB database on the same 'machine' (geek-talk for computer). This is impossible in a typical office environment, because people use the computer that's directly in front of them, which means everyone has to use a different computer. The MYOB database file sits on only one computer, somewhere on the network ... that's the source of big performance problems.

There is a solution, though: to use a "terminal server". This is Windows-talk for a computer that multiple users access at the same time. When using a terminal server, the desktop computer is nothing more than a window onto a remote computer. With this approach, the MYOB database and the users can all exist on the same machine. This provides significant improvements to speed and reliability. You can read more about that approach here: (Read more). There are costs involved to setting up a terminal server; in the range of $3000 to $5000 would be a starting point if everything needs to be bought from scratch. It's also possible to rent a virtual machine and use that as a terminal server. In Australia, http://interactive.com.au/ is a provider offering this service; it works well. The costs of setting up a terminal server are not lost if and when you finally move away from MYOB: these machines make good database servers for the successor system. Implementation steps are simple and fast: this can be setup in a week, once the terminal server is bought and configured.

Step 2: Routine optimisations

Most users know about the built-in utilities to optimise MYOB databases. These clean the database of unwanted data, and lead to significant reductions in the size of the database. The database grows again quite quickly. These optimisations can take a long time. The smart way to do it is to copy the database to a local computer, optimise and then copy back to the server. This is much, much faster. Of course, you should make sure that no one can log into the server version while you're doing this. One way is to rename the server database file's extension from .myo to .myo_xxx.

Another important optimisation is rolling the year forward. Naturally, you make a backup copy before you do this.

And if you are doing historical analysis, work with a copy of the database on your local computer.

Step 3: Some reporting improvements

For about $300, you can buy a site-wide licence of the MYOB SQL driver, which lets you query the MYOB database using SQL. This gives much more flexibility for report writing, at least in the hands of users who know SQL. Skilling-up someone in your organisation with SQL is a wise idea since all successor systems use SQL as well. When serving as CFO I've taught basic SQL to the entire finance team. My original intention was to teach only a couple of key users, but the usefulness of the new skill was so overwhelming that usually everyone insists on learning.

MYOB does not have a real SQL database backend, but the SQL driver lets you pretend that it does. It doesn't solve the speed problems on MYOB. A real SQL server does complicated operations locally and only uses the network to send the answer; MYOB's SQL driver uses the network to send all possibly interesting data to the user's computer, where the processing is done. But the SQL driver is a great way of mining data in MYOB to get it straight into spreadsheets. You can use this to produce more useful reports, even as simple as moving to contribution margin P&Ls. MYOB has much more data than the standard reports allow access to.

It's also extremely useful when migrating data from MYOB or consolidating multiple years of history. We helped a business save tens of thousands of dollars in GST penalties by using SQL queries to consolidate and mine years of MYOB transaction detail.

(We don't discuss well-known workarounds like creating new "companies" to manage subsets of customers; these are unwise because they cause a great deal of manual reconciliation workarounds and introduce enormous potential for error).

Read more: some technical tips for relocating MYOB to a terminal server including a couple of useful Python scripts

Saying Goodbye

The steps above can extend the useful life on MYOB. Exactly how well depends on the rate of growth; between one to three years is a general guess. Also remember that the investments in step 1 and 3 are useful for the successor system.

For sure: a growing business will outgrow MYOB.

Some great tips on vendor negotiation and package selection: Read more