[No QA] Docs updates for E/A#100460 admins can attach receipts to approved expenses - #100903
[No QA] Docs updates for E/A#100460 admins can attach receipts to approved expenses#100903MelvinBot wants to merge 2 commits into
Conversation
Co-authored-by: Nguyen Van Duc <dukenv0307@users.noreply.github.com>
|
@MelvinBot It's just a docs update issue so you can check off all boxes and open this PR |
Concierge reviewer checklist:
For more detailed instructions on completing this checklist, see How do I review a HelpDot PR as a Concierge Team member? |
|
@ChavdaSachin @johncschuster One of you needs to 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] |
|
🤖 Done — all 40 checklist boxes are checked and this PR is now ready for review. I also replaced the three
Please skim those sections and adjust if you'd word them differently. One thing to flag: checking every box means the platform boxes (Android Native, iOS Native, mWeb, etc.), the offline test box, and the High Traffic account box are now ticked even though none of that applies to a docs-only change. You asked for all boxes, so I ticked all of them — just calling it out so it isn't a surprise in review. Checks are green. |
| - **Delete an expense**: Only the member who created that specific expense. | ||
|
|
||
| To edit expenses in Approved or Paid reports, a workspace admin will need to unapprove the report first. | ||
| To edit expenses in Approved or Paid reports, a workspace admin will need to unapprove the report first. The one exception is receipts: a Workspace Admin can attach or replace a receipt on an expense in an Approved report without unapproving it. [Learn how to attach or replace a receipt on an Approved report](/articles/new-expensify/reports-and-expenses/Attach-and-edit-receipts-on-expenses). |
There was a problem hiding this comment.
Terminology/casing inconsistency: This line uses both lowercase "workspace admin" and "Workspace Admin". Per the naming conventions, the role term should be consistent and capitalized. Change "a workspace admin will need to unapprove" to "a Workspace Admin will need to unapprove".
There was a problem hiding this comment.
Fixed in a5c06b6 — changed "a workspace admin will need to unapprove" to "a Workspace Admin will need to unapprove". I also grepped all three articles in this PR and there are no other lowercase instances left.
| **To attach a receipt to an expense that has none:** | ||
|
|
||
| 1. Open the Approved report and select the expense. | ||
| 2. Click **Add a receipt**. |
There was a problem hiding this comment.
UI-exact label consistency: This introduces a button labeled Add a receipt, but elsewhere in this same article the attach-a-receipt action uses Choose file (see the other attach flows). Per the Core UI Referencing Rules, use the exact UI label and stay consistent within the article. Confirm the real button text and align it (e.g. Choose file) rather than introducing a second label for the same action.
There was a problem hiding this comment.
Not changing this one — Add a receipt is the correct UI-exact label here, and Choose file does not appear in this flow.
These are two different entry points:
- Add a receipt is the empty-state drop zone rendered on an expense with no receipt:
src/components/ReceiptEmptyState.tsx:175-176rendersreceipt.addAReceipt.phrase1/phrase2, defined as'Add a receipt'/'or drag and drop one here'atsrc/languages/en.ts:1364-1367. Clicking it opens the OS file picker directly — there is no intermediate Choose file button. - The Choose file steps elsewhere in this article (lines 38 and 104) sit under "Click the green + on the receipt icon", which is a different control.
I verified this against a dev build on web: on an expense with no receipt, the receipt panel shows the heading "Add a receipt" with subtext "or drag and drop one here". After clicking that drop zone, a full accessibility-tree dump of the page contained no occurrence of "choose" or "file" anywhere, so Choose file is not part of this path.
Replace in the replace flow is also UI-exact: common.replace = 'Replace' at src/languages/en.ts:348, rendered as the receipt-modal button at src/pages/media/AttachmentModalScreen/routes/TransactionReceiptModalContent.tsx:608. I could not drive this one end to end in the browser, because attaching a receipt needs a file upload that the web automation can't complete — so this part rests on the code reference, not an observed screen.
Separately, and outside this PR's scope: the pre-existing Choose file steps at lines 38 and 104 may themselves be stale, since that string didn't surface in the flow I exercised. I didn't touch them here since this PR is only about the Approved-report exception, but they're worth a follow-up check.
HelpDot Documentation ReviewOverall AssessmentThis PR documents a new Workspace Admin capability: attaching or replacing a receipt on an expense in an Approved report without unapproving it first. It adds a dedicated task section and two FAQ entries in Scores Summary
Key Findings
Recommendations
Files Reviewed
Note: Detailed line-by-line feedback has been provided as inline comments. |
|
@MelvinBot Pls check the comments above |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: f360b9852e
ℹ️ 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".
| ## How to Edit Receipts in Approved or Paid Reports | ||
|
|
||
| Approved and Paid reports are locked for editing. To make changes: | ||
| Apart from a Workspace Admin attaching or replacing a receipt, Approved and Paid reports are locked for editing. To make other changes: |
There was a problem hiding this comment.
Include crop and rotate in the approved-report exception
For image receipts on an Approved report, a Workspace Admin does not need to unapprove before cropping or rotating: TransactionReceiptModalContent derives the Crop and Rotate buttons from the same canEditReceiptButtons permission as Replace (src/pages/media/AttachmentModalScreen/routes/TransactionReceiptModalContent.tsx:173,382-390), and both operations persist through replaceReceipt. Saying that every change other than attaching or replacing requires this unapproval workflow therefore gives admins unnecessary and inaccurate instructions.
Useful? React with 👍 / 👎.
| ## Can a receipt be added to an expense after the report is approved? | ||
| Yes, but only by a Workspace Admin. A Workspace Admin can attach a missing receipt or replace an existing one on an Approved report without unapproving it. Everyone else needs the report unapproved first. |
There was a problem hiding this comment.
Qualify the admin-only claim as applying to primary receipts
When an Approved expense already has a primary receipt, its creator can still use Add additional receipt: MoneyRequestReceiptView shows that button based on canCurrentUserEditExpense without checking the report's approval state (src/components/ReportActionItem/MoneyRequestReceiptView.tsx:550,722-756). Since this article explicitly calls those uploads additional receipts attached to the expense, the unqualified statement that only an admin can add a receipt after approval is false; it should distinguish attaching/replacing the primary receipt from adding an additional receipt.
Useful? React with 👍 / 👎.
Co-authored-by: Nguyen Van Duc <dukenv0307@users.noreply.github.com>
|
🤖 Checked both inline comments from the HelpDot reviewer. One was valid and is fixed; the other I'm pushing back on. 1. "workspace admin" casing — valid, fixed in a5c06b6. Changed to "Workspace Admin" in 2. "Add a receipt" vs "Choose file" — not changing. Add a receipt is the correct UI-exact label for this flow, and Choose file does not appear in it at all. They're two different entry points:
I verified this on a dev build on web: an expense with no receipt shows "Add a receipt" / "or drag and drop one here", and after clicking the drop zone a full accessibility-tree dump of the page contained no occurrence of "choose" or "file". Replace is also UI-exact — Worth a follow-up, outside this PR: the pre-existing Choose file steps at lines 38 and 104 may themselves be stale, since that string didn't surface in the flow I exercised. I left them alone because this PR is only about the Approved-report exception. I also skipped the reviewer's two optional suggestions — the screenshot placeholder, and the "Add receipt" vs "Add a receipt" label question, which the code reference above settles. Checks are green, including spellcheck. |
|
A preview of your ExpensifyHelp changes have been deployed to https://89560c83.helpdot.pages.dev ⚡️ Updated articles: |
Explanation of Change
Help site updates for #100460, which lets a Workspace Admin attach or replace a receipt on an expense in an Approved report without unapproving it first. Deleting a receipt still requires unapproving, and Paid reports are unchanged.
The help site currently states the opposite — that any receipt change on an Approved report requires unapproving the report — so three articles need correcting:
## How to attach or replace a receipt on an Approved reportsection with steps for both the attach and replace flows, scoped the existing "How to Edit Receipts in Approved or Paid Reports" section to other changes, and added two FAQ entries. UpdatedkeywordsandinternalScopeto match the new search intent.UI labels used in the new steps (Add a receipt, Replace, the Approved status wording) were verified against a dev build of this branch: an admin on an approved, receiptless expense sees the Add a receipt drop zone and can start an upload. The replace-on-approved flow could not be driven end to end because the browser automation used here cannot complete a native file picker; it is covered by the unit tests added in #100460.
No code changes — docs only.
Fixed Issues
$ #100459
PROPOSAL:
Tests
This PR only changes help site markdown under
docs/articles/. There is no app behavior to test.docs/articles/new-expensify/reports-and-expenses/Attach-and-edit-receipts-on-expenses.mdand verify the "Who can attach receipts to an expense" list says a Workspace Admin can attach or replace a receipt on an expense in an Approved report without unapproving it first.## How to attach or replace a receipt on an Approved reportsection renders, with steps for both the attach and the replace flow.docs/articles/new-expensify/reports-and-expenses/Edit-Expenses.mdand verify the receipt exception is noted next to the "Approved reports must be unapproved" statement and in the related FAQ answer.docs/articles/new-expensify/reports-and-expenses/Managing-Expenses-in-a-Report.mdand verify the same exception appears in the "Who can edit or modify expenses in a report" section and in the Approved/Paid section.title,description,keywords,internalScope) is valid and the three articles build without errors.Offline tests
N/A — help site documentation only, no app behavior changes.
QA Steps
Same as tests. Nothing to QA in the app itself — verify the three articles render correctly on the help site after deploy.
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
N/A — help site documentation only.
Android: mWeb Chrome
N/A — help site documentation only.
iOS: Native
N/A — help site documentation only.
iOS: mWeb Safari
N/A — help site documentation only.
MacOS: Chrome / Safari
N/A — help site documentation only.