Closed (won't fix)
Project:
Quickbooks API
Version:
6.x-1.x-dev
Component:
Code
Priority:
Normal
Category:
Task
Assigned:
Reporter:
Created:
8 Feb 2012 at 18:44 UTC
Updated:
24 Apr 2015 at 14:51 UTC
Jump to comment: Most recent, Most recent file
Comments
Comment #1
nathaniel commentedHere is the initial patch!
Making progress on qb_data.module and qb_field.module. I think the field settings are being saved and retrieved as needed. The mapping form is starting to come together. I have not tested synchronizing any data between Drupal and QuickBooks yet.
Also, haven't touched qb_user.module yet.
Will continue soon! In the meantime if anyone wants to test and/or review the code, here it is.
Comment #2
Freshy88 commentedHey mate,
Looking into a project whereby we'd utilise the Drupal 7 version of this module. If we end up going down this path with the client it will be committed back to the platform so we'll hopefully be able to get some solid testing in etc.
Bit hard to investigate however pre-project since we're not running on Quickbooks ourselves. Are there any large hurdles you can see bringing the functionality across at this stage, or is it just a matter of having the time/cash to do it?
Cheers for any reply! Hoping to get the client onboard to help out :)
Comment #3
nathaniel commentedHey, great, glad to know someone is interested! I have limited time right now to work on this, but have a copy of quickbooks here and will be testing Monday / Tuesday. The Drupal end is looking great so far. Not sure what the API is capable of though.
What system are you using for accounting / bookkeeping? I've been looking for something more efficient than manual spread sheets / invoices.
Will post an update in a few days!
Comment #4
griz commentedI'm working on a site for a very busy small company, I've been looking at ECC but... yeah. Our site is D6 so far, but no doubt will one day end up being D7. I'm not massively experienced but I can help test and make patches with git.
Comment #5
nathaniel commentedOkay, new patch attached against 6.x branch.
I have set up two content types. One for customers (mapped name and credit limit) and one for vendors (mapped name and company name). The data is being passed from Drupal to QuickBooks and vice versa with no duplicates!
TODO:
Test updating records from both ends.
Further testing of field mapping.
Comment #6
ft_evolution commentedI have been using Drupal 6 and 7 for almost a year now, and I am not en expert coder but I am not retarded by any means, and have been looking to spread my coding wings. I also have a project coming up for my company whereby this Quickbooks integration would be extremely handy. Is there anything I could do to help that may be within my skill level?
Aaron
Comment #7
nathaniel commentedI am currently focused on the qb_field module and more advanced mapping. Handling more fields and required data for different types of quickbooks entries (bills etc.). Also separate mapping for incoming data vs outgoing data since the quickbooks xml requires different structure for each (in some cases)...
You might want to take a look at the qb_user sub module. It looks like that sub module maps user accounts with quickbooks data. Module description: "Synchronize Customers, Employees or Vendor contacts from Quickbooks to your Drupal site."
If that is something that would be useful for your business.
Another issue that comes up in the issue cue is xml parsing and optimizing. This will be my next focus after more advanced mapping is stable.
Roadmap:
Also, if someone wants to review the qbxml version and create an include file to handle a later version and reasons why to use the later version, that might help. I haven't had much time to look into that. All the testing and development so far have been against qbxml v7.0 which has been working fine with quickbooks Pro 2012 on the desktop, so far.
Foreseeable issues: the mapping techniques may not work for all versions of qbxml if each version uses a different structure to communicate with quickbooks. So support might have to be added for different versions of quickbooks, which shouldn't be a huge problem, just more work.
Comment #8
THUxu4as commentedHello Nataniel,
Have you seen this: http://drupal.org/sandbox/stephen.colson/1100862? What do you think of it?
Comment #9
jmomandown commentedWhat is the status of this? I have a project where quickbooks integration will be essential in the "mid-term". Would love to contribute and participate where I can.
Comment #10
nathaniel commentedIt is working - needs to be patched against the current 6.x module and tested thoroughly before going on a live public site.
Depending on what you want it to do, it might need some more work though.
What exactly do you want it to do?
Comment #11
jmomandown commentedJust want to pass invoices back to Quickbooks from a heavily modified Drupal Commerce for in-house accounting purposes. Nothing special. I would have to port it over to D7, but if it is a working product then I can work from there.
Comment #12
WebWalker3D commentedI would LOVE this feature for d7. Any idea if you plan on moving forward on further d7 integration for this project?
Comment #13
justajiggolo commentedI have been trying to test the basic functionality of the patched module put out by Nathaniel. For now, I am testing against a local installation of QB 2012 pro using a sample QB file (and a local Drupal 7.22).
It seems the qb and qbwc modules are basically fully functional. So I have been messing around with the data and field module. It seems for the data module to really do much (without custom writing another module), it NEEDS a field which refers to a stock query. I made a field that refers 'customers'.
This is where I start having issues. It seems that the data module gets the data (qbXML) for each customer on syncing the first time. Syncing a second time (as an auto-run would do) causes drupal's response (to sendRequest) is
The important part of this is the fact that (if you use the QBSDK xml validator, you can see this, or just examine the .xsd files) a CustomerModRq requires an EditSequence, which is not set by default when initially loaded.
My question then is what is the design of EditSequence (AKA qb_edit_sequence column of the qb_data_value table)? Is the qb module suite supposed to only have an edit sequence at certain times (such as when a value is updated), or is this a value that SHOULD be synced with QB? Also, it seems that if the EditSequence cannot be set (in time to generate the qbXML), the qbXML generator should not be able to generate a node incorrectly (i.e. a CustomerModRq without an EditSequence).
After a little futsing with the the code, I used a line that actually allowed syncing the value with QB. Problems with this are that I haven't had time to look into any side effects of doing this, there is likely a better place to do it than where I did (such as in the original import, not as a check during operation testing).
My feeling about this issue is that this is a bug that the qb_edit_sequence is not synched with QB. I think that QB uses the EditSequence as the equivalent of drupal's 'vid' for the revisioning system. Or am I missing something?
Comment #14
justajiggolo commentedLooking into this further, I have a bit more information:
1 - The Edit sequence seems like something that QB sets, and it is nearly constantly changing - like a timestamp, but with a different epoch.
2 - _qb_data_qbwc_response (in qb_data.wc) appears to get the editsequence value, and 'save it', but the saving is done within a DB transaction, so it is not finalized.
3 - qb_data_value_save (in qb_data) seems to unset this value for the sake of disallowing non-QB maintenance on anything other than a select few fields - this is done before the transaction is finalized.
Any suggestions on where this should be fixed? Add functionality to differentiate whether the information being saved is coming from QB or Drupal (users, forms, modules, alters, etc...)?
Comment #15
neha.gangwar commentedIs anybody does quickbooks integration with drupal 7?
With full of functionality like- adding customers to quickbooks account, invoice update, alter products quantity detail etc.
Comment #16
griz commentedhttp://www.webgility.com/ecc/quickbooks-ecommerce-connector.php
We had a foray into swapping from sage to quickbooks and considered this. At the time there were a few pieces of the puzzle missing. They offered to fill them in for a bounty or when enough people ask. Looks like more people asked or someone paid up because they sent us an email to let us know ECC now connects with Ubercart for D6 and does everything we need it to. Too late though, we've gone with Sagepay.
Comment #17
WebWalker3D commentedComment #18
jaak commentedDrupal 7 module
https://www.drupal.org/project/qbo_api
Quickbooks Online API