feat(quickbooks): add sales and accounts receivable - #6130
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Greptile SummaryAdds 15 bounded QuickBooks sales and accounts-receivable operations.
Confidence Score: 5/5The PR appears safe to merge after its stacked base, with no actionable correctness or security defects identified. The new operation identifiers, editor contracts, runtime parameter mappings, bounded parsers, request construction, response transformations, and registry entries remain aligned, and malformed or incomplete financial inputs are rejected before dispatch.
|
| Filename | Overview |
|---|---|
| apps/sim/tools/quickbooks/sales_utils.ts | Adds strict bounded parsing and request-body construction for sales lines, payment allocations, creates, and sparse updates. |
| apps/sim/blocks/blocks/quickbooks.ts | Exposes the new operations with coordinated parameter routing, conditional fields, and operation-specific outputs. |
| apps/sim/tools/quickbooks/read_sales_transactions.ts | Implements fixed-mapping list and by-ID reads with bounded pagination and native transaction outputs. |
| apps/sim/tools/quickbooks/void_invoice.ts | Adds explicitly confirmed invoice voiding while preserving the returned record ID and SyncToken. |
| apps/sim/tools/quickbooks/void_customer_payment.ts | Adds explicitly confirmed customer-payment voiding through the payment update-and-void request contract. |
| apps/sim/tools/quickbooks/sales.test.ts | Covers validation, payload construction, operation routing, response transformation, and void confirmation behavior. |
| apps/sim/tools/registry.ts | Registers all newly added QuickBooks tools consistently with the block's allowed tool identifiers. |
Sequence Diagram
sequenceDiagram
participant Workflow
participant Block as QuickBooks Block
participant Tool as QuickBooks Tool
participant QBO as QuickBooks Online
Workflow->>Block: Select sales/receivables operation
Block->>Block: Parse bounded lines, allocations, and parameters
Block->>Tool: Dispatch registered operation
Tool->>QBO: One authenticated read or mutation request
QBO-->>Tool: Native transaction response
Tool-->>Workflow: Bounded record, IDs, SyncToken, and pagination metadata
Reviews (1): Last reviewed commit: "fix(quickbooks): address independent sal..." | Re-trigger Greptile
|
bugbot run |
|
bugbot run verbose=true |
|
cursor review |
|
@cursor review |
PR SummaryMedium Risk Overview The docs now describe the full bounded QuickBooks block: OAuth company binding, list/by-ID reads with manual pagination, sparse updates, void semantics, sandbox vs production, financial reports, and document limits. They replace narrow list actions with unified read actions for sales, purchasing, and accounting transactions, document employee create/update, optional The new routes authenticate via internal auth, validate contracts, call Intuit (direct PDF or multipart upload for file attachments), enforce file size limits, tool file authorization on uploads, sanitize filenames, validate PDF bytes, and for attachment downloads resolve a temporary URL then fetch via DNS-validated pinned IP before storing files as execution or copilot uploads. Requests honor abort signals so cancelled workflows do not persist partial downloads. Reviewed by Cursor Bugbot for commit 1990197. Bugbot is set up for automated code reviews on this repo. Configure here. |
6ccec84 to
f62cd5f
Compare
9e1e42c to
a0f1c65
Compare
f62cd5f to
bf2a856
Compare
a0f1c65 to
ad88f00
Compare
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit ad88f00. Configure here.
2bb5623 to
30c9e12
Compare
47bfeb2 to
da3dce0
Compare
da3dce0 to
2e35f8e
Compare
924d9e6 to
e429ad5
Compare
2e35f8e to
81a9baf
Compare
7e3f321 to
21de012
Compare
81a9baf to
f449431
Compare
f449431 to
dfb5e1b
Compare
dfb5e1b to
049daff
Compare
64f660b to
74ad283
Compare
049daff to
65b5703
Compare
* feat(quickbooks): add safe purchasing and payables tools * feat(quickbooks): expose purchasing and payables operations * docs(quickbooks): document purchasing and payables tools * fix(quickbooks): require current purchase payment type * fix(quickbooks): allow rounded purchasing line totals * fix(quickbooks): generate purchasing arrays correctly * fix(quickbooks): validate bill payment accounts * fix(quickbooks): validate bill allocations before account lookup * chore(tools): sync purchasing metadata * fix(quickbooks): sanitize bill payment faults * feat(quickbooks): add general accounting operations (#6185) * feat(quickbooks): add accounting transaction tools * feat(quickbooks): expose accounting operations * docs(quickbooks): generate accounting catalog * fix(quickbooks): preserve accounting amount precision * fix(quickbooks): balance journal entries in exact cents * fix(quickbooks): include account in deposit updates * chore(quickbooks): sync accounting catalog * feat(quickbooks): add observable PO-to-bill linking (#6194) * feat(quickbooks): link bills to purchase order lines * docs(quickbooks): document observable bill linking * fix(quickbooks): document purchase order link identifiers * fix(quickbooks): keep shared line example valid * chore(quickbooks): sync bill linking catalog * feat(quickbooks): add accountant-focused financial reports (#6197) * feat(quickbooks): add verified financial report contracts * feat(quickbooks): expose reports in block and catalog * test(quickbooks): cover null report filters * fix(quickbooks): expose report header time * chore(quickbooks): sync reports catalog * feat(quickbooks): add documents and attachments (#6200) * feat(quickbooks): add document and attachment tools * feat(quickbooks): add bounded document file routes * feat(quickbooks): expose document workflows * fix(quickbooks): enforce attachment upload bounds * fix(quickbooks): tighten document handling * fix(quickbooks): align file response limits * test(quickbooks): cover missing PDF content type * test(quickbooks): cover attachment MIME fallback * fix(quickbooks): redact attachment access URLs * fix(quickbooks): store downloaded documents safely * fix(quickbooks): stop cancelled attachment downloads * fix(quickbooks): correct document schemas and upload bytes * chore(quickbooks): sync document catalog * feat(quickbooks): add accountant filters (#6208) * feat(quickbooks): add safe n8n parity tools * feat(quickbooks): expose accountant parity options * fix(quickbooks): address parity review findings * fix(quickbooks): require recipient for payment email * chore(quickbooks): sync parity catalog --------- Co-authored-by: Bill Leoutsakos <billleoutsakos@Bills-MacBook-Pro.local> --------- Co-authored-by: Bill Leoutsakos <billleoutsakos@Mac.localdomain> Co-authored-by: Bill Leoutsakos <billleoutsakos@Bills-MacBook-Pro.local> --------- Co-authored-by: Bill Leoutsakos <billleoutsakos@Mac.localdomain> Co-authored-by: Bill Leoutsakos <billleoutsakos@Bills-MacBook-Pro.local> --------- Co-authored-by: Bill Leoutsakos <billleoutsakos@Mac.localdomain> Co-authored-by: Bill Leoutsakos <billleoutsakos@Bills-MacBook-Pro.local> --------- Co-authored-by: Bill Leoutsakos <billleoutsakos@Bills-MacBook-Pro.local> Co-authored-by: Bill Leoutsakos <billleoutsakos@Mac.localdomain> --------- Co-authored-by: Bill Leoutsakos <billleoutsakos@Mac.localdomain> Co-authored-by: Bill Leoutsakos <billleoutsakos@Bills-MacBook-Pro.local>
6e42e48
into
feat/quickbooks-01-master-data
* feat(quickbooks): add master data and CRUD tools * feat(quickbooks): expose compact master data operations * docs(quickbooks): document master data actions * fix(quickbooks): harden master data outputs * fix(redaction): preserve workflow state tokens * fix(quickbooks): address integration review findings * fix(quickbooks): align item updates and generated docs * fix(quickbooks): sanitize customer tax identifiers * fix(quickbooks): preserve read-write compatibility * fix(quickbooks): use action-first operation labels * test(quickbooks): align operation label expectations * fix(quickbooks): align catalog operation labels * fix(redaction): cover namespaced secret fields * fix(quickbooks): expose master data pagination metadata * fix(quickbooks): omit null optional values * fix(quickbooks): validate master data inputs * chore(tools): sync master data metadata * fix(redaction): anchor workflow token allowlist * feat(quickbooks): add sales and accounts receivable (#6130) * feat(quickbooks): add bounded sales transaction reads * feat(quickbooks): add sales and receivables mutations * feat(quickbooks): expose sales operations in the block * fix(quickbooks): address independent sales review * fix(quickbooks): address final integration review * fix(quickbooks): clarify master data output metadata * fix(quickbooks): mark sales pagination outputs optional * fix(quickbooks): validate calculated sales amounts * fix(quickbooks): generate sales arrays correctly * fix(quickbooks): align sales metadata conditions * chore(tools): sync sales metadata * feat(quickbooks): add purchasing and payables (#6159) * feat(quickbooks): add safe purchasing and payables tools * feat(quickbooks): expose purchasing and payables operations * docs(quickbooks): document purchasing and payables tools * fix(quickbooks): require current purchase payment type * fix(quickbooks): allow rounded purchasing line totals * fix(quickbooks): generate purchasing arrays correctly * fix(quickbooks): validate bill payment accounts * fix(quickbooks): validate bill allocations before account lookup * chore(tools): sync purchasing metadata * fix(quickbooks): sanitize bill payment faults * feat(quickbooks): add general accounting operations (#6185) * feat(quickbooks): add accounting transaction tools * feat(quickbooks): expose accounting operations * docs(quickbooks): generate accounting catalog * fix(quickbooks): preserve accounting amount precision * fix(quickbooks): balance journal entries in exact cents * fix(quickbooks): include account in deposit updates * chore(quickbooks): sync accounting catalog * feat(quickbooks): add observable PO-to-bill linking (#6194) * feat(quickbooks): link bills to purchase order lines * docs(quickbooks): document observable bill linking * fix(quickbooks): document purchase order link identifiers * fix(quickbooks): keep shared line example valid * chore(quickbooks): sync bill linking catalog * feat(quickbooks): add accountant-focused financial reports (#6197) * feat(quickbooks): add verified financial report contracts * feat(quickbooks): expose reports in block and catalog * test(quickbooks): cover null report filters * fix(quickbooks): expose report header time * chore(quickbooks): sync reports catalog * feat(quickbooks): add documents and attachments (#6200) * feat(quickbooks): add document and attachment tools * feat(quickbooks): add bounded document file routes * feat(quickbooks): expose document workflows * fix(quickbooks): enforce attachment upload bounds * fix(quickbooks): tighten document handling * fix(quickbooks): align file response limits * test(quickbooks): cover missing PDF content type * test(quickbooks): cover attachment MIME fallback * fix(quickbooks): redact attachment access URLs * fix(quickbooks): store downloaded documents safely * fix(quickbooks): stop cancelled attachment downloads * fix(quickbooks): correct document schemas and upload bytes * chore(quickbooks): sync document catalog * feat(quickbooks): add accountant filters (#6208) * feat(quickbooks): add safe n8n parity tools * feat(quickbooks): expose accountant parity options * fix(quickbooks): address parity review findings * fix(quickbooks): require recipient for payment email * chore(quickbooks): sync parity catalog --------- Co-authored-by: Bill Leoutsakos <billleoutsakos@Bills-MacBook-Pro.local> --------- Co-authored-by: Bill Leoutsakos <billleoutsakos@Mac.localdomain> Co-authored-by: Bill Leoutsakos <billleoutsakos@Bills-MacBook-Pro.local> --------- Co-authored-by: Bill Leoutsakos <billleoutsakos@Mac.localdomain> Co-authored-by: Bill Leoutsakos <billleoutsakos@Bills-MacBook-Pro.local> --------- Co-authored-by: Bill Leoutsakos <billleoutsakos@Mac.localdomain> Co-authored-by: Bill Leoutsakos <billleoutsakos@Bills-MacBook-Pro.local> --------- Co-authored-by: Bill Leoutsakos <billleoutsakos@Bills-MacBook-Pro.local> Co-authored-by: Bill Leoutsakos <billleoutsakos@Mac.localdomain> --------- Co-authored-by: Bill Leoutsakos <billleoutsakos@Mac.localdomain> Co-authored-by: Bill Leoutsakos <billleoutsakos@Bills-MacBook-Pro.local> --------- Co-authored-by: Bill Leoutsakos <billleoutsakos@Bills-MacBook-Pro.local> Co-authored-by: Bill Leoutsakos <billleoutsakos@Mac.localdomain> --------- Co-authored-by: Bill Leoutsakos <billleoutsakos@Bills-MacBook-Pro.local> Co-authored-by: Bill Leoutsakos <billleoutsakos@Mac.localdomain>

Summary
Adds the second stacked QuickBooks PR with 15 bounded sales and accounts-receivable operations, bringing the block to 25 operations total.
Safety and contracts
feat/quickbooks-01-master-dataas a stacked PRValidation
fit.fit()false-positive warningsgit diff --checkpassedgpt-5.6-solhigh-reasoning review against staging completed with no remaining actionable findingsStack