-
Notifications
You must be signed in to change notification settings - Fork 3.2k
[Tracking] Custom Report Names on New Expensify #44340
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Triggered auto assignment to @trjExpensify ( |
@caitlinwhite1 @thienlnam is this on your radar? Will it need to be Adding it to #wave-control in the meantime. CC: @JmillsExpensify |
Is there a photo of what the report title looks like in NewDot? IIRC this is partially expected. NewDot generates the report title based on the formula optimistically since it could be offline, but the thing it can't support is long report IDs, or anything that requires server side knowledge. However, if you are online it should just take the report name. So depending on the circumstances this is likely external |
@thienlnam can you please check your personal NewDot Test reports in NewDot? To confirm your theory about the Collect v Control workspace being the cause? My NL Test workspace is Collect but the US Test workspace has been Control for about a month now so if your theory is correct then I would expect to see a difference. That said, why would the formula not be applied to both Collect and Control workspaces (this feature applies to both types in OldDot today)? Also if the intention is to require you to upgrade to Control to use Report Formulas then I would still expect the default report title for Collect workspaces to show the short report ID and not the long. So I still think there is an issue that needs to be resolved. |
Created an internal GH for a query request here |
Nice, what are the next steps? |
Bump on this, @thienlnam. |
Just got back from OOO - got the results of the query back and everything looks as expected. However the report field is still not getting returned in NewDot so there is likely something wrong in the flow. Next is investigating the query to see if there's something that might be impacting the return of this data |
@trjExpensify @thienlnam this issue was created 2 weeks ago. Are we close to a solution? Let's make sure we're treating this as a top priority. Don't hesitate to create a thread in #expensify-open-source to align faster in real time. Thanks! |
Haven't looked into this further yet |
Any luck? |
I mostly worked on my weekly issues yesterday. However we've continued to discuss plans for this project daily. Today I'm planning to put this all into a design doc and follow the project process since things are starting to get too complex to move efficiently without that. |
The issue body has been updated with out project process template and I posted the proposal in Slack. |
I got started on the high level doc. I want to add more detail to the high level solution summary before moving on. |
I got the solution summary filled out and it feels really solid. I also filled out most of the data storage section, emailed the original proposal to [email protected]. Next up I will post a pre-design asking to make sure everyone is aligned about some of the UX decisions I've made in the high level. I hope to send the high level out on Tuesday. |
Not overdue, it's Monday morning. Planning to post a pre-design later today. |
I posted the high level predesign in Slack just now. |
I put the doc up for high level review yesterday. |
I have read and reviewed this Design Doc! |
3 similar comments
I have read and reviewed this Design Doc! |
I have read and reviewed this Design Doc! |
I have read and reviewed this Design Doc! |
DESIGN DOC ➡️
Proposal
Custom report names on New Expensify
Strategy: New Expensify aims to capture the untapped small business expense management market through an intuitive product that spreads virally from employees to company decision makers, and between companies and friends via word of mouth consensus as the best tool for the job. To achieve this goal it must quickly solve customer problems and simplify their life, providing a seamless experience to become an indispensable tool that is sharp and reliable.
Background: Classic and New Expensify allow workspace admins to configure "Custom Report Names" using a formula made up from any text and various "formula parts" such as
{report:type}
,{report:startdate}
, etc. Some parts allow selecting various subfields like{report:submit:from:firstname}
and functions can be applied to all parts, such as
{report:submit:from:email|frontPart}
. For a full list of supported formula parts, see the report level formulas and the functions on this help page.On Classic, when the formula is updated to a new value and a user loads the reports page, all non-chat reports loaded by the app that have not been approved yet, and do not have a manually set name, will have their name recomputed according to the formula and saved to the database. There is also a setting to prevent users from manually setting a report name. Formulas can reference data at the report level, transaction, policy, and user levels. When referenced data is updated and a report is loaded again on classic, the name will be updated with the new value (in most cases). Users have very likely come to expect this behavior since it has worked this way for many years.
Report titles are one of our most popular features. Over 82% of admins change the default to something more specific. Custom report names are useful at all levels of approval and for admins, as it helps give context to what kinds of expenses are being grouped together.
New Expensify is built on a foundation of realtime chat, and all information it displays updates without requiring any manual page refreshes. Users can go offline and use the app, confident that everything will save and any missed updates will load when they go back online. Reports are not loaded from the database when refreshing the page manually or navigating to the inbox page. Instead, reports are loaded from the server once on sign in and thereafter updates to the reports and other data are sent from the backend as soon as they occur. If the app misses updates for any reason, it will fetch them from the server. Due to that architecture, when data is changed on the server it will queue all updates that are required to put the users' UI into the correct state.
Classic requires refreshing the page to update almost all data and when doing so it is almost always completely reloaded from the database.
Problem: When a user saves a custom report name formula in their workspace settings on New Expensify, reports in New Expensify will not have their names set based on the formula, which causes confusion, prevents the user from trusting our pre-accounting system, and prevents them from having their reports named in a uniform manner with important information.
Solution: Make custom report names work on New Expensify by doing the following.
In progress or already done:
To do:
Tasks
#whatsnext
[email protected]
and paste in the Proposal[email protected]
(continue the same email chain as before - your last message should be the WN Proposal) with the link to your Design Doc containing your high-level problem and solutionDesignDocReview
label to get the High-level overview of the problem and High-level of proposed solution section reviewedDesignDocReview
label to this issue[email protected]
one last time to let them know the Design Doc is moving into the implementation phase[email protected]
once everything has been implemented and do a Project Wrap-Up retrospective that provides:View all open jobs on GitHub
Issue Owner
Current Issue Owner: @neil-marcelliniThe text was updated successfully, but these errors were encountered: