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.
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:
Create a new, Processing report, awaiting approval from the approver who placed the expense on Hold
Move the held expenses from the report the approver is approving to the new report created in step 1
(Optional bonus) Allow the submitter to edit their expenses when they're on Hold so the approver doesn't have to.
Tasks
[ ] Post Proposal (full Problem/Solution statement) in #expensify-open-source
[ ] Wait at least one full business day, and until the post has a majority (2/3) of positive reactions (👍)
[ ] Paste Proposal in the space above with a link to the Slack thread
[ ] Email strategy@expensify.com and paste in the Proposal
[ ] Fill out the High-level overview of the problem, Timeline, and Terminology sections of the Design Doc
[ ] Email strategy@expensify.com (continue the same email chain as before) with the link to your Design Doc
[ ] Host a pre-design meeting (example) in #expensify-open-source to discuss any necessary details in public before filling out the High-level of proposed solution section.
[ ] Fill out the High-level of proposed solution section
[ ] Email stategy@expensify.com again with links to the doc and pre-design conversation in Slack
[ ] Add the DesignDocReview label to get the High-level of proposed solution section reviewed
[ ] Respond to any questions or concerns and bring up blockers in Slack to get a consensus if necessary
[ ] Confirm that the doc has the minimum necessary number of reviews before proceeding
[ ] Host another pre-design meeting in #expensify-open-source to ask for engineering feedback on the technical solution.
[ ] Fill out the Detailed implementation of the solution and related sections.
[ ] Re-add the DesignDocReview label to this issue
[ ] Respond to any questions or concerns and bring up blockers in Slack to get consensus if necessary
[ ] Confirm that the doc has the minimum necessary number of reviews before proceeding
[ ] Email strategy@expensify.com one last time to let them know the Design Doc is moving into the implementation phase
[ ] Implement the changes
[ ] Add regression tests so that QA can test your feature with every deploy (instructions)
[ ] Send out a follow up email to strategy@expensify.com once everything has been implemented and do a Project Wrap-Up retrospective that provides:
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:
Tasks
#expensify-open-source
strategy@expensify.com
and paste in the Proposalstrategy@expensify.com
(continue the same email chain as before) with the link to your Design Doc#expensify-open-source
to discuss any necessary details in public before filling out the High-level of proposed solution section.stategy@expensify.com
again with links to the doc and pre-design conversation in SlackDesignDocReview
label to get the High-level of proposed solution section reviewed#expensify-open-source
to ask for engineering feedback on the technical solution.DesignDocReview
label to this issuestrategy@expensify.com
one last time to let them know the Design Doc is moving into the implementation phasestrategy@expensify.com
once everything has been implemented and do a Project Wrap-Up retrospective that provides: