fix: show scan error instead of populating $0 amount when scan fails - #96772
fix: show scan error instead of populating $0 amount when scan fails#96772x-dev90 wants to merge 4 commits into
Conversation
Codecov Report❌ Looks like you've decreased code coverage for some files. Please write tests to increase, or at least maintain, the existing level of code coverage. See our documentation here for how to interpret this table.
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 8c91229118
ℹ️ 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".
|
@Ollyws Could you please check this case and confirm if it is expected? I compared the backend responses for saving Case 1: Saving
|
@dukenv0307 is this change do-able? |
|
I've raised a BE PR to fix the issue above ^ |
|
@dukenv0307, has the BE pr merged? thanks |
|
Yes, it's deployed to prod |
|
@Ollyws Could you please check this and review when you get a chance? Thanks! |


Explanation of Change
This PR fixes failed SmartScan amount handling by distinguishing the SmartScan placeholder
0from a user-entered$0.00.When SmartScan fails without detecting an amount, the Amount row now renders empty and shows the missing amount error instead of displaying
$0.00. Once the user manually enters0, the app treats it as a valid amount and clears the error.The same failed-scan placeholder handling is shared across the expense details view, split/confirmation amount display, and the amount edit submit flow so the behavior stays consistent.
Fixed Issues
$ #94494
PROPOSAL: #94494 (comment)
Tests
Flow 1: Workspace failed scan expense
$0.00.0and save.$0.00.Flow 2: Split expense failed scan
$0.00.Offline tests
N/A
QA Steps
Same as Tests.
// TODO: These must be filled out, or the issue title must include "[No QA]."
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectionAvatar, 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
Flow:1
Screen_Recording_20260724_005653_New.Expensify.Dev.mp4
Flow:2
Screen_Recording_20260724_005952_New.Expensify.Dev.mp4
Android: mWeb Chrome
Flow:1
Screen_Recording_20260724_002037_Chrome.mp4
Flow:2
Screen_Recording_20260724_010057_Chrome.mp4
iOS: Native
Flow:1
Screen.Recording.2026-07-24.at.12.35.40.AM.mp4
Flow:2
Screen.Recording.2026-07-24.at.12.40.00.AM.mp4
iOS: mWeb Safari
Flow:1
Screen.Recording.2026-07-24.at.12.40.54.AM.mp4
Flow:2
Screen.Recording.2026-07-24.at.12.42.25.AM.mp4
MacOS: Chrome / Safari
Flow:1
flow1.mov
Flow:2
Screen.Recording.2026-07-23.at.11.58.33.PM.mov