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
[Due for payment 2026-10-07] Expensify card - The Request limit increase option is missing for admin #99392
Version Number: v9.4.60-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:#98505 Email or phone of affected tester (no customers): n/a Issue reported by: Applause Internal Team Bug source: Pull Request QA execution Device used: Mac 26.5.1 Safari/Chrome, iPhone 13 iOS 26.6 App Component: Workspace Settings
Root Cause: The "Request limit increase" button is intentionally hidden whenever the Expensify Card settlement bank account is connected via Plaid. In WorkspaceCardsListLabel.tsx:201 the button only renders when !isConnectedWithPlaid. isConnectedWithPlaid (lines 89–95) is true when the settlement account has a plaidAccountID.
This is working as designed, not a regression. It was added deliberately to fix the opposite complaint in #48943 ("Showing the request a limit increase button, despite the settlement account being set up with Plaid"). For Plaid-connected accounts the remaining limit is derived automatically from the live bank balance (see the remainingLimitDescription copy: "the available cash in your business bank account… can fluctuate on a daily basis"), so there is no manual limit-increase request to make.
So the key question for this repro: was the verified business bank account added via Plaid? The standard "Add a verified business bank account" flow in NewDot uses Plaid, in which case the missing button is expected and the QA Expected Result is stale — it should be updated to note the button only appears for manually-connected (non-Plaid) settlement accounts.
Recommended action:
If the settlement account was Plaid-connected → close as working-as-intended / update the QA test expectation.
If it was connected manually (non-Plaid) and the button is still missing → that would be a genuine bug in the Plaid detection, and this issue should capture how the account was added so it can be reproduced.
Investigation details
The button render condition is !isConnectedWithPlaid && type === REMAINING_LIMIT at line 201.
isConnectedWithPlaid looks up the settlement account (settings.paymentBankAccountID) in bankAccountList and returns true if accountData.plaidAccountID (or additionalData.plaidAccountID) is set — lines 89–95.
Alternative explanation considered — a broken isConnectedWithPlaid computation (e.g. bankAccountList not yet loaded, or ID mismatch) could hide the button for a non-Plaid account too. This can't be ruled out from static code alone; it hinges on how the tester's account was actually connected, which is why the connection method above is the deciding factor.
Could not verify at runtime: the repro requires a fully verified business bank account with Expensify Cards enabled and an issued card, which isn't reproducible in a standard test session.
Possibly related open issues:#94559 (no Concierge response after clicking "Request limit increase") — separate concern, but touches the same button flow.
Next Steps for Contributor+ team: To accept:@MelvinBot implement [this](https://github.com/Expensify/App/blob/1d0d7de38b4faf8ef42df1ed0b192e03209e9e82/src/pages/workspace/expensifyCard/WorkspaceCardsListLabel.tsx#L201) to create a draft PR. To refine:@MelvinBot <your feedback> To reject: Explain why you are rejecting Melvin's analysis.
VERDICT: POST
ROOT_CAUSE_ONELINER: WorkspaceCardsListLabel.tsx (line 201) hides the "Request limit increase" button when the settlement bank account was connected via Plaid (!isConnectedWithPlaid check), but in practice virtually all verified US business bank accounts are Plaid-connected, so the button never shows for the workspace admin.
PROPOSAL_TYPE: FIRST
AUTOPOST_SAFE: YES
Melvin's verdict looks right — the button hides only when the settlement account carries a plaidAccountID, and the tester was the owner who added it, so this repro is Plaid and working as intended. Two notes.
The copy it cites as corroboration doesn't support it. There is a single remainingLimitDescription string, rendered unconditionally at WorkspaceCardsListLabel.tsx:199 for every case — a manually-connected account shows the same text, so it can't distinguish the two.
More useful: isConnectedWithPlaid reads bankAccountList, which is the viewer's accounts. It computes "can I see a Plaid account for this settlement bank", not "is this limit auto-derived":
Per the docblock added in #98505 — the PR this QA run came from — a co-admin "cannot read the account on their own" (Policy.ts:4232). So that lookup returns undefined for them, isConnectedWithPlaid is false, and the button shows for the same Plaid-connected feed where the owner sees nothing.
Worth deciding whether that's intended before closing, given #98505 shipped the day before specifically to let a co-admin make this request.
Activity
applause-bot commentedon Aug 25, 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/32b51ba2c373b5bc7e49ccd78e539bc45b57fd16f7b00e2511e9a101977d8e7e
MelvinBot commentedon Aug 25, 2026
Issue Analysis
Root Cause: The "Request limit increase" button is intentionally hidden whenever the Expensify Card settlement bank account is connected via Plaid. In
WorkspaceCardsListLabel.tsx:201the button only renders when!isConnectedWithPlaid.isConnectedWithPlaid(lines 89–95) istruewhen the settlement account has aplaidAccountID.This is working as designed, not a regression. It was added deliberately to fix the opposite complaint in #48943 ("Showing the request a limit increase button, despite the settlement account being set up with Plaid"). For Plaid-connected accounts the remaining limit is derived automatically from the live bank balance (see the
remainingLimitDescriptioncopy: "the available cash in your business bank account… can fluctuate on a daily basis"), so there is no manual limit-increase request to make.So the key question for this repro: was the verified business bank account added via Plaid? The standard "Add a verified business bank account" flow in NewDot uses Plaid, in which case the missing button is expected and the QA Expected Result is stale — it should be updated to note the button only appears for manually-connected (non-Plaid) settlement accounts.
Recommended action:
Investigation details
!isConnectedWithPlaid && type === REMAINING_LIMITat line 201.isConnectedWithPlaidlooks up the settlement account (settings.paymentBankAccountID) inbankAccountListand returns true ifaccountData.plaidAccountID(oradditionalData.plaidAccountID) is set — lines 89–95.isConnectedWithPlaidcomputation (e.g.bankAccountListnot yet loaded, or ID mismatch) could hide the button for a non-Plaid account too. This can't be ruled out from static code alone; it hinges on how the tester's account was actually connected, which is why the connection method above is the deciding factor.Possibly related open issues: #94559 (no Concierge response after clicking "Request limit increase") — separate concern, but touches the same button flow.
Next Steps for Contributor+ team:
To accept:
@MelvinBot implement [this](https://github.com/Expensify/App/blob/1d0d7de38b4faf8ef42df1ed0b192e03209e9e82/src/pages/workspace/expensifyCard/WorkspaceCardsListLabel.tsx#L201)to create a draft PR.To refine:
@MelvinBot <your feedback>To reject: Explain why you are rejecting Melvin's analysis.
view run
melvin-bot commentedon Aug 25, 2026
Triggered auto assignment to Contributor-plus team member for initial proposal review - @suneox (
External)melvin-bot commentedon Aug 25, 2026
Unable to auto-create job on Upwork. The BZ team member should create it manually for this issue.
j3ffffff commentedon Aug 25, 2026
VERDICT: POST
ROOT_CAUSE_ONELINER:
WorkspaceCardsListLabel.tsx(line 201) hides the "Request limit increase" button when the settlement bank account was connected via Plaid (!isConnectedWithPlaidcheck), but in practice virtually all verified US business bank accounts are Plaid-connected, so the button never shows for the workspace admin.PROPOSAL_TYPE: FIRST
AUTOPOST_SAFE: YES
Abdukhamid000 commentedon Aug 25, 2026
Melvin's verdict looks right — the button hides only when the settlement account carries a
plaidAccountID, and the tester was the owner who added it, so this repro is Plaid and working as intended. Two notes.The copy it cites as corroboration doesn't support it. There is a single
remainingLimitDescriptionstring, rendered unconditionally atWorkspaceCardsListLabel.tsx:199for every case — a manually-connected account shows the same text, so it can't distinguish the two.More useful:
isConnectedWithPlaidreadsbankAccountList, which is the viewer's accounts. It computes "can I see a Plaid account for this settlement bank", not "is this limit auto-derived":App/src/pages/workspace/expensifyCard/WorkspaceCardsListLabel.tsx
Lines 89 to 95 in 1d0d7de
Per the docblock added in #98505 — the PR this QA run came from — a co-admin "cannot read the account on their own" (
Policy.ts:4232). So that lookup returnsundefinedfor them,isConnectedWithPlaidisfalse, and the button shows for the same Plaid-connected feed where the owner sees nothing.Worth deciding whether that's intended before closing, given #98505 shipped the day before specifically to let a co-admin make this request.
melvin-bot commentedon Aug 28, 2026
@suneox Whoops! This issue is 2 days overdue. Let's get this updated quick!
suneox commentedon Aug 29, 2026
I'll set up the test data and take a look at this one soon
40 remaining items
melvin-bot commentedon Oct 6, 2026
Triggered auto assignment to @mallenexpensify (
Awaiting Payment)melvin-bot commentedon Oct 6, 2026
Payment Summary
Resolving PRs:
Hide Request limit increase from admins when the settlement account is connected with Plaid #101657
Reviewer: @suneox owed $175 via NewDot
Contributor: @allgandalf does not require payment (Contractor)
BugZero Checklist (@mallenexpensify)
mallenexpensify commentedon Oct 9, 2026
Payment Summary
Contributor+: @suneox due $250 via NewDot
garrettmknight commentedon Oct 19, 2026
$250 approved for @suneox