Expensify / App

Welcome to New Expensify: a complete re-imagination of financial collaboration, centered around chat. Help us build the next generation of Expensify by sharing feedback and contributing to the code.
https://new.expensify.com
MIT License
4.02k stars 3.01k forks source link

[Tracking] Update Hold for Advanced Approvals #56386

Open garrettmknight opened 5 days ago

garrettmknight commented 5 days ago

Proposal

Slack discussion here

Problem: Hold was designed to allow approvers to effectively pause an expense for further context while keeping other expenses moving forward. Hold isn't following this intent or pattern in multi-level workflows. When a second-level approver places an expense on hold and partially approves the remaining items, the held expense is added to a new, draft report, requiring the submitter to resubmit and the initial approver to reapprove before the second-level approver can approve. This wastes time, confuses users on how Hold behaves, and doesn't fit our initial intent.

Solution: Let's update Hold at the second-level of approval and above to follow our defined Hold pattern of keeping the expnese at the same approval level when approving the rest of the expenses on a report. To do this we'll update the logic when second-level approver places an expense on hold and partially approves the remaining items to:

  1. Create a new, Processing report, awaiting approval from the approver who placed the expense on Hold
  2. Move the held expenses from the report the approver is approving to the new report created in step 1
  3. (Optional bonus) Allow the submitter to edit their expenses when they're on Hold so the approver doesn't have to.

Tasks

melvin-bot[bot] commented 5 days ago

Current assignee @garrettmknight is eligible for the NewFeature assigner, not assigning anyone new.