You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Tags - Error importing CSV when appending custom tag list #104904
Version Number: 9.5.20-0 Reproducible in staging?: Yes Reproducible in production?: N/A - new feature, doesn't exist in prod If this was caught during regression testing, add the test name, ID and link from BrowserStack:#103359 Email or phone of affected tester (no customers):[email protected] Issue reported by: Applause Internal Team Bug source: Exploratory - Significant User Experience Deterioration Device used: Mac 26.5 / Chrome App Component: Money Requests
Action Performed:
Precondition:
Use Gmail account and enable indirectTagUploads beta
👋 Friendly reminder that deploy blockers are time-sensitive ⏱ issues! Check out the open `StagingDeployCash` deploy checklist to see the list of PRs included in this release, then work quickly to do one of the following:
Identify the pull request that introduced this issue and revert it.
Recommendation: Demote, don't revert. The flow comes from Add Append custom tag list for accounting-connected workspaces on the indirectTagUploads beta, but its App code sends the request correctly. The server rejects the import. The most likely cause is that the tester's account is not on the indirectTagUploads beta on the server. The feature is beta-only and not in production. The regular import path is unchanged.
Next step:yuwenmemon, please add the Applause tester account (or an Expensifail account) to the server-side indirectTagUploads beta, then rerun the repro.
Investigation details
Links use staging commit 207270a.
The request is correct.importMultiLevelTags sends appendToExistingLists: true with isIndependent, isFirstLineHeader, isGLAdjacent, and the file (src/libs/actions/Policy/Tag.ts:954-964).
The menu only checks the beta on the client. See src/pages/workspace/tags/WorkspaceTagsPage.tsx:499. Outside production, Troubleshoot > Beta overrides can turn it on (src/libs/Permissions.ts:18-41). The server checks the beta separately. The repro says "Use Gmail account and enable indirectTagUploads beta," which likely means the client override.
This happened before on the PR. On 2026-10-15, suneox got "This feature is not available for your account" until they were added to the beta. On the day of this report, QA asked on the PR which account to use for the beta. Nobody answered before this bug was filed.
Two other possible causes:
The PR thread notes that only one custom tag list can be appended, matching Classic. A multi-level CSV can contain several lists.
The PR was tested on a workspace with one NetSuite list. This repro imports Departments and Classes, so there are two.
No other PR in this staging deploy changes the import request.
To narrow it down:
Retry with an account on the server-side beta.
If it still fails, upload a one-column CSV. If that works, the cause is the one-list limit.
Capture the ImportMultiLevelTags response jsonCode and message from the network tab.
Resolution by outcome:
Passes after beta enrollment, or fails only on a multi-list CSV: demote. Optional follow-up: show the server's error in the "Import failed" modal.
Fails for an enrolled account with a one-column CSV on a two-list workspace: roll forward, either with backend support or by limiting the menu condition at WorkspaceTagsPage.tsx:499 to single-list workspaces. A revert isn't needed because it's beta-only.
Activity
applause-bot commentedon Oct 23, 2026
While Applause doesn't embed attachments for this bug, here are the links for quick view:
https://platform.applause.com/services/links/v1/external/55d848b559296d8a3453b357ffb9afe72b1c879f5aae1253dc90dfcb424eb3d4
melvin-bot commentedon Oct 23, 2026
You have been assigned to this deploy blocker because you recently merged this PR: #103359
melvin-bot commentedon Oct 23, 2026
@yuwenmemon @suneox you have been assigned to this deploy blocker because you reviewed the offending PR: #103359
melvin-bot commentedon Oct 23, 2026
💬 A slack conversation has been started in #expensify-open-source
github-actions commentedon Oct 23, 2026
👋 Friendly reminder that deploy blockers are time-sensitive ⏱ issues! Check out the open `StagingDeployCash` deploy checklist to see the list of PRs included in this release, then work quickly to do one of the following:
MelvinBot commentedon Oct 23, 2026
Deploy Blocker Investigation
Recommendation: Demote, don't revert. The flow comes from Add Append custom tag list for accounting-connected workspaces on the indirectTagUploads beta, but its App code sends the request correctly. The server rejects the import. The most likely cause is that the tester's account is not on the
indirectTagUploadsbeta on the server. The feature is beta-only and not in production. The regular import path is unchanged.Next step:
yuwenmemon, please add the Applause tester account (or an Expensifail account) to the server-sideindirectTagUploadsbeta, then rerun the repro.Investigation details
Links use staging commit
207270a.importMultiLevelTagssendsappendToExistingLists: truewithisIndependent,isFirstLineHeader,isGLAdjacent, and the file (src/libs/actions/Policy/Tag.ts:954-964).failureData(Tag.ts:923-925) and is generic (src/libs/actions/ImportSpreadsheet.ts:88-93), so the server's message is hidden.src/pages/workspace/tags/WorkspaceTagsPage.tsx:499. Outside production, Troubleshoot > Beta overrides can turn it on (src/libs/Permissions.ts:18-41). The server checks the beta separately. The repro says "Use Gmail account and enable indirectTagUploads beta," which likely means the client override.suneoxgot "This feature is not available for your account" until they were added to the beta. On the day of this report, QA asked on the PR which account to use for the beta. Nobody answered before this bug was filed.To narrow it down:
ImportMultiLevelTagsresponsejsonCodeandmessagefrom the network tab.Resolution by outcome:
WorkspaceTagsPage.tsx:499to single-list workspaces. A revert isn't needed because it's beta-only.view run
suneox commentedon Oct 26, 2026
I cannot reproduce this issue on the latest staging
v9.5.20-0CleanShot.2026-10-26.at.09.39.55.1.mp4
suneox commentedon Oct 26, 2026
@Expensify/applause Could we re-test this bug? It looks like the BE wasn't ready during test
IuliiaHerets commentedon Oct 26, 2026
@suneox, the original tester can still reproduce this issue with a Gmail account
Screen.Recording.2026-10-26.at.20.24.23.mov
suneox commentedon Oct 26, 2026
We need to wait for @yuwenmemon to add a test email ([email protected]) to the
indirectTagUploadsbeta.jasperhuangg commentedon Oct 26, 2026
@suneox I've added the account to the beta
jasperhuangg commentedon Oct 26, 2026
retest request submitted here: https://expensify.slack.com/archives/C09V78U42D8/p1793043067591879
m-natarajan commentedon Oct 26, 2026
Windows 10 / Chrome, Not Repro, v9.5.20-5
bandicam.2026-10-26.15-18-45-936.mp4