[Payment due @hoangzinh] Relocate Import Transactions from File option so it is available for all countries.#89909
Conversation
This comment has been minimized.
This comment has been minimized.
Codecov Report✅ Changes either increased or maintained existing code coverage, great job!
|
This comment has been minimized.
This comment has been minimized.
🦜 Polyglot Parrot! 🦜Squawk! Looks like you added some shiny new English strings. Allow me to parrot them back to you in other tongues: View the translation diffdiff --git a/src/languages/fr.ts b/src/languages/fr.ts
index fbed8474..e005df85 100644
--- a/src/languages/fr.ts
+++ b/src/languages/fr.ts
@@ -5296,7 +5296,7 @@ _Pour des instructions plus détaillées, [visitez notre site d’aide](${CONST.
requiredColumns: (missingColumns: string) => `Veuillez attribuer une colonne à chacun des attributs : ${missingColumns}.`,
duplicateColumns: (duplicateColumn: string) => `Oups ! Vous avez associé un seul champ (« ${duplicateColumn} ») à plusieurs colonnes. Veuillez vérifier et réessayer.`,
},
- fileImportDescription: 'Une option manuelle si votre banque ne peut pas envoyer un flux.',
+ fileImportDescription: 'Une option manuelle si votre banque ne peut pas envoyer de flux.',
},
statementCloseDate: {
[CONST.COMPANY_CARDS.STATEMENT_CLOSE_DATE.LAST_DAY_OF_MONTH]: 'Dernier jour du mois',
diff --git a/src/languages/it.ts b/src/languages/it.ts
index 485b291b..af89b240 100644
--- a/src/languages/it.ts
+++ b/src/languages/it.ts
@@ -5269,7 +5269,7 @@ _Per istruzioni più dettagliate, [visita il nostro sito di assistenza](${CONST.
requiredColumns: (missingColumns: string) => `Assegna una colonna a ciascuno degli attributi: ${missingColumns}.`,
duplicateColumns: (duplicateColumn: string) => `Ops! Hai associato un singolo campo ("${duplicateColumn}") a più colonne. Controlla e riprova.`,
},
- fileImportDescription: 'Un’opzione manuale se la tua banca non riesce a inviare un feed.',
+ fileImportDescription: "Un'opzione manuale se la tua banca non può inviare un feed.",
},
statementCloseDate: {
[CONST.COMPANY_CARDS.STATEMENT_CLOSE_DATE.LAST_DAY_OF_MONTH]: 'Ultimo giorno del mese',
diff --git a/src/languages/ja.ts b/src/languages/ja.ts
index 0c874c69..9f11455c 100644
--- a/src/languages/ja.ts
+++ b/src/languages/ja.ts
@@ -5220,7 +5220,7 @@ _詳しい手順については、[ヘルプサイトをご覧ください](${CO
requiredColumns: (missingColumns: string) => `各属性に列を割り当ててください:${missingColumns}`,
duplicateColumns: (duplicateColumn: string) => `おっと!1 つのフィールド("${duplicateColumn}")を複数の列にマッピングしています。確認して、もう一度お試しください。`,
},
- fileImportDescription: '銀行がフィードを送信できない場合の手動オプションです。',
+ fileImportDescription: '銀行からフィードを送信できない場合の手動オプションです。',
},
statementCloseDate: {
[CONST.COMPANY_CARDS.STATEMENT_CLOSE_DATE.LAST_DAY_OF_MONTH]: '月末最終日',
diff --git a/src/languages/nl.ts b/src/languages/nl.ts
index 50c38501..b7964eec 100644
--- a/src/languages/nl.ts
+++ b/src/languages/nl.ts
@@ -5261,7 +5261,7 @@ _Voor meer gedetailleerde instructies, [bezoek onze help-site](${CONST.NETSUITE_
duplicateColumns: (duplicateColumn: string) =>
`Oeps! Je hebt één enkel veld (“${duplicateColumn}”) aan meerdere kolommen gekoppeld. Controleer dit en probeer het opnieuw.`,
},
- fileImportDescription: 'Een handmatige optie als je bank geen feed kan verzenden.',
+ fileImportDescription: 'Een handmatige optie als je bank geen feed kan versturen.',
},
statementCloseDate: {
[CONST.COMPANY_CARDS.STATEMENT_CLOSE_DATE.LAST_DAY_OF_MONTH]: 'Laatste dag van de maand',
diff --git a/src/languages/pl.ts b/src/languages/pl.ts
index 0d93b58a..7d913d8a 100644
--- a/src/languages/pl.ts
+++ b/src/languages/pl.ts
@@ -5251,7 +5251,7 @@ _Aby uzyskać bardziej szczegółowe instrukcje, [odwiedź naszą stronę pomocy
requiredColumns: (missingColumns: string) => `Przypisz kolumnę do każdego z atrybutów: ${missingColumns}.`,
duplicateColumns: (duplicateColumn: string) => `Ups! Przypisałeś jedno pole („${duplicateColumn}”) do wielu kolumn. Sprawdź i spróbuj ponownie.`,
},
- fileImportDescription: 'Ręczna opcja, jeśli Twój bank nie może wysłać pliku danych.',
+ fileImportDescription: 'Ręczna opcja, jeśli Twój bank nie może wysyłać kanału danych.',
},
statementCloseDate: {
[CONST.COMPANY_CARDS.STATEMENT_CLOSE_DATE.LAST_DAY_OF_MONTH]: 'Ostatni dzień miesiąca',
diff --git a/src/languages/pt-BR.ts b/src/languages/pt-BR.ts
index e0b3d7c2..8b3801f1 100644
--- a/src/languages/pt-BR.ts
+++ b/src/languages/pt-BR.ts
@@ -5253,7 +5253,7 @@ _Para instruções mais detalhadas, [visite nossa central de ajuda](${CONST.NETS
requiredColumns: (missingColumns: string) => `Atribua uma coluna a cada um dos atributos: ${missingColumns}.`,
duplicateColumns: (duplicateColumn: string) => `Ops! Você mapeou um único campo ("${duplicateColumn}") para várias colunas. Revise e tente novamente.`,
},
- fileImportDescription: 'Uma opção manual se o seu banco não puder enviar um feed.',
+ fileImportDescription: 'Uma opção manual caso seu banco não possa enviar um feed.',
},
statementCloseDate: {
[CONST.COMPANY_CARDS.STATEMENT_CLOSE_DATE.LAST_DAY_OF_MONTH]: 'Último dia do mês',
diff --git a/src/languages/zh-hans.ts b/src/languages/zh-hans.ts
index 953c33b2..ca0d4b98 100644
--- a/src/languages/zh-hans.ts
+++ b/src/languages/zh-hans.ts
@@ -5136,7 +5136,7 @@ _如需更详细的说明,请[访问我们的帮助网站](${CONST.NETSUITE_IM
requiredColumns: (missingColumns: string) => `请为以下每个属性分配一列:${missingColumns}`,
duplicateColumns: (duplicateColumn: string) => `哎呀!你已将单个字段(“${duplicateColumn}”)映射到了多个列。请检查后重试。`,
},
- fileImportDescription: '如果您的银行无法发送数据流,可使用手动选项。',
+ fileImportDescription: '如果您的银行无法发送数据馈送时的手动选项。',
},
statementCloseDate: {
[CONST.COMPANY_CARDS.STATEMENT_CLOSE_DATE.LAST_DAY_OF_MONTH]: '月末最后一天',
Note You can apply these changes to your branch by copying the patch to your clipboard, then running |
|
@hoangzinh Please copy/paste the Reviewer Checklist from here into a new comment on this PR and complete it. If you have the K2 extension, you can simply click: [this button] |
Reviewer Checklist
Screenshots/VideosAndroid: HybridAppAndroid: mWeb ChromeScreen.Recording.2026-05-12.at.17.21.59.moviOS: HybridAppScreen.Recording.2026-05-12.at.18.35.15.moviOS: mWeb SafariScreen.Recording.2026-05-12.at.18.39.58.movMacOS: Chrome / SafariScreen.Recording.2026-05-12.at.17.20.03.mov |
|
Bug: Wrong navigation when tap Back on the Import transactions from file page
Actual behavior: App navigates to the select bank type Screen.Recording.2026-05-11.at.17.39.14.mov |
Addressed! |
|
🎯 @hoangzinh, thanks for reviewing and testing this PR! 🎉 A payment issue will be created for your review once this PR is deployed to production. If payment is not needed (e.g., regression PR review fix etc), react with 👎 to this comment to prevent the payment issue from being created. |
|
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
|
🚧 @lakchote has triggered a test Expensify/App build. You can view the workflow run here. |
|
🧪🧪 Use the links below to test this adhoc build on Android, iOS, and Web. Happy testing! 🧪🧪
|
|
🚀 Deployed to staging by https://github.com/lakchote in version: 9.3.73-0 🚀
Bundle Size Analysis (Sentry): |
|
Yes, help site changes are needed. PR #89909 relocates the "Import transactions from file" option from the bank selection step to the feed type selection step, making it available for all countries (not just Plaid-supported ones). No existing help article documented this company card file import workflow. I've created a draft PR with the following changes:
Draft PR: #90426 |
|
🚀 Deployed to staging by https://github.com/lakchote in version: 9.3.73-0 🚀
Bundle Size Analysis (Sentry): |
|
Deploy Blocker #90439 was identified to be related to this PR. |
|
This PR failing because of the issue #90465 |
|
Deploy Blocker ##90479 was identified to be related to this PR. |
|
🚀 Deployed to production by https://github.com/Beamanator in version: 9.3.73-4 🚀
|
|
🤖 Payment issue created: #90564 |
Explanation of Change
Fixed Issues
$ https://github.com/Expensify/Expensify/issues/633776
PROPOSAL:
Tests
Select it and confirm the flow works. You can use this file:
uploads_1594908368712-Best+Example+CSV+for+Domains.csv
Choose a non-plaid country (like Vatican City)
Confirm you see this option:
Offline tests
None
QA Steps
Same as tests
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectioncanBeMissingparam foruseOnyxtoggleReportand notonIconClick)src/languages/*files and using the translation methodSTYLE.md) were followedAvatar, I verified the components usingAvatarare working as expected)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))npm run compress-svg)Avataris modified, I verified thatAvataris working as expected in all cases)Designlabel and/or tagged@Expensify/designso the design team can review the changes.ScrollViewcomponent to make it scrollable when more elements are added to the page.mainbranch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTeststeps.Screenshots/Videos
Android: Native
Android: mWeb Chrome
iOS: Native
iOS: mWeb Safari
MacOS: Chrome / Safari