> For the complete documentation index, see [llms.txt](https://docs.coupler.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.coupler.io/sources/category/finance-and-accounting/quickbooks/data-overview.md).

# Data Overview

Coupler.io provides two separate QuickBooks data sources, each designed for different use cases. **QuickBooks** gives you raw entity data (invoices, customers, bills, etc.), while **QuickBooks Reports** gives you pre-built financial reports (P\&L, Balance Sheet, General Ledger, etc.).

## QuickBooks (Entity Data)

This source pulls structured records directly from your QuickBooks Online account. Select one entity per data flow.

#### Available entities

| Entity            | Description                       | Typical use case                      |
| ----------------- | --------------------------------- | ------------------------------------- |
| **Invoice**       | Customer invoices with line items | Revenue tracking, accounts receivable |
| **Customer**      | Customer records and contact info | Customer lists, contact management    |
| **Bill**          | Vendor bills (accounts payable)   | Expense tracking, AP aging            |
| **Payment**       | Customer payments received        | Cash flow tracking                    |
| **Vendor**        | Vendor/supplier records           | Vendor management, AP reporting       |
| **Employee**      | Employee records                  | Payroll, HR reporting                 |
| **Estimate**      | Quotes and estimates              | Sales pipeline tracking               |
| **Purchase**      | Purchases and expenses            | Expense analysis                      |
| **PurchaseOrder** | Purchase orders                   | Procurement tracking                  |
| **SalesReceipt**  | Point-of-sale receipts            | Retail and cash sales                 |
| **CreditMemo**    | Credit memos issued               | Refund and credit tracking            |
| **Deposit**       | Bank deposits                     | Cash flow, deposit reconciliation     |
| **Transfer**      | Bank-to-bank transfers            | Cash management                       |
| **JournalEntry**  | Manual journal entries            | Adjustments, accruals                 |
| **Account**       | Chart of accounts                 | Account structure and balances        |
| **Item**          | Products and services             | Inventory, catalog management         |
| **Budget**        | Budget records                    | Budget vs. actual analysis            |
| **TimeActivity**  | Time tracking entries             | Billable hours, payroll hours         |

Additional entities: Attachable, BillPayment, Class, CompanyInfo, Department, ExchangeRate, JournalCode, PaymentMethod, Preferences, RefundReceipt, TaxAgency, TaxCode, TaxRate, Term, VendorCredit.

#### Entity parameters

| Parameter    | Purpose                                                                    | Example                 |
| ------------ | -------------------------------------------------------------------------- | ----------------------- |
| **Where**    | Filter records using QuickBooks query syntax                               | `TxnDate>='2025-01-01'` |
| **Order**    | Sort results by a field (ascending by default; append DESC for descending) | `EmailAddress DESC`     |
| **Split by** | Split multi-line values (e.g., invoice line items) into separate rows      | `Line`                  |

{% hint style="info" %}
The Where parameter accepts standard date strings in `YYYY-MM-DD` format. See the [Where parameter guide](/sources/category/finance-and-accounting/quickbooks/best-practices/where.md) for full syntax and field-by-field examples.
{% endhint %}

## QuickBooks Reports (Financial Reports)

This source pulls formatted financial reports from QuickBooks Online. Each report has its own set of columns and query parameters.

#### Summary reports

| Report                          | What it shows                               | Key parameters                             |
| ------------------------------- | ------------------------------------------- | ------------------------------------------ |
| **Profit and Loss Summary**     | Revenue and expenses by account             | `accounting_method`, `class`, `department` |
| **Balance Sheet**               | Assets, liabilities, and equity snapshot    | `accounting_method`, `adjusted_gain_loss`  |
| **Cash Flow**                   | Cash inflows and outflows                   | `class`, `department`, `customer`          |
| **Trial Balance**               | Debit/credit balances for all accounts      | `accounting_method`                        |
| **Expenses by Vendor**          | Expense totals grouped by vendor            | `accounting_method`, `class`               |
| **Sales by Customer**           | Sales totals grouped by customer            | `accounting_method`, `class`               |
| **Sales by Product**            | Sales totals grouped by product/service     | `accounting_method`, `department`          |
| **Sales by Class Summary**      | Sales totals grouped by class               | `accounting_method`                        |
| **Sales by Department**         | Sales totals grouped by department/location | `accounting_method`                        |
| **Tax Summary**                 | Tax collected and owed                      | —                                          |
| **Inventory Valuation Summary** | Inventory quantities and values             | —                                          |

#### Detail reports

| Report                           | What it shows                                    | Key columns                            |
| -------------------------------- | ------------------------------------------------ | -------------------------------------- |
| **Profit and Loss Detail**       | Individual transactions behind P\&L line items   | Date, Type, Name, Amount, Balance      |
| **General Ledger Detail**        | All transactions by account with running balance | Date, Account, Debit, Credit, Balance  |
| **Transaction List**             | All transactions in a flat list                  | Date, Type, Account, Amount            |
| **Transaction List by Customer** | Transactions grouped by customer                 | Date, Type, Customer, Amount           |
| **Transaction List by Vendor**   | Transactions grouped by vendor                   | Date, Type, Vendor/Supplier, Amount    |
| **Transaction List with Splits** | Transactions showing all split lines             | Date, Account, Amount, Product/Service |
| **Journal Report**               | Journal entries with debit/credit detail         | Date, Account, Debit, Credit           |

#### Aging and balance reports

| Report                        | What it shows                                 |
| ----------------------------- | --------------------------------------------- |
| **AP Aging Detail / Summary** | Outstanding vendor bills by aging period      |
| **AR Aging Detail / Summary** | Outstanding customer invoices by aging period |
| **Customer Balance / Detail** | Customer balances and underlying transactions |
| **Vendor Balance / Detail**   | Vendor balances and underlying transactions   |
| **Customer Income**           | Income by customer                            |
| **Account List Detail**       | Chart of accounts with balances               |

#### Report configuration options

| Option                 | Purpose                                                                      | Available for                        |
| ---------------------- | ---------------------------------------------------------------------------- | ------------------------------------ |
| **Report period**      | Preset time range (This Month, Last Fiscal Year, Custom, etc.)               | All reports                          |
| **Start/End date**     | Custom date range (when Report period = Custom)                              | All reports                          |
| **Display columns by** | Group data into columns by time period or dimension                          | Summary reports, Transaction Lists   |
| **Report structure**   | Choose between QuickBooks-style (hierarchical) or Flat structure             | Detail reports, some summary reports |
| **Query parameters**   | Additional filters (accounting\_method, class, department, customer, vendor) | Varies by report                     |
| **Columns**            | Select specific columns to include                                           | Detail reports                       |

## Common metric combinations

| Goal                      | Source                          | Configuration                                     |
| ------------------------- | ------------------------------- | ------------------------------------------------- |
| Monthly P\&L dashboard    | QuickBooks Reports              | Profit and Loss Summary, Display columns by Month |
| Accounts receivable aging | QuickBooks Reports              | AR Aging Detail with customer and term filters    |
| Invoice line-item export  | QuickBooks                      | Invoice entity, Split by = `Line`                 |
| Filtered vendor expenses  | QuickBooks Reports              | Expenses by Vendor, filter by class or department |
| Budget vs. actual         | QuickBooks + QuickBooks Reports | Budget entity + Profit and Loss Summary           |

## Use cases by role

{% tabs %}
{% tab title="Finance / Accounting" %}
Automate P\&L, Balance Sheet, and General Ledger exports to Google Sheets or BigQuery. Combine with budgets for variance analysis. Use the `accounting_method` parameter to ensure consistent Cash or Accrual reporting across all data flows.
{% endtab %}

{% tab title="Business Owners" %}
Build monthly revenue and expense dashboards in Looker Studio or Power BI without waiting for accountant reports. Start with Profit and Loss Summary by Month and AR/AP Aging Summary for a real-time snapshot of your business health.
{% endtab %}

{% tab title="Operations" %}
Track AP/AR aging, vendor balances, and purchase orders to manage cash flow proactively. Use the Customer Balance Detail and Vendor Balance Detail reports to stay on top of outstanding receivables and payables.
{% endtab %}

{% tab title="Bookkeepers" %}
Export transaction lists and journal entries for audit preparation and reconciliation. The General Ledger Detail and Transaction List with Splits reports give you the granular, row-level data needed for month-end close and audit trails.
{% endtab %}
{% endtabs %}

## Platform-specific notes

* **QuickBooks Online only** — Coupler.io connects to the QuickBooks Online API. QuickBooks Desktop is not supported.
* **Accounting method** — Reports default to the accounting method set in your QuickBooks company preferences. To override, use the `accounting_method` query parameter with value `Cash` or `Accrual`.
* **400,000-cell limit** — The QuickBooks Reports API has a hard limit of 400,000 cells (rows × columns) per report. If your report exceeds this, QuickBooks truncates the data. Narrow your date range or filters to stay under the limit.
* **Budget entity limitations** — The Budget entity returns budget metadata (name, type, dates) but budget line-item details (monthly amounts by account) are returned in a nested format that requires additional processing.
* **Inactive records** — By default, the QuickBooks entity source returns only active records. To include inactive records (e.g., inactive vendors), add `Active IN (false, true)` to the Where parameter.
* **Class and Department filtering** — To filter reports by Class or Department, you must use the `class` or `department` query parameters with the entity IDs (not names). Find these IDs by first exporting the Class or Department entity.
* **Date fields** — Both the Where parameter (entities) and the Start/End date fields (reports) accept dates in `YYYY-MM-DD` format. Use the date picker for report Start/End dates.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.coupler.io/sources/category/finance-and-accounting/quickbooks/data-overview.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
