QuickBooks Desktop Data Availability

Modified on Sun, 26 Jul at 3:31 AM

Overview

Intuit does not provide developers with direct access to the QuickBooks Desktop database. Instead, developers retrieve information through the Intuit Software Development Kit (SDK) and other limited interfaces.

Most QuickBooks data is available, but not everything is stored or exposed

QuickBooks Desktop exposes most available fields through the Intuit SDK. However, some information visible in QuickBooks is calculated when a report runs, stored only as descriptive text, or not made available to developers.

QQube works around many SDK limitations by combining available sources into complete data models. Even so, QQube cannot retrieve information that QuickBooks does not store or that Intuit does not expose.

History of QuickBooks Data Extraction

YearTechnologyWhat It Provides
2001Intuit SDKAn XML-based, hierarchical extraction interface. It is not a direct database connection and can be slow with large QuickBooks company files.
2006Custom ReportingA more direct reporting source for QuickBooks Enterprise. It does not expose all available data and is not an Intuit-supported interface for third-party application development.
2014Advanced ReportingA reporting and visualization feature based on a subset of QlikView. QuickBooks must remain open, and the feature is not available to developers.
202264-bit Intuit SDKA 64-bit SDK release that produced little, if any, extraction-performance improvement.

Intuit's last major SDK release was in 2013. Later releases added relatively few items and focused primarily on writing data to QuickBooks rather than reading it.

Some longstanding SDK defects remain. QQube uses tested workarounds where possible, even when they add extraction time, because data accuracy is the priority.

QQube was introduced in 2010. It is a data warehouse rather than a raw connector. Its data models include organized fields, relationships, calculations, and measures that are not supplied by a basic extraction interface.

QuickBooks Data Storage and Linking Limitations

Information displayed in QuickBooks is not always stored in the same form in the underlying company file. Some values are calculated only when a report is requested. Other relationships are represented only by a status or transaction-level reference.

Important

Do not assume that information visible in QuickBooks is stored as a retrievable field or relationship.

Unavailable Relationship or HistoryQuickBooks Behavior
Customer invoice to vendor billQuickBooks records that a bill item or expense has been billed. It does not store a link to the specific customer invoice where it was billed.
Specific inventory cost to customer invoiceThe cost of a particular item on a purchase order or bill cannot be linked to a particular item on a customer invoice.
Estimate change ordersChange-order information is stored as text in a description field on the original estimate, not as structured records in a separate table.
Receive Payment applicationsA payment is applied to the transaction as a whole, not to individual transaction lines.
Item CategoriesItem Categories were introduced in 2023 but have not been made available through the Intuit SDK.
Historical purchase-order or sales-order stateQuickBooks does not preserve prior open or closed states for these transactions.
Time Tracking to payroll checksTime Tracking entries may be used to generate payroll, but QuickBooks does not maintain referential integrity between those entries and the resulting payroll checks.
Other unavailable linksQuickBooks does not expose a Sales Order-to-Purchase Order link or a Journal Entry-to-Journal Entry link, including reversing journal entries.
Balance Sheet by ClassQuickBooks calculates this report when requested. It does not store the class allocation of the balance-sheet amount in a form that can be reverse engineered from General Ledger Detail. QQube runs the QuickBooks report so its results match QuickBooks.
Transaction-line item linksLinks exposed by QuickBooks are generally between transactions, not individual items. A bill may display a purchase-order number beside an item without identifying the exact purchase-order line to which it refers.

Specific Fields Not Available Through the Intuit SDK

Payroll Item Information

Payroll item setup information is not available through the Intuit SDK.

QuickBooks payroll item information not available through the Intuit SDK

Payroll and Compensation Setup

The following payroll and compensation settings are not available:

  • Tax setup.
  • Direct-deposit setup.

QuickBooks tax and direct-deposit setup fields not available through the Intuit SDK

Employee History

The following employee-history fields are not available:

  • Raises and promotions.
  • Leave of absence.

QuickBooks raises, promotions, and leave-of-absence fields not available through the Intuit SDK

Employee Termination Information

Employee termination information is not available through the Intuit SDK.

QuickBooks employee termination fields not available through the Intuit SDK

Payroll Dates

Payroll date fields shown in this QuickBooks window are not available through the Intuit SDK.

QuickBooks payroll date fields not available through the Intuit SDK

Payroll Liability Dates

Payroll liability date fields shown in this QuickBooks window are not available through the Intuit SDK.

QuickBooks payroll liability date fields not available through the Intuit SDK

Template Custom-Field Aliases

Custom-field aliases created under Layout Customization are not available through the Intuit SDK.

QuickBooks template custom-field aliases not available through the Intuit SDK

Job Status Custom Alias Names

Custom alias names assigned to Job Status values are not available through the Intuit SDK.

QuickBooks custom Job Status alias names not available through the Intuit SDK

Bank Reconciliation Cleared Status

The cleared status displayed during bank reconciliation is not available through the Intuit SDK.

QuickBooks bank reconciliation cleared status not available through the Intuit SDK

Credit Card Refund Exchange Information

The exchange rate, foreign rate, and exchange gain or loss are not available for Credit Card Refund transactions.

QuickBooks Credit Card Refund exchange information not available through the Intuit SDK

Additional Transaction and Product Limitations

Multi-Currency Credit Card Refunds in Pro and Premier

A defect in the Intuit SDK prevents QQube from retrieving the exchange gain or loss for a Credit Card Refund in QuickBooks Pro and Premier non-US editions. The amount cannot be reliably reconstructed because QuickBooks does not consistently expose how the exchange difference was assigned.

This limitation does not apply to the US edition.

QuickBooks Credit Card Refund with an unavailable exchange gain or loss

Pending Payments

A payment may be authorized without the funds being captured. QuickBooks then creates a non-posting Receive Payment. The Intuit SDK does not identify the transaction as pending, so it is returned as though it were posted.

QuickBooks authorized payment that has not yet been captured

Class on Transaction Headers

The header Class Name is not available through the Intuit SDK for these transaction types:

  • Item Receipts.
  • Bills.
  • Vendor Credits.
  • Checks.
  • Credit Card Charges.
  • Credit Card Credits.

Build Assemblies

Build Assembly information contains significant gaps in both the Intuit SDK and Custom Reporting. QQube combines the available information to provide the most important fields for General Ledger Detail, Profit and Loss Detail, and Inventory Analytics.

QuickBooks EditionAvailable Build Assembly Information
EnterpriseProvides the most complete available detail, including Class, Unit of Measure, Site, Bin Location, amount, quantity, and serial or lot number.
Pro and PremierDoes not provide line Class or Unit of Measure. Site and Bin Location are not available in these editions. Amount and quantity remain available.
All editionsPending assemblies have additional limitations, including unavailable accounts, line Class, and Unit of Measure. Quantity, Site ID, and Bin Location remain available where supported for Inventory Analytics.

Pending Assemblies

For Advanced Inventory, the Intuit SDK does not provide the Unit of Measure or the relationship to the Unit of Measure conversion tables. QQube therefore reports Pending Assembly quantities in the base unit.

The quantity remains useful for inventory forecasting, but it may not match a column displayed on a QuickBooks report.

Inventory Transfers

The Intuit SDK does not provide complete dollar information for Inventory Transfers. Although the net effect is $0.00, the individual amounts still matter in Detail Trial Balance and General Ledger Detail reporting.

QuickBooks EditionAvailable Inventory Transfer Information
EnterpriseAmount, quantity, and item are available.
Pro and PremierQuantity and item are available. Dollar amounts are not available.

Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article