Can’t email invoices from QuickBooks on Vista / Windows Server 2008

April 23, 2009

If when you try to email an invoice from QuickBooks on Windows Vista or Windows Server 2008, the process is interupted by a print dialog box, then the error message:

“QuickBooks was unable to send your form for the following reason: QuickBooks cannot connect to the remote server because part of your company data is currently in use. Please try again later. If the problem persists, restart QuickBooks.”

Here’s what works:

If you’re on Vista, make yourself a local admin, then start QB in “Run as administrator” mode.

The same would work on Windows Server 2008, but the only time you’re going to run QB on Server is if you’re in Terminal Server mode (now, finally, called Remote Desktop Server) and you don’t want users logging in as administrators. Not even local administrators. So…

1. Create a local administrator named something QB related, and give it a good password.

2. Configure qb.exe to Run as Administrator for all users, or tell every QB user to start QB by right-clicking the shortcut, then choose “Run as Administrator.”

3. When terminal server users start QB, they’ll be prompted for administrative credentials, which they’ll pass as:

Username: LocalServerNameLocalAdminUserForQB
Password: SuperComplicatedPassword

I’ve found that strangely, users must have no greater privilege level greater than that of the Users security group. That is, if they are members of the Power Users security Group, they will still receive the error at the beginning of this post.

(I posted a similar answer on this site http://community.intuit.com/post/detail/aCceTkOyKr3A5_acfAtdLo before posting here.)

Edit: After putting this into practice, it turns out that this method isn’t perfect: it opens QuickBooks within the Windows authentication context of local admin account you provide to UAC. This means that if this user is a local user, then you can’t access your QB company file on your file server. So the credentials you provide to UAC have to have access to the QB share, but must also be a local admin. Just thinking out loud here… You could give the terminal server local administrator access to the QB share.