Skip to content

[No QA] Docs updates for E/A#101181 name singular Download receipt label - #101376

Merged
twisterdotcom merged 1 commit into
mainfrom
claude-downloadReceiptSingularPluralDocs
Sep 18, 2026
Merged

twisterdotcom merged 1 commit into
mainfrom
claude-downloadReceiptSingularPluralDocs

Conversation

@MelvinBot

Copy link
Copy Markdown
Contributor

Explanation of Change

Help site follow-up to Rename "Download as PDF" to "Download report" with singular/plural support.

That PR did two renames, but only documented one of them:

  • common.downloadAsPDF → the plural key common.downloadReport (Download report / Download reports). The PR did update the help site for this, so nothing is left to do here.
  • common.downloadReceipts → the plural key common.downloadReceipt (Download receipt / Download receipts). The PR did not update the help site for this, so every article still names only the plural Download receipts. That is now wrong whenever the download includes exactly one receipt, which is a common case.

The label is driven by a count at each call site, so the singular really does appear in the UI:

  • Individual report More menu — the count is the number of expenses on the report that carry a receipt.
  • Reports page bulk menu — the count is the number of receipt-bearing expenses across the selected reports, not the number of reports.
  • Expenses page bulk menu — the count is the number of selected expenses that have a receipt.

This PR names both forms wherever the action is referenced, and states the rule that decides which one you see. It also spells out the "counts receipts, not reports" nuance on the Reports page, because a member selecting two reports that hold one receipt between them will see the singular Download receipt and would otherwise think the option was wrong.

Files changed:

  • docs/articles/new-expensify/reports-and-expenses/How-to-Export-Reports.md — both receipt-download step lists, both notes, the refresh-behavior list, the "why don't I see it" FAQ, and the no-downloadable-receipts FAQ. Adds one FAQ explaining the singular/plural rule.
  • docs/articles/new-expensify/reports-and-expenses/How-to-Export-Expenses.md — the receipt-download step list, its note, and the "why don't I see it" FAQ. Adds the same singular/plural FAQ.

Expense-and-Report-Actions.md is untouched: it already reads Download report after #101181, and it has no receipt-download row to correct.

Labels were checked against src/languages/en.ts on main (downloadReport, downloadReceipt) and the Download report label plus the More and Selected entry points were confirmed in the running web app. Both new FAQ headings start with a question word and sit under # FAQ, per docs/HELP_AUTHORING_GUIDELINES.md; all labels are bolded, in Sentence case, and unquoted, per docs/HELPSITE_NAMING_CONVENTIONS.md.

Fixed Issues

$ #101055
PROPOSAL:

Tests

// TODO: The human co-author must fill out the tests you ran before marking this PR as "ready for review"
// Please describe what tests you performed that validates your changed worked.

  • Verify that no errors appear in the JS console

Offline tests

Not applicable — this PR only changes help site markdown under docs/articles.

QA Steps

// TODO: The human co-author must fill out the QA tests you ran before marking this PR as "ready for review".
// Please describe what QA needs to do to validate your changes and what areas do they need to test for regressions.

  • Verify that no errors appear in the JS console

PR Author Checklist

  • I linked the correct issue in the ### Fixed Issues section above
  • I wrote clear testing steps that cover the changes made in this PR
    • I added steps for local testing in the Tests section
    • I added steps for the expected offline behavior in the Offline steps section
    • I added steps for Staging and/or Production testing in the QA steps section
    • I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
    • I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
    • I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).
  • I included screenshots or videos for tests on all platforms
  • I ran the tests on all platforms & verified they passed on:
    • Android: Native
    • Android: mWeb Chrome
    • iOS: Native
    • iOS: mWeb Safari
    • MacOS: Chrome / Safari
  • I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
  • I followed proper code patterns (see Reviewing the code)
    • I verified that comments were added to code that is not self explanatory
    • I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
    • I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
  • If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
  • I followed the guidelines as stated in the Review Guidelines
  • I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
  • If a new CSS style is added I verified that:
    • A similar style doesn't already exist
    • The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))
  • If new assets were added or existing ones were modified, I verified that:
    • The assets are optimized and compressed (for SVG files, run npm run compress-svg)
    • The assets load correctly across all supported platforms.
  • If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
  • If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
  • If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
  • If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
  • If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:
    • I verified that all the inputs inside a form are aligned with each other.
    • I added Design label and/or tagged @Expensify/design so the design team can review the changes.
  • I added unit tests for any new feature or bug fix in this PR to help automatically prevent regressions in this user flow.
  • If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native
Android: mWeb Chrome
iOS: Native
iOS: mWeb Safari
MacOS: Chrome / Safari

@ahmdshrif, please review the files changed and confirm they reflect the current behavior. Then post a new comment saying @MelvinBot mark this PR as ready for review.

Co-authored-by: AHMED <ahmdshrif@users.noreply.github.com>
@MelvinBot
MelvinBot requested a review from a team September 16, 2026 20:09
@MelvinBot MelvinBot added the HelpDot Apply this label if the issue relates to ExpensifyHelp label Sep 16, 2026

@ahmdshrif ahmdshrif left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed against the three call sites in #101181 and the docs match the actual behavior:

  • Report More menu: label counts the report's expenses that have a receipt.
  • Reports page bulk menu: label counts receipts across the selected reports (not the number of reports).
  • Expenses page bulk menu: label counts the selected expenses that have a receipt; deleted expenses are excluded.

The new FAQ entries state the rule correctly and the download itself is unchanged. LGTM.

@ahmdshrif

Copy link
Copy Markdown
Contributor

@MelvinBot mark this PR as ready for review

@twisterdotcom
twisterdotcom marked this pull request as ready for review September 18, 2026 11:20
@melvin-bot

melvin-bot Bot commented Sep 18, 2026 •

Copy link
Copy Markdown

Concierge reviewer checklist:

  • I have verified the accuracy of the article
    • The article is within a hub that makes sense, and the navigation is correct
    • All processes, screenshots, and examples align with current product behavior.
    • All links within the doc have been verified for correct destination and functionality.
  • I have verified the readability of the article
    • The article's language is clear, concise, and free of jargon.
    • The grammar, spelling, and punctuation are correct.
    • The article contains at least one image, or that an image is not necessary
  • I have verified the formatting of the article
    • The article has consistent formatting (headings, bullet points, etc.) with other HelpDot articles and that aligns with the HelpDot formatting standards.
    • The article has proper text spacing and breaks for readability.
  • I have verified the article has the appropriate tone and style
    • The article's tone is professional, friendly, and suitable for the target audience.
    • The article's tone, terminology, and voice are consistent throughout.
  • I have verified the overall quality of the article
    • The article is not missing any information, nor does it contain redundant information.
    • The article fully addresses user needs.
  • I have verified that all requested improvements have been addressed

For more detailed instructions on completing this checklist, see How do I review a HelpDot PR as a Concierge Team member?

cc @sakluger

@melvin-bot
melvin-bot Bot requested review from abdulrahuman5196 and sakluger and removed request for a team September 18, 2026 11:20
@melvin-bot

melvin-bot Bot commented Sep 18, 2026

Copy link
Copy Markdown

@abdulrahuman5196 @sakluger 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]

@twisterdotcom
twisterdotcom merged commit 8e0bfdc into main Sep 18, 2026
19 of 21 checks passed
@twisterdotcom
twisterdotcom deleted the claude-downloadReceiptSingularPluralDocs branch September 18, 2026 11:21
**Download receipts** only appears when at least one selected expense has a receipt attached. If none of the selected expenses have receipts, the option is hidden.
This action only appears when at least one selected expense has a receipt attached. If none of the selected expenses have receipts, the option is hidden.

## Why does the receipt download option sometimes read Download receipt instead of Download receipts?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

UI referencing violation: "the receipt download option" generalizes the UI element. HELPSITE_NAMING_CONVENTIONS.md ("Do not generalize UI elements") requires the exact UI label. Reference the actual button, e.g. Download receipt / Download receipts, rather than a paraphrased "option".

**Download receipts** only appears when at least one expense has a receipt attached. In a single report's **More** menu, it appears when that report has an expense with a receipt. When you select multiple reports and open **Selected**, it appears only if at least one selected report has an expense with a receipt. If none of the expenses have receipts, the option is hidden.
This action only appears when at least one expense has a receipt attached. In a single report's **More** menu, it appears when that report has an expense with a receipt. When you select multiple reports and open **Selected**, it appears only if at least one selected report has an expense with a receipt. If none of the expenses have receipts, the option is hidden.

## Why does the receipt download option sometimes read Download receipt instead of Download receipts?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

UI referencing violation: "the receipt download option" generalizes the UI element. HELPSITE_NAMING_CONVENTIONS.md prohibits generalizing UI elements — reference the exact labels (Download receipt / Download receipts) instead of a paraphrased "option".

5. Wait for the files to finish preparing. The zip file downloads automatically when it's ready. If it doesn't, select **Download file** to save it to your device.

**Note:** **Download receipts** only appears when at least one selected expense has a receipt. Deleted expenses are not included in the download.
**Note:** This action only appears when at least one selected expense has a receipt. It reads **Download receipt** when exactly one selected expense has a receipt, and **Download receipts** when more than one does. Deleted expenses are not included in the download.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Deterministic writing: "This action" is a vague reference to the UI control. Per HELPSITE_NAMING_CONVENTIONS.md (be literal/exact, reference the exact UI label), name the button explicitly, e.g. "Download receipt or Download receipts only appears when at least one selected expense has a receipt."

5. Wait for the files to finish preparing. The zip file downloads automatically when it's ready. If it doesn't, select **Download file** to save it to your device.

**Note:** **Download receipts** only appears when at least one expense on the report has a receipt.
**Note:** This action only appears when at least one expense on the report has a receipt. It reads **Download receipt** when the report has exactly one receipt, and **Download receipts** when it has more than one.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Deterministic writing: "This action" vaguely references the UI control. Per HELPSITE_NAMING_CONVENTIONS.md (be literal/exact, use the exact UI label), name the button explicitly instead of "This action".

5. Wait for the files to finish preparing. The zip file downloads automatically when it's ready. If it doesn't, select **Download file** to save it to your device.

**Note:** **Download receipts** only appears when at least one selected report has an expense with a receipt.
**Note:** This action only appears when at least one selected report has an expense with a receipt. It reads **Download receipt** when the selected reports hold exactly one receipt in total, and **Download receipts** when they hold more than one.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Deterministic writing: "This action" vaguely references the UI control. Per HELPSITE_NAMING_CONVENTIONS.md (be literal/exact, use the exact UI label), name the button explicitly instead of "This action".

@github-actions

Copy link
Copy Markdown
Contributor

HelpDot Documentation Review

Overall Assessment

This PR is a targeted help-site follow-up to E/A#101181, updating two articles to name both the singular Download receipt and plural Download receipts labels and to explain the count-based rule that decides which one appears. The changes are small, focused, and correctly scoped to the receipt-download flows. No structural or heading violations are introduced.

Scores Summary

  • Readability: 8/10 - Steps and notes are clear and actionable. A few of the new sentences (e.g. "if the selected reports hold only one receipt in total") pack conditional logic into a single line, which is slightly denser but remains scannable.
  • AI Readiness: 9/10 - internalScope is preserved, keywords are expanded with realistic terms (download receipt, download reports), full UI-exact labels are used, and the two new FAQ entries begin with a question word under the FAQ heading. Heading hierarchy stays at level 1 and 2 only.
  • Style Compliance: 9/10 - Labels are bolded, in Sentence case, and unquoted per HELPSITE_NAMING_CONVENTIONS.md. Navigation phrasing uses the approved unified convention. FAQ headings follow the question-based FAQ structure.

Key Findings

  • Both singular and plural label forms are now named consistently across step lists, notes, the refresh-behavior list, and FAQs, matching the code renames (downloadReceipt/downloadReceipts).
  • The "counts receipts, not reports" nuance on the Reports page is a genuinely useful clarification that prevents a real member confusion case.
  • Minor: the revised notes and FAQ answers replace the bolded label with generic phrasing ("This action only appears..."). This is acceptable because the exact bolded label appears in the adjacent step, but a bolded reference would be marginally more UI-exact per the Deterministic Writing Rule.
  • New FAQ headings correctly start with "Why does..." and sit under the FAQ section.

Recommendations

  • Optional: consider keeping a bolded label reference in the notes (e.g. "Download receipt/Download receipts only appears when...") for maximum UI exactness.
  • No blocking issues. Changes are ready pending the author-provided test steps.

Files Reviewed

  • docs/articles/new-expensify/reports-and-expenses/How-to-Export-Expenses.md - Compliant; step, note, and FAQ updates plus one new FAQ.
  • docs/articles/new-expensify/reports-and-expenses/How-to-Export-Reports.md - Compliant; step lists, notes, refresh-behavior list, FAQs updated plus one new FAQ.

Note: Detailed line-by-line feedback has been provided as inline comments.

@OSBotify

Copy link
Copy Markdown
Contributor

🚀 Deployed to staging by https://github.com/twisterdotcom in version: 9.4.90-0 🚀

platform result
🕸 web 🕸 success ✅
🤖 android 🤖 success ✅
🍎 iOS 🍎 success ✅

@izarutskaya

Copy link
Copy Markdown

@ahmdshrif Ok to check this off the list if no QA needed?

@OSBotify

Copy link
Copy Markdown
Contributor

🚀 Deployed to production by https://github.com/lakchote in version: 9.4.90-2 🚀

platform result
🕸 web 🕸 success ✅
🤖 android 🤖 success ✅
🍎 iOS 🍎 success ✅

Bundle Size Analysis (Sentry):

@stephanieelliott stephanieelliott changed the title Docs updates for E/A#101181 name singular Download receipt label [No QA] Docs updates for E/A#101181 name singular Download receipt label Sep 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

HelpDot Apply this label if the issue relates to ExpensifyHelp

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants