Skip to content

QuickBooks

Note:

QuickBook connectivity is currently in feature preview.

Documentation for this feature is still work in progress

Connectivity & Security

A QuickBooks data source within xpna is secured using the QuickBooks OAuth2 security flow.

This is a highly secure process provided by QuickBooks, which allows QuickBooks users to grant access to one or more QuickBooks organiations, (that the user has access), to a verified third-party application, like xpna, with specific permissions.

Note:

At no time does xpna access, ask for, or store the user's QuickBooks credentials.

Authorization tokens are stored encrypted within xpna

On adding a new QuickBooks data source, when the user clicks on the Connect to QuickBooks action button, the following flow will occur to allow the user to grant xpna access and return us a token, that we store encrypted, we can use on behalf of the user to subsequently retrieve their QuickBooks data:

ActorAction
xpnaOpens a browser window in the user's default browser to QuickBooks
QuickBooksGets the user to login with their QuickBooks credentials (if not already logged in)
QuickBooksAsks for which QuickBooks Organisation they are granting it to
QuickBooksShows the permissions being asked for and acceptance
QuickBooksRedirects the page back to xpna
xpnaReceives the authorization and attempts to connect to retrieve the information about the organisations connected
xpnaDisplays a message to the user about the success or failure of the connection

Initial Load Duration

To extract and process the data into the xpna data warehouse may take anywhere from 1 minute to several hours, depending on the number of transactions stored in QuickBooks.

A basic rule of thumb is that every 10,000 transactions will take two minutes to load.

Data Synchronization

xpna does incremental loads from QuickBooks on a daily schedule set by the user and will also load on demand when the Refresh data action button is used, (this looks like a 'Play' button).

Expect data refreshes to complete in less than a minute.

Managing the Connection

At any time, a user can disconnect their connection between xpna and QuickBooks from within xpna on the Connections page.

They can also disconnect directly from QuickBooks at: https://app.qbo.intuit.com/app/appcenter/myapps.

On disconnection, the user's QuickBooks data is not removed from xpna; only the connection that is used to update data is severed.

If removal of the data is also required, the user can open up a support ticket with us.

Class and Department Mapping

It is recommended that reading about Dimension Mapping is done before performing mapping for the first time.

If an organisation is using the Class or Department dimensions, the option to create/map dimensions for each will be given on the initial connection.

For each, they can be mapped to an existing dimension or have a new one created to represent it.

If multiple connections (from other sources) within the same workspace are using them in the same way, the same dimensions can be reused across many of them. The name of the custom dimension in xpna does not need to be the same as what is in QuickBooks.

Planning Data

QuickBooks budgets are retrieved as a part of data synchronization, and each is stored in a separate scenario derived from the name in QuickBooks.

xpna does not write planning data back into QuickBooks because it allows planning data to be created against accounts that do not exist in QuickBooks. For example, non-financial accounts such as headcount cannot be created in QuickBooks, so if planning occurs against this account, reporting can only be done from xpna.

Nothing prevents the building of custom QuickBooks imports from xpna data for loading back into QuickBooks if that is desired by users.

Data Flows

xpna extracts a number of data sets from QuickBooks. These are listed below.

xpna does not push data back into QuickBooks for any data set.

QuickBooksxpna
AccountAccount dimension and hierarchies
GeneralLedgerGeneral ledger amount
CompanyInfoEntity
ClassDimensions and members
DepartmentDimensions and members
BudgetsScenarios
PreferencesEntity Configuration