From 1439a32ff235a034dd0bbf7cf5183f147d6c68b9 Mon Sep 17 00:00:00 2001 From: Faizan Shoukat Abbasi Date: Wed, 11 Mar 2026 04:52:32 +0500 Subject: [PATCH 1/5] 82322: WIP --- src/languages/de.ts | 3 ++- src/languages/en.ts | 3 ++- src/languages/es.ts | 3 ++- src/languages/fr.ts | 3 ++- src/languages/it.ts | 3 ++- src/languages/ja.ts | 3 ++- src/languages/nl.ts | 3 ++- src/languages/pl.ts | 3 ++- src/languages/pt-BR.ts | 3 ++- src/languages/zh-hans.ts | 3 ++- src/libs/ReportActionsUtils.ts | 4 +++- src/types/onyx/OldDotAction.ts | 2 +- 12 files changed, 24 insertions(+), 12 deletions(-) diff --git a/src/languages/de.ts b/src/languages/de.ts index 5f327b1ae452..7d7f483a4485 100644 --- a/src/languages/de.ts +++ b/src/languages/de.ts @@ -7508,7 +7508,8 @@ Fordern Sie Spesendetails wie Belege und Beschreibungen an, legen Sie Limits und markedReimbursed: (amount: string, currency: string) => `hat ${currency}${amount} anderweitig bezahlt`, markedReimbursedFromIntegration: ({amount, currency}: MarkReimbursedFromIntegrationParams) => `${currency}${amount} über Integration bezahlt`, outdatedBankAccount: `Konnte die Zahlung aufgrund eines Problems mit dem Bankkonto des Zahlenden nicht verarbeiten`, - reimbursementACHBounce: `Zahlung konnte aufgrund eines Problems mit dem Bankkonto nicht verarbeitet werden`, + reimbursementACHBounceDefault: `couldn't process the payment due to an incorrect routing/account number or closed account`, + reimbursementACHBounceWithReason: ({returnReason}) => `couldn't process the payment: ${returnReason}`, reimbursementACHCancelled: `hat die Zahlung storniert`, reimbursementAccountChanged: `Die Zahlung konnte nicht verarbeitet werden, da der Zahlungspflichtige das Bankkonto gewechselt hat`, reimbursementDelayed: `hat die Zahlung verarbeitet, aber sie verzögert sich um weitere 1–2 Werktage`, diff --git a/src/languages/en.ts b/src/languages/en.ts index 7b54fe5a325a..e88209e9dfa3 100644 --- a/src/languages/en.ts +++ b/src/languages/en.ts @@ -7470,7 +7470,8 @@ const translations = { markedReimbursed: (amount: string, currency: string) => `paid ${currency}${amount} elsewhere`, markedReimbursedFromIntegration: ({amount, currency}: MarkReimbursedFromIntegrationParams) => `paid ${currency}${amount} via integration`, outdatedBankAccount: `couldn’t process the payment due to a problem with the payer’s bank account`, - reimbursementACHBounce: `couldn't process the payment due to a bank account issue`, + reimbursementACHBounceDefault: `couldn't process the payment due to an incorrect routing/account number or closed account`, + reimbursementACHBounceWithReason: ({returnReason}: {returnReason: string}) => `couldn't process the payment: ${returnReason}`, reimbursementACHCancelled: `canceled the payment`, reimbursementAccountChanged: `couldn’t process the payment, as the payer changed bank accounts`, reimbursementDelayed: `processed the payment but it’s delayed by 1-2 more business days`, diff --git a/src/languages/es.ts b/src/languages/es.ts index d26d0d1e8430..00523f8d99e9 100644 --- a/src/languages/es.ts +++ b/src/languages/es.ts @@ -7326,7 +7326,8 @@ ${amount} para ${merchant} - ${date}`, markedReimbursed: (amount, currency) => `pagó ${currency}${amount} en otro lugar`, markedReimbursedFromIntegration: ({amount, currency}) => `pagó ${currency}${amount} mediante integración`, outdatedBankAccount: `no se pudo procesar el pago debido a un problema con la cuenta bancaria del pagador`, - reimbursementACHBounce: `no se pudo procesar el pago debido a un problema con la cuenta bancaria`, + reimbursementACHBounceDefault: `couldn't process the payment due to an incorrect routing/account number or closed account`, + reimbursementACHBounceWithReason: ({returnReason}) => `couldn't process the payment: ${returnReason}`, reimbursementACHCancelled: `canceled the payment`, reimbursementAccountChanged: `no se pudo procesar el pago porque el pagador cambió de cuenta bancaria`, reimbursementDelayed: `procesó el pago pero se retrasó entre 1 y 2 días hábiles más`, diff --git a/src/languages/fr.ts b/src/languages/fr.ts index 9b248866e351..06571d96bf74 100644 --- a/src/languages/fr.ts +++ b/src/languages/fr.ts @@ -7530,7 +7530,8 @@ Rendez obligatoires des informations de dépense comme les reçus et les descrip markedReimbursed: (amount: string, currency: string) => `payé ${amount} ${currency} ailleurs`, markedReimbursedFromIntegration: ({amount, currency}: MarkReimbursedFromIntegrationParams) => `a payé ${currency}${amount} via intégration`, outdatedBankAccount: `n’a pas pu traiter le paiement en raison d’un problème avec le compte bancaire du payeur`, - reimbursementACHBounce: `impossible de traiter le paiement en raison d’un problème de compte bancaire`, + reimbursementACHBounceDefault: `couldn't process the payment due to an incorrect routing/account number or closed account`, + reimbursementACHBounceWithReason: ({returnReason}) => `couldn't process the payment: ${returnReason}`, reimbursementACHCancelled: `a annulé le paiement`, reimbursementAccountChanged: `impossible de traiter le paiement, car le payeur a changé de compte bancaire`, reimbursementDelayed: `a traité le paiement, mais il est retardé de 1 à 2 jours ouvrables supplémentaires`, diff --git a/src/languages/it.ts b/src/languages/it.ts index a77e83e903bb..e2aa56bb53cc 100644 --- a/src/languages/it.ts +++ b/src/languages/it.ts @@ -7494,7 +7494,8 @@ Richiedi dettagli sulle spese come ricevute e descrizioni, imposta limiti e valo markedReimbursed: (amount: string, currency: string) => `pagato ${currency}${amount} altrove`, markedReimbursedFromIntegration: ({amount, currency}: MarkReimbursedFromIntegrationParams) => `pagato ${currency}${amount} tramite integrazione`, outdatedBankAccount: `impossibile elaborare il pagamento a causa di un problema con il conto bancario del pagatore`, - reimbursementACHBounce: `impossibile elaborare il pagamento a causa di un problema con il conto bancario`, + reimbursementACHBounceDefault: `couldn't process the payment due to an incorrect routing/account number or closed account`, + reimbursementACHBounceWithReason: ({returnReason}) => `couldn't process the payment: ${returnReason}`, reimbursementACHCancelled: `ha annullato il pagamento`, reimbursementAccountChanged: `impossibile elaborare il pagamento, poiché il pagatore ha cambiato conto bancario`, reimbursementDelayed: `ha elaborato il pagamento ma è in ritardo di 1-2 giorni lavorativi in più`, diff --git a/src/languages/ja.ts b/src/languages/ja.ts index 09224d810b06..9cae9ed02f88 100644 --- a/src/languages/ja.ts +++ b/src/languages/ja.ts @@ -7409,7 +7409,8 @@ ${reportName} markedReimbursed: (amount: string, currency: string) => `他の場所で${currency}${amount}を支払いました`, markedReimbursedFromIntegration: ({amount, currency}: MarkReimbursedFromIntegrationParams) => `連携経由で${currency}${amount}を支払いました`, outdatedBankAccount: `支払元の銀行口座に問題があるため、支払いを処理できませんでした`, - reimbursementACHBounce: `銀行口座の問題により支払いを処理できませんでした`, + reimbursementACHBounceDefault: `couldn't process the payment due to an incorrect routing/account number or closed account`, + reimbursementACHBounceWithReason: ({returnReason}) => `couldn't process the payment: ${returnReason}`, reimbursementACHCancelled: `支払いをキャンセルしました`, reimbursementAccountChanged: `支払元が銀行口座を変更したため、支払いを処理できませんでした`, reimbursementDelayed: `支払いは処理されましたが、あと1~2営業日遅れています`, diff --git a/src/languages/nl.ts b/src/languages/nl.ts index b8ee93608bca..bf3f53946cf7 100644 --- a/src/languages/nl.ts +++ b/src/languages/nl.ts @@ -7473,7 +7473,8 @@ Vereis onkostendetails zoals bonnen en beschrijvingen, stel limieten en standaar markedReimbursed: (amount: string, currency: string) => `elders ${currency}${amount} betaald`, markedReimbursedFromIntegration: ({amount, currency}: MarkReimbursedFromIntegrationParams) => `heeft ${currency}${amount} betaald via integratie`, outdatedBankAccount: `kon de betaling niet verwerken vanwege een probleem met de bankrekening van de betaler`, - reimbursementACHBounce: `kon de betaling niet verwerken vanwege een probleem met de bankrekening`, + reimbursementACHBounceDefault: `couldn't process the payment due to an incorrect routing/account number or closed account`, + reimbursementACHBounceWithReason: ({returnReason}) => `couldn't process the payment: ${returnReason}`, reimbursementACHCancelled: `heeft de betaling geannuleerd`, reimbursementAccountChanged: `kon de betaling niet verwerken omdat de betaler van bankrekening is veranderd`, reimbursementDelayed: `heeft de betaling verwerkt, maar deze is nog 1-2 extra werkdagen vertraagd`, diff --git a/src/languages/pl.ts b/src/languages/pl.ts index 54abca7d4581..9475d4c3a7f1 100644 --- a/src/languages/pl.ts +++ b/src/languages/pl.ts @@ -7461,7 +7461,8 @@ Wymagaj szczegółów wydatków, takich jak paragony i opisy, ustawiaj limity i markedReimbursed: (amount: string, currency: string) => `zapłacono ${currency}${amount} gdzie indziej`, markedReimbursedFromIntegration: ({amount, currency}: MarkReimbursedFromIntegrationParams) => `zapłacono ${currency}${amount} przez integrację`, outdatedBankAccount: `nie można było przetworzyć płatności z powodu problemu z kontem bankowym płatnika`, - reimbursementACHBounce: `nie udało się przetworzyć płatności z powodu problemu z kontem bankowym`, + reimbursementACHBounceDefault: `couldn't process the payment due to an incorrect routing/account number or closed account`, + reimbursementACHBounceWithReason: ({returnReason}) => `couldn't process the payment: ${returnReason}`, reimbursementACHCancelled: `anulowano płatność`, reimbursementAccountChanged: `nie można było przetworzyć płatności, ponieważ płatnik zmienił konto bankowe`, reimbursementDelayed: `przetworzono płatność, ale jest opóźniona o kolejne 1–2 dni robocze`, diff --git a/src/languages/pt-BR.ts b/src/languages/pt-BR.ts index 59eb24953a6b..7cb9d3c8d8ea 100644 --- a/src/languages/pt-BR.ts +++ b/src/languages/pt-BR.ts @@ -7465,7 +7465,8 @@ Exija dados de despesas como recibos e descrições, defina limites e padrões e markedReimbursed: (amount: string, currency: string) => `pagou ${currency}${amount} em outro lugar`, markedReimbursedFromIntegration: ({amount, currency}: MarkReimbursedFromIntegrationParams) => `pagou ${currency}${amount} via integração`, outdatedBankAccount: `não foi possível processar o pagamento devido a um problema com a conta bancária do pagador`, - reimbursementACHBounce: `não foi possível processar o pagamento devido a um problema com a conta bancária`, + reimbursementACHBounceDefault: `couldn't process the payment due to an incorrect routing/account number or closed account`, + reimbursementACHBounceWithReason: ({returnReason}) => `couldn't process the payment: ${returnReason}`, reimbursementACHCancelled: `cancelou o pagamento`, reimbursementAccountChanged: `não foi possível processar o pagamento, pois o pagador alterou a conta bancária`, reimbursementDelayed: `processou o pagamento, mas ele será atrasado em mais 1–2 dias úteis`, diff --git a/src/languages/zh-hans.ts b/src/languages/zh-hans.ts index a649ebd6c71b..b1d9b09a6370 100644 --- a/src/languages/zh-hans.ts +++ b/src/languages/zh-hans.ts @@ -7291,7 +7291,8 @@ ${reportName} markedReimbursed: (amount: string, currency: string) => `在其他地方已支付${currency}${amount}`, markedReimbursedFromIntegration: ({amount, currency}: MarkReimbursedFromIntegrationParams) => `通过集成支付了 ${currency}${amount}`, outdatedBankAccount: `由于付款方的银行账户出现问题,无法处理该付款`, - reimbursementACHBounce: `由于银行账户问题,无法处理付款`, + reimbursementACHBounceDefault: `couldn't process the payment due to an incorrect routing/account number or closed account`, + reimbursementACHBounceWithReason: ({returnReason}) => `couldn't process the payment: ${returnReason}`, reimbursementACHCancelled: `已取消付款`, reimbursementAccountChanged: `由于付款人更换了银行账户,无法处理该付款`, reimbursementDelayed: `已处理付款,但将再延迟 1–2 个工作日`, diff --git a/src/libs/ReportActionsUtils.ts b/src/libs/ReportActionsUtils.ts index c1c417e730d5..350fc18c6d5c 100644 --- a/src/libs/ReportActionsUtils.ts +++ b/src/libs/ReportActionsUtils.ts @@ -2101,7 +2101,9 @@ function getMessageOfOldDotReportAction(translate: LocalizedTranslate, oldDotAct case CONST.REPORT.ACTIONS.TYPE.OUTDATED_BANK_ACCOUNT: return translate('report.actions.type.outdatedBankAccount'); case CONST.REPORT.ACTIONS.TYPE.REIMBURSEMENT_ACH_BOUNCE: - return translate('report.actions.type.reimbursementACHBounce'); + return originalMessage?.returnReason + ? translate('report.actions.type.reimbursementACHBounceWithReason', {returnReason: originalMessage.returnReason}) + : translate('report.actions.type.reimbursementACHBounceDefault'); case CONST.REPORT.ACTIONS.TYPE.REIMBURSEMENT_ACH_CANCELED: return translate('report.actions.type.reimbursementACHCancelled'); case CONST.REPORT.ACTIONS.TYPE.REIMBURSEMENT_ACCOUNT_CHANGED: diff --git a/src/types/onyx/OldDotAction.ts b/src/types/onyx/OldDotAction.ts index 38245fb62fd8..c0288326b9fb 100644 --- a/src/types/onyx/OldDotAction.ts +++ b/src/types/onyx/OldDotAction.ts @@ -149,7 +149,7 @@ type OriginalMessageReimbursementACHBounce = { /** * */ - originalMessage: Record; + originalMessage: Record & {returnReason?: string}; }; /** From adc95a67cc30fc7c653069d268873408dbd322f1 Mon Sep 17 00:00:00 2001 From: Faizan Shoukat Abbasi Date: Wed, 11 Mar 2026 23:12:01 +0500 Subject: [PATCH 2/5] Fixed eslint issus --- src/types/onyx/OldDotAction.ts | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/types/onyx/OldDotAction.ts b/src/types/onyx/OldDotAction.ts index c0288326b9fb..556f3a4d665e 100644 --- a/src/types/onyx/OldDotAction.ts +++ b/src/types/onyx/OldDotAction.ts @@ -138,6 +138,16 @@ type OriginalMessageOutdatedBankAccount = { originalMessage: Record; }; +/** + * + */ +type ReimbursementACHBounceOriginalMessage = { + /** + * + */ + returnReason?: string; +}; + /** * */ @@ -149,7 +159,7 @@ type OriginalMessageReimbursementACHBounce = { /** * */ - originalMessage: Record & {returnReason?: string}; + originalMessage: Record & ReimbursementACHBounceOriginalMessage; }; /** From 65ecdbc8ddd580da97682b878ce9afb7365e7bf7 Mon Sep 17 00:00:00 2001 From: Faizan Shoukat Abbasi Date: Fri, 13 Mar 2026 03:38:51 +0500 Subject: [PATCH 3/5] Updated translations --- src/languages/de.ts | 4 ++-- src/languages/es.ts | 4 ++-- src/languages/fr.ts | 4 ++-- src/languages/it.ts | 4 ++-- src/languages/ja.ts | 4 ++-- src/languages/nl.ts | 4 ++-- src/languages/pl.ts | 4 ++-- src/languages/pt-BR.ts | 4 ++-- src/languages/zh-hans.ts | 4 ++-- 9 files changed, 18 insertions(+), 18 deletions(-) diff --git a/src/languages/de.ts b/src/languages/de.ts index 7d7f483a4485..91863f0f3afe 100644 --- a/src/languages/de.ts +++ b/src/languages/de.ts @@ -7508,8 +7508,8 @@ Fordern Sie Spesendetails wie Belege und Beschreibungen an, legen Sie Limits und markedReimbursed: (amount: string, currency: string) => `hat ${currency}${amount} anderweitig bezahlt`, markedReimbursedFromIntegration: ({amount, currency}: MarkReimbursedFromIntegrationParams) => `${currency}${amount} über Integration bezahlt`, outdatedBankAccount: `Konnte die Zahlung aufgrund eines Problems mit dem Bankkonto des Zahlenden nicht verarbeiten`, - reimbursementACHBounceDefault: `couldn't process the payment due to an incorrect routing/account number or closed account`, - reimbursementACHBounceWithReason: ({returnReason}) => `couldn't process the payment: ${returnReason}`, + reimbursementACHBounceDefault: `Zahlung konnte wegen einer falschen Bankleitzahl/Kontonummer oder eines geschlossenen Kontos nicht verarbeitet werden`, + reimbursementACHBounceWithReason: ({returnReason}: {returnReason: string}) => `Die Zahlung konnte nicht verarbeitet werden: ${returnReason}`, reimbursementACHCancelled: `hat die Zahlung storniert`, reimbursementAccountChanged: `Die Zahlung konnte nicht verarbeitet werden, da der Zahlungspflichtige das Bankkonto gewechselt hat`, reimbursementDelayed: `hat die Zahlung verarbeitet, aber sie verzögert sich um weitere 1–2 Werktage`, diff --git a/src/languages/es.ts b/src/languages/es.ts index 00523f8d99e9..f3a0d85b11ad 100644 --- a/src/languages/es.ts +++ b/src/languages/es.ts @@ -7326,8 +7326,8 @@ ${amount} para ${merchant} - ${date}`, markedReimbursed: (amount, currency) => `pagó ${currency}${amount} en otro lugar`, markedReimbursedFromIntegration: ({amount, currency}) => `pagó ${currency}${amount} mediante integración`, outdatedBankAccount: `no se pudo procesar el pago debido a un problema con la cuenta bancaria del pagador`, - reimbursementACHBounceDefault: `couldn't process the payment due to an incorrect routing/account number or closed account`, - reimbursementACHBounceWithReason: ({returnReason}) => `couldn't process the payment: ${returnReason}`, + reimbursementACHBounceDefault: `no se pudo procesar el pago debido a un número de ruta/cuenta incorrecto o una cuenta cerrada`, + reimbursementACHBounceWithReason: ({returnReason}: {returnReason: string}) => `no se pudo procesar el pago: ${returnReason}`, reimbursementACHCancelled: `canceled the payment`, reimbursementAccountChanged: `no se pudo procesar el pago porque el pagador cambió de cuenta bancaria`, reimbursementDelayed: `procesó el pago pero se retrasó entre 1 y 2 días hábiles más`, diff --git a/src/languages/fr.ts b/src/languages/fr.ts index 06571d96bf74..6880044fc14f 100644 --- a/src/languages/fr.ts +++ b/src/languages/fr.ts @@ -7530,8 +7530,8 @@ Rendez obligatoires des informations de dépense comme les reçus et les descrip markedReimbursed: (amount: string, currency: string) => `payé ${amount} ${currency} ailleurs`, markedReimbursedFromIntegration: ({amount, currency}: MarkReimbursedFromIntegrationParams) => `a payé ${currency}${amount} via intégration`, outdatedBankAccount: `n’a pas pu traiter le paiement en raison d’un problème avec le compte bancaire du payeur`, - reimbursementACHBounceDefault: `couldn't process the payment due to an incorrect routing/account number or closed account`, - reimbursementACHBounceWithReason: ({returnReason}) => `couldn't process the payment: ${returnReason}`, + reimbursementACHBounceDefault: `impossible de traiter le paiement en raison d’un numéro de routage/de compte incorrect ou d’un compte clôturé`, + reimbursementACHBounceWithReason: ({returnReason}: {returnReason: string}) => `impossible de traiter le paiement : ${returnReason}`, reimbursementACHCancelled: `a annulé le paiement`, reimbursementAccountChanged: `impossible de traiter le paiement, car le payeur a changé de compte bancaire`, reimbursementDelayed: `a traité le paiement, mais il est retardé de 1 à 2 jours ouvrables supplémentaires`, diff --git a/src/languages/it.ts b/src/languages/it.ts index e2aa56bb53cc..ddecad913a7c 100644 --- a/src/languages/it.ts +++ b/src/languages/it.ts @@ -7494,8 +7494,8 @@ Richiedi dettagli sulle spese come ricevute e descrizioni, imposta limiti e valo markedReimbursed: (amount: string, currency: string) => `pagato ${currency}${amount} altrove`, markedReimbursedFromIntegration: ({amount, currency}: MarkReimbursedFromIntegrationParams) => `pagato ${currency}${amount} tramite integrazione`, outdatedBankAccount: `impossibile elaborare il pagamento a causa di un problema con il conto bancario del pagatore`, - reimbursementACHBounceDefault: `couldn't process the payment due to an incorrect routing/account number or closed account`, - reimbursementACHBounceWithReason: ({returnReason}) => `couldn't process the payment: ${returnReason}`, + reimbursementACHBounceDefault: `impossibile elaborare il pagamento a causa di un numero di instradamento/conto errato o di un conto chiuso`, + reimbursementACHBounceWithReason: ({returnReason}: {returnReason: string}) => `impossibile elaborare il pagamento: ${returnReason}`, reimbursementACHCancelled: `ha annullato il pagamento`, reimbursementAccountChanged: `impossibile elaborare il pagamento, poiché il pagatore ha cambiato conto bancario`, reimbursementDelayed: `ha elaborato il pagamento ma è in ritardo di 1-2 giorni lavorativi in più`, diff --git a/src/languages/ja.ts b/src/languages/ja.ts index 9cae9ed02f88..3cc7330604af 100644 --- a/src/languages/ja.ts +++ b/src/languages/ja.ts @@ -7409,8 +7409,8 @@ ${reportName} markedReimbursed: (amount: string, currency: string) => `他の場所で${currency}${amount}を支払いました`, markedReimbursedFromIntegration: ({amount, currency}: MarkReimbursedFromIntegrationParams) => `連携経由で${currency}${amount}を支払いました`, outdatedBankAccount: `支払元の銀行口座に問題があるため、支払いを処理できませんでした`, - reimbursementACHBounceDefault: `couldn't process the payment due to an incorrect routing/account number or closed account`, - reimbursementACHBounceWithReason: ({returnReason}) => `couldn't process the payment: ${returnReason}`, + reimbursementACHBounceDefault: `ルーティング番号または口座番号の誤り、もしくは口座が閉鎖されているため、支払いを処理できませんでした`, + reimbursementACHBounceWithReason: ({returnReason}: {returnReason: string}) => `支払いを処理できませんでした:${returnReason}`, reimbursementACHCancelled: `支払いをキャンセルしました`, reimbursementAccountChanged: `支払元が銀行口座を変更したため、支払いを処理できませんでした`, reimbursementDelayed: `支払いは処理されましたが、あと1~2営業日遅れています`, diff --git a/src/languages/nl.ts b/src/languages/nl.ts index bf3f53946cf7..b9dc3a309287 100644 --- a/src/languages/nl.ts +++ b/src/languages/nl.ts @@ -7473,8 +7473,8 @@ Vereis onkostendetails zoals bonnen en beschrijvingen, stel limieten en standaar markedReimbursed: (amount: string, currency: string) => `elders ${currency}${amount} betaald`, markedReimbursedFromIntegration: ({amount, currency}: MarkReimbursedFromIntegrationParams) => `heeft ${currency}${amount} betaald via integratie`, outdatedBankAccount: `kon de betaling niet verwerken vanwege een probleem met de bankrekening van de betaler`, - reimbursementACHBounceDefault: `couldn't process the payment due to an incorrect routing/account number or closed account`, - reimbursementACHBounceWithReason: ({returnReason}) => `couldn't process the payment: ${returnReason}`, + reimbursementACHBounceDefault: `kon de betaling niet verwerken vanwege een verkeerd bank-/rekeningnummer of een gesloten rekening`, + reimbursementACHBounceWithReason: ({returnReason}: {returnReason: string}) => `kon de betaling niet verwerken: ${returnReason}`, reimbursementACHCancelled: `heeft de betaling geannuleerd`, reimbursementAccountChanged: `kon de betaling niet verwerken omdat de betaler van bankrekening is veranderd`, reimbursementDelayed: `heeft de betaling verwerkt, maar deze is nog 1-2 extra werkdagen vertraagd`, diff --git a/src/languages/pl.ts b/src/languages/pl.ts index 9475d4c3a7f1..808095b78bd2 100644 --- a/src/languages/pl.ts +++ b/src/languages/pl.ts @@ -7461,8 +7461,8 @@ Wymagaj szczegółów wydatków, takich jak paragony i opisy, ustawiaj limity i markedReimbursed: (amount: string, currency: string) => `zapłacono ${currency}${amount} gdzie indziej`, markedReimbursedFromIntegration: ({amount, currency}: MarkReimbursedFromIntegrationParams) => `zapłacono ${currency}${amount} przez integrację`, outdatedBankAccount: `nie można było przetworzyć płatności z powodu problemu z kontem bankowym płatnika`, - reimbursementACHBounceDefault: `couldn't process the payment due to an incorrect routing/account number or closed account`, - reimbursementACHBounceWithReason: ({returnReason}) => `couldn't process the payment: ${returnReason}`, + reimbursementACHBounceDefault: `nie udało się przetworzyć płatności z powodu nieprawidłowego numeru rozliczeniowego/konta lub zamkniętego konta`, + reimbursementACHBounceWithReason: ({returnReason}: {returnReason: string}) => `nie udało się przetworzyć płatności: ${returnReason}`, reimbursementACHCancelled: `anulowano płatność`, reimbursementAccountChanged: `nie można było przetworzyć płatności, ponieważ płatnik zmienił konto bankowe`, reimbursementDelayed: `przetworzono płatność, ale jest opóźniona o kolejne 1–2 dni robocze`, diff --git a/src/languages/pt-BR.ts b/src/languages/pt-BR.ts index 7cb9d3c8d8ea..bdb8fe091688 100644 --- a/src/languages/pt-BR.ts +++ b/src/languages/pt-BR.ts @@ -7465,8 +7465,8 @@ Exija dados de despesas como recibos e descrições, defina limites e padrões e markedReimbursed: (amount: string, currency: string) => `pagou ${currency}${amount} em outro lugar`, markedReimbursedFromIntegration: ({amount, currency}: MarkReimbursedFromIntegrationParams) => `pagou ${currency}${amount} via integração`, outdatedBankAccount: `não foi possível processar o pagamento devido a um problema com a conta bancária do pagador`, - reimbursementACHBounceDefault: `couldn't process the payment due to an incorrect routing/account number or closed account`, - reimbursementACHBounceWithReason: ({returnReason}) => `couldn't process the payment: ${returnReason}`, + reimbursementACHBounceDefault: `não foi possível processar o pagamento devido a um número de roteamento/conta incorreto ou conta encerrada`, + reimbursementACHBounceWithReason: ({returnReason}: {returnReason: string}) => `não foi possível processar o pagamento: ${returnReason}`, reimbursementACHCancelled: `cancelou o pagamento`, reimbursementAccountChanged: `não foi possível processar o pagamento, pois o pagador alterou a conta bancária`, reimbursementDelayed: `processou o pagamento, mas ele será atrasado em mais 1–2 dias úteis`, diff --git a/src/languages/zh-hans.ts b/src/languages/zh-hans.ts index b1d9b09a6370..edb939c5f9ab 100644 --- a/src/languages/zh-hans.ts +++ b/src/languages/zh-hans.ts @@ -7291,8 +7291,8 @@ ${reportName} markedReimbursed: (amount: string, currency: string) => `在其他地方已支付${currency}${amount}`, markedReimbursedFromIntegration: ({amount, currency}: MarkReimbursedFromIntegrationParams) => `通过集成支付了 ${currency}${amount}`, outdatedBankAccount: `由于付款方的银行账户出现问题,无法处理该付款`, - reimbursementACHBounceDefault: `couldn't process the payment due to an incorrect routing/account number or closed account`, - reimbursementACHBounceWithReason: ({returnReason}) => `couldn't process the payment: ${returnReason}`, + reimbursementACHBounceDefault: `由于路由号/账户号不正确或账户已关闭,无法处理付款`, + reimbursementACHBounceWithReason: ({returnReason}: {returnReason: string}) => `无法处理付款:${returnReason}`, reimbursementACHCancelled: `已取消付款`, reimbursementAccountChanged: `由于付款人更换了银行账户,无法处理该付款`, reimbursementDelayed: `已处理付款,但将再延迟 1–2 个工作日`, From 7ff635ef8552088db2e075e01e975db75223680e Mon Sep 17 00:00:00 2001 From: Faizan Shoukat Abbasi Date: Wed, 18 Mar 2026 02:13:31 +0500 Subject: [PATCH 4/5] Added test cases --- tests/unit/ReportActionsUtilsTest.ts | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/tests/unit/ReportActionsUtilsTest.ts b/tests/unit/ReportActionsUtilsTest.ts index 93b43bbb7b6d..120a72e0582a 100644 --- a/tests/unit/ReportActionsUtilsTest.ts +++ b/tests/unit/ReportActionsUtilsTest.ts @@ -1264,6 +1264,31 @@ describe('ReportActionsUtils', () => { }); }); + describe('getMessageOfOldDotReportAction', () => { + it('should return the ACH bounce message with return reason when provided', () => { + const returnReason = 'R03 - No Account/Unable to Locate Account'; + const action = { + actionName: CONST.REPORT.ACTIONS.TYPE.REIMBURSEMENT_ACH_BOUNCE, + originalMessage: {returnReason}, + }; + + const message = ReportActionsUtils.getMessageOfOldDotReportAction(translateLocal, action); + + expect(message).toBe(translateLocal('report.actions.type.reimbursementACHBounceWithReason', {returnReason})); + }); + + it('should return the default ACH bounce message when return reason is missing', () => { + const action = { + actionName: CONST.REPORT.ACTIONS.TYPE.REIMBURSEMENT_ACH_BOUNCE, + originalMessage: {}, + }; + + const message = ReportActionsUtils.getMessageOfOldDotReportAction(translateLocal, action); + + expect(message).toBe(translateLocal('report.actions.type.reimbursementACHBounceDefault')); + }); + }); + describe('getSendMoneyFlowAction', () => { const mockChatReportID = `${ONYXKEYS.COLLECTION.REPORT}REPORT` as const; const mockDMChatReportID = `${ONYXKEYS.COLLECTION.REPORT}REPORT_DM` as const; From 06dc3d75d0af66ef47b4c4825d07088ef7889eac Mon Sep 17 00:00:00 2001 From: Faizan Shoukat Abbasi Date: Wed, 18 Mar 2026 02:22:19 +0500 Subject: [PATCH 5/5] Fixed typescript issues --- tests/unit/ReportActionsUtilsTest.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/tests/unit/ReportActionsUtilsTest.ts b/tests/unit/ReportActionsUtilsTest.ts index 120a72e0582a..6b0d0167bd8b 100644 --- a/tests/unit/ReportActionsUtilsTest.ts +++ b/tests/unit/ReportActionsUtilsTest.ts @@ -1267,7 +1267,9 @@ describe('ReportActionsUtils', () => { describe('getMessageOfOldDotReportAction', () => { it('should return the ACH bounce message with return reason when provided', () => { const returnReason = 'R03 - No Account/Unable to Locate Account'; - const action = { + const action: Parameters[1] = { + reportActionID: '1', + created: '2024-01-01 00:00:00.000', actionName: CONST.REPORT.ACTIONS.TYPE.REIMBURSEMENT_ACH_BOUNCE, originalMessage: {returnReason}, }; @@ -1278,7 +1280,9 @@ describe('ReportActionsUtils', () => { }); it('should return the default ACH bounce message when return reason is missing', () => { - const action = { + const action: Parameters[1] = { + reportActionID: '1', + created: '2024-01-01 00:00:00.000', actionName: CONST.REPORT.ACTIONS.TYPE.REIMBURSEMENT_ACH_BOUNCE, originalMessage: {}, };