Add NetSuite Travel invoice reconciliation setting#90239
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.
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 397006f300
ℹ️ 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".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
This comment has been minimized.
This comment has been minimized.
| /* eslint-disable @typescript-eslint/no-unused-vars */ | ||
| message: { | ||
| [CONST.NEXT_STEP.MESSAGE_KEY.WAITING_TO_ADD_TRANSACTIONS]: (actor, actorType, _eta, _etaType) => { | ||
| // eslint-disable-next-line default-case |
There was a problem hiding this comment.
We want to keep these eslint's i think, the translation parrot is suggesting we get rid of them but I think we want to keep them?
There was a problem hiding this comment.
we don't need them anymore, as the es.ts file is now ignored by lint https://expensify.slack.com/archives/C21FRDWCV/p1778776467857579?thread_ts=1778753195.475319&cid=C21FRDWCV
allgandalf
left a comment
There was a problem hiding this comment.
Great work here 🚀 .
Apart from @blimpich review above, the PR LGTM!
🦜 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 43e67c62..85c14c74 100644
--- a/src/languages/de.ts
+++ b/src/languages/de.ts
@@ -6384,11 +6384,11 @@ _Für ausführlichere Anweisungen [besuchen Sie unsere Hilfeseite](${CONST.NETSU
chooseBankAccount: 'Wählen Sie das Bankkonto aus, mit dem Ihre Zahlungen mit der Expensify Karte abgeglichen werden.',
settlementAccountReconciliation: (settlementAccountUrl: string, lastFourPAN: string) =>
`Stellen Sie sicher, dass dieses Konto mit Ihrem <a href="${settlementAccountUrl}">Expensify Karte-Abrechnungskonto</a> (endend auf ${lastFourPAN}) übereinstimmt, damit die fortlaufende Abstimmung richtig funktioniert.`,
- chooseTravelInvoicingBankAccount: 'Wählen Sie das Bankkonto aus, mit dem Ihre Zahlungen aus der Reiseabrechnung abgeglichen werden.',
+ chooseTravelInvoicingBankAccount: 'Wählen Sie das Bankkonto, mit dem Ihre Zahlungen für Reiseabrechnungen abgeglichen werden sollen.',
travelInvoicingSettlementAccountReconciliation: (lastFourPAN: string) =>
- `Stellen Sie sicher, dass dieses Konto mit Ihrem Abrechnungskonto für Reiseabrechnungen (endet auf ${lastFourPAN}) übereinstimmt, damit die kontinuierliche Abstimmung ordnungsgemäß funktioniert.`,
+ `Stellen Sie sicher, dass dieses Konto mit Ihrem Abrechnungskonto für Reisebuchungen (endet auf ${lastFourPAN}) übereinstimmt, damit die kontinuierliche Abstimmung ordnungsgemäß funktioniert.`,
},
- syncTravelInvoicingSettlements: 'Reiseabrechnungsabgleiche synchronisieren',
+ syncTravelInvoicingSettlements: 'Abrechnungen für Reisebuchungen synchronisieren',
},
export: {
notReadyHeading: 'Nicht bereit zum Export',
diff --git a/src/languages/es.ts b/src/languages/es.ts
index 7734add9..bdd9f26e 100644
--- a/src/languages/es.ts
+++ b/src/languages/es.ts
@@ -6167,9 +6167,9 @@ ${amount} para ${merchant} - ${date}`,
chooseBankAccount: 'Elige la cuenta bancaria con la que se conciliarán los pagos de tu Tarjeta Expensify.',
settlementAccountReconciliation: (settlementAccountUrl, lastFourPAN) =>
`Asegúrate de que esta cuenta coincide con <a href="${settlementAccountUrl}">la cuenta de liquidación de tu Tarjeta Expensify</a> (que termina en ${lastFourPAN}) para que la conciliación continua funcione correctamente.`,
- chooseTravelInvoicingBankAccount: 'Elige la cuenta bancaria con la que se reconciliarán los pagos de tus facturas de viaje.',
+ chooseTravelInvoicingBankAccount: 'Elige la cuenta bancaria con la que se conciliarán los pagos de tus facturas de viaje.',
travelInvoicingSettlementAccountReconciliation: (lastFourPAN: string) =>
- `Asegúrate de que esta cuenta coincida con tu cuenta de liquidación de facturas de viaje (que termina en ${lastFourPAN}) para que la conciliación continua funcione correctamente.`,
+ `Asegúrate de que esta cuenta coincida con tu cuenta de liquidación de facturación de viajes (que termina en ${lastFourPAN}) para que la Conciliación Continua funcione correctamente.`,
},
syncTravelInvoicingSettlements: 'Sincronizar liquidaciones de facturación de viajes',
},
diff --git a/src/languages/fr.ts b/src/languages/fr.ts
index f868e47d..fca9f596 100644
--- a/src/languages/fr.ts
+++ b/src/languages/fr.ts
@@ -6406,7 +6406,7 @@ _Pour des instructions plus détaillées, [visitez notre site d’aide](${CONST.
chooseBankAccount: 'Choisissez le compte bancaire avec lequel les paiements de votre Carte Expensify seront rapprochés.',
settlementAccountReconciliation: (settlementAccountUrl: string, lastFourPAN: string) =>
`Assurez-vous que ce compte correspond à votre <a href="${settlementAccountUrl}">compte de règlement Carte Expensify</a> (se terminant par ${lastFourPAN}) afin que la réconciliation continue fonctionne correctement.`,
- chooseTravelInvoicingBankAccount: 'Choisissez le compte bancaire sur lequel les paiements de facturation de voyage seront rapprochés.',
+ chooseTravelInvoicingBankAccount: 'Choisissez le compte bancaire sur lequel les paiements de vos factures de voyage seront rapprochés.',
travelInvoicingSettlementAccountReconciliation: (lastFourPAN: string) =>
`Assurez-vous que ce compte correspond à votre compte de règlement de facturation de voyage (se terminant par ${lastFourPAN}) afin que le rapprochement continu fonctionne correctement.`,
},
diff --git a/src/languages/it.ts b/src/languages/it.ts
index 7a964999..1301f294 100644
--- a/src/languages/it.ts
+++ b/src/languages/it.ts
@@ -6374,11 +6374,11 @@ _Per istruzioni più dettagliate, [visita il nostro sito di assistenza](${CONST.
chooseBankAccount: 'Scegli il conto bancario con cui verranno riconciliati i pagamenti della tua Carta Expensify.',
settlementAccountReconciliation: (settlementAccountUrl: string, lastFourPAN: string) =>
`Assicurati che questo conto corrisponda al tuo <a href="${settlementAccountUrl}">conto di regolamento della Carta Expensify</a> (con finale ${lastFourPAN}) affinché la Riconciliazione continua funzioni correttamente.`,
- chooseTravelInvoicingBankAccount: 'Scegli il conto bancario su cui verranno riconciliati i pagamenti della fatturazione di viaggio.',
+ chooseTravelInvoicingBankAccount: 'Scegli il conto bancario con cui verranno riconciliate le transazioni di fatturazione dei viaggi.',
travelInvoicingSettlementAccountReconciliation: (lastFourPAN: string) =>
- `Assicurati che questo conto corrisponda al tuo conto di regolamento per la fatturazione dei viaggi (che termina con ${lastFourPAN}) in modo che la Riconciliazione continua funzioni correttamente.`,
+ `Assicurati che questo conto corrisponda al conto di regolamento per la fatturazione dei viaggi (che termina con ${lastFourPAN}) così la Riconciliazione continua funzionerà correttamente.`,
},
- syncTravelInvoicingSettlements: 'Sincronizza le liquidazioni delle fatture di viaggio',
+ syncTravelInvoicingSettlements: 'Sincronizza le liquidazioni di fatturazione viaggi',
},
export: {
notReadyHeading: 'Non pronto per l’esportazione',
diff --git a/src/languages/ja.ts b/src/languages/ja.ts
index a3468e0f..159ddc61 100644
--- a/src/languages/ja.ts
+++ b/src/languages/ja.ts
@@ -6303,9 +6303,9 @@ _詳しい手順については、[ヘルプサイトをご覧ください](${CO
chooseBankAccount: 'Expensify カードの支払いを照合する銀行口座を選択してください。',
settlementAccountReconciliation: (settlementAccountUrl: string, lastFourPAN: string) =>
`継続消込が正しく機能するように、この口座が、末尾が ${lastFourPAN} の<a href="${settlementAccountUrl}">Expensify カード精算口座</a>と一致していることを確認してください。`,
- chooseTravelInvoicingBankAccount: '出張請求の支払いの消込に使用する銀行口座を選択してください。',
+ chooseTravelInvoicingBankAccount: '出張請求の支払いを照合する銀行口座を選択してください。',
travelInvoicingSettlementAccountReconciliation: (lastFourPAN: string) =>
- `Continuous Reconciliation が正しく機能するように、この口座が、旅行の請求書決済用口座(末尾が ${lastFourPAN} の口座)と一致していることを確認してください。`,
+ `Continuous Reconciliation が正しく機能するように、この口座が、旅行の請求書決済口座(末尾が ${lastFourPAN} の口座)と一致していることを確認してください。`,
},
syncTravelInvoicingSettlements: '出張請求の精算を同期',
},
diff --git a/src/languages/nl.ts b/src/languages/nl.ts
index 92104dc6..8bc7ee3a 100644
--- a/src/languages/nl.ts
+++ b/src/languages/nl.ts
@@ -6352,11 +6352,11 @@ _Voor meer gedetailleerde instructies, [bezoek onze help-site](${CONST.NETSUITE_
chooseBankAccount: 'Kies de bankrekening waarop de betalingen met je Expensify Kaart worden afgestemd.',
settlementAccountReconciliation: (settlementAccountUrl: string, lastFourPAN: string) =>
`Zorg ervoor dat deze rekening overeenkomt met je <a href="${settlementAccountUrl}">Expensify Kaart-afwikkelingsrekening</a> (eindigend op ${lastFourPAN}), zodat Continue Afstemming goed werkt.`,
- chooseTravelInvoicingBankAccount: 'Kies de bankrekening waarop de betalingen van je reiskostenfacturen worden afgeletterd.',
+ chooseTravelInvoicingBankAccount: 'Kies de bankrekening waarop je betalingen voor reisfacturering zullen worden afgeletterd.',
travelInvoicingSettlementAccountReconciliation: (lastFourPAN: string) =>
- `Zorg ervoor dat deze rekening overeenkomt met je afwikkelingsrekening voor reiskostenfacturatie (die eindigt op ${lastFourPAN}), zodat Continue Afstemming goed werkt.`,
+ `Zorg ervoor dat deze rekening overeenkomt met je afwikkelingsrekening voor reiskostenfacturatie (die eindigt op ${lastFourPAN}), zodat Continue Aflettering goed werkt.`,
},
- syncTravelInvoicingSettlements: 'Reisfactureringsafrekeningen synchroniseren',
+ syncTravelInvoicingSettlements: 'Reisfacturatie-afrekeningen synchroniseren',
},
export: {
notReadyHeading: 'Niet klaar om te exporteren',
diff --git a/src/languages/pl.ts b/src/languages/pl.ts
index 51df414c..8ba52d23 100644
--- a/src/languages/pl.ts
+++ b/src/languages/pl.ts
@@ -6345,11 +6345,11 @@ _Aby uzyskać bardziej szczegółowe instrukcje, [odwiedź naszą stronę pomocy
chooseBankAccount: 'Wybierz konto bankowe, do którego będą uzgadniane płatności kartą Karta Expensify.',
settlementAccountReconciliation: (settlementAccountUrl: string, lastFourPAN: string) =>
`Upewnij się, że to konto jest takie samo jak twoje <a href="${settlementAccountUrl}">konto rozliczeniowe Karty Expensify</a> (kończące się na ${lastFourPAN}), aby Ciągłe Uzgadnianie działało poprawnie.`,
- chooseTravelInvoicingBankAccount: 'Wybierz konto bankowe, z którym będą uzgadniane płatności za faktury podróżne.',
+ chooseTravelInvoicingBankAccount: 'Wybierz konto bankowe, z którym będą uzgadniane płatności za fakturowanie podróży.',
travelInvoicingSettlementAccountReconciliation: (lastFourPAN: string) =>
- `Upewnij się, że to konto jest takie samo jak konto rozliczeniowe do fakturowania podróży (kończące się na ${lastFourPAN}), żeby Ciągłe Uzgadnianie działało poprawnie.`,
+ `Upewnij się, że to konto jest takie samo jak konto rozliczeniowe do fakturowania podróży (kończące się na ${lastFourPAN}), żeby Ciągła Rekonsyliacja działała prawidłowo.`,
},
- syncTravelInvoicingSettlements: 'Synchronizuj rozliczenia faktur podróżnych',
+ syncTravelInvoicingSettlements: 'Synchronizuj rozliczenia fakturowania podróży',
},
export: {
notReadyHeading: 'Niegotowe do eksportu',
diff --git a/src/languages/pt-BR.ts b/src/languages/pt-BR.ts
index 53ff031e..6b5d7ef5 100644
--- a/src/languages/pt-BR.ts
+++ b/src/languages/pt-BR.ts
@@ -6353,9 +6353,9 @@ _Para instruções mais detalhadas, [visite nossa central de ajuda](${CONST.NETS
chooseBankAccount: 'Escolha a conta bancária na qual os pagamentos do seu Cartão Expensify serão conciliados.',
settlementAccountReconciliation: (settlementAccountUrl: string, lastFourPAN: string) =>
`Certifique-se de que esta conta corresponda à sua <a href="${settlementAccountUrl}">conta de liquidação do Cartão Expensify</a> (terminada em ${lastFourPAN}) para que a Reconciliação Contínua funcione corretamente.`,
- chooseTravelInvoicingBankAccount: 'Escolha a conta bancária na qual os pagamentos de faturamento de viagem serão conciliados.',
+ chooseTravelInvoicingBankAccount: 'Escolha a conta bancária na qual os pagamentos de faturamento de viagem serão reconciliados.',
travelInvoicingSettlementAccountReconciliation: (lastFourPAN: string) =>
- `Certifique-se de que esta conta corresponda à sua conta de liquidação de faturamento de viagem (terminada em ${lastFourPAN}) para que a Conciliação Contínua funcione corretamente.`,
+ `Certifique-se de que esta conta corresponda à sua conta de liquidação de faturas de viagem (terminada em ${lastFourPAN}) para que a Conciliação Contínua funcione corretamente.`,
},
syncTravelInvoicingSettlements: 'Sincronizar liquidações de faturamento de viagens',
},
diff --git a/src/languages/zh-hans.ts b/src/languages/zh-hans.ts
index 5d5f6455..3eac49e6 100644
--- a/src/languages/zh-hans.ts
+++ b/src/languages/zh-hans.ts
@@ -6198,10 +6198,10 @@ _如需更详细的说明,请[访问我们的帮助网站](${CONST.NETSUITE_IM
chooseBankAccount: '选择用于对账 Expensify 卡付款的银行账户。',
settlementAccountReconciliation: (settlementAccountUrl: string, lastFourPAN: string) =>
`请确保此账户与您的<a href="${settlementAccountUrl}">Expensify 卡结算账户</a>(末尾为 ${lastFourPAN})一致,以便持续对账功能正常运行。`,
- chooseTravelInvoicingBankAccount: '选择用于核对差旅开票付款的银行账户。',
- travelInvoicingSettlementAccountReconciliation: (lastFourPAN: string) => `请确保此账户与您的差旅发票结算账户(以 ${lastFourPAN} 结尾)一致,以确保持续对账功能正常运行。`,
+ chooseTravelInvoicingBankAccount: '选择用于核对应付差旅发票付款的银行账户。',
+ travelInvoicingSettlementAccountReconciliation: (lastFourPAN: string) => `请确保此账户与您的差旅开票结算账户一致(末尾为 ${lastFourPAN}),以便持续对账功能正常运行。`,
},
- syncTravelInvoicingSettlements: '同步差旅开票结算',
+ syncTravelInvoicingSettlements: '同步差旅发票结算',
},
export: {
notReadyHeading: '尚未准备好导出',
Note You can apply these changes to your branch by copying the patch to your clipboard, then running |
Reviewer Checklist
Screenshots/VideosAndroid: HybridAppAndroid: mWeb ChromeiOS: HybridAppiOS: mWeb SafariMacOS: Chrome / Safari |
|
🚧 @blimpich 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/blimpich in version: 9.3.76-0 🚀
|
|
Yes, a help site update is needed. PR #90239 adds a Sync travel invoicing settlements toggle and Reconciliation account selector to the NetSuite Advanced settings page, which is not covered in the current Configure NetSuite help article. I've created a draft PR with the update: #91045 The change adds a bullet point to the Advanced settings section documenting the new travel invoicing reconciliation setting and its reconciliation account selector. |
|
We are not able to test this PR because of the issue #91067 at step 1 |
|
🚀 Deployed to production by https://github.com/roryabraham in version: 9.3.77-3 🚀
|
Explanation of Change
Plumbing to add
Sync central invoicing settlementsto netsuite advanced settingsFixed Issues
$ https://github.com/Expensify/Expensify/issues/635126
PROPOSAL:
Tests
Offline tests
Verify you can perform the same actions while offline.
QA Steps
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectiontoggleReportand 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
Screen.Recording.2026-05-14.at.13.04.28.mov