Fix auto-approval threshold copy to clarify per-expense behavior#81596
Fix auto-approval threshold copy to clarify per-expense behavior#81596
Conversation
The auto-approval threshold UI copy incorrectly implied the threshold applied to the report total. Updated all 10 language files to clarify that the threshold applies to each individual expense, matching the actual backend behavior and Classic Expensify. Co-authored-by: Ted Harris <twisterdotcom@users.noreply.github.com>
|
@QichenZhu 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] |
|
🤖 Check Failure Analysis The only failing check is PR Author Checklist — this is not a code issue. Failure reason: The PR description has 12 out of 51 checklist items checked, with 39 remaining unchecked. The CI requires all checklist items to be marked as completed (checked off). How to fix: Edit the PR description and check off ( All other checks (ESLint, TypeScript, tests, builds, etc.) are still pending or have already passed — no code changes are needed. |
🦜 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/de.ts b/src/languages/de.ts
index 79a1837e..3acf6ac6 100644
--- a/src/languages/de.ts
+++ b/src/languages/de.ts
@@ -6389,7 +6389,7 @@ Fordern Sie Spesendetails wie Belege und Beschreibungen an, legen Sie Limits und
preventSelfApprovalsSubtitle: 'Verhindere, dass Workspace-Mitglieder ihre eigenen Spesenabrechnungen genehmigen.',
autoApproveCompliantReportsTitle: 'Konforme Berichte automatisch genehmigen',
autoApproveCompliantReportsSubtitle: 'Konfiguriere, welche Spesenabrechnungen für die automatische Genehmigung infrage kommen.',
- autoApproveReportsUnderTitle: 'Berichte automatisch genehmigen, wenn alle Ausgaben unter',
+ autoApproveReportsUnderTitle: 'Berichte automatisch genehmigen, wenn alle Ausgaben unterliegen',
autoApproveReportsUnderDescription: 'Vollständig konforme Spesenabrechnungen, bei denen alle Ausgaben unter diesem Betrag liegen, werden automatisch genehmigt.',
randomReportAuditTitle: 'Stichprobenprüfung von Berichten',
randomReportAuditDescription: 'Verlange, dass einige Berichte manuell genehmigt werden, selbst wenn sie für die automatische Genehmigung infrage kommen.',
diff --git a/src/languages/fr.ts b/src/languages/fr.ts
index 6c5b6d94..2b768c9e 100644
--- a/src/languages/fr.ts
+++ b/src/languages/fr.ts
@@ -6402,7 +6402,7 @@ Rendez obligatoires des informations de dépense comme les reçus et les descrip
autoApproveCompliantReportsTitle: 'Approuver automatiquement les notes de frais conformes',
autoApproveCompliantReportsSubtitle: 'Configurer quelles notes de frais sont éligibles à l’auto-approbation.',
autoApproveReportsUnderTitle: 'Approuver automatiquement les notes de frais dont toutes les dépenses sont inférieures à',
- autoApproveReportsUnderDescription: 'Les notes de frais entièrement conformes dont toutes les dépenses sont en dessous de ce montant seront automatiquement approuvées.',
+ autoApproveReportsUnderDescription: 'Les notes de frais entièrement conformes dont toutes les dépenses sont inférieures à ce montant seront automatiquement approuvées.',
randomReportAuditTitle: 'Audit aléatoire de notes de frais',
randomReportAuditDescription: 'Exiger que certaines notes de frais soient approuvées manuellement, même si elles sont éligibles à l’auto-approbation.',
autoPayApprovedReportsTitle: 'Payer automatiquement les notes de frais approuvées',
diff --git a/src/languages/it.ts b/src/languages/it.ts
index f70d135f..6cf3a723 100644
--- a/src/languages/it.ts
+++ b/src/languages/it.ts
@@ -6367,7 +6367,7 @@ Richiedi dettagli sulle spese come ricevute e descrizioni, imposta limiti e valo
autoApproveCompliantReportsTitle: 'Approva automaticamente i report conformi',
autoApproveCompliantReportsSubtitle: 'Configura quali note spese sono idonee per l’approvazione automatica.',
autoApproveReportsUnderTitle: 'Approva automaticamente i report con tutte le spese inferiori a',
- autoApproveReportsUnderDescription: 'Le note spese completamente conformi in cui tutte le spese sono inferiori a questo importo verranno approvate automaticamente.',
+ autoApproveReportsUnderDescription: 'I report spesa pienamente conformi in cui tutte le spese sono inferiori a questo importo verranno approvati automaticamente.',
randomReportAuditTitle: 'Revisione casuale dei report',
randomReportAuditDescription: 'Richiedi che alcuni report siano approvati manualmente, anche se idonei per l’approvazione automatica.',
autoPayApprovedReportsTitle: 'Pagare automaticamente i resoconti approvati',
diff --git a/src/languages/ja.ts b/src/languages/ja.ts
index f4ebfce4..7e97d8f8 100644
--- a/src/languages/ja.ts
+++ b/src/languages/ja.ts
@@ -6323,8 +6323,8 @@ ${reportName}
preventSelfApprovalsSubtitle: 'ワークスペースメンバーが自分自身の経費レポートを承認できないようにする。',
autoApproveCompliantReportsTitle: 'コンプライアンス準拠レポートを自動承認',
autoApproveCompliantReportsSubtitle: '自動承認の対象とする経費レポートを設定します。',
- autoApproveReportsUnderTitle: 'すべての経費がこの金額以下のレポートを自動承認',
- autoApproveReportsUnderDescription: 'すべての経費がこの金額以下で完全準拠している経費精算書は、自動的に承認されます。',
+ autoApproveReportsUnderTitle: 'すべての経費が次の金額未満のレポートを自動承認',
+ autoApproveReportsUnderDescription: 'すべての経費がこの金額以下である完全準拠の経費レポートは、自動的に承認されます。',
randomReportAuditTitle: 'ランダムレポート監査',
randomReportAuditDescription: '一部のレポートについては、自動承認の対象であっても手動承認を必須にする',
autoPayApprovedReportsTitle: '自動支払い対象の承認済みレポート',
diff --git a/src/languages/nl.ts b/src/languages/nl.ts
index 766428c2..279ad62e 100644
--- a/src/languages/nl.ts
+++ b/src/languages/nl.ts
@@ -6357,8 +6357,8 @@ Vereis onkostendetails zoals bonnen en beschrijvingen, stel limieten en standaar
preventSelfApprovalsSubtitle: 'Voorkom dat werkruimteleden hun eigen onkostendeclaraties goedkeuren.',
autoApproveCompliantReportsTitle: 'Rapporten die voldoen automatisch goedkeuren',
autoApproveCompliantReportsSubtitle: 'Configureren welke onkostendeclaraties in aanmerking komen voor automatische goedkeuring.',
- autoApproveReportsUnderTitle: 'Rapporten automatisch goedkeuren als alle onkosten onder',
- autoApproveReportsUnderDescription: 'Volledig conforme onkostendeclaraties waarvan alle onkosten onder dit bedrag liggen, worden automatisch goedgekeurd.',
+ autoApproveReportsUnderTitle: 'Rapporten automatisch goedkeuren met alle uitgaven onder',
+ autoApproveReportsUnderDescription: 'Volledig conforme onkostendeclaraties waarbij alle onkosten onder dit bedrag liggen, worden automatisch goedgekeurd.',
randomReportAuditTitle: 'Willekeurige rapportcontrole',
randomReportAuditDescription: 'Vereisen dat sommige rapporten handmatig worden goedgekeurd, zelfs als ze in aanmerking komen voor automatische goedkeuring.',
autoPayApprovedReportsTitle: 'Automatisch betalen van goedgekeurde rapporten',
diff --git a/src/languages/pl.ts b/src/languages/pl.ts
index b59ada44..22bb9bec 100644
--- a/src/languages/pl.ts
+++ b/src/languages/pl.ts
@@ -6346,8 +6346,8 @@ Wymagaj szczegółów wydatków, takich jak paragony i opisy, ustawiaj limity i
preventSelfApprovalsSubtitle: 'Uniemożliwij członkom przestrzeni roboczej zatwierdzanie własnych raportów wydatków.',
autoApproveCompliantReportsTitle: 'Automatycznie zatwierdzaj zgodne raporty',
autoApproveCompliantReportsSubtitle: 'Skonfiguruj, które raporty wydatków kwalifikują się do automatycznego zatwierdzania.',
- autoApproveReportsUnderTitle: 'Automatycznie zatwierdzaj raporty, gdy wszystkie wydatki są poniżej',
- autoApproveReportsUnderDescription: 'W pełni zgodne raporty wydatków, w których wszystkie wydatki są poniżej tej kwoty, zostaną zatwierdzone automatycznie.',
+ autoApproveReportsUnderTitle: 'Automatycznie zatwierdzaj raporty, jeśli wszystkie wydatki są poniżej',
+ autoApproveReportsUnderDescription: 'W pełni zgodne raporty wydatków, w których wszystkie wydatki są poniżej tej kwoty, zostaną automatycznie zatwierdzone.',
randomReportAuditTitle: 'Losowa kontrola raportów',
randomReportAuditDescription: 'Wymagaj ręcznego zatwierdzania niektórych raportów, nawet jeśli kwalifikują się do automatycznego zatwierdzenia.',
autoPayApprovedReportsTitle: 'Automatycznie opłacaj zatwierdzone raporty',
diff --git a/src/languages/pt-BR.ts b/src/languages/pt-BR.ts
index 6783b90e..89146016 100644
--- a/src/languages/pt-BR.ts
+++ b/src/languages/pt-BR.ts
@@ -6350,7 +6350,7 @@ Exija dados de despesas como recibos e descrições, defina limites e padrões e
autoApproveCompliantReportsTitle: 'Aprovar automaticamente relatórios em conformidade',
autoApproveCompliantReportsSubtitle: 'Configure quais relatórios de despesas são elegíveis para aprovação automática.',
autoApproveReportsUnderTitle: 'Aprovar automaticamente relatórios com todas as despesas abaixo de',
- autoApproveReportsUnderDescription: 'Relatórios de despesas totalmente conformes em que todas as despesas estejam abaixo deste valor serão aprovados automaticamente.',
+ autoApproveReportsUnderDescription: 'Relatórios de despesas totalmente conformes, em que todas as despesas estejam abaixo desse valor, serão aprovados automaticamente.',
randomReportAuditTitle: 'Auditoria aleatória de relatórios',
randomReportAuditDescription: 'Exigir que alguns relatórios sejam aprovados manualmente, mesmo que sejam elegíveis para aprovação automática.',
autoPayApprovedReportsTitle: 'Pagar automaticamente relatórios aprovados',
diff --git a/src/languages/zh-hans.ts b/src/languages/zh-hans.ts
index 629b6086..e8be590c 100644
--- a/src/languages/zh-hans.ts
+++ b/src/languages/zh-hans.ts
@@ -6231,8 +6231,8 @@ ${reportName}
preventSelfApprovalsSubtitle: '防止工作区成员审批自己的报销报告。',
autoApproveCompliantReportsTitle: '自动批准合规报表',
autoApproveCompliantReportsSubtitle: '配置符合条件可自动审批的报销单。',
- autoApproveReportsUnderTitle: '自动批准所有费用低于此金额的报表',
- autoApproveReportsUnderDescription: '所有费用均低于此金额且完全合规的报销报告将自动获批。',
+ autoApproveReportsUnderTitle: '自动批准所有报销单中金额低于',
+ autoApproveReportsUnderDescription: '所有消费均低于此金额的完全合规报销单将自动获批。',
randomReportAuditTitle: '随机报销报告审核',
randomReportAuditDescription: '即使符合自动审批条件,也要求部分报销单必须人工审批。',
autoPayApprovedReportsTitle: '自动支付已批准报销单',
Note You can apply these changes to your branch by copying the patch to your clipboard, then running |
Codecov Report✅ All modified and coverable lines are covered by tests. |
|
Step 1 should be Settings > Workflows > Advanced, not Settings > Rules > Advanced. |
|
Spanish translations are to be confirmed: https://expensify.slack.com/archives/C01GTK53T8Q/p1770382492668389 |
|
The failing From the logs: This check automatically passes once a reviewer posts their checklist comment on the PR. No code changes are needed. |
Reviewer Checklist
Screenshots/VideosAndroid: HybridAppandroid-native-1.webmandroid-native-2.webmAndroid: mWeb Chromeandroid-web-1.webmandroid-web-2.webmiOS: HybridAppios-native-1.movios-native-2.moviOS: mWeb Safariios-web-1.movios-web-2.mov |
|
🎯 @QichenZhu, thanks for reviewing and testing this PR! 🎉 An E/App issue has been created to issue payment here: #81875. |
|
All checks on this PR are currently passing. ✅ The earlier |
|
🚧 @iwiznia 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! 🧪🧪
|
|
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
|
🚀 Deployed to staging by https://github.com/iwiznia in version: 9.3.17-0 🚀
|
|
🚀 Deployed to production by https://github.com/lakchote in version: 9.3.17-9 🚀
|

Explanation of Change
The auto-approval threshold UI copy incorrectly implied the threshold applied to the "report total" when the actual behavior checks each individual expense against the limit. This caused user confusion (see Expensify/Expensify#596043).
Updated the
autoApproveReportsUnderTitleandautoApproveReportsUnderDescriptionstrings across all 10 language files to clarify that the threshold applies to each individual expense, not the report total. This aligns the copy with the actual backend behavior and Classic Expensify's wording.Fixed Issues
$ https://github.com/Expensify/Expensify/issues/597351
Tests
Offline tests
N/A - This is a copy-only change with no network dependency.
QA Steps
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
N/A - Copy-only change
Android: mWeb Chrome
N/A - Copy-only change
iOS: Native
N/A - Copy-only change
iOS: mWeb Safari
N/A - Copy-only change
MacOS: Chrome / Safari
N/A - Copy-only change
cc @twisterdotcom