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
3.57k stars 2.91k forks source link

Add OldDot's default output currency setting to NewDot #52769

Open JmillsExpensify opened 5 days ago

JmillsExpensify commented 5 days ago

Problem NewDot trial users have consistently run into an issue where they sign up in a certain country – for instance, Spain and EUR – but their employer uses a different currency and expects all reports to be submitted in that same currency. This not only creates confusion, but it's detrimental to our bottom-up conversation overall.

Solution For consistency with OldDot and to increase our changes that bottom-up flows work without a hitch, let's add a Payment currency setting to NewDot. This is equivalent to the Report Currency setting in OldDot's personal type policy, and functions exactly the same – meaningly, this sets the currency all expenses on a report should be converted to.

In NewDot the setting will look like this. image

melvin-bot[bot] commented 5 days ago

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

JmillsExpensify commented 5 days ago

@jamesdeanexpensify any feedback on the text on either of these screens?

Keeping internal until we align on the solution.

jamesdeanexpensify commented 5 days ago

Thoughts on:

Select your currency for paying and getting paid back by friends.

JmillsExpensify commented 4 days ago

Going to think on this one a little more. It's a bit tricky.

mkzie2 commented 4 days ago

Proposal

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

Add OldDot's default output currency setting to NewDot

What is the root cause of that problem?

New feature

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

  1. Add the payment currency item after the language item here. To get the current currency we can use getPersonalPolicy to get the personal policy and getting the currency from outputCurrency field. When clicking on this item we will navigate to the edit payment currency page
<MenuItemWithTopDescription
    shouldShowRightIcon
    title={`${paymentCurrency} - ${getCurrencySymbol(paymentCurrency)}`}
    description={translate('billingCurrency.paymentCurrency')}
    onPress={() => Navigation.navigate(ROUTES.SETTINGS_PAYMENT_CURRENCY)}
    wrapperStyle={styles.sectionMenuItemTopDescription}
/>
  1. Create a PaymentCurrencyPage which is the page to edit the currency

What alternative solutions did you explore? (Optional)

NA

Result

https://github.com/user-attachments/assets/369353ac-6bd1-4ee1-abe0-5e1bc18b45bb

melvin-bot[bot] commented 41 minutes ago

@JmillsExpensify Uh oh! This issue is overdue by 2 days. Don't forget to update your issues!