-
Notifications
You must be signed in to change notification settings - Fork 5.5k
[FEATURE] Add the Statement of Cash Flows and Balance Sheet reports #19069
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub. 2 Skipped Deployments
|
WalkthroughAdds two new QuickBooks report actions (Balance Sheet, Cash Flow), two small utility helpers, new QuickBooks client report methods, and multiple version bumps across existing QuickBooks actions and sources. No behavioral changes to preexisting action logic. Changes
Sequence Diagram(s)sequenceDiagram
participant User
participant Action as Report Action
participant Utils as utils.mjs
participant Client as quickbooks.app
participant QBO as QuickBooks Online
User->>Action: invoke action with props (filters, dates, flags)
Action->>Utils: commaSeparateArray / booleanToString
Utils-->>Action: transformed params
Action->>Client: getBalanceSheetReport(params) or getCashFlowReport(params)
Client->>QBO: GET/POST company/{companyId}/reports/BalanceSheet or /reports/CashFlow
QBO-->>Client: report payload
Client-->>Action: return data
Action->>Action: export summary
Action-->>User: return report response
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20–30 minutes
Possibly related PRs
Suggested labels
Suggested reviewers
Pre-merge checks and finishing touches❌ Failed checks (2 warnings)
✅ Passed checks (3 passed)
✨ Finishing touches
🧪 Generate unit tests (beta)
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: ASSERTIVE Plan: Pro 📒 Files selected for processing (53)
🧰 Additional context used🧠 Learnings (3)📚 Learning: 2025-01-23T03:55:15.166ZApplied to files:
📚 Learning: 2024-10-30T15:24:39.294ZApplied to files:
📚 Learning: 2025-10-20T01:01:02.970ZApplied to files:
🧬 Code graph analysis (2)components/quickbooks/actions/get-cash-flow-report/get-cash-flow-report.mjs (2)
components/quickbooks/actions/get-balance-sheet-report/get-balance-sheet-report.mjs (2)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
🔇 Additional comments (54)
Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
📜 Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro
📒 Files selected for processing (4)
components/quickbooks/actions/get-balance-sheet-report/get-balance-sheet-report.mjs(1 hunks)components/quickbooks/actions/get-cash-flow-report/get-cash-flow-report.mjs(1 hunks)components/quickbooks/common/utils.mjs(1 hunks)components/quickbooks/quickbooks.app.mjs(1 hunks)
🧰 Additional context used
🧬 Code graph analysis (2)
components/quickbooks/actions/get-balance-sheet-report/get-balance-sheet-report.mjs (2)
components/quickbooks/actions/get-cash-flow-report/get-cash-flow-report.mjs (1)
response(121-135)components/quickbooks/common/utils.mjs (2)
commaSeparateArray(223-228)booleanToString(230-234)
components/quickbooks/actions/get-cash-flow-report/get-cash-flow-report.mjs (2)
components/quickbooks/actions/get-balance-sheet-report/get-balance-sheet-report.mjs (1)
response(145-162)components/quickbooks/common/utils.mjs (1)
commaSeparateArray(223-228)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (4)
- GitHub Check: Lint Code Base
- GitHub Check: pnpm publish
- GitHub Check: Publish TypeScript components
- GitHub Check: Verify TypeScript components
🔇 Additional comments (5)
components/quickbooks/common/utils.mjs (2)
223-228: LGTM - Edge case handling is appropriate.The function correctly handles non-array inputs and empty arrays by returning them as-is, which works well for optional API parameters that may be undefined or null.
230-234: LGTM - Boolean conversion logic is sound.The function appropriately handles both boolean and string "true" values, and safely converts undefined/null/false to "false" for API consumption.
components/quickbooks/quickbooks.app.mjs (1)
837-848: LGTM - Consistent with existing report methods.Both methods follow the established pattern used by
getProfitLossReportand other report retrieval methods, correctly delegating to_makeRequestwith the appropriate API paths.components/quickbooks/actions/get-balance-sheet-report/get-balance-sheet-report.mjs (1)
1-166: LGTM - Well-structured action module.The implementation follows established patterns for QuickBooks report actions, with proper prop definitions, appropriate use of utility functions for parameter transformation, and clear documentation.
components/quickbooks/actions/get-cash-flow-report/get-cash-flow-report.mjs (1)
1-139: Well-structured action module with one inconsistency.The overall implementation follows established patterns for QuickBooks report actions, with proper prop definitions and clear documentation. However, please address the
classIdsparameter handling issue noted in the separate comment.
components/quickbooks/actions/get-cash-flow-report/get-cash-flow-report.mjs
Outdated
Show resolved
Hide resolved
d09ddfe to
7fb4247
Compare
7fb4247 to
f73f026
Compare
luancazarine
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @jcortes, LGTM! Ready for QA!
|
Hi everyone, all test cases are passed! Ready for release! Test reports
|
|
@jcortes Don't forget to update the Quickbooks Sandbox app as well (as requested by the issue). |
WHY
Resolves #18951
Summary by CodeRabbit