Skip to content

[$175] Filters - Vendor option is missing in filters #104176

Open

Description

@applause-bot

If you haven’t already, check out our contributing guidelines for onboarding. To join our Slack channel, fill out this form.


Version Number: 9.5.10--1
Reproducible in staging?: Yes
Reproducible in production?: Yes
If this was caught during regression testing, add the test name, ID and link from BrowserStack: https://test-management.browserstack.com/projects/2219752/test-runs/78924844/folder/13176908/145045748/1865574081
Email or phone of affected tester (no customers): applausetester+bm8900011@applause.expensifail.com
Issue reported by: Applause Internal Team
Bug source: Regression TC Execution
Device used: Web, android
App Component: Other

Action Performed:

Preconditions:
User is an admin of a workspace connected to QBO with Export company card expenses set to Credit card
Workspace has at least one non-reimbursable expense with a vendor assigned and one without

  1. Go to staging.new.expensify.com
  2. Go to Search > Expenses
  3. Click on Filters

Expected Result:

Vendor option should appear in filters

Actual Result:

Vendor option does not appear in filters

Workaround:

Unknown

Platforms:

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

Screenshots/Videos

To be added by Applause Leads

Bug7287648_1792099866256.bandicam_2026-10-16_00-26-25-026.mp4

View all open jobs on GitHub

Applause Internal Information
Exported by: Chandana Kiran
Bug ID: 7287648

Upwork Automation - Do Not Edit

Activity

  1. added
    BugSomething is broken. Auto assigns a BugZero manager.
    on Oct 16, 2026
  2. applause-bot commented on Oct 16, 2026

    @applause-bot
    Author

    While Applause doesn't embed attachments for this bug, here are the links for quick view:
    https://platform.applause.com/services/links/v1/external/dc6da9e6b1d55f79410b0fb8fc6b353786b8c4128294e3d8b1095d2340dc34ba

  3. MelvinBot commented on Oct 16, 2026

    @MelvinBot
    Contributor

    Proposal

    What is the root cause of that problem?

    This is not a code regression. The Vendor filter was removed on purpose before it reached production, and the regression test case was not updated.

    On current main, the expense filter list has no VENDOR entry. TAG is followed directly by TAX_RATE in src/hooks/useAdvancedSearchFilters.ts:39-41. The QBO + Credit card setup is not the cause. That workspace passes the vendor feature gate in src/libs/PolicyUtils/vendor.ts:20-23, which is why the Vendor column still appears.

    What changes do you think we should make in order to solve the problem?

    No new fix is needed on this issue. The work is already in progress:

    1. Bring the filter back by reverting the revert, combined with the picker fix in List workspace vendors from connections in the Search Vendor filter. That PR is open but has merge conflicts. It was branched before the revert, so it also needs to re-apply the original filter PR.
    2. When the filter is re-landed, gate it with useIsVendorColumnAvailable so the Vendor column and the Vendor filter always appear together.
    3. Until then, hold or close this issue, and mark the regression test case as blocked on the PR in step 1.
    Investigation details

    Related open issue: [$175] Spend - Unable to sort expenses by Vendor is about the Vendor column, not the filter.


    Next Steps for Contributor+ team:
    To accept: @MelvinBot implement [this](https://github.com/Expensify/App/issues/104176) to create a draft PR.
    To refine: @MelvinBot <your feedback>
    To reject: Explain why you are rejecting Melvin's proposal.


    view run

  4. added
    ExternalAdded to denote the issue can be worked on by a contributor
    on Oct 16, 2026
  5. j3ffffff commented on Oct 16, 2026

    @j3ffffff

    VERDICT: POST
    ROOT_CAUSE_ONELINER: CONST.SEARCH.SYNTAX_FILTER_KEYS.VENDOR is absent from both FILTER_VIEW_MAP in SearchUIUtils.ts and the typeFiltersKeys[EXPENSE] section of useAdvancedSearchFilters.ts, so the vendor option is never added to the filter list.
    PROPOSAL_TYPE: FIRST
    AUTOPOST_SAFE: YES

  6. melvin-bot commented on Oct 16, 2026

    @melvin-bot

    Triggered auto assignment to Contributor-plus team member for initial proposal review - @suneox (External)

  7. changed the title [-]Filters - Vendor option is missing in filters[/-] [+][$175] Filters - Vendor option is missing in filters[/+] on Oct 16, 2026
  8. melvin-bot commented on Oct 16, 2026

    @melvin-bot
  9. camesenin commented on Oct 16, 2026

    @camesenin

    Proposal

    Please re-state the problem that we are trying to solve in this issue.

    The "Vendor" option is missing from the filter list in Search > Expenses > Filters for a workspace connected to QuickBooks Online with credit card export enabled.

    What is the root cause of that problem?

    The Vendor filter was originally added in PR #101309 but was intentionally reverted in PR #103211 to unblock staging due to Issue #103145 (where synced vendor lists showed empty for non-admin members).

    Consequently, VENDOR is currently omitted from useAdvancedSearchFilters.ts:39-41 (where TAG is followed directly by TAX_RATE) and SearchUIUtils.ts. The regression test case run by QA expected the Vendor filter before PR #103151 (which fixes the connection vendor list resolution) has landed.

    What changes do you think we should make in order to solve the problem?

    This issue should be held for open PR #103151 ("List workspace vendors from connections in the Search Vendor filter"), which re-introduces the Vendor filter alongside the proper connections vendor loader.

    If this issue is addressed directly in this ticket:

    1. Re-add CONST.SEARCH.SYNTAX_FILTER_KEYS.VENDOR to typeFiltersKeys[CONST.SEARCH.DATA_TYPES.EXPENSE] in src/hooks/useAdvancedSearchFilters.ts.
    2. Map CONST.SEARCH.SYNTAX_FILTER_KEYS.VENDOR to VendorSelector in src/libs/SearchUIUtils.ts.
    3. Gate its visibility with useIsVendorColumnAvailable so the filter only appears on workspaces where the Vendor column is enabled.

    What alternative solutions did you explore? (Optional)

    Re-introducing the filter without connection vendor resolution from PR #103151 would re-introduce regression #103145.

    Contributor details
    Your Expensify account email: camesenin@gmail.com
    Upwork Profile Link: https://www.upwork.com/freelancers/~0170d6b02e9440e604

  10. melvin-bot commented on Oct 16, 2026

    @melvin-bot

    ✅ Contributor details stored successfully. Thank you for contributing to Expensify!

  11. jloa-dev commented on Oct 19, 2026

    @jloa-dev

    Contributor details
    Your Expensify account email: jloa.dev@gmail.com
    Upwork Profile Link: https://www.upwork.com/freelancers/~01584ea0bc208b0a94

    Proposal

    Please re-state the problem that we are trying to solve in this issue.

    The "Vendor" option is missing from the filter list in Search > Expenses for workspaces with accounting connections (such as QBO) where non-reimbursable expenses have vendors assigned.

    What is the root cause of that problem?

    In src/libs/SearchUIUtils.ts and src/pages/Search/SearchAdvancedFiltersPage.tsx, the search filter configuration defines the visible filter fields via FILTER_VIEW_MAP. The key CONST.SEARCH.SYNTAX_FILTER_KEYS.VENDOR is missing from the filter list mapping for the EXPENSES search type, preventing users from filtering expenses by vendor even when vendor data exists on transactions.

    What changes do you think we should make in order to solve the problem?

    1. In src/libs/SearchUIUtils.ts, include CONST.SEARCH.SYNTAX_FILTER_KEYS.VENDOR in FILTER_VIEW_MAP and ensure getFilterMenuItems returns the Vendor option when the search type is EXPENSES.
    2. Ensure the Vendor filter navigates to the vendor selection page (ROUTES.SEARCH_ADVANCED_FILTERS_VENDOR.getRoute()) and serializes to the vendor: search query parameter.

    What alternative solutions did you explore? (Optional)

    Relying solely on free-text search in the search bar, which does not provide structured vendor autocompletion or exact matching.

    Tests

    1. Log in as an admin of a workspace connected to QBO with non-reimbursable expenses.
    2. Navigate to Search > Expenses.
    3. Click "Filters".
    4. Verify "Vendor" appears in the filter list options.
    5. Select a vendor and verify the search results are filtered correctly by vendor:"...".
  12. melvin-bot commented on Oct 19, 2026

    @melvin-bot

    ✅ Contributor details stored successfully. Thank you for contributing to Expensify!

  13. suneox commented on Oct 19, 2026

    @suneox
    Contributor

    The PR that adds the Vendor filter is coming back in #104351, so let's put this issue on hold.

  14. added and removed on Oct 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

BugSomething is broken. Auto assigns a BugZero manager.ExternalAdded to denote the issue can be worked on by a contributorHOLDMonthlyKSv2

Type

No type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions