Some people will say 'we are in love' or that "Murph is giving away all his secrets in his old age"; well, so be it. Here is a little helper for all my ProAdvisor pals regarding a QuickBooks file that would crash at 30% of the Item History sub-routine when the Verify utility was run (as shown below).
Hint: The % of the sub-routine is just a 'red herring' as one would say if we were playing 'the game of Clue'. In reality, the sub-routine itself is the real clue, the % is meaningless.
Verify stops at 30-percent of Item History
Because QuickBooks stopped working the Verify Report was never produced. When you research the QBWin.log file the final entry (shown below) appears to show the ‘trigger’ for the crash as an Item with a bad COGS target.
QBWin log file Verify stop-entry raw entry
Sorry folks, QuickBooks doesn’t draw a nifty ‘red box’ around the offending entry in the log, I just added this one for clarity. Nor does QuickBooks highlight the key information as I have done below.
QBWin log Verify Stop-entry highlighted
Based upon these highlights you can find two key pieces of ‘evidence’, the bad target is going to be associated with a COGS account, and that COGS account is going to be associated with the specific Item (Item = 21699) number I highlighted.
The error was so bad that none of the other information the QBWin.log might otherwise display about the associated transaction is available, it simply got lost in the crash.
So how do we find the offending issue, how can we resolve this problem? First, (Step 1) we need to identify the item, then (Step 2) we can identify the COGS account, and that let’s us do the things (Step 3) needed to repair the file sufficiently for Verify to complete without crashing. So here are the details of each of these steps:
Step 1 - By exporting an iiF file of the Items in this QuickBooks file to Excel you can then use the Excel ‘find feature’ to look for Item 21699 (this will be the REFNUM) for the item. (You can see the results of our ‘find’ below.)
Locating Item REFNUM using Excel find feature
Step 2 - Now that we have identified the Item (in our ‘simulated case’ the item’s name is “Any Old Item Will Do”, we can go about changing the COGS Account of the Item.
Step 3 - We are not going to use just any COGS account, we are going to make our own COGS account called QB-Repair-COGS. Once we have created the new COGS account simply change the COGS account for our ‘Any Old Item Will Do’ item.
If luck is on our side, when we run the QuickBooks Verify utility again the Item History sub-routine will finish, and QuickBooks will complete the verification process. Just be aware this doesn’t mean that we have solved all the problems in the file, only the one keeping QuickBooks from finishing the Verify (in this one instance).
Once you have worked your way through the remainder of the repairs, you will ‘merge’ the QB-Repair-COGS account into the original COGS account (in the above example COGS – Cost of Goods Sold) and the issue will be resolved.