Eric
Eric

Reputation: 51

How to link QuickBooks and external systems?

Is there a preferred way to link QuickBooks and external systems?

Should I store my external object's PK in the QB external ID field, or the QB object's external ID as a FK in my external object? Both?

Any other alternatives?

Thanks.

edit since I can't answer my own question:

I've decided to go with a custom field.

I tried changing the external ID field on the job, but it appears to be read only. I can create an ID and the job service seems to complete the update, but the external ID does not change, even after a sync. At some point in the future I might put the external ID in the corresponding table on the other side, but I don't need it at this point.

https://developer.intuit.com/docs/0025_quickbooksapi/0050_data_services/v2/0500_quickbooks_windows/0600_object_reference/job

Upvotes: 0

Views: 1406

Answers (3)

JPClark
JPClark

Reputation: 11

I've noticed on many object in the QBD there is an AlternateID field. However, the documentation states it is not supported. I'd use the Custom Field also, but the documentation says the field has to be created in QuickBooks, and not by the API. (The field must first be created before it can be used by the API).

I know I can modify my app to maintain all the QB IDs, but for a two way integration, I'd like to have my IDs in the QB fields also.

Upvotes: 1

Jarred Keneally
Jarred Keneally

Reputation: 1931

There are two ways to integrate with QuickBooks. The first is with the QBXML SDK v13 which Luis referenced looking up fields in the OSR. The other and preferred way is through the QuicKBooks REST API.

I believe Eric is referring to the REST API and the Java SDK which wraps the REST API. In this case you want the id of the object and the sync token as you make multiple updates to the record.

You can see the reference for Accounts (as an example) here https://developer.intuit.com/docs/0025_quickbooksapi/0050_data_services/v2/0500_quickbooks_windows/0600_object_reference/account

regards, Jarred

Upvotes: 1

Louis van Tonder
Louis van Tonder

Reputation: 3700

All QB Items seem to have a unique ID described by the Onscreen Reference, Normally a ListID for list objects. I would use that in my external app.

Other objects, per example invoices etc, all have a unique internal QB ID that you use to reference them, described in the OSR.

Per Example, I would use txnID of an invoice, to reference the invoice in my external app.

TxnID
 QuickBooks generates a unique TxnID for each transaction that is added to QuickBooks. A TxnID returned from a request can be used to refer to the transaction in subsequent requests.

https://member.developer.intuit.com/qbSDK-current/Common/newOSR/index.html

Upvotes: 1

Related Questions