Thread: Quickbook Sync

Results 1 to 10 of 283

Hybrid View

  1. #1

    Default Re: Quickbook Sync

    Nevermind! I compared the two files and found a small difference:

    return mb_convert_encoding(str_replace(array("\n","\t","'"),' ',$xml), "UTF-8");

    Looks like I did leave a very important change (notice the apostrophe!).

    Anyway, this fixes the bug, but it's not ideal because it removes all the apostrophes instead of dealing with them appropriately.

    I'd still love to be able to edit this thing if I can figure out why it won't authenticate when I make changes.

  2. #2

    Default Re: Quickbook Sync

    Found one more issue:

    My international customers don't seem to be importing correctly.

  3. #3

    Default Re: Quickbook Sync

    Quote Originally Posted by srturner47 View Post
    Nevermind! I compared the two files and found a small difference:

    return mb_convert_encoding(str_replace(array("\n","\t","'"),' ',$xml), "UTF-8");

    Looks like I did leave a very important change (notice the apostrophe!).

    Anyway, this fixes the bug, but it's not ideal because it removes all the apostrophes instead of dealing with them appropriately.

    I'd still love to be able to edit this thing if I can figure out why it won't authenticate when I make changes.
    I sorry which file did you do this edit in :)

    Cheers
    JAy

  4. #4

    Default Re: Quickbook Sync

    Having apostrophe's in the XML String causes Quickbooks to Error out.

    You can remove just the "'" part of that and see if it works, but I doubt it will.

    The OwnerID and FileID has nothing to do with your ability to customize the script,


    You should be able to make any changes you want as long as your changes adhere to Quickbooks SDK Rules, if you removed the mb_convert or the Sub string replacement, chances are the outputed XML was no longer compatible with Quickbooks thus you errored

    @Koi Supplies UK

    Did you make any changes? Turn Debug on, and that will log every action the script takes

  5. #5

    Default Re: Quickbook Sync

    Thanks for the prompt response the_ancient. Don't know why I had authentication issues before, but my changes seem to work now.

    I've been working a little on this mod. I fixed the problem with international orders: It seems that QBXML doesn't work so well with anything but simple ASCII characters. Hence, letters with accents and other characters from different languages were causing problems. Took several hours finding and fixing the problem, but I found a decent fix for it. In addition, I've added the payment method to sales receipts.

    Part of the learning curve was figuring out how QBXML works, as I've never used it before. For those who are new to QBXML, check out this link: http://developer.intuit.com/qbsdk-cu...OSR/index.html -- it's a lifesaver.

    Next, I'm going to implement multiple tax rates and automatic inventory updates (instead of just one time when you first run it). I'd be happy to upload my changes to zen-cart.com's free software once I finish, but I don't want to step on any toes. Let me know if that is OK, the_ancient.

    BTW - kudos to you the_ancient! This mod makes handling Quickbooks so much easier. You just set it and forget it...Ron Popeil would be proud!

  6. #6

    Default Re: Quickbook Sync

    Quote Originally Posted by srturner47 View Post

    Next, I'm going to implement multiple tax rates and automatic inventory updates (instead of just one time when you first run it). I'd be happy to upload my changes to zen-cart.com's free software once I finish, but I don't want to step on any toes. Let me know if that is OK, the_ancient.

    BTW - kudos to you the_ancient! This mod makes handling Quickbooks so much easier. You just set it and forget it...Ron Popeil would be proud!
    The only thing I ask is that I get credit for the code I wrote,

    Having someone build on our Code is the main purpose IMO of OpenSource development, I want to add all of the items you plan to, unfortunately they are not needed for my Employer and I have zero time during my off hours (when I get off Hours) to advance this so it get no feature additions.

    If you want to improve it

  7. #7

    Default Re: Quickbook Sync

    Of course I'll be giving you full credit the ancient. This is exactly why I prefer to work with open source software. :)

    My little changes turned into some big changes. I'll list what I've done, and what I need to do next before releasing this, but I had one question first -- hopefully someone (including the_ancient) can help me understand this. As it stands, check/money orders are sent to QB as a sales order while other payments are sent as sales receipts. I'd never heard of a sales order before, so I had to look it up. Apparently they are a way to store purchases from a customer that can later be combined into an invoice. This makes sense if you have customers who make tons of purchases regularly, as you don't have to bill them individually all the time.

    Here's my issue: for the average Zen Cart store, wouldn't it make more sense to import Check/Money Orders into QB as an invoice? Two reasons: 1) Quickbooks Pro, the most popular version of QB, does not support Sales Orders. You need the more expensive Premier version for this. Hence, this isn't going to work for many people. 2) Most Zen Cart stores (although obviously not all) are not going to have customers visiting frequently that need to be invoiced together for multiple orders.

    I suppose the best solution would be to have invoices, sales receipts, and sales orders available as an option that you can choose. However, its going to take a lot of work, as invoices are currently not coded and sales orders are no longer functioning properly as I have significantly changed the way Sales Receipts work. Is it worth the effort? Updating the sales orders code would be easier than adding invoices, but it seems to me that invoices would be more useful for the average user. All in all, sales receipts are obviously the most important. What do people think? My inclination is to just comment out the sales order code and send all orders as sales receipts. I hate to reduce the functionality as I update this mod, but I question whether its worth the effort to implement these features. Any input would be appreciated.

    OK, so here's the changes I've made so far:

    -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
    -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.
    -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.

    The major work is done. Here are a couple things I'd still like to implement:
    -sales orders and invoices...is it worth it? see above
    -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 want to add 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.

    Here are a few things that would be great additions to this, but I don't plan to do:
    -inventory tracking sync
    -handle products with attributes more accurately

  8. #8

    Default Re: Quickbook Sync

    Nevermind with my question. I just went ahead and fixed Sales Orders to work right. I can't test it though, as I don't have the premiere edition of Quickbooks, so when I release it, users will have to let me know if there are problems. Still haven't decided whether on not it is worth the effort to add invoices.

    Hard at work finishing this. A few more things to do, but it should be done soon. This is an enjoyable project -- I'm having a good time coding this! :) Although I must admit it is distracting me from my other work.... Oh well.

  9. #9

    Default Re: Quickbook Sync

    Quote Originally Posted by srturner47 View Post
    Of course I'll be giving you full credit the ancient. This is exactly why I prefer to work with open source software. :)

    My little changes turned into some big changes. I'll list what I've done, and what I need to do next before releasing this, but I had one question first -- hopefully someone (including the_ancient) can help me understand this. As it stands, check/money orders are sent to QB as a sales order while other payments are sent as sales receipts. I'd never heard of a sales order before, so I had to look it up. Apparently they are a way to store purchases from a customer that can later be combined into an invoice. This makes sense if you have customers who make tons of purchases regularly, as you don't have to bill them individually all the time.

    Here's my issue: for the average Zen Cart store, wouldn't it make more sense to import Check/Money Orders into QB as an invoice? Two reasons: 1) Quickbooks Pro, the most popular version of QB, does not support Sales Orders. You need the more expensive Premier version for this. Hence, this isn't going to work for many people. 2) Most Zen Cart stores (although obviously not all) are not going to have customers visiting frequently that need to be invoiced together for multiple orders.
    I was not aware QB Pro did not have Sales Orders, We only use Premier and infact we may be switching to Enterprise...

    So invoices would be the only logical option, However the way our accounting wants to work it they wanted the sales order not the invoice, why I dont know they are the accountants, Infact they originally wanted me to Create a Sales Order, Invoice and Payment Record for all orders, but I convinced them to let me do a sales receipt for CC Orders




    I suppose the best solution would be to have invoices, sales receipts, and sales orders available as an option that you can choose. However, its going to take a lot of work, as invoices are currently not coded and sales orders are no longer functioning properly as I have significantly changed the way Sales Receipts work. Is it worth the effort? Updating the sales orders code would be easier than adding invoices, but it seems to me that invoices would be more useful for the average user. All in all, sales receipts are obviously the most important. What do people think? My inclination is to just comment out the sales order code and send all orders as sales receipts. I hate to reduce the functionality as I update this mod, but I question whether its worth the effort to implement these features. Any input would be appreciated.
    I am willing to bet 90+% of all orders are CC so I doubt that would be a major Issues,


    OK, so here's the changes I've made so far:

    -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
    -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.
    -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.

    The major work is done. Here are a couple things I'd still like to implement:
    -sales orders and invoices...is it worth it? see above
    -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 want to add 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.

    Here are a few things that would be great additions to this, but I don't plan to do:
    -inventory tracking sync
    -handle products with attributes more accurately
    Looks like a great list and I look forward to seeing them

 

 

Similar Threads

  1. v154 2015 - Quickbook Integration Options?
    By townsend2009 in forum All Other Contributions/Addons
    Replies: 16
    Last Post: 4 Jan 2016, 11:38 PM
  2. sync quickbook mod
    By lions1855 in forum General Questions
    Replies: 1
    Last Post: 2 Mar 2010, 06:38 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
disjunctive-egg