It was tricky determining when done is done, but I've gone ahead and released Quickbooks Sync 2. I'm holding off on uploading it to Zen Cart's site for a couple of weeks in case there are initial bug reports from users that need to get worked out. This simply became too big to test every possibility. Some possibilities I couldn't even test -- for example: I don't have QB Premier, so I couldn't test Sales Orders. So please, post any problems you may have so that I can work out any remaining bugs. Consider this a release candidate -- It should work fine, but I am nervous about calling this done, and I'd rather avoid a litany of bug release versions if possible. If any changes need to be made, they should be small.
Until I decide it is safe to upload this as final to Zen Cart's site, you can click on the link on my signature to download it. Its free -- just select the free options and go through checkout. If you're feeling lazy and don't want to go through a checkout, I will also keep a copy at https://www.zencartmod.com/qbSync.zip until I upload the final to Zen Cart's website.
A huge thanks to the_ancient for his/her work on this. I'd never even heard of QBWC or SOAP until I started working on this, so it wouldn't have been possible without the work of the_ancient.
One last note -- Without identifying the company file, you cannot run the Web Connector without the Quickbooks file being open. It looks like the_ancient has left some code in this that may have to do with this, but I haven't tried to figure it out yet. Is it easy to do the_ancient? If you'll let us know about this I'd be happy to add it to the documentation.
Enjoy!
V2.0 CHANGELOG
-Continuing Sync
-Matching System for Continuing Sync
-option to add customer comments to invoice, sales orders, or sales receipt
-option to add attributes from products to invoice, sales orders, or sales receipt
-Created a matching system that allows multiple shipping types, sales taxes, payment methods, and
discounts/fees. These are now stored in the database, and I've created an Admin page that allows you
to do your matching. Default is to pass through the Zen Cart values to Quickbooks. All other values
need to be matched.
-Implemented 2 advanced matching features: 1) * in Zen Cart value will indicated that all values NOT
yet matched should follow this rule. 2) * in Quickbooks value will indicate that this should be passed
through from Zen Cart.
-Setup matching such that values need only CONTAIN the Zen Cart value to match. They do not need
to match exactly. This will make it easier to match things, as many values are not static. For example, if
your shipping is "UPS Ground (xxx pounds)", the xxx will change everytime. But, using "UPS Ground"
in your Zen Cart matching value will always work for this because it contains "UPS Ground". This also
will fix many problems with html codes appearing in matching values.
-Updated tables definitions with DB_PREFIX so that you don't have to anymore.
-Fixed issues that could cause errors including: truncating all QBXML fields to maximum values,
replacing all characters with accents, ^, ~, etc... above them with their standard ASCII character without
the accent, ^, ~, etc..., automatically removing all other characters above and beyond the 128 standard
ASCII characters and replacing them with a ? (QB Web Connector doesn't like these characters!)
-Implemented Payment Methods
-Changed so that products will be taxable or nontaxable on sales receipt based on whether or not they
were taxed on this particular order. Previously, they just took the defaults in Quickbooks, which caused
problems in some cases. Also added ability to force tax or non-tax.
-Added ability to add products as tax or non-tax.
-invoices added
-Choose whether or not invoices, sales receipts, or sales orders are used based on payment name.
-ability to add products as non-inventory part
-move configuration values other than matching to zen cart table so you can configure from admin
-ability to choose whether or not to add products from zen cart after the first time you run QB Web
Connector.
-create an option for QB Sync to use a standard tax name for items that weren't taxed in Zen Cart
-add option to override whether or not products were taxed or not and simply tax or not tax all items
(the reason I added the last two is that this will help people that have assigned a 0% tax so that they
can track their taxable vs. non-taxable orders -- very helpful when sales tax is due -- I highly
recommend it!)
-create files that will make links to qbAdmin.php and the new qbMatch.php accessible from the admin
menu -- no more typing the url!
-Create ability to limit log entries to a certain number. Oldest get deleted first.
-Send error emails to you when there is a problem.
-Added customizable order number format.
- Created ability to ignore Preferred Vendor which allows products to be added without setting up
manufacturers as Vendors.
-Added ability to set orders up as “to be emailed” in addition to “to be printed”.
-Added ability to set terms for Sales Orders/Invoices as an alternative to payment methods for Sales
Receipts.
-A second, high priority que. This allows QBSync to do additional queries. This was important as
several functions have two or three queries in a row now.
-Several new tables in the database.
-Adding customers and products to orders using ListID (a unique identifier in Quickbooks that cannot be
changed by the user) instead of by name. Actually, pretty much everything is done by ListID now. For
those that do not use Continuing Sync, this will be optional if you prefer to identify by Name -- but using
ListID has many other benefits, so I would suggest using it.
-Fixed an issue with the state name not always importing correctly for customers.
-Option to view only errors on Log Page.
-Fixed an issue with admin log page that would cause the table to be very wide.
-I may have missed some enhancements, but these are the major ones!