2

I'm in charge of a time clock system which provides easy access for our employees to enter their hours and then publish those hours into quickbooks

This has thus far not been a problem as we have utilized the web connector to interface with a web service which supplied the currently pending time sheets to the system using qbXML time tracking add request objects

Let me preface this by saying that this system works perfectly fine, but we feel like this is not the best way to do what it is that we want to be doing. Here is why:

When we pull in hours, each individual hour block (i.e. 4 hours of vacation, 8 hours of regular pay, 2 hours of overtime) is a separate time tracking add request. As our company has kind of locked themselves into using a company file instead of using a quickbooks database, this adds a lot of individual entries into the company file. We have had to have intuit perform archiving and optimizations to our company file in the past to alleviate problems that this creates (such as slow downs, or the inability to run reports entirely)

Now, there is a single solution that I have found for this, but it's only really a small patch: We can pull in hours on a weekly basis rather than on a daily basis...this means that each week will have one entry of 40 regular hours on Monday rather than 5 entries of 8 regular hours tied to the appropriate weekday. I don't mind this solution, but it doesn't seem like the right solution...

What I'm looking for is a means of bulk adding in time sensitive data in a single call. This means that when the web connector launches and pings my web service, it should return all of the data in a single transaction instead of in a multi-transaction system (which would create one transaction in the company file rather than thousands)

This is probably not possible, but as the Quickbooks documentation is rather lacking I figured I would propose a few questions to the crowd here to see if anyone has found a better solution:

  1. Is there an alternative to timetrackingaddrq that allows you to enter multiple payroll wage item entries, each tied to a specific date? This would be the equivalent of entering all the hours for each week as a single request, but without requiring that these hours be stored all on a single day

  2. Is there a way to return a list of timetrackingaddrq objects (or the alternative as posed in question 1) which Quickbooks can parse through rather than returning each request individually over the web service call?

I understand if this question does not fit in the rules of stack overflow, but seeing as this is the only source that appears to have any kind of activity I hope that this would be the best place to find suggestions. The Intuit forums are quick lacking in the terms of developer assistance...

Robert Petz
  • 2,718
  • 4
  • 23
  • 52

1 Answers1

2

First, please allow me to respectfully disagree with you about the Intuit forums. I visit both StackOverflow and the Intuit forums regularly, and in my experience the people who answer QuickBooks questions on StackOverflow are generally regular contributors to the Intuit forums.

Now, on to your question: you've already acknowledged that your system is working well and doing what you want it to. Your sole problem is behavior of QuickBooks in the presence of large numbers of transactions. It is an unfortunate fact of life that QuickBooks can suffer from occasional company file corruption under heavy use. Here's how to deal with this problem:

  1. Make sure you're using the most recent version of QuickBooks
  2. If step 1 doesn't work, be sure you upgrade to QuickBooks Enterprise if you haven't already.
  3. If step 2 doesn't work, then you must institute a policy of cutting your company file over as often as you need to. For example, you could start a new company file every 4 fiscal years.
  4. If you're using QuickBooks Enterprise and cutting your company file over every fiscal year, and you're still seeing problems with file corruption, you should not be using QuickBooks. Note I've seen some very large enterprises use QuickBooks and I've never seen this scenario.

The core problem you're dealing with is revealed by this remark:

As our company has kind of locked themselves into using a company file instead of using a quickbooks database

This is not very clear, but here's what I think this means: you are using an old copy of QuickBooks that is not the Enterprise edition. If this is the case, then I would definitely recommend following the steps outlined above. I'd also recommend you contact a QuickBooks ProAdvisor and let them review the situation. Trying to solve this problem using programming is a bad idea.

This question (and this answer) is definitely off topic for StackOverflow, and it might be, indeed should be, closed before too long. But I wish you luck! And please don't be a stranger to the Intuit forums, there are plenty of answers there if you know where to look.

Paul Keister
  • 12,851
  • 5
  • 46
  • 75
  • We are absolutely using the latest Quickbooks Enterprise version, however I am glad you agree that this appears to be something that can be resolved on the quickbooks side. We were very taken aback when the Quickbooks maintenance guy recommended that we pull in all the hours as monday hours rather than individual transactions on each day, which is why we stepped back to re-evaluate the current system. I guess I shouldn't judge a forum by it's cover though, I was basing the forum on numerous google searches in which most of the threads found were unanswered or the OP says 'nvm...I solved it' – Robert Petz Oct 03 '12 at 14:20
  • For the record though, I wouldn't call it incompetence on the part of our accounting department...rather our company has grown considerably in the past few years from a very small company and as such we haven't had many opportunities to re-evaluate our systems for improvement yet. – Robert Petz Oct 03 '12 at 14:25
  • Thanks for clearing that up! I've cleaned up my answer a bit, I guess I was in a bad mood... The company file corruption problem is really an embarrassment in this day and age. If you haven't tried cutting over to a new file as described above, it does work. – Paul Keister Oct 03 '12 at 16:30
  • I definitely intend to forward on that tip, that's definitely a simple solution that would probably help us out a lot. By the way, our IT team has mentioned in passing before that there is an alternative to the company file that utilizes a sql based database. Are they accurate in that statement? I haven't seen much in regards to that, but then again I haven't searched for it. If so, that would be much easier for us to integrate with, assuming that we could get read/write permissions to it...If there is, have you heard if it's a pain in the ass to convert to that from a company file? – Robert Petz Oct 03 '12 at 20:34
  • No, that's why I was confused. If you're using the latest version of Enterprise you're already using a private build of Sybase SQLAnywhere. The Sybase database can't be accessed directly, except for some special reporting features aren't worth discussing. This issue causes lots of confusion! – Paul Keister Oct 03 '12 at 22:30
  • +1 to everything Paul said. Indeed, if you're using Enterprise then you're already using the SQL-based product. Not sure where you're getting info like this: "As our company has kind of locked themselves into using a company file instead of using a quickbooks database,", but it's incorrect information. You should consider looking at how you have QuickBooks Enterprise deployed - e.g. is it a shared .QBW file over the network, or accessed via Terminal Services/RDP? have you tried the Linux DB server components? have you tried upgrading the server it's running on? – Keith Palmer Jr. Oct 08 '12 at 02:43