Skip to content

[Due for payment 2026-07-29] Receipt captured via long-press shortcut lost — expense saved as $0 with no receipt and no failure feedback #95673

Description

@melvin-bot

Problem

A user captured a receipt in NewDot using the long-press shortcut to take and upload a receipt. The expense was created but ended up as a $0 expense with no receipt — the receipt image is nowhere to be found, and the user received no feedback that anything had failed.

This is a concrete instance of the failure mode tracked in #92139 (receipt durability + observability when upload fails).

Repro (as reported)

  1. In the app, use the long-press shortcut to take a receipt and upload it.
  2. Observe the resulting expense.

Expected: The receipt is attached to the expense (or, if the upload fails, the user is clearly notified and given a recovery path).
Actual: The expense is saved as $0 with no receipt attached, and no error/feedback is shown. The receipt image cannot be located.

What we need

  1. Traceability — we must be able to trace what happened in cases like this from logs: whether the image was captured, whether the upload was enqueued, whether/when it was sent, and the server response. (Tracks with the observability work in [Due for payment 2026-07-23] Improve receipt durability and observability when upload fails #92139.)
  2. User feedback — the user must always receive clear feedback when something fails, instead of silently ending up with a $0, receipt-less expense.

Related

Reported in Slack.

Issue OwnerCurrent Issue Owner: @ZhenjaHorbach

Metadata

Metadata

Labels

Awaiting PaymentAuto-added when associated PR is deployed to productionBugSomething is broken. Auto assigns a BugZero manager.DailyKSv2InternalRequires API changes or must be handled by Expensify staffOverdue

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions