feat(quickbooks): add procurement integration - #6061
feat(quickbooks): add procurement integration#6061BillLeoutsakosvl346 wants to merge 14 commits into
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
PR SummaryMedium Risk Overview OAuth & config: Intuit OAuth provider ( Workflow block: Operation-driven UI for CRUD on documented entities, SQL-like queries, financial reports, CDC sync, batch (≤10 ops), preferences and exchange rates, PDF download/send, attachment URLs, and file uploads—scoped by entity allowlists (locale/SKU-dependent types like API surface: Shared QuickBooks helpers (URLs, query building, response parsing with size limits, fault handling on HTTP 200). Attachment uploads go through a dedicated Docs & discovery: New Reviewed by Cursor Bugbot for commit db63eba. Bugbot is set up for automated code reviews on this repo. Configure here. |
Greptile SummaryAdds a full QuickBooks Online procurement integration (OAuth, block, tools, docs, and upload-attachment API).
Confidence Score: 5/5This PR appears safe to merge; prior review threads are resolved and no blocking failures remain. The sandbox host issue is addressed end-to-end through apiEnvironment on URL builders, tools, the upload route, and tests. The realmId thread was accepted as an intentional v1 manual Company ID tradeoff. No remaining blocking failure was identified on the follow-up scope.
|
| Filename | Overview |
|---|---|
| apps/sim/tools/quickbooks/utils.ts | Central URL/header helpers now switch production vs sandbox hosts via apiEnvironment with validation. |
| apps/sim/blocks/blocks/quickbooks.ts | Block exposes Company ID and advanced Environment selector and maps apiEnvironment into tool params. |
| apps/sim/lib/auth/auth.ts | Registers QuickBooks generic OAuth; realmId remains a manual Company ID input by design for v1. |
| apps/sim/app/api/tools/quickbooks/upload-attachment/route.ts | Upload route forwards apiEnvironment into buildQuickBooksUploadUrl for sandbox-aware uploads. |
| apps/sim/tools/quickbooks/quickbooks.test.ts | Tests cover sandbox host selection and invalid environment rejection. |
Sequence Diagram
sequenceDiagram
participant User
participant Block as QuickBooksBlock
participant Tool as tools/quickbooks/*
participant QB as Intuit QBO API
User->>Block: OAuth connect + Company ID + Environment
Block->>Tool: operation params (realmId, apiEnvironment, ...)
Tool->>Tool: getQuickBooksApiBase(apiEnvironment)
Tool->>QB: HTTPS request to production or sandbox host
QB-->>Tool: JSON / PDF / attachment response
Tool-->>Block: normalized tool output
Reviews (9): Last reviewed commit: "fix(quickbooks): reject incomplete batch..." | Re-trigger Greptile
|
@cursor review |
There was a problem hiding this comment.
✅ Bugbot reviewed your changes and found no new issues!
Comment @cursor review or bugbot run to trigger another review on this PR
Reviewed by Cursor Bugbot for commit 75579c9. Configure here.
|
@cursor review |
|
@cursor review |
|
@cursor review |
|
@cursor review |
There was a problem hiding this comment.
✅ Bugbot reviewed your changes and found no new issues!
Comment @cursor review or bugbot run to trigger another review on this PR
Reviewed by Cursor Bugbot for commit 5dc92de. Configure here.
|
@cursor review |
There was a problem hiding this comment.
✅ Bugbot reviewed your changes and found no new issues!
Comment @cursor review or bugbot run to trigger another review on this PR
Reviewed by Cursor Bugbot for commit 53b7c94. Configure here.
…curement # Conflicts: # apps/docs/components/icons.tsx # apps/sim/components/icons.tsx
|
@cursor review |
|
@cursor review |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using high effort and found 2 potential issues.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 78b2768. Configure here.

Summary
Type of Change
Testing
bun run scripts/generate-docs.tsbun run lintbun run test tools/quickbooks/quickbooks.test.ts lib/oauth/oauth.test.tsbun run type-checkbun run check:api-validation:strictbun run check:bare-iconsChecklist