[Payment due @Eskalifer1] [NO QA] Remove non-functional QBD Continuous Reconciliation UX#92004
Conversation
Codecov Report✅ Changes either increased or maintained existing code coverage, great job!
|
|
@Eskalifer1 Please copy/paste the Reviewer Checklist from here into a new comment on this PR and complete it. If you have the K2 extension, you can simply click: [this button] |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 05eca98c08
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
|
Reviewing now! |
|
Hi @blimpich I'm having trouble installing QBD on my Mac. Judging by the descriptions of similar issues posted by other contributors on Slack, installing it isn't exactly easy—it's a real nightmare))) Would it be possible for you to just add my account to an existing Workspace that already has QBD? in case that's possible my email is: artemkryt1800+test1@gmail.com |
| shouldShowRightIcon: true, | ||
| title: translate('workspace.accounting.cardReconciliation'), | ||
| wrapperStyle: [styles.sectionMenuItemTopDescription], | ||
| onPress: integrationData?.onCardReconciliationPagePress, |
There was a problem hiding this comment.
I think The ?. is redundant - the spread condition on line 432 already guards that integrationData?.onCardReconciliationPagePress is truthy, so inside the ? [...] branch it's guaranteed to be defined.
There was a problem hiding this comment.
Agreed, but does keeping it hurt us at all you think?
There was a problem hiding this comment.
No, I don't think it's a problem if we leave it as is. It won't change anything—it's just a minor improvement. We can skip it if you think so.
Reviewer Checklist
Screenshots/VideosAndroid: HybridAppvideo_2026-05-29_13-23-28.mp4Android: mWeb Chrome92004-android-web.moviOS: HybridApp2026-05-29.11.44.03.moviOS: mWeb Safari92004-ios-web.movMacOS: Chrome / Safari92004-web.mov |
Yeah it's not as simple as the other connections. Unfortunately I don't have a account with an existing QBD connection. Are you able to follow this StackOverflow article? It also looks like @ahmedGaber93 was able to get a connection on this PR, so maybe ask them if that SO doesn't work? |
Oh, okay, I thought you might have had that so as not to bother the other C+ :) Sure, I'll message him on Slack |
|
Asked here |
|
@Eskalifer1 I added you as admin to Test's Workspace 13. Not sure if you can test this PR with it since I only created initial QBD acount. |
|
🎯 @Eskalifer1, thanks for reviewing and testing this PR! 🎉 A payment issue will be created for your review once this PR is deployed to production. If payment is not needed (e.g., regression PR review fix etc), react with 👎 to this comment to prevent the payment issue from being created. |
|
Sorry @cead22. This is already approved. Idk why Melvin asked for review |
|
🚧 @cead22 has triggered a test Expensify/App build. You can view the workflow run here. |
|
🧪🧪 Use the links below to test this adhoc build on Android, iOS, and Web. Happy testing! 🧪🧪
|
|
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
Explanation of Change
QuickBooks Desktop workspaces with a fully set up Expensify Card surfaced a "Card reconciliation" entry that let admins toggle Continuous Reconciliation on. Auth stored the resulting NVPs, but Integration-Server has no QBD sync service to consume them — the toggle was a no-op. Confirmed in this Slack thread that QBD is not a supported integration for Continuous Reconciliation.
This PR removes the entry point, route, page, and navigation registration for QBD card reconciliation so admins are no longer misled into thinking their Expensify Card transactions are reconciling against QBD. The four integrations that actually support Continuous Reconciliation (QBO, Xero, NetSuite, Sage Intacct) are untouched.
Fixed Issues
$ https://github.com/Expensify/Expensify/issues/642122
PROPOSAL: N/A
Tests
Offline tests
N/A — change is purely navigation/UX and does not interact with the network.
QA Steps
[NO QA] — this PR removes a non-functional admin toggle; there is no positive user-facing flow being added or modified.
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectiontoggleReportand notonIconClick)src/languages/*files and using the translation methodSTYLE.md) were followedAvatar, I verified the components usingAvatarare working as expected)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))npm run compress-svg)Avataris modified, I verified thatAvataris working as expected in all cases)Designlabel and/or tagged@Expensify/designso the design team can review the changes.ScrollViewcomponent to make it scrollable when more elements are added to the page.mainbranch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTeststeps.Screenshots/Videos
Android: Native
Android: mWeb Chrome
iOS: Native
iOS: mWeb Safari
MacOS: Chrome / Safari
Extra context
Integration-Server only ships
*ExpensifyCardSyncService.javaimplementations for QBO, Xero, NetSuite, and Sage Intacct; noQuickbooksDesktopExpensifyCardSyncServiceexists. The same backend gap is noted in Expensify#641405 for the Travel Invoicing CR work.Out of scope for this PR (follow-ups if needed):
ToggleCardContinuousReconciliationstill accepts the connection name as opaque free text — any QBD policies that already toggled this on have a dormant no-op NVP.workspaces/<policyID>/accounting/card-reconciliation?connection=quickbooksDesktopstill renders the parent reconciliation page; the menu entry point is gone.– written by Claude on Ben's behalf