Skip to content

[NO QA] Travel billing: Update bank account setup copy - #100106

Merged
blimpich merged 4 commits into
mainfrom
codex/100094-travel-billing-bank-copy-main
Sep 2, 2026
Merged

[NO QA] Travel billing: Update bank account setup copy#100106
blimpich merged 4 commits into
mainfrom
codex/100094-travel-billing-bank-copy-main

Conversation

@blimpich

@blimpich blimpich commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Explanation of Change

Use a dedicated localized string for the Consolidated Travel Billing settlement-account setup flow. Expensify Card setup continues to use the existing Expensify Card balance copy.

Fixed Issues

$ #100094
PROPOSAL:

Tests

  • Verify that no errors appear in the JS console

Offline tests

N/A

QA Steps

N/A

  • Verify that no errors appear in the JS console

PR Author Checklist

  • I linked the correct issue in the ### Fixed Issues section above
  • I wrote clear testing steps that cover the changes made in this PR
    • I added steps for local testing in the Tests section
    • I added steps for the expected offline behavior in the Offline steps section
    • I added steps for Staging and/or Production testing in the QA steps section
    • I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
    • I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
    • I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).
  • I included screenshots or videos for tests on all platforms
  • I ran the tests on all platforms & verified they passed on:
    • Android: Native
    • Android: mWeb Chrome
    • iOS: Native
    • iOS: mWeb Safari
    • MacOS: Chrome / Safari
  • I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
  • I followed proper code patterns (see Reviewing the code)
    • I verified that comments were added to code that is not self explanatory
    • I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
    • I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
  • If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
  • I followed the guidelines as stated in the Review Guidelines
  • I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
  • If a new CSS style is added I verified that:
    • A similar style doesn't already exist
    • The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))
  • If new assets were added or existing ones were modified, I verified that:
    • The assets are optimized and compressed (for SVG files, run npm run compress-svg)
    • The assets load correctly across all supported platforms.
  • If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
  • If the PR modifies a generic component, I tested and verified that these changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
  • If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
  • If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
  • If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:
    • I verified that all the inputs inside a form are aligned with each other.
    • I added Design label and/or tagged @Expensify/design so the design team can review the changes.
  • I added unit tests for any new feature or bug fix in this PR to help automatically prevent regressions in this user flow.
  • If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native
Android: mWeb Chrome
iOS: Native
iOS: mWeb Safari
MacOS: Chrome / Safari

@OSBotify

OSBotify commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

🦜 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 diff
diff --git a/src/languages/de.ts b/src/languages/de.ts
index a6581278..7b94c1db 100644
--- a/src/languages/de.ts
+++ b/src/languages/de.ts
@@ -6211,8 +6211,7 @@ _Für ausführlichere Anweisungen [besuchen Sie unsere Hilfeseite](${CONST.NETSU
             finishSetup: 'Einrichtung abschließen',
             chooseBankAccount: 'Bankkonto auswählen',
             chooseExistingBank: 'Wählen Sie ein bestehendes Geschäftskonto aus, um den Saldo Ihrer Expensify Karte zu bezahlen, oder fügen Sie ein neues Bankkonto hinzu',
-            chooseExistingBankForTravelBilling:
-                'Wählen Sie ein bestehendes Geschäftskonto aus, um Ihr Consolidated Travel Billing-Guthaben zu bezahlen, oder fügen Sie ein neues Bankkonto hinzu',
+            chooseExistingBankForTravelBilling: 'Wählen Sie ein vorhandenes Geschäftskonto, um Ihre konsolidierte Reiseabrechnung zu bezahlen, oder fügen Sie ein neues Bankkonto hinzu',
             accountEndingIn: 'Konto mit Endziffern',
             addNewBankAccount: 'Neues Bankkonto hinzufügen',
             settlementAccount: 'Verrechnungskonto',
diff --git a/src/languages/el.ts b/src/languages/el.ts
index fc8c1f0a..2cfc3dfd 100644
--- a/src/languages/el.ts
+++ b/src/languages/el.ts
@@ -6322,7 +6322,7 @@ _Για πιο αναλυτικές οδηγίες, [επισκεφθείτε τ
             chooseBankAccount: 'Επιλέξτε τραπεζικό λογαριασμό',
             chooseExistingBank: 'Επιλέξτε έναν υπάρχοντα επαγγελματικό τραπεζικό λογαριασμό για να πληρώσετε το υπόλοιπο της Κάρτας Expensify ή προσθέστε έναν νέο τραπεζικό λογαριασμό',
             chooseExistingBankForTravelBilling:
-                'Επιλέξτε έναν υπάρχοντα επαγγελματικό τραπεζικό λογαριασμό για να πληρώσετε το υπόλοιπο του Consolidated Travel Billing ή προσθέστε έναν νέο τραπεζικό λογαριασμό',
+                'Επιλέξτε έναν υπάρχοντα επαγγελματικό τραπεζικό λογαριασμό για να πληρώσετε το υπόλοιπο του Consolidated Travel Billing σας ή προσθέστε έναν νέο τραπεζικό λογαριασμό',
             accountEndingIn: 'Λογαριασμός που λήγει σε',
             addNewBankAccount: 'Προσθήκη νέου τραπεζικού λογαριασμού',
             settlementAccount: 'Λογαριασμός διακανονισμού',
diff --git a/src/languages/es.ts b/src/languages/es.ts
index 3416444d..1178ed6f 100644
--- a/src/languages/es.ts
+++ b/src/languages/es.ts
@@ -6085,7 +6085,7 @@ ${amount} para ${merchant} - ${date}`,
             finishSetup: 'Terminar configuración',
             chooseBankAccount: 'Elegir cuenta bancaria',
             chooseExistingBank: 'Elige una cuenta bancaria comercial existente para pagar el saldo de su Tarjeta Expensify o añade una nueva cuenta bancaria.',
-            chooseExistingBankForTravelBilling: 'Elige una cuenta bancaria comercial existente para pagar el saldo de tu Consolidated Travel Billing o añade una nueva cuenta bancaria.',
+            chooseExistingBankForTravelBilling: 'Elige una cuenta bancaria empresarial existente para pagar tu saldo de Facturación de Viajes Consolidada o añade una nueva cuenta bancaria',
             accountEndingIn: 'Cuenta terminada en',
             addNewBankAccount: 'Añadir nueva cuenta bancaria',
             settlementAccount: 'Cuenta de liquidación',
diff --git a/src/languages/fr.ts b/src/languages/fr.ts
index 363667a6..94db5bfe 100644
--- a/src/languages/fr.ts
+++ b/src/languages/fr.ts
@@ -6217,7 +6217,7 @@ _Pour des instructions plus détaillées, [visitez notre site d’aide](${CONST.
             chooseBankAccount: 'Choisir un compte bancaire',
             chooseExistingBank: 'Choisissez un compte bancaire professionnel existant pour régler le solde de votre Carte Expensify ou ajoutez un nouveau compte bancaire',
             chooseExistingBankForTravelBilling:
-                'Choisissez un compte bancaire professionnel existant pour régler le solde de votre Consolidated Travel Billing ou ajoutez un nouveau compte bancaire',
+                'Choisissez un compte bancaire professionnel existant pour payer votre solde de facturation de voyage consolidée, ou ajoutez un nouveau compte bancaire',
             accountEndingIn: 'Compte se terminant par',
             addNewBankAccount: 'Ajouter un nouveau compte bancaire',
             settlementAccount: 'Compte de règlement',
diff --git a/src/languages/it.ts b/src/languages/it.ts
index d811008c..8dadb5bc 100644
--- a/src/languages/it.ts
+++ b/src/languages/it.ts
@@ -6169,7 +6169,7 @@ _Per istruzioni più dettagliate, [visita il nostro sito di assistenza](${CONST.
             chooseBankAccount: 'Scegli il conto bancario',
             chooseExistingBank: 'Scegli un conto bancario aziendale esistente per pagare il saldo della tua Carta Expensify oppure aggiungi un nuovo conto bancario',
             chooseExistingBankForTravelBilling:
-                'Scegli un conto bancario aziendale esistente per pagare il saldo della tua Consolidated Travel Billing oppure aggiungi un nuovo conto bancario',
+                'Scegli un conto bancario aziendale esistente per pagare il saldo della fatturazione di viaggio consolidata oppure aggiungi un nuovo conto bancario',
             accountEndingIn: 'Conto che termina con',
             addNewBankAccount: 'Aggiungi un nuovo conto bancario',
             settlementAccount: 'Conto di regolamento',
diff --git a/src/languages/ja.ts b/src/languages/ja.ts
index e63103ff..a30aaf7c 100644
--- a/src/languages/ja.ts
+++ b/src/languages/ja.ts
@@ -6095,7 +6095,7 @@ _詳しい手順については、[ヘルプサイトをご覧ください](${CO
             finishSetup: 'セットアップを完了',
             chooseBankAccount: '銀行口座を選択',
             chooseExistingBank: '既存のビジネス銀行口座を選んで Expensify カードの残高を支払うか、新しい銀行口座を追加してください',
-            chooseExistingBankForTravelBilling: '既存のビジネス銀行口座を選んで Consolidated Travel Billing の残高を支払うか、新しい銀行口座を追加してください',
+            chooseExistingBankForTravelBilling: '既存のビジネス銀行口座を選択して一括旅行請求の残高を支払うか、新しい銀行口座を追加してください',
             accountEndingIn: '末尾が…の口座',
             addNewBankAccount: '新しい銀行口座を追加',
             settlementAccount: '決済口座',
diff --git a/src/languages/nl.ts b/src/languages/nl.ts
index ead6187d..ae852923 100644
--- a/src/languages/nl.ts
+++ b/src/languages/nl.ts
@@ -6161,7 +6161,7 @@ _Voor meer gedetailleerde instructies, [bezoek onze help-site](${CONST.NETSUITE_
             finishSetup: 'Configuratie voltooien',
             chooseBankAccount: 'Kies bankrekening',
             chooseExistingBank: 'Kies een bestaande zakelijke bankrekening om je saldo van de Expensify Kaart te betalen, of voeg een nieuwe bankrekening toe',
-            chooseExistingBankForTravelBilling: 'Kies een bestaande zakelijke bankrekening om je saldo van de Consolidated Travel Billing te betalen, of voeg een nieuwe bankrekening toe',
+            chooseExistingBankForTravelBilling: 'Kies een bestaande zakelijke bankrekening om je geconsolideerde reissaldi te betalen, of voeg een nieuwe bankrekening toe',
             accountEndingIn: 'Rekening eindigend op',
             addNewBankAccount: 'Nieuwe bankrekening toevoegen',
             settlementAccount: 'Verrekeningsrekening',
diff --git a/src/languages/pl.ts b/src/languages/pl.ts
index fdef7edc..fd5f415f 100644
--- a/src/languages/pl.ts
+++ b/src/languages/pl.ts
@@ -6183,7 +6183,7 @@ _Aby uzyskać bardziej szczegółowe instrukcje, [odwiedź naszą stronę pomocy
             finishSetup: 'Zakończ konfigurację',
             chooseBankAccount: 'Wybierz konto bankowe',
             chooseExistingBank: 'Wybierz istniejące firmowe konto bankowe, żeby spłacić saldo Karty Expensify, albo dodaj nowe konto bankowe',
-            chooseExistingBankForTravelBilling: 'Wybierz istniejące firmowe konto bankowe, żeby spłacić saldo Consolidated Travel Billing, albo dodaj nowe konto bankowe',
+            chooseExistingBankForTravelBilling: 'Wybierz istniejące firmowe konto bankowe, aby zapłacić saldo skonsolidowanego rozliczenia podróży, albo dodaj nowe konto bankowe',
             accountEndingIn: 'Konto kończące się na',
             addNewBankAccount: 'Dodaj nowe konto bankowe',
             settlementAccount: 'Konto rozliczeniowe',
diff --git a/src/languages/pt-BR.ts b/src/languages/pt-BR.ts
index 8f42dedd..201208cf 100644
--- a/src/languages/pt-BR.ts
+++ b/src/languages/pt-BR.ts
@@ -6161,7 +6161,7 @@ _Para instruções mais detalhadas, [visite nossa central de ajuda](${CONST.NETS
             finishSetup: 'Concluir configuração',
             chooseBankAccount: 'Escolher conta bancária',
             chooseExistingBank: 'Escolha uma conta bancária empresarial existente para pagar o saldo do seu Cartão Expensify ou adicione uma nova conta bancária',
-            chooseExistingBankForTravelBilling: 'Escolha uma conta bancária empresarial existente para pagar o saldo do seu Consolidated Travel Billing ou adicione uma nova conta bancária',
+            chooseExistingBankForTravelBilling: 'Escolha uma conta bancária empresarial existente para pagar o saldo da sua Fatura Consolidada de Viagem ou adicione uma nova conta bancária',
             accountEndingIn: 'Conta com final',
             addNewBankAccount: 'Adicionar uma nova conta bancária',
             settlementAccount: 'Conta de liquidação',
diff --git a/src/languages/zh-hans.ts b/src/languages/zh-hans.ts
index f37cabac..f9e49942 100644
--- a/src/languages/zh-hans.ts
+++ b/src/languages/zh-hans.ts
@@ -5954,7 +5954,7 @@ _如需更详细的说明,请[访问我们的帮助网站](${CONST.NETSUITE_IM
             finishSetup: '完成设置',
             chooseBankAccount: '选择银行账户',
             chooseExistingBank: '选择一个现有的企业银行账户来支付您的 Expensify 卡余额,或添加一个新的银行账户',
-            chooseExistingBankForTravelBilling: '选择一个现有的企业银行账户来支付您的 Consolidated Travel Billing 余额,或添加一个新的银行账户',
+            chooseExistingBankForTravelBilling: '选择一个现有的企业银行账户来支付您的合并差旅账单余额,或添加新银行账户',
             accountEndingIn: '账号末尾为',
             addNewBankAccount: '添加新银行账户',
             settlementAccount: '结算账户',

Note

You can apply these changes to your branch by copying the patch to your clipboard, then running pbpaste | git apply 😉

View workflow run

@blimpich
blimpich marked this pull request as ready for review September 2, 2026 01:15
@blimpich
blimpich requested review from a team as code owners September 2, 2026 01:15
@melvin-bot
melvin-bot Bot requested review from TaduJR and flaviadefaria September 2, 2026 01:15
@melvin-bot

melvin-bot Bot commented Sep 2, 2026

Copy link
Copy Markdown

@TaduJR 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]

@melvin-bot
melvin-bot Bot removed request for a team September 2, 2026 01:15
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 2, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-09-02T01:27:46.665106Z 844a6cc Draft marked ready
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@blimpich

blimpich commented Sep 2, 2026

Copy link
Copy Markdown
Contributor Author

@TaduJR @flaviadefaria ignore the ping

@blimpich
blimpich requested a review from rlinoz September 2, 2026 01:15
@rlinoz

rlinoz commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

will have to merge main I think

@codecov

codecov Bot commented Sep 2, 2026

Copy link
Copy Markdown

Codecov Report

✅ Changes either increased or maintained existing code coverage, great job!

Files with missing lines Coverage Δ
...el/WorkspaceTravelBillingSettlementAccountPage.tsx 0.00% <0.00%> (ø)
... and 11 files with indirect coverage changes

@blimpich
blimpich merged commit a9a9436 into main Sep 2, 2026
34 checks passed
@blimpich
blimpich deleted the codex/100094-travel-billing-bank-copy-main branch September 2, 2026 18:05
@OSBotify

OSBotify commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

@OSBotify

OSBotify commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

🚀 Deployed to staging by https://github.com/blimpich in version: 9.4.69-0 🚀

platform result
🕸 web 🕸 success ✅
🤖 android 🤖 success ✅
🍎 iOS 🍎 success ✅

@MelvinBot

Copy link
Copy Markdown
Contributor

🤖 No help site changes are required — I did not create a docs PR.

This PR is a copy-only change: it adds chooseExistingBankForTravelBilling across the 11 language files and swaps the settlement-account RHP header text at src/pages/workspace/travel/WorkspaceTravelBillingSettlementAccountPage.tsx:108. No flow, step, setting, or feature name changed.

What I checked in docs/articles
  • Searched every article for "Consolidated Travel Billing" and "travel billing". The relevant ones are the three under docs/articles/travel/consolidated-travel-billing/ plus Enable-Travel-on-a-Workspace.md.
  • No article quotes the old Expensify Card copy — grep for "Choose an existing business bank account" returns nothing across docs/.
  • Enable-Consolidated-Travel-Billing-in-a-Workspace.md:38 already describes this step generically and still accurately: "If prompted, select or add a bank account for settlement." Line 25 already states a verified business bank account is required for settlement.

Per HELP_AUTHORING_GUIDELINES.md, help articles document what the user does, not the exact on-screen sentence. Since the sentence this PR changes is never reproduced in the docs and the underlying steps are unchanged, editing the articles would be churn with no accuracy gain.

There's no linked help site PR for you to review, since no docs change was needed. If you'd like the settlement-account step spelled out more explicitly in the Consolidated Travel Billing article anyway (for example, naming the Settlement account screen), reply and I'll open the draft PR.


view run

@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

🚧 blimpich has triggered a test Expensify/App build. You can view the workflow run here.

@OSBotify

OSBotify commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

🚀 Deployed to production by https://github.com/francoisl in version: 9.4.69-1 🚀

platform result
🕸 web 🕸 success ✅
🤖 android 🤖 success ✅
🍎 iOS 🍎 success ✅

Bundle Size Analysis (Sentry):

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants