I’m writing this page to help other auto repair shops choose the best shop management software. We had an absolutely awful time with the transition from paper to computer — hundreds of wasted man hours, frustrated and irritated customers, lots of lost profit and in the end, a system that to be completely abandoned before finding the one that works for us. Quality shop software is well worth the investment. It will save you a lot of time and money in your day-to-day business. Poor quality shop software will have the opposite effect, and will suck up your money and free time. Here’s our story — what we did wrong and lessons we learned. I hope it saves you some grief.
Our problems with the transition were not caused by inexperience with computers in general. We were not computer novices when we bought our first system. On the contrary, I’ve been a computer enthusiast since the Apple II came out and most of my coworkers are pretty computer savvy as well. We bought our own hardware and built our own network. I think we were probably better able to deal with computer problems than the average shop. Yet our first expedience with shop management software was still an expensive nightmare.
Here’s what I know now, that I didn’t then:
The software foundation must be your first consideration. All shop management software is built on top of database software. Think of the database software as the foundation of a house. The entire house is held up by the foundation. If the foundation is weak, it does not matter how wonderful the house is. A chef’s kitchen, bay window, and teak floor are of no use if house crumbles when the foundation collapses. The same is true of shop software; cool features are of no use if the database becomes corrupted and crumbles, taking all of your customer history, inventory, canned jobs, and bookkeeping information with it.
Shop management software companies will not always advertise which database software they have used to build their product. All shop software is built on database software, even if the salesman says it isn’t or doesn’t know. There are two types of database software: Client / Server (the one you will want) or Desktop (the one you want to avoid). Client server databases include MySQL, Microsoft SQL Server, IBM’s DB2 and many others. Desktop databases include Microsoft Access, Microsoft Fox Pro, and others.
Desktop databases (also called file-sharing databases) are easy to learn and use. A software product can be developed faster and with less skill using desktop database software, which is why you will find so many software offerings based on Microsoft Access. The problem with Access and other desktop databases is file corruption in multi-user environments. To understand why file corruption will occur with a desktop database, you’ll need to know a little about how it works. I had an abrupt and unpleasant education on the subject myself, so I’ll share what I know to save you some pain.
With a desktop or file-sharing database in a multi-user environment, the data is stored in a single shared database file on one computer. When another computer wants to use a part of the data, the data is sent over the network to the other computer where it is edited, and then it is sent back. If there is a network error while the data is being sent or as the data is being processed on the client, the data will be damaged. Here’s an analogy: imagine a file clerk sitting in a room filled with files, and a service writer sitting at a desk signing customers in, and a helper who carries the files between them. A customer comes in; it’s Ms. Jones. The service writer gives the helper a note that says, “Send me a list Ms. Jones’ most recent repair work”. The helper brings the note to the file clerk. The clerk pulls Ms. Jones’ file and hands it to the helper, who carries the whole file to the service writer. The service writer looks through the file and then the helper carries it back to the file clerk to put away. This works just fine until you add more service writers and more helpers. Once there are more helpers, they start bumping into each other in the hallway and dropping file folders, mixing the contents and corrupting the data. The service writers may get jumbled information or the file clerk may throw a tantrum and refuse to get files anymore until the mess is cleaned up. The mess can be cleaned up most of the time by throwing away all the jumbled file folders, and losing some data to save most of it, but sometimes the damage cannot be repaired. When this happens, you must restore the entire database from a backup.
While we were using our first shop management system (based on Access), we did backups every night (still do actually, we just never need them). This meant that if the database became irreparably corrupted, we would lose all of the day’s work. When this happened, we would collect all of the repair orders from the mechanics, unplug the phones and retype all of the repair orders as fast as we could. Over time we got pretty fast and could recreate the day’s work (30 to 40 repair orders) in an hour and a half. This happened at least a five times over the year and a half we used the program. There were also 2 times when the database got corrupted during the automatic compression / backup process that was initiated when the first computer started the shop software and we lost 2 days worth of data at once. After the second incident we always ran the program on the server first to reduce the chance of corruption. There was one time when the database was slightly corrupted and we didn’t notice until all of the backups were corrupted. We had to manually repair the database and lost all customer information for customers with last names starting from “w” and going up. Then there were the “minor” fixable database corruptions. Towards the end of our use of the program, this was an almost daily occurrence. I did not take a day off unless I really had to for the entire year and a half, and when I did take a sick day, I had to stand by the phone in case there was another computer catastrophe.
You may be wondering why we would put up with the crappy software for as long as we did. The answer is we didn’t notice any problems until the database got to be fairly large. We didn’t have any problems at all until we had been using the software for about 6 months. Once we did start having problems we didn’t realize how severe and unrepairable the problems were for another 6 months. We spent our time between month 6 and month 12 trying every fix and tip the software company recommended. Including buying over $5000 worth of enterprise level hardware. “Oh, you should have name brand network cards”, they would say. We’d upgrade, 3COM and Intel only. It wouldn’t get any better. “Oh, you shouldn’t use hubs, you should buy switches”, they said. So we bought consumer level switches ($150 each). It didn’t work. “Well, low end switches can hang, and in essence become hubs”, they said. “Get high quality switches”. We went out and bought 2 3COM rack mounted enterprise level managed switches with about 20 more ports than we actually needed — $850 each. It didn’t work. “Hmm, maybe faster hard drive for the server would do the trick”, they said. We bought a SCSI RAID 10 array with the fastest SCSI 320 UW 15K RPM hard drives commercially available at the time…. $3000 for just the drives and the SCISI card. It was a better, for a while, but as the database grew, the problems returned. At the year mark we knew we had to dump the software. We spent another 3 months researching and testing as many packages as we could find. Once we found one we liked, we spent another 3 months building canned jobs, and working with our new software company (IGST) to add features and modify the software to match our style. Because we knew from experience what not to buy, we were able to pick a shop management software package that met our needs as close to perfectly as realistic, was completely stable, and was always being improved.
I got off subject there for a while. Sorry for the digression. I was explaining the difference between desktop / file sharing databases and client / server databases. You now know not to buy a system based on access or any other desktop database. Now I’ll explain why the Client / Server database architecture is superior.
Client / Server databases have no trouble in a multi-user environment. For instance, Google uses MySQL. I would guess that Google has more simultaneous users than any other application, yet they are up most of the time. Client Server databases do not send data over the network, only a request for information and then the results of request. That way the data stays on the server where it is safe, and off the network where it can get damaged. Here’s an analogy. Imagine the same set up as before, with the file clerk, the service writer, and the helper. Once again Ms. Jones comes in again, and again the service writer gives the helper a note that says, “Send me a list Ms. Jones’ most recent repair work”. The helper carries the note to the file clerk. The file clerk pulls the file, looks through it, and writes a list of the recent visits on a piece of paper for the helper to carry back to the service writer. The real file stays safely in the file room. If another helper bumps into the helper in the hall and the note gets lost, it’s not a big deal; the note is lost but the data is still safe. When the service writer realizes he didn’t get the answer, he just asks the question again.
Choosing shop management software that uses a Client Server database is the single most important choice you will make. It doesn’t matter what the salesman says, if you have a shop management system based on a Desktop / File Sharing database, you will very likely loose data sooner or later. If you have a large shop, you will lose data sooner and more often. If you have a small shop, data loss may not be as frequent, but it will eventually happen. The larger the database grows, and the more simultaneous users you have, the more likely you are to have problems, and the more work you will have to do to switch to another system.
A house is, of course, much more than just a foundation; just as a shop management system is much more than just database software. Once you have weeded out the software that is built on weak database software, you can begin your search for features, usability, and service.
You should look for software that is designed with a business of your size in mind. You will find that the majority of the shop management software available is for small shops (I when I say small, I mean 5 or 6 employees). You will also find that most of it is based on Access. Some of these “small shop” programs have all the features that a medium sized shop needs, but I would urge you not to consider them because of the database stability issue. Even if you are currently a small shop, fate may smile on you and you may grow to be a large shop. The second largest group of shop software is “enterprise” software. Enterprise software is designed with the chain store in mind — ten stores and a warehouse all linked and using the same system and data. These are usually built on very stable database software, but are not priced for the small or medium shop and aren’t as well suited for use in a medium sized shop as the “small shop” software. Finding the right fit for a shop with 10-50 employees is time consuming, but very important. Don’t believe the salesman’s statement about how many users the software can support; ask for at least 2 references from other shops with a similar size – shops with a similar numbers of employees and a similar size network. The amount of data in the database will affect the performance of the database, so ask how many years the shop has been using the software as well.
You should look for software that lets you do things the way you want to do them. The software must be flexible. Does the software you are considering allow you to enter the information you need to enter in the way you need to enter it? For instance, let’s say you have a husband and wife with different last names — would you be able to enter both of their names? Or would you have to force them to pick one because you only have a first name box and a last name box? What about phone numbers? Can you put custom labels on them like “Mary’s cell phone” or “Bill’s work number” so you don’t have to guess at who you are calling or hand write it on the printout. Can you enter all of the vehicle information? 4×4? Limited slip differential? Can you change the vehicle’s owner easily and retain the service history? License plate? VIN #? What if you accidentally close the wrong invoice? Is there a way to fix it? Software should enable you to do things more easily, not restrict the way you do things. Anything you can do on paper, you should be able to do with the software in the ideal world. The only way to find these types of restrictions is to test the software as if you are really using it. When testing, try to make the software bend to real situations instead of just figuring out how things work. Have a coworker pretend to be a customer and work all the way through the process, from sign in to estimate to upsell to recommended services to closing the bill. Make sure the software will bend to you instead of you bending to it before you buy it.
Functionality and usability are very important. Keyboard navigation is something to look for. Reaching back and forth for the mouse is a pain. There should be a way to do most navigation with a keyboard since it’s a lot faster once you’re a pro on your chosen system. On the other hand the software should not require a lot of hot-key memorization to use. An occasional user should be able to use the software without a cheat sheet and it should be intuitive and similar to other Windows programs. I’ve been very impressed with our current system’s use of a very web-like interface. These days it’s hard to find a person who doesn’t use the Internet. Someone who has never used our system will know intuitively how navigate it without a single lesson. You should also look for software that allows you flexibility in entering information during sign-in. Customers can talk fast and jump from one subject to another very quickly and are not very organized in their presentation. Make sure the software does not trap you on a screen that you must complete before you can do something else. This can be very frustrating when you have a hyper customer at the counter. It’s much easier to enter the information the customer in the order the customer spits it out, rather than trying to force them to give the information in the “proper” order. In other words, if the customer wants to tell you about the problem they’re having with their car before telling you their name and phone number, it’s a big help if your software lets you create a “headless” repair order with all the symptoms and work to be performed, then add the customer contact and vehicle information after the customer’s story winds down. Just like you’d be able to do with a paper repair order.
You should make sure you can do everything that is legally required by the regulatory agency in your state. Florida and California are supposed to be the toughest states to satisfy, so you should be especially careful if you live in one or the other. If you are required to note increases in the original estimate, make sure there’s a way to do it with the software. If your state requires a certain font size, make sure you can print it. I’d recommend going through your rule book and making sure you can follow all of the rules one by one.
Import and Export features are nice. If the shop software program doesn’t have every bookkeeping and reporting feature you want, it’s nice to be able to export the data to a program that does what you want to the data. We do a lot of business with WorldPac and they have a link in SpeedDial that programmers can use for import and export of part numbers, prices, cost, etc. Other shop software can hook up to parts houses that use Triad.
A standard windows interface is nice. If the shop management software behaves like other Windows programs it will make it easier to learn for new users. Check and see if the standard shortcut keys work, (crtl+z,x,c,v etc..) these can be very handy and can be used as a no frills import / export feature.
Reporting (searching through the data in the database) is one of the key advantages to having a computerized shop management system. Answering questions like:
* Who owns the car to tow truck just dropped off?
* How much sales tax do I owe this quarter?
* What has Ms. Jones done to her car in the last year?
* When did I last sell this part; is it worth keeping in stock?
* How many hours did billed hours did Bob do last week?
* Where are the 17801-02030 air filters kept?
Many of the software packages lack good search and reporting tools. I’d recommend trying to find the answer every question you can think of while testing the software. You may have to enter some test information (customers, cars, parts, jobs, histories, etc) in order to do this. If you are seriously considering the software, it’s worth the effort.
You should consider the practical and aesthetic aspects of the repair order and invoice printouts. Your mechanics will need a clear repair order so they know what to do to the car, and your customers will need a clear invoice so they know what has been done to the car. Some computer print outs look as though they were deliberately designed to confuse and befuddle. Sort of like the 5 page phone bill I get to catalog the 2 long distance phone calls I’ve made. This might be good if you’re trying to confuse your customer, but I think most of you will be looking for invoices that are easy to read. There is of course the classic style the mimics the written repair order, parts on the left and labor on the right. Then there’s the more common interleaved style with parts and labor lines intermingled at random (which is very hard to read). My personal favorite is the “job” style, with job description, labor charges, and parts organized together with total for the job. What could be clearer! On a repair order with a service, axle, and brake job, the customer can easily see how much each on of the repairs cost. Another thing to look for is inefficient use of paper. Some print outs waste a lot of paper, leaving huge sections of white blankness on the invoice. You should also see if you can add your logo to the invoice for a customized look.
You should make sure the software allows you to “can” common repair jobs. This is one of the key advantages of shop software over a paper system. We’re a specialty shop, so we see the same cars needing the same repairs over and over. Long before we went computerized, we used binders with “canned” jobs, this way we didn’t need to call for parts prices and look up the flat rate before quoting a job and the price for the job remained consistent. The problem with this is that the job price remained a little too consistent, as part prices and labor rates changed; the job prices remained the same until we updated the books. Your new shop software should automatically update the canned job prices when the labor rate changes or one of the parts prices changes. You should also be able to search through the jobs. Memorizing a job code will not do. We currently have 3402 canned jobs and the list is growing every day. It would be impossible to remember this many codes.
The shop software you choose should have a full-featured inventory system, just like a hardware store or supermarket. The shop software you are considering should have:
The ability to keep up with changes in the manufacturers part number.
An easy way to search for parts with a part number or description.
The ability to generate purchase orders for parts sold out of inventory based on actual stock levels and desired stock levels.
Have a receiving system that is easy to use. Our software (IGST) pre-fills the receiving with the information from the automatically generated purchase order and the last recorded parts costs. All that we have todo is to correct any part costs that have changed.
A way to correct and track inventory loss.
A unique ID for every parts record and a unique ID for every individual part. A unique ID for the parts record allows parts numbers to change,be added, and be deleted. The unique ID for the individual part allows notes about that part to be stored, such as “small scratch in paint,can be sold for 20% off”.
A way to tell what the part fits. IGST can report on what year, make and model car a part has been sold on in the past and what canned jobs contain the part.
A way to physically locate the parts. This is especially helpful small special parts that might accidentally end up in inventory, then sits for years before being needed.
A direct connection with the software company is important. Dealing with a large software company is a pain at times. Salesmen and customer service people can block you when trying to get an answer to technical question. While searching for our current software, I had many frustrating conversations with salesmen who knew far less about their product than I did. Changes and fixes can be horribly delayed when a request or error report has to go though many levels of corporate structure before it reaches someone who can fix it. For example, with our former software there was a bug that prevented the software from loading once a table with technicians billed hours reached a certain size. To get the software to boot I had to back up the table, then manually trim the oldest entries to make the table smaller. I called the day I found the problem, but they didn’t fix it before we stopped using the software over 6 months later. This particular company sublet the actual programming to a different company.