Expense-Empty report can be downloaded via reconciliation in workspace chat - #101048
Conversation
|
@ZhenjaHorbach 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] |
Codecov Report✅ Changes either increased or maintained existing code coverage, great job!
|
|
@ZhenjaHorbach could you please review it? |
|
Checking! |
Reviewer Checklist
Screenshots/VideosAndroid: HybridApp2026-09-16.11.29.06.movAndroid: mWeb Chrome2026-09-16.11.29.06.moviOS: HybridApp2026-09-16.11.18.18.moviOS: mWeb Safari2026-09-16.11.06.02.movMacOS: Chrome / Safari2026-09-16.10.54.20.mov |
|
We have a small mistmatch with Basic export between Spend Export menu and Report Details More menu Let's use Empty report guard for Spend Basic export for consistency 2026-09-16.10.48.38.mov |
|
And maybe let's update Current view Export to add Empty report guard also 2026-09-16.11.19.38.mov |
|
But overall changes look good! |
|
And now we have conflicts |
|
@ZhenjaHorbach Done 👍 |
|
Now works perfect |
|
🚧 NikkiWines 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. |
|
🚀 Deployed to staging by https://github.com/NikkiWines in version: 9.4.82-0 🚀
|
|
Yes — one help site change is required. Draft PR: Docs updates for E/A#101048 document blocked export of empty reports This PR changed user-facing behavior that the help site didn't cover: exporting a report with no expenses now shows Download failed / You can't export an empty report. instead of producing an empty file, both from a report's More > Export menu and from the basic CSV / Export current view export on the Reports page. What I changed: one FAQ entry in What I left alone: How to Export Expenses covers selecting expenses on the Expenses page, where this guard doesn't apply. How I verified the copyEvery label in the new copy was checked against a running NewDot build on web, not just the source strings:
Behavior claims come from the diff: Applied @dukenv0307, please review the linked help site PR and confirm it reflects the current behavior. Then mark the linked help site PR |
Explanation of Change
Block exporting an empty report from the report header's Export menu (templates + basic CSV) with the same "You can't export an empty report" modal Search already shows.
RCA: For Chase, Plaid returns dummy numbers so connectBankAccountWithPlaid early-returns without creating a BA, but BankInfo.submit still calls markSubmitting which advances to the requestor step before the manual entry creates the BA. The requestor step then submits bankAccountID=0, so backend getBankAccount can't resolve it
Fixed Issues
$ #100701
PROPOSAL:
Tests
Offline tests
QA Steps
// TODO: These must be filled out, or the issue title must include "[No QA]."
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectiontoggleReportand notonIconClick)Avatar, 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.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
Screen.Recording.2026-09-13.at.21.34.27.mov