QuickBooks Wordplace / Intuit Partner Platform / Intuit Data Services

Quick-Start for Federated Applications

Example HTTP Requests and Responses

IPP Requests and Responses

IDS Requests and Responses


Add Requests

Frequently Asked Questions

Is IPP limited to using Flex, or can it work with existing web apps?

It is not limited to Flex. You can use IPP/IDS from any web application, as long as you federate your application (allow logins using SAML via workplace.intuit.com).

There are two “types” of IPP applications:

  1. Native apps Native applications are applications written in Flex which utilize the Flex bindings for IPP. These applications run on Intuit's servers.
  2. Federated apps Federated applications are applications written in your language of choice, running on your servers, which utilize the language bindings of your choice to talk to IPP. All of the communication with IPP is via HTTP XML requests, so pretty much any language out there can talk to IPP without any problems. You'll need to implement a SAML gateway which allows your users to log in via workplace.intuit.com.

Are there APIs for actual data exchange?

Yes. IPP is actually made of up two parts that both provide different sorts of data exchange.

  1. IPP core stuff This involves user management, roles/permissions, access to QuickBase data stores, etc.
  2. IDS (Intuit Data Services) This involves actually exchanging data with QuickBooks. Right now, a subset of QuickBooks data is supported, but Intuit is rapidly adding support for accessing more data within QuickBooks. You can add/modify/delete/query QuickBooks data and the data is automatically synced back to the end-users QuickBooks file.

Is it possible to interact with desktop Quickbooks using IPP or IDS?

That depends on what you mean by “interact”. Yes, you can exchange data with their QuickBooks data file. No, you can't do things like automatically open up a particular window within QuickBooks or something like that.

Is there any sample code available?

There are many open-source IPP DevKits on code.intuit.com that should be helpful.

You'll also need to implement a SAML gateway for authentication, and there is sample code for that as well: [SAML Gateways][2]

I'm the project admin for the QuickBooks PHP DevKit: [QuickBooks PHP DevKit][3]

There's a ton of additional information on the [code.intuit.com][4] website and tons of additional technical documentation on IPP/IDS with Federated applications on [developer.intuit.com][5].

[1]: https://code.intuit.com/sf/projects/ids_ecommerce_py
[2]: https://code.intuit.com/sf/projects/ipp_fed_auth
[3]: https://code.intuit.com/sf/projects/php_devkit
[4]: https://code.intuit.com/sf/sfmain/do/home
[5]: https://ipp.developer.intuit.com/ipp/federated

Intuit Sync Manager Configuration

In Sync Manager branch 1.5 and beyond, there are a number of debug settings which can be set to change the runtime behavior of Sync Manager. These settings are read from SyncDebugSettings.xml, located alongside the Sync Manager logs. (i.e \\Documents and Settings\<localuser>\Local Settings\Application Data\intuit\SyncManager) That file does not initially exist and needs to be created if you want to enable any of the non-default settings.
Example of Writeback URL: <hostname>/sb/dataservices/writeback/WriteBackServiceBean where for production <hostname> = https://services.intuit.com

The format of the .xml and description of the different existing settings is as follows:
     <SkipWriteBack>true</SkipWriteBack>                                     <!-- should we skip writeback? --> 
     <VerboseLogging>true</VerboseLogging>                                   <!-- turn on Verbose logging (logs incoming qbxml, qbsdk response, and outgoing xml response, among possibly other things in the future) -->
         <TargetWriteBackEnv>Production</TargetWriteBackEnv>                 <!-- Enum to select writeback env to point to in debug and relase mode. Choose from: DataDev1, DataDev2, Alpha, Stage, Production,DataQA1,DataQA2, PartnerInt1,PartnerInt2, QUINCYSTAGE -->
         <QBXMLPath>c:\example\qbxml.xml</QBXMLPath>	                        <!-- fully qualified path to qbxml to use with MockRemoteService class -->
         <WebServiceURL>http:\\example.com</WebServiceURL>                   <!-- URL of webservice (if not default) -->
         <SkipResponseAck>true</SkipResponseAck>                             <!-- should we skip sending reponse (simulate failure) -->
        <UseMockLocalClient>true</UseMockLocalClient>                           <!-- set to true to use MockLocalClient class in debug mode. -->
        <SDKResponsePath>c:\example\sdkresponse.xml</SDKResponsePath>       <!-- fully qualified path to skdresponse to use with MockLocalClient class -->
         <SkipIncremental>true</SkipIncremental>                             <!-- should we skip incremental? -->
         <EnableDebugLogging>true</EnableDebugLogging>                           <!-- Log the messages that are logged using Logger.LogDebugMessage(). -->
<!-- used for Venti: new Setup flow--> 
<!-- Enum to select upload env to point to in debug and release mode. 
Choose from: DataDev1, DataDev2, Alpha, Stage, Production,DataQA1,DataQA2, PartnerInt1,PartnerInt2, QUINCYSTAGE -->

<!-- used for Venti: AssistanceCentral and supportability. Server 5.8 release onward. 
Possible values: Dev/Stage. Don't configure this to point to production. -->

write my paper

quickbooks_ipp.txt · Last modified: 2013/01/21 12:44 (external edit)