Skip to content

[Due for payment 2026-05-20] [$250] Allow configuring Itemized Receipt requirement via Spreadsheet upload as well as manual #86106

@twisterdotcom

Description

@twisterdotcom

If you haven’t already, check out our contributing guidelines for onboarding and email contributors@expensify.com to request to join our Slack channel!


Version Number: v9.3.42-0
Reproducible in staging?: Yes
Reproducible in production?: Yes
If this was caught during regression testing, add the test name, ID and link from BrowserStack:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL: #84985
Issue reported by:
Slack conversation (hyperlinked to channel name): #expensify-open-source

Action Performed:

  1. Navigate to Workspace settings > categories, where category rules can be configured
  2. Set Receipts to Not required for a single category
  3. Confirm that Itemized Receipts is automatically set to Not required for manually configured categories
  4. Prepare a spreadsheet of categories and set one category to "not_required" for Receipts Required
  5. Upload the spreadsheet into the workspace
  6. Review the imported category settings

Description:

When configuring categories manually, setting Receipts to Not required correctly forces Itemized Receipts (maxAmountNoItemizedReceipt) to Not required.

However, this logic is not applied when categories are created or updated via spreadsheet upload. This leads to inconsistent configurations where Receipts is Not required, but Itemized Receipts is not aligned and still set as "default"

Additionally, the spreadsheet import flow does not currently support explicitly setting the maxAmountNoItemizedReceipt field, which prevents admins from defining this behavior directly in the upload.

The spreadsheet import should:

  1. Apply the same normalization logic as the manual UI flow
  2. Support a maxAmountNoItemizedReceipt column with required / not_required values

Steps to Reproduce:

  1. Create a categories spreadsheet for import
  2. Set categories with Receipts = Not required
  3. Upload the spreadsheet
  4. Open workspace category settings
  5. Check the Itemized Receipts values

Expected Result:

  • Spreadsheet-imported categories follow the same logic as manual configuration
  • If Receipts = Not required, then Itemized Receipts = Not required
  • The spreadsheet supports a maxAmountNoItemizedReceipt field with required / not_required values
  • Imported data is consistent and predictable

Actual Result:

  • Spreadsheet-imported categories do not apply the normalization logic
  • Itemized Receipts may remain incorrectly configured
  • No support exists for defining maxAmountNoItemizedReceipt in the spreadsheet

Platforms:

Select the officially supported platforms where the issue was reproduced:

  • Android: App
  • Android: mWeb Chrome
  • iOS: App
  • iOS: mWeb Safari
  • iOS: mWeb Chrome
  • Windows: Chrome
  • MacOS: Chrome / Safari

Screenshots/Videos

View all open jobs on GitHub

Issue OwnerCurrent Issue Owner:
Upwork Automation - Do Not Edit
  • Upwork Job URL:
  • Upwork Job ID:
  • Last Price Increase:
Issue OwnerCurrent Issue Owner: @mallenexpensify
Upwork Automation - Do Not Edit
  • Upwork Job URL: https://www.upwork.com/jobs/~022036096745367857628
  • Upwork Job ID: 2036096745367857628
  • Last Price Increase: 2026-04-06

Metadata

Metadata

Labels

Awaiting PaymentAuto-added when associated PR is deployed to productionBugSomething is broken. Auto assigns a BugZero manager.DailyKSv2ExternalAdded to denote the issue can be worked on by a contributor

Type

No type
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