Search code examples
intuit-partner-platformquickbooks-online

Quickbooks Online Hello Word .Net Sample


I am looking to build a .Net application that will connect to Quickbooks Online. This application is not intended to be uploaded to the Quickbooks Online App Center. I simply want to build a .Net application that can connect to my personal Quickbooks Online account. I am not understanding difference and purposes for using IPP, .Net DevKit, AggCat DevKit, SDK, Intuit Anywhere, etc.

I joined IPP here: http://developer.intuit.com/ I eventually would like to allow my program to allow connection to other Quickbooks Online accounts, but for now I simply want to connect to my Online account. Is there a basic setup (i.e. a Hello World example) I could follow?

In appcenter.intuit.com (Manage My Apps tab) I am seeing my "Quickbooks Online" => "Launch App" button that takes me to my Online account.

I am not sure when I would use IPP .NET DevKit 2.0 and/or IPP .NET AggCat DevKit 1.0. I am thinking I want to use AggCat. I have reviewed AggCat Authorization documentation and see OAuthRequestValidator requires AccessToken and AccessTokenSecret. I do not see these fields anywhere. I do have an OAuth ConsumerKey and OAuth ConsumerSecret (as well a SAML Identity Provider ID and x.509 Public Certificate Serial Number). .


Solution

  • If you read the Intuit Anywhere FAQs you'll find these questions/answers:

    Q: What are the requirements for implementing Intuit Anywhere?

    A: Your app must: Be a web app available for use within a browser, that is sold as service (SaaS, including transactional pricing based) offering that you sell to multiple customers. Mobile extensions to your SaaS app are supported.

    And:

    Q: I want to integrate my custom (non-SaaS, single-tenant) solution with Intuit Anywhere. Can I do this?

    A: Not today, but we are considering it.

    So, because you indicated:

    I simply want to build a .Net application that can connect to my personal Quickbooks Online account.

    You are not eligible to build for Intuit Anywhere/Intuit Partner Platform/Aggregation APIs/etc.

    So, to answer your other questions:

    I am not understanding difference and purposes for using IPP, .Net DevKit, AggCat DevKit, SDK, Intuit Anywhere, etc.

    • IPP is the platform on top of which a lot of Intuit's newer services are built (including Intuit Anywhere and the AggCat APIs)

    • .NET DevKit is for accessing Intuit Anywhere/Intuit Data Services for SaaS apps

    • AggCat DevKit is for accessing financial information via Intuit Anywhere (e.g. like how Mint.com sucks data out of your bank accounts, etc.)

    • The QuickBooks SDK is the other way to access QuickBooks data (the other being Intuit Anywhere/the DevKits) - this is the route you should take because you're not a SaaS application.

    • Intuit Anywhere is the particular authentication scheme that the DevKit's use to access the Intuit Partner Platform.

    I am not sure when I would use IPP .NET DevKit 2.0 and/or IPP .NET AggCat DevKit 1.0.

    Neither. You're not eligible to use IPP, so you have to use qbXML instead.

    You can find some information about connecting to QuickBooks Online using qbXML on our QuickBooks integration wiki. The easiest way to get started is to register in DESKTOP mode, and then use some of the provided example .NET code for QuickBooks Online.

    In appcenter.intuit.com (Manage My Apps tab) ...

    AppCenter is completely inapplicable to you - since you're not a SaaS app, you're not eligible to build for it.

    I am not sure when I would use IPP .NET DevKit 2.0 and/or IPP .NET AggCat DevKit 1.0.

    If you're a SaaS app, then the:

    • .NET DevKit when you want to access data in QuickBooks

    • .NET AggCat when you want to access bank account information

    If you're not a SaaS app, then you can't use either.