Congratulations! If you are reading this post, you plan on using the QuickBooks Online REST API v3 to seamlessly connect your app to QuickBooks Online (QBO) data and publish it on the QuickBooks App Store (Apps.com). If you aren’t, you may be missing out on the huge opportunity for developers in the small business market. Think of this post as being your comprehensive guide to getting your small business solution in front of millions of QuickBooks users, and a network of over 100,000 QuickBooks ProAdvisors.
Before we jump into the steps below, I highly recommend you sign up for a QuickBooks Online trial and test out a few of the top Apps.com apps to familiarize yourself with the best design and workflow patterns. Doing this early in the process will help you avoid many hours of re-work caused by “re-inventing the wheel”. It is also a good idea to brush up on the web-based standards: OAuth 2.0, and OpenID. (Read more: QuickBooks API Integration 1: The Basics by Sam Shaaban.)
I’ve also included a checklist at the bottom of this post that you can use to track your progress.
Step 1: Set Up Your Developer Environment
If you haven’t already, you should create your Intuit Developer Account, set up your QuickBooks Online Developer Sandbox, and use the QBO API Explorer to test some of the payloads you’ll be moving between your app and QuickBooks Online. The developer site also has many SDK downloads available in the most popular languages, so grab those too.
Step 2: Build Your QuickBooks Online Integration
Not sure what to build? Focus on solving for your existing customers first. If your app is a small business SaaS app, chances are that many of your existing customers use QuickBooks Online as well. They probably also have a need to move some data between your app and QuickBooks Online, and they are currently jumping through unnecessary hoops to accomplish this. An easy place to start is to physically watch one of your customers. When you see them open your app and QBO side-by-side on the screen so that they can type things from one into the other, that is the data that you need to integrate via the QuickBooks Online Accounting API endpoints or the Reports API within the Accounting API Reference.
Your customers click on this button to grant your app access to their QuickBooks Online data. This button launches the QuickBooks OAuth connection process. It is similar to a Connect to Facebook or Connect to Twitter button you may have seen in other web-based SaaS apps. (Read more: OAuth 2.0/OpenID Connect now available for New Developers by Vishal Aggarwal and watch: Intuit Developer Friday Morning Hangout – Topic QuickBooks OAuth 2.0)
Once successfully connected, your app is ready to start moving data to and from QuickBooks Online via the RESTful API calls.
Step 3: Have Your Existing Customers Use Your Connection To QuickBooks Online
At this point you should have been able to identify and build data connections that your customers find valuable. Now you are ready to push your code live and start letting your customers use the connection. To get your production keys (also called PROD tokens) follow the steps described in our documentation.
By solving for your existing customers first, you have done the following:
- Ensured you have a solid integration that truly solves a small business owners problems.
- Created a chest of loyal users that you can ask to write you great reviews the day you launch on Apps.com.
Is your app brand new? Do you not have any existing customers? Tweet that you are looking for some customers to try out your app and QBO integration. If you CC @IntuitDev or me (David Leary) we’ll do our best to help get your tweet bubbled up to the accountants and customers in our networks.
Now you are well underway to having a growing QuickBooks Online connections report and a successful Apps.com launch.
Step 4: Determine How Your App Will Appear On Apps.com
As you can see in the table below, there are now 5 paths to publishing on QuickBooks Apps.com. You’ll need to ensure that you take the path that best fits your app. Ideally, you want to use the “Standard Listing” implementation, which gives the deepest integration and the most seamless customer experience. However, that might not be the best fit for your app today, so you can start with one of the other types of implementation, then move to the Standard Listing as your app and processes improve overtime. (Read more: New Referral App Listings for the QuickBooks App Store, Apps.com by Lori Fraleigh and Choose Your App Publication Model flowchart.)
Step 5: Build Out Your Apps.com Integration
NOTE: Referral Only apps should skip to Step 6 below.
One of the major advantages of having your app on Apps.com is the one-click signup experience from the app card (your app’s landing page on Apps.com), as well as from within QuickBooks Online via the Apps tab. This allows customers to signup for your app, authorize your app to access their data in QuickBooks, and start using your app as quickly as possible. This is made possible by implementing OpenID in your SaaS app. Essentially, we hand off the known user to you (allowing the user to bypass the need to create a second user name and password on your site) with you already authorized into their QuickBooks Online data.
You also need to add the “Sign In with Intuit” button (OpenID) to your sign-in pages, so that the user can easily sign into your app the next time they use it.
Your QuickBooks Online and Apps.com integration should now be finished.
Step 6: Submit Your App for Publishing on Apps.com
NOTE: Referral Only apps should use these instructions to publish: Publishing an app without Intuit single sign-on
Before you start the publishing and review process, make sure you have completed Step 3 of this post. Then make sure your app passes all the tests on the Apps.com Technical Requirements checklist, meets the security requirements, and will pass the marketing review. (Read more: Practical Tips for Common Web Application Security Vulnerabilities by Jarred Keneally)
Once you have fully tested your app, you are ready to publish your app on Apps.com. You’ll need to sign into the my apps section of developer site and choose the app you are ready to publish. Ensure you have the production app settings page filled out, then click the Publish button. You are now ready to fill out your app card for any of the Apps.com global regions that your app supports. Once everything is perfect, click the Submit app for review button. If you don’t have all the images or copy 100% ready for your app card, you can still submit it, and then update your app card in the future.
Once completed, your app card is pushed live to QuickBooks Apps.com so QuickBooks Online users can discover and sign up for your app. You can then place the official QuickBooks logos on your website and other marketing materials.
At this point be sure to request reviews from the customers you solicited in Step 3 of this post. The apps on Apps.com are listed in order by the number of reviews, so starting out on the first day with multiple 4 and 5 star reviews is crucial to your success.
Step 7: Play The Game
You made it! Your app is now listed on Apps.com and is in front of millions of QuickBooks users, your existing customers have written you great reviews, and now it’s time to focus on growing your app’s customer base.
One of the best ways to get lots of small business customers is to engage with the ProAdvisors, accountants, and bookkeepers that are supporting them on a daily basis. (Read more: 10 Things Successful Small Business App Developers Do To Win With Accountants by David Leary and Why you may not be getting subscriptions to your small business app by David Leary )
Need Help? Have Additional Questions?
Here are some useful links:
- Top 20 Intuit Developer Questions
- Intuit Developer Forum
- Create a Support Ticket
- Intuit Developer Friday Morning Hangout
- Intuit Developer Hub
- Intuit Developer Platform Status
Here is a handy punch-list you can use to keep track of your progress during the development and review process:
See you on Apps.com!
Questions, comments or concerns? Share them on our developer forums.