Quickbooks Online - Reports and Filters

Different types of Quickbooks Online reports can be accessed through the GET /reports/{id} endpoint. Each report has their own supported filter fields that can be used to query. For example, if we're looking to retrieve the `AgedPayableDetail` report that has a start date of 2019-01-01, an end date of 2019-03-21, and a report date of 2019-02-21, we'll supply the filter along with the value in our `where` clause.

Curl Request example:

curl -X GET \
 'https://api.cloud-elements.com/elements/api-v2/reports/AgedPayableDetail?where=startDueDate%3D%272014-01-01%27%20AND%20endDueDate%3D%272019-12-21%27%20AND%20reportDate%3D%272019-03-21%27' \
 -H 'Authorization: User xxxxxxx, Organization xxxxxxxx, Element xxxxxxx' \
 -H 'accept: application/json' \

Reports and Supported Filters

Name of ReportSupported Filter Fields
AccountListstartCreatedDate, endCreatedDate, createdDateRange, startUpdatedDate, endUpdatedDate,
updatedDateRange, columns, accountStatus, orderBy, sortOrder, accountType
AgedPayablesreportDate, dateRange, agingPeriod, numberOfPeriods, customerIds, vendorIds, itemIds,
classIds, departmentIds, summarizeBy
AgedPayableDetailstartDueDate, endDueDate, reportDate, columns, term, pastDue, agingMethod,
agingPeriod, numberOfPeriods, vendor
AgedReceivablesreportDate, dateRange, agingPeriod, numberOfPeriods, customerIds, vendorIds,
itemIds, classIds, departmentIds, summarizeBy
AgedReceivableDetailstartDueDate, endDueDate, reportDate, columns, term, pastDue, agingMethod,
agingPeriod, numberOfPeriods, customer
BalanceSheetstartDate, endDate, dateRange, accountingMethod, groupBy, customerIds, vendorIds,
itemIds, classIds, departmentIds, summarizeBy
CashFlowstartDate, endDate, dateRange, groupBy, customerIds, vendorIds, itemIds, classIds,
departmentIds, summarizeBy
ClassSales startDate, endDate, dateRange, accountingMethod, groupBy, customerIds, vendorIds,
itemIds, classIds, departmentIds, summarizeBy
CustomerBalancereportDate, dateRange, groupBy, customerIds, vendorIds, itemIds, classIds,
departmentIds, summarizeBy
CustomerBalanceDetailstartDueDate, endDueDate, agingMethod, reportDate, columns, orderBy,
sortOrder, customerIds, vendorIds, itemIds, classIds, departmentIds
CustomerIncomestartDate, endDate, dateRange, accountingMethod, customerIds, vendorIds, itemIds,
classIds, departmentIds, summarizeBy
CustomerSalesstartDate, endDate, dateRange, columns, accountingMethod, groupBy, customerIds,
vendorIds, itemIds, classIds, departmentIds, summarizeBy
DepartmentSalesstartDate, endDate, dateRange, accountingMethod, groupBy, customerIds, vendorIds,
itemIds, classIds, departmentIds, summarizeBy
GeneralLedgerstartDate, endDate, dateRange, columns, accountingMethod, accountStatus, orderBy,
sortOrder, accountType, sourceAccountType, accountIds, sourceAccountIds, customerIds,
vendorIds, itemIds, classIds, departmentIds
ItemSalesstartDate, endDate, dateRange, columns, accountingMethod, groupBy, customerIds,
vendorIds, itemIds, classIds, departmentIds, summarizeBy
InventoryValuationSummaryreportDate, dateRange, customerIds, vendorIds, itemIds, classIds,
departmentIds, summarizeBy
ProfitAndLossstartDate, endDate, dateRange, accountingMethod, groupBy, customerIds, vendorIds,
itemIds, classIds, departmentIds, summarizeBy
ProfitAndLossDetailstartDate, endDate, dateRange, columns, accountingMethod, groupBy, orderBy,
sortOrder, paymentMethod, accountType, customerIds, vendorIds, itemIds, classIds,
departmentIds
TransactionListvendorIds, transactionType, startDate, startCreatedDate, startUpdatedDate,
startDueDate, endDate, endCreatedDate, endUpdatedDate, endDueDate, dateRange,
createdDateRange, updatedDateRange, dueDateRange, sourceAccountType, sortOrder, orderBy,
qzurl, printed, paymentMethod, name, groupBy, memo, docnum, departmentIds, customerIds,
accountingMethod, apPaid, arPaid, classIds, cleared, bothamount
TrialBalancestartDate, endDate, dateRange, accountingMethod, summarizeBy
VendorBalance reportDate, dateRange, customerIds, vendorIds, itemIds, classIds, departmentIds, summarizeBy
VendorBalanceDetail startDueDate, endDueDate, reportDate, columns, dateRange, dueDateRange,
orderBy, sortOrder, term, apPaid, agingMethod, vendor, department
VendorExpenses startDate, endDate, dateRange, accountingMethod, customerIds, vendorIds, itemIds,
classIds, departmentIds, summarizeBy

Filter definitions

- dateRange indicating the date range to use to filter the report. See your specific resource for valid values for this parameter: https://developer.intuit.com/docs/api/accounting Report resources > query parameters > date_macro
- createdDateRangeindicating the date range to use to filter the report by create date.
- updatedDateRange indicating the date range to use to filter the report by updated date.

The supported values for date ranges are - Today, Yesterday This Week, This Week-to-date, Last Week, Last Week-to-date, Next Week, Next 4 Weeks, This Month, This Month-to-date, Last Month, Last Month-to-date, Next Month, This Fiscal Quarter, This Fiscal Quarter-to-date, Last Fiscal Quarter, Last Fiscal Quarter-to-date, Next Fiscal Quarter, This Fiscal Year, This Fiscal Year-to-date, Last Fiscal Year, Last Fiscal, Year-to-date, Next Fiscal Year. The default is This Fiscal Year-to-date.

- startDate indicating the start date of a period for the report. The date format is 'YYYY-MM-DD’, e.g., ‘2015-10-03’
- endDate indicating the end date of a period for the report. The date format is 'YYYY-MM-DD’, e.g., ‘2015-10-03’
- startDueDate indicating the start date of a period for the report. The date format is 'YYYY-MM-DD’, e.g., ‘2015-10-03’
- endDueDate indicating the end date of a period for the report. The date format is 'YYYY-MM-DD’, e.g., ‘2015-10-03’
- startCreatedDate indicating the start created date of a period for the report. The date format is 'YYYY-MM-DD’, e.g., ‘2015-10-03’
- endCreatedDate indicating the end created date of a period for the report. The date format is 'YYYY-MM-DD’, e.g., ‘2015-10-03’
- startUpdatedDate indicating the start created date of a period for the report. The date format is 'YYYY-MM-DD’, e.g., ‘2015-10-03’
- endUpdatedDate indicating the end created date of a period for the report. The date format is 'YYYY-MM-DD’, e.g., ‘2015-10-03’
- reportDate provided with the date format of YYYY-MM-DD. The default value is today’s date.
- accountingMethod with supported values of Cash or Accrual. The default is that defined in the company preferences in Quickbooks.
- accountType indicating the account type to use for the filter.
- sourceAccountType indicating the source account type to use for the filter.

The supported values for account types, including the source account type, are - Bank, AccountsReceivable, OtherCurrentAsset, FixedAsset, OtherAsset, AccountsPayable, CreditCard, OtherCurrentLiability, LongTermLiability, Equity, Income, CostOfGoodsSold, Expense, OtherIncome, OtherExpense, NonPosting. The default is to include all account types in the report.

- agingMethod with supported values of Report_date or Current. The default is Current.
- agingPeriod indicating the number of days in the aging period. The default is 30.
- numberOfPeriods indicating the number of periods to be shown in the report. The default is 4.
- arPaid with supported values of All, Paid, Unpaid. The default is Unpaid.
- apPaid with supported values of All, Paid, Unpaid. The default is Unpaid.
- pastDue indicating to number of past due days to use for the filter.
- shipVia indicating the name of the shipping method as specified in the invoice.
- paymentMethod indicating the name of the payment method used, with supported values of Cash, Check, Dinners Club, American Express, Discover, MasterCard, Visa.
- columns a list of comma separated column names in an 'in ()' clause, indicating the column types to be shown in the report.
- orderBy which specifies the column for the sort order for the results. The default is tx_date.
- sortOrder which specifies the sort order for the results. The supported values are ‘ascend’ and 'descend’. The default is ascend.
- groupBy which specifies a criteria to group the the results. The supported values are Total, Month, Week, Days, Quarter, Year, Customers, Vendors, Classes, Departments, Employees, ProductsAndServices. The default value is Total.
- accountIds A comma separated list of account IDs to filter by.
- sourceAccountIds A comma separated list of the source account IDs to filter by.
- customerIds A comma separated list of customer IDs to filter by.
- vendorIds A comma separated list of vendor IDs to filter by.
- itemIds A comma separated list of item IDs to filter by.
- classIds A comma separated list of class IDs to filter by.
- termIds A comma separated list of term IDs to filter by.
- departmentIds A comma separated list of department IDs to filter by.