Skip to content

Commit 5e1a67d

Browse files
Bill LeoutsakosBill Leoutsakos
authored andcommitted
feat(quickbooks): add procurement integration
1 parent 4793607 commit 5e1a67d

25 files changed

Lines changed: 1488 additions & 0 deletions

File tree

apps/docs/components/icons.tsx

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8758,3 +8758,20 @@ export function RocketlaneIcon(props: SVGProps<SVGSVGElement>) {
87588758
</svg>
87598759
)
87608760
}
8761+
8762+
export function QuickBooksIcon(props: SVGProps<SVGSVGElement>) {
8763+
return (
8764+
<svg {...props} viewBox='0 0 24 24' fill='none' role='img' xmlns='http://www.w3.org/2000/svg'>
8765+
<circle cx='12' cy='12' r='10' fill='#2CA01C' />
8766+
<path
8767+
d='M9.1 7.2C6.45 7.2 4.3 9.35 4.3 12s2.15 4.8 4.8 4.8h1.7v-2.6H9.1c-1.22 0-2.2-.98-2.2-2.2s.98-2.2 2.2-2.2h1.7V7.2H9.1Z'
8768+
fill='white'
8769+
/>
8770+
<path
8771+
d='M13.2 7.2v2.6h1.7c1.22 0 2.2.98 2.2 2.2s-.98 2.2-2.2 2.2h-1.7v2.6h1.7c2.65 0 4.8-2.15 4.8-4.8s-2.15-4.8-4.8-4.8h-1.7Z'
8772+
fill='white'
8773+
/>
8774+
<path d='M10.8 6.3h2.4v11.4h-2.4V6.3Z' fill='white' />
8775+
</svg>
8776+
)
8777+
}

apps/docs/components/ui/icon-mapping.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,7 @@ import {
175175
PulseIcon,
176176
QdrantIcon,
177177
QuartrIcon,
178+
QuickBooksIcon,
178179
QuiverIcon,
179180
RailwayIcon,
180181
RB2BIcon,
@@ -453,6 +454,7 @@ export const blockTypeToIconMap: Record<string, IconComponent> = {
453454
pulse_v2: PulseIcon,
454455
qdrant: QdrantIcon,
455456
quartr: QuartrIcon,
457+
quickbooks: QuickBooksIcon,
456458
quiver: QuiverIcon,
457459
railway: RailwayIcon,
458460
rb2b: RB2BIcon,

apps/docs/content/docs/en/integrations/meta.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -186,6 +186,7 @@
186186
"pulse",
187187
"qdrant",
188188
"quartr",
189+
"quickbooks",
189190
"quiver",
190191
"railway",
191192
"rb2b",
Lines changed: 130 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,130 @@
1+
---
2+
title: QuickBooks
3+
description: Query vendors, purchase orders, and bills in QuickBooks Online
4+
---
5+
6+
import { BlockInfoCard } from "@/components/ui/block-info-card"
7+
8+
<BlockInfoCard
9+
type="quickbooks"
10+
color="#2CA01C"
11+
/>
12+
13+
## Usage Instructions
14+
15+
Integrate QuickBooks Online into procurement workflows. List vendors, purchase orders, and bills, or run custom QuickBooks Accounting API queries against a company.
16+
17+
18+
19+
## Actions
20+
21+
### `quickbooks_list_vendors`
22+
23+
List vendors from QuickBooks Online
24+
25+
#### Input
26+
27+
| Parameter | Type | Required | Description |
28+
| --------- | ---- | -------- | ----------- |
29+
| `realmId` | string | Yes | QuickBooks company ID returned by Intuit as realmId during OAuth |
30+
| `activeOnly` | boolean | No | Only return active vendors |
31+
| `startPosition` | string | No | One-based start position for QuickBooks query pagination |
32+
| `maxResults` | string | No | Maximum number of vendors to return, up to 1000 |
33+
| `minorVersion` | string | No | QuickBooks Accounting API minor version. Defaults to 75. |
34+
35+
#### Output
36+
37+
| Parameter | Type | Description |
38+
| --------- | ---- | ----------- |
39+
| `items` | array | Vendors returned by QuickBooks |
40+
|`Id` | string | QuickBooks vendor ID |
41+
|`DisplayName` | string | Vendor display name |
42+
|`Active` | boolean | Whether the vendor is active |
43+
| `entity` | string | QuickBooks entity name |
44+
| `totalCount` | number | Total count returned by QuickBooks |
45+
| `startPosition` | number | Start position returned by QuickBooks |
46+
| `maxResults` | number | Maximum records returned by QuickBooks |
47+
| `query` | string | Query that was executed |
48+
49+
### `quickbooks_list_purchase_orders`
50+
51+
List purchase orders from QuickBooks Online
52+
53+
#### Input
54+
55+
| Parameter | Type | Required | Description |
56+
| --------- | ---- | -------- | ----------- |
57+
| `realmId` | string | Yes | QuickBooks company ID returned by Intuit as realmId during OAuth |
58+
| `startPosition` | string | No | One-based start position for QuickBooks query pagination |
59+
| `maxResults` | string | No | Maximum number of purchase orders to return, up to 1000 |
60+
| `minorVersion` | string | No | QuickBooks Accounting API minor version. Defaults to 75. |
61+
62+
#### Output
63+
64+
| Parameter | Type | Description |
65+
| --------- | ---- | ----------- |
66+
| `items` | array | Purchase orders returned by QuickBooks |
67+
|`Id` | string | QuickBooks purchase order ID |
68+
|`DocNumber` | string | Purchase order document number |
69+
|`TxnDate` | string | Purchase order transaction date |
70+
|`TotalAmt` | number | Purchase order total amount |
71+
| `entity` | string | QuickBooks entity name |
72+
| `totalCount` | number | Total count returned by QuickBooks |
73+
| `startPosition` | number | Start position returned by QuickBooks |
74+
| `maxResults` | number | Maximum records returned by QuickBooks |
75+
| `query` | string | Query that was executed |
76+
77+
### `quickbooks_list_bills`
78+
79+
List bills from QuickBooks Online
80+
81+
#### Input
82+
83+
| Parameter | Type | Required | Description |
84+
| --------- | ---- | -------- | ----------- |
85+
| `realmId` | string | Yes | QuickBooks company ID returned by Intuit as realmId during OAuth |
86+
| `startPosition` | string | No | One-based start position for QuickBooks query pagination |
87+
| `maxResults` | string | No | Maximum number of bills to return, up to 1000 |
88+
| `minorVersion` | string | No | QuickBooks Accounting API minor version. Defaults to 75. |
89+
90+
#### Output
91+
92+
| Parameter | Type | Description |
93+
| --------- | ---- | ----------- |
94+
| `items` | array | Bills returned by QuickBooks |
95+
|`Id` | string | QuickBooks bill ID |
96+
|`DocNumber` | string | Bill document number |
97+
|`TxnDate` | string | Bill transaction date |
98+
|`DueDate` | string | Bill due date |
99+
|`TotalAmt` | number | Bill total amount |
100+
|`Balance` | number | Open bill balance |
101+
| `entity` | string | QuickBooks entity name |
102+
| `totalCount` | number | Total count returned by QuickBooks |
103+
| `startPosition` | number | Start position returned by QuickBooks |
104+
| `maxResults` | number | Maximum records returned by QuickBooks |
105+
| `query` | string | Query that was executed |
106+
107+
### `quickbooks_query`
108+
109+
Run a QuickBooks Online Accounting API query
110+
111+
#### Input
112+
113+
| Parameter | Type | Required | Description |
114+
| --------- | ---- | -------- | ----------- |
115+
| `realmId` | string | Yes | QuickBooks company ID returned by Intuit as realmId during OAuth |
116+
| `query` | string | Yes | QuickBooks SQL-like query, e.g. SELECT * FROM Vendor MAXRESULTS 10 |
117+
| `minorVersion` | string | No | QuickBooks Accounting API minor version. Defaults to 75. |
118+
119+
#### Output
120+
121+
| Parameter | Type | Description |
122+
| --------- | ---- | ----------- |
123+
| `items` | array | Records returned by the QuickBooks query |
124+
| `entity` | string | QuickBooks entity name returned by the query |
125+
| `totalCount` | number | Total count returned by QuickBooks for the query |
126+
| `startPosition` | number | Start position returned by QuickBooks |
127+
| `maxResults` | number | Maximum records returned by QuickBooks |
128+
| `query` | string | Query that was executed |
129+
130+

apps/sim/.env.example

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,10 @@ API_ENCRYPTION_KEY=your_api_encryption_key # Use `openssl rand -hex 32` to gener
112112
# TIKTOK_CLIENT_ID=
113113
# TIKTOK_CLIENT_SECRET=
114114

115+
# QuickBooks OAuth (Optional - Client ID/Secret from the Intuit Developer app)
116+
# QUICKBOOKS_CLIENT_ID=
117+
# QUICKBOOKS_CLIENT_SECRET=
118+
115119
# Azure Blob Storage takes precedence over S3 if both are configured
116120
# AZURE_ACCOUNT_NAME= # Azure storage account name
117121
# AZURE_ACCOUNT_KEY= # Azure storage account key

0 commit comments

Comments
 (0)