Clive Woodhouse

Various Thoughts

OR: How to solve the dreaded "Can't remove the ID from the split definition in the middle of the import file"

PayPal seems to do a terrible job of exporting history files to the Quickbooks iif format  I usually get a "Can't remove the ID from the split definition in the middle of the import file" error when importing into Quickbooks Pro 2013.  Here is a work-around that I managed to figure out.

To download my PayPal transactions into a "PayPal" account created in Quickbooks' "Chart of Accounts" I go into my transactions in PayPal then select the downloads link.  This opens the Download History window where I select a date range and select "Quickbooks (.iif)" from the dropdown menu.

Once the file downloads open it with Excel as a tab delimited file.  The original file creates an error because it is missing a SPLID column.  In Excel insert a new column before column B with the "DATE" header.  In this new column B insert "TRNSID" in B1 and "SPLID" in B2 (without quotes).

If you wish to have the transactions imported as cleared you can also do the following.  I prefer this so I can distinguish these newly imported values from existing data to help manually balance the account.  You should now have a column H with "MEMO" as the header.  In column I add "CLEAR" to both I1 and I2.  Then, in I3 add the formula "=IF(ISBLANK(F3),"","Y")".  Copy this down to all the data rows.  This will add a "Y" for any rows that have a transaction in them.  Your spreadsheet header should look like this.

Quickbooks spreadsheet example

Save the spreadsheet, making sure it retains its original tab delimited (text) format and not as an Excel file.  For safety, backup your Quickbooks file before attempting an import.Now import this into Quickbooks as an iif file and everything should work.


Comment (27) Hits: 7293

I just tried to set up a development installation of Commerce Kickstart .  I am creating a site that could accept registrations and payments for after school enrichment classes, so I attempted install the CiviCRM module version 4.4.0 through ckpath/admin/modules/install.

This produced 2 errors.  The first was:

POST Content-Length of 12948857 bytes exceeds the limit of 8388608 bytes in Unknown on line 0, referer: http://localhost/ckpath/admin/modules/install

This was fixed by going to the WAMP tray icon and opening php.ini from the php folder icon.  post_max_size = 8M was changed to post_max_size = 15M.  That solved the first problem.

The next error on attempting to install the module was:

PHP Fatal error:  Maximum execution time of 120 seconds exceeded in D:\\wamp\\www\\ckpath\\includes\\ on line 711, referer: http://localhost/ckpath/admin/modules/install?render=overlay

Likewise, this was resolved by changing the php.ini setting max_execution_time = ??? and increasing it to 180.

Don't forget to restart all WAMP services after making these changes.

I hope this helps someone with the same problem!

Comment (135) Hits: 11747

Anvir Task Manager window

One of my favorite programs on Windows is Anvir Task Manager.  While it does many things, I find its most useful features to be:

  • its disk and resource monitoring
  • more practical replacement for Windows Task Manager
  • the recently used folders button that appears in open/save dialogs

The Pro version, aside from monitoring and notifying, has a full startup/autorun program manager including the ability to delay starts.

You can also “Auto-block” startup programs that continually add themselves to the startup list even though you blocked them the first time.  If you suspect the presence of malware on your system, a handy feature is the ability to generate a “HiJack This” log that can be posted on various sites for expert analysis.

I recommend that you give it a try.  A free download is available from here.



Comment (57) Hits: 8827

I have up until now been confounded by attempts to clone content with attached webforms associated with the Webform CiviCRM Integration module.  Webform CiviCRM Integration is a great module and I really have great respect for Coleman Watts for writing and supporting the module so well.  I don't think I could use my Drupal sites without it.

The big problem I have is that I have some enormous forms associated with class registrations.  Well, they seem enormous to me whenever I have to edit or recreate them.  I have never found a satisfactory and easy way to clone the forms that I use over and over again.  The biggest problem I have is that the Webform portion of the form gets cloned, but the CiviCRM Integration portion in the cloned node copies over with "Enable CiviCRM Processing" off, the number of contacts set to zero,  and all the settings at default.  I then had to spend seemingly endless hours recreating all of the integration information for the new Webform to work properly.   I have, however, discovered a work-around that makes things much faster and eases the process.  I use Lastpass to enhance my online password security by creating different random passwords for every login I use.  This browser adding also has an interesting and effective tool that allows entered data in web site forms to be saved and then automagically filled in on new forms.  My technique is to clone a Webform, go to the CiviCRM integration settings tab, then - Hey Presto! - use Lastpass to fill in all of the settings from a previously saved form.

Here's how I do it step by step.  I'm using Commerce Kickstart for these examples so the admin menu will differ from a plain vanilla Drupal install.

Creating Default Webforms for New Content.

There are several modules available for cloning Webforms in Drupal.  Among the ones I have tried are Node Clone, Node Export, Webform Default Fields, Webform Share, and Webform Template.

I have the greatest difficulty with Webforms attached to content with field collections and entity references.  Using Node Clone I found that the cloned Webform data was often connected to incorrect references.  I finally settled for using Webform Default Fields, as it did not suffer from this issue, but the resulting Webforms are no longer set for CiviCRM Processing.  Webform Default Fields allows a Webform-enabled content type to be created with specific field settings.

Install and activate the Webform Default Fields Module.
Go to content types (

Select + add content type

Fill in the fields appropriately for your content.

From the left menu select Webform, check the Enable webform functionality box, and save.

You should see a new tab with the title of your new content followed by ":Default Webform Fields".  You can use this to create the Webform components that you want included each time new content is created from that content type.  If you select this tab, the form components will appear, but there will be no tab for CiviCRM.


So how do you set up Webform components integrated with CiviCRM?  Go back to manage content from the admin menu (or  You will see that there is a "Webform Default Fields Master Node" just created for the content type you set above.  Select "edit" next to this content item and you will then be taken to an edit view with Webform and CiviCRM tabs.


From the CiviCRM tab CiviCRM Processing can be enabled and various options set.

Lastpass Installation and Use to Replicate CiviCRM Processing


Comment (12) Hits: 3779
Template Settings


For each color, the params below will give default values
Blue Red Oranges Green Purple Pink


Background Color
Text Color


Background Color


Select menu
Google Font
Body Font-size
Body Font-family