I’m seeing this question quite often these days, and the answer is really simple. If you are talking about just passing a copy of the file around from one person to another with only one person using the file at a time, sure, go ahead, use a service like Google Drive or Dropbox if you want to (although I don’t usually recommend that). However, if you are talking about accessing your QuickBooks file from one of these drives in a multi-user configuration, do not even consider doing this! You don’t even have to read this article, just don’t do it. Don’t believe me? Well, read on…
Sharing a QuickBooks file can mean different things to different people. Are you going to have one person use the file at a time, “serially”, or will multiple people try to update the file at the same, in “parallel”?
Cloud based shared folder products like Dropbox and Google Drive offer free services (for a limited amount of storage) that let you store files on a cloud server that can be accessed from any Internet-connected computer. This is a very convenient way for moving files between different computers. Often these shared folders appear on your computer just like any other shared drive in your network. You can even map them to a drive letter. However, they are only set up for “serial” sharing, they should not be used for “parallel” sharing.
Serial Sharing Can Be OK
By “serial” I mean one person at a time, one after the other. Do you have a single user installation of QuickBooks and just use it on one computer? You aren’t sharing the file, so you are OK. What if you have the QuickBooks database (your “company file” or QBW file) at your office and you want to take it home to work on it over the weekend? You have to be careful and make sure that while you have a copy at home nobody else will work on the office copy. After you work with it at home you can copy the file back to the office. This is “serial” sharing, with one person at a time, one copy of the file.
This kind of sharing can be risky because there are no controls over how the file is managed. You have to have good discipline, a good procedure so that you don’t have mix-ups.
Shared cloud based file services like Dropbox or Google Drive work well in this situation as long as you are sure that only one person is working with the file. You are passing that file around from one place to another and only that one copy is being updated. If two people access a copy of the file and update it you have a problem, as you can’t easily merge the changes that both people make into one file (you can, with tools like the Data Transfer Utility, but that can be complicated).
And, let me be clear, I’m only talking about using this to move the file from one computer to another. DO NOT use QuickBooks to open the file on this service/drive directly, only use the service to move the file from one place to another. Copy it to a local drive (or a drive on your LAN) and access it from there.
One Program to Control Them All
By “parallel” I mean two or more people trying to update the file at the same time.
A QuickBooks database file isn’t just a simple file that you are opening directly, like a Word document file. When you start QuickBooks on your computer the program isn’t opening the file directly, it is actually communicating with a data “service”. If you have a properly set up multi user system you will have one data service that is managing all of the access to your QuickBooks database file from each user. Each QuickBooks “client” is communicating with this service, which acts as a traffic cop to control the flow of information in and out of the database.
If two people try to update the same piece of information at the same time, the data service may allow one user to update but tell the other user that they have to wait (the information is “locked”). You can’t have two people editing the same invoice at one time. In some cases it is simply a matter of making sure that information is updated sequentially, such as how transaction numbers are assigned in the proper order when multiple people are adding invoices.
The essential element here is that there is one program, the data service, that is handling all of the reading and writing of data. In addition, there is really only one copy of the database that is being managed by the data service.
How Cloud Shared Drives Work
If you set up a shared drive like Dropbox or Google Drive it often looks like you just have another shared drive on your computer, just like any other drive on your local network. You can even map a drive letter to this shared drive. However, that isn’t really what is happening. What you are accessing is a synchronized copy of your file that is stored locally on your computer. You’ll see (using Dropbox as an example) a “My Dropbox” folder in your C: drive. As you make changes to the file on your local computer, Dropbox will make a copy of that file onto the shared drive so that other remote users can see it. This is NOT a single file being shared – each user has their own local copy. There isn’t a “traffic cop” that is keeping all your updates in order.
Wait, don’t you have a copy of the data service running on your computer, that is managing the access to the file? Well, yes, but the problem is that each user at a different location will have their own copy of the data service, not just one. These data services aren’t connected, they aren’t talking to each other, so data access is not being coordinated.
Problems, There Will Be Problems
As you can see, if you are trying to set up a cloud shared folder so that you can share your QuickBooks database for multi user (parallel) access, there are going to be problems. You don’t have one traffic cop out there to keep things flowing smoothly. Each user will have their own local copy of the data, which is periodically sent to the cloud drive. There is no arbitration, not merging, no coordination of the data being updated. You don’t know which user’s data will be saved, which will be lost.
Note that the QuickBooks data service is trying to provide data to you as quickly as possible, so it might hold on to some information in memory without fully writing it back to the database file immediately. It is possible that the copy of the file that the cloud service saves might be an incompletely or partially updated copy of the file as it exists on your hard drive.
At the very least you will have some users getting out of date information. You can easily, however, run into data integrity problems or even corrupted/damaged data. You might not see the results of these problems immediately, which is worse because problems can accumulate and be more difficult to repair later.
There was a lively discussion on this topic in The Sleeter Group’s member forum on this topic, with contributions from Mario Nowogrodzki, Mike Branch and Seth David. Thanks for hashing this out for us, guys! And my thanks to Bill Murphy for helping me think out some of the details (and I’m sure he’ll have some clarifications on what I wrote here).