Skip to content

Commit f788487

Browse files
Bill LeoutsakosBill Leoutsakos
authored andcommitted
feat(quickbooks): expose reports in block and catalog
1 parent bf9ddff commit f788487

12 files changed

Lines changed: 899 additions & 48 deletions

File tree

apps/docs/content/docs/en/integrations/quickbooks.mdx

Lines changed: 75 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
title: QuickBooks
3-
description: Manage QuickBooks Online company, sales, purchasing, payables, and accounting
3+
description: Manage QuickBooks Online company, sales, purchasing, payables, accounting, and reports
44
---
55

66
import { BlockInfoCard } from "@/components/ui/block-info-card"
@@ -19,13 +19,15 @@ QuickBooks updates are sparse: provide the record ID, its current `SyncToken`, a
1919

2020
Sandbox credentials call only Intuit's sandbox API and are suitable for disposable test data. Production credentials call the production API and affect the selected live company.
2121

22-
Reports and attachments are not exposed by this version of the block, so report date-range and attachment-size controls do not apply here.
22+
Run Financial Report exposes verified financial statements, aging, balance, sales, and expense reports while preserving QuickBooks' native columns and nested rows. Advanced controls appear only where QuickBooks supports them. Use Read Master Data to discover customer, vendor, account, item, class, and department IDs for report filters. Intuit recommends report periods of six months or less for performance, though Sim does not forbid longer accounting periods.
23+
24+
Attachments are not exposed by this version of the block.
2325
{/* MANUAL-CONTENT-END */}
2426

2527

2628
## Usage Instructions
2729

28-
Connect one QuickBooks Online company to manage bounded master-data, sales, purchasing, receivables, payables, and general-accounting workflows.
30+
Connect one QuickBooks Online company to manage bounded master-data, sales, purchasing, receivables, payables, general-accounting, and financial-reporting workflows.
2931

3032

3133

@@ -67,13 +69,13 @@ Get information about the connected QuickBooks Online company
6769

6870
### `quickbooks_read_master_data`
6971

70-
List or read one account, customer, vendor, item, or employee
72+
List or read one account, class, customer, department, employee, item, or vendor
7173

7274
#### Input
7375

7476
| Parameter | Type | Required | Description |
7577
| --------- | ---- | -------- | ----------- |
76-
| `recordType` | string | Yes | Master-data entity to read: account, customer, vendor, item, or employee |
78+
| `recordType` | string | Yes | Master-data entity to read: account, class, customer, department, employee, item, or vendor |
7779
| `readMode` | string | Yes | Whether to list records or read one record by ID |
7880
| `recordId` | string | No | QuickBooks record ID, required for by-ID reads |
7981
| `startPosition` | number | No | One-based position of the first list record to return |
@@ -91,12 +93,12 @@ List or read one account, customer, vendor, item, or employee
9193
|`MetaData` | json | Entity creation and update timestamps |
9294
|`CreateTime` | string | Entity creation timestamp |
9395
|`LastUpdatedTime` | string | Entity last-updated timestamp |
94-
|`Name` | string | Account or item name |
96+
|`Name` | string | Account, item, class, or department name |
9597
|`SubAccount` | boolean | Whether this is a subaccount |
96-
|`ParentRef` | json | Parent account, item, or category reference |
98+
|`ParentRef` | json | Parent account, item, class, or department reference |
9799
|`value` | string | QuickBooks entity ID |
98100
|`name` | string | QuickBooks entity display name |
99-
|`FullyQualifiedName` | string | Hierarchical qualified account or item name |
101+
|`FullyQualifiedName` | string | Hierarchical qualified account, item, class, or department name |
100102
|`Classification` | string | Account classification |
101103
|`AccountType` | string | Account type |
102104
|`AccountSubType` | string | Account subtype |
@@ -136,19 +138,21 @@ List or read one account, customer, vendor, item, or employee
136138
|`InvStartDate` | string | Inventory tracking start date |
137139
|`PrimaryAddr` | json | Employee primary address |
138140
|`BillableTime` | boolean | Whether employee time is billable |
141+
|`SubClass` | boolean | Whether the Class is nested under another Class |
142+
|`SubDepartment` | boolean | Whether the Department is nested under another Department |
139143
| `items` | array | QuickBooks master-data records returned by a list read |
140144
|`Id` | string | QuickBooks entity ID |
141145
|`SyncToken` | string | Entity sync token |
142146
|`Active` | boolean | Whether the entity is active |
143147
|`MetaData` | json | Entity creation and update timestamps |
144148
|`CreateTime` | string | Entity creation timestamp |
145149
|`LastUpdatedTime` | string | Entity last-updated timestamp |
146-
|`Name` | string | Account or item name |
150+
|`Name` | string | Account, item, class, or department name |
147151
|`SubAccount` | boolean | Whether this is a subaccount |
148-
|`ParentRef` | json | Parent account, item, or category reference |
152+
|`ParentRef` | json | Parent account, item, class, or department reference |
149153
|`value` | string | QuickBooks entity ID |
150154
|`name` | string | QuickBooks entity display name |
151-
|`FullyQualifiedName` | string | Hierarchical qualified account or item name |
155+
|`FullyQualifiedName` | string | Hierarchical qualified account, item, class, or department name |
152156
|`Classification` | string | Account classification |
153157
|`AccountType` | string | Account type |
154158
|`AccountSubType` | string | Account subtype |
@@ -188,6 +192,8 @@ List or read one account, customer, vendor, item, or employee
188192
|`InvStartDate` | string | Inventory tracking start date |
189193
|`PrimaryAddr` | json | Employee primary address |
190194
|`BillableTime` | boolean | Whether employee time is billable |
195+
|`SubClass` | boolean | Whether the Class is nested under another Class |
196+
|`SubDepartment` | boolean | Whether the Department is nested under another Department |
191197
| `startPosition` | number | One-based position of the first record in this page |
192198
| `maxResults` | number | Actual number of records returned in this page |
193199
| `nextStartPosition` | number | Position to use when explicitly requesting the next page |
@@ -2509,3 +2515,61 @@ Sparse-update deposit header fields using the current sync token and destination
25092515
|`MetaData` | json | Transaction creation and update timestamps |
25102516
|`CreateTime` | string | Entity creation timestamp |
25112517
|`LastUpdatedTime` | string | Entity last-updated timestamp |
2518+
2519+
### `quickbooks_run_financial_report`
2520+
2521+
Run a fixed QuickBooks financial report with verified accountant-focused filters
2522+
2523+
#### Input
2524+
2525+
| Parameter | Type | Required | Description |
2526+
| --------- | ---- | -------- | ----------- |
2527+
| `reportType` | string | Yes | Fixed QuickBooks financial report to run |
2528+
| `startDate` | string | No | Report start date in YYYY-MM-DD format; Intuit recommends periods of six months or less for performance |
2529+
| `endDate` | string | No | Report end or as-of date in YYYY-MM-DD format |
2530+
| `accountingMethod` | string | No | Use the QuickBooks default, cash basis, or accrual basis |
2531+
| `summarizeBy` | string | No | Time period or business dimension used to summarize report columns |
2532+
| `customerId` | string | No | Single QuickBooks customer ID filter |
2533+
| `vendorId` | string | No | Single QuickBooks vendor ID filter |
2534+
| `accountId` | string | No | Single QuickBooks account ID filter |
2535+
| `itemId` | string | No | Single QuickBooks item ID filter |
2536+
| `classId` | string | No | Single QuickBooks class ID filter |
2537+
| `departmentId` | string | No | Single QuickBooks department ID filter |
2538+
| `agingMethod` | string | No | Age open balances from the report date or current date |
2539+
| `agingDays` | number | No | Positive number of days in each aging period |
2540+
2541+
#### Output
2542+
2543+
| Parameter | Type | Description |
2544+
| --------- | ---- | ----------- |
2545+
| `reportType` | string | Financial report type that was run |
2546+
| `header` | json | Native QuickBooks report header with name, periods, basis, currency, summarization, filters, and options |
2547+
|`Time` | string | QuickBooks report generation timestamp |
2548+
|`ReportName` | string | Native QuickBooks report name |
2549+
|`DateMacro` | string | QuickBooks date macro, when returned |
2550+
|`ReportBasis` | string | Cash or accrual basis |
2551+
|`StartPeriod` | string | Report start date |
2552+
|`EndPeriod` | string | Report end or as-of date |
2553+
|`SummarizeColumnsBy` | string | Dimension or time period used for report columns |
2554+
|`Currency` | string | Report currency |
2555+
|`Customer` | string | Applied customer filter |
2556+
|`Vendor` | string | Applied vendor filter |
2557+
|`Account` | string | Applied account filter |
2558+
|`Item` | string | Applied item filter |
2559+
|`Class` | string | Applied class filter |
2560+
|`Department` | string | Applied department filter |
2561+
|`Option` | array | Native QuickBooks report options, including no-data indicators when present |
2562+
| `columns` | json | Native QuickBooks report column definitions |
2563+
|`Column` | array | Native report column definitions with titles, types, and metadata |
2564+
|`ColTitle` | string | Column title |
2565+
|`ColType` | string | QuickBooks column data type |
2566+
|`MetaData` | array | Native column metadata name/value entries |
2567+
| `rows` | json | Native hierarchical QuickBooks report rows and section summaries |
2568+
|`Row` | array | Native hierarchical report rows; section rows may contain Header, nested Rows, and Summary, while data rows contain ColData values, IDs, and links |
2569+
|`type` | string | QuickBooks row type |
2570+
|`group` | string | QuickBooks section group |
2571+
|`Header` | json | Section header column data |
2572+
|`ColData` | array | Row values with optional operational IDs and links |
2573+
|`Rows` | json | Nested native QuickBooks report rows |
2574+
|`Summary` | json | Section summary column data |
2575+
| `time` | string | QuickBooks response timestamp |

0 commit comments

Comments
 (0)