From 5eec3073e26de71d72778360fe58a8d2bd67bd67 Mon Sep 17 00:00:00 2001 From: Chavda Sachin Date: Thu, 28 May 2026 19:12:46 +0530 Subject: [PATCH 1/2] add Certinia advanced settings page with dynamic routing --- src/ROUTES.ts | 4 + src/languages/de.ts | 2 + src/languages/en.ts | 2 + src/languages/es.ts | 2 + src/languages/fr.ts | 2 + src/languages/it.ts | 2 + src/languages/ja.ts | 2 + src/languages/nl.ts | 2 + src/languages/pl.ts | 2 + src/languages/pt-BR.ts | 2 + src/languages/zh-hans.ts | 2 + .../ModalStackNavigators/index.tsx | 1 + src/libs/Navigation/linkingConfig/config.ts | 2 +- .../accounting/PolicyAccountingPage.tsx | 2 +- .../advanced/CertiniaAdvancedPage.tsx | 73 +++++++++++++++++++ src/pages/workspace/accounting/utils.tsx | 2 + 16 files changed, 102 insertions(+), 2 deletions(-) create mode 100644 src/pages/workspace/accounting/certinia/advanced/CertiniaAdvancedPage.tsx diff --git a/src/ROUTES.ts b/src/ROUTES.ts index cf6f8f95f7a5..3c1bfc01ee6d 100644 --- a/src/ROUTES.ts +++ b/src/ROUTES.ts @@ -195,6 +195,10 @@ const DYNAMIC_ROUTES = { path: 'sage-intacct/prerequisites', entryScreens: [SCREENS.WORKSPACE.ACCOUNTING.ROOT, SCREENS.WORKSPACE.ACCOUNTING.EXISTING_SAGE_INTACCT_CONNECTIONS], }, + POLICY_ACCOUNTING_CERTINIA_ADVANCED: { + path: 'certinia/advanced', + entryScreens: [SCREENS.WORKSPACE.ACCOUNTING.ROOT], + }, POLICY_ACCOUNTING_NETSUITE_EXPORT_EXPENSES_VENDOR_SELECT: { path: 'vendor/select', entryScreens: [SCREENS.WORKSPACE.ACCOUNTING.DYNAMIC_NETSUITE_EXPORT_EXPENSES], diff --git a/src/languages/de.ts b/src/languages/de.ts index 4011d313d2af..7e70bae4845f 100644 --- a/src/languages/de.ts +++ b/src/languages/de.ts @@ -4861,6 +4861,8 @@ ${amount} für ${merchant} – ${date}`, }, certinia: { title: 'Certinia', + autoSyncDescription: 'Expensify will automatically sync with Certinia every day.', + syncReimbursedReportsDescription: 'With this option enabled, anytime a Payable Invoice is paid in FFA, the related Expensify report will be automatically marked as reimbursed.', prerequisites: { title: 'Bevor Sie die Verbindung herstellen', installBundle: 'Für FFA-Verbindungen', diff --git a/src/languages/en.ts b/src/languages/en.ts index 502446fe2a38..a1e0503d8420 100644 --- a/src/languages/en.ts +++ b/src/languages/en.ts @@ -4940,6 +4940,8 @@ const translations = { }, certinia: { title: 'Certinia', + autoSyncDescription: 'Expensify will automatically sync with Certinia every day.', + syncReimbursedReportsDescription: 'With this option enabled, anytime a Payable Invoice is paid in FFA, the related Expensify report will be automatically marked as reimbursed.', prerequisites: { title: 'Before you connect', installBundle: 'For FFA Connections', diff --git a/src/languages/es.ts b/src/languages/es.ts index 8229e694c96a..79e7f4219d77 100644 --- a/src/languages/es.ts +++ b/src/languages/es.ts @@ -4748,6 +4748,8 @@ ${amount} para ${merchant} - ${date}`, }, certinia: { title: 'Certinia', + autoSyncDescription: 'Expensify will automatically sync with Certinia every day.', + syncReimbursedReportsDescription: 'With this option enabled, anytime a Payable Invoice is paid in FFA, the related Expensify report will be automatically marked as reimbursed.', prerequisites: { title: 'Antes de conectarte', installBundle: 'Para conexiones FFA', diff --git a/src/languages/fr.ts b/src/languages/fr.ts index dd10ab4d7e41..e78508b8baee 100644 --- a/src/languages/fr.ts +++ b/src/languages/fr.ts @@ -4873,6 +4873,8 @@ ${amount} pour ${merchant} - ${date}`, }, certinia: { title: 'Certinia', + autoSyncDescription: 'Expensify will automatically sync with Certinia every day.', + syncReimbursedReportsDescription: 'With this option enabled, anytime a Payable Invoice is paid in FFA, the related Expensify report will be automatically marked as reimbursed.', prerequisites: { title: 'Avant de vous connecter', installBundle: 'Pour les connexions FFA', diff --git a/src/languages/it.ts b/src/languages/it.ts index 61761df243f2..622754a60ced 100644 --- a/src/languages/it.ts +++ b/src/languages/it.ts @@ -4846,6 +4846,8 @@ ${amount} per ${merchant} - ${date}`, }, certinia: { title: 'Certinia', + autoSyncDescription: 'Expensify will automatically sync with Certinia every day.', + syncReimbursedReportsDescription: 'With this option enabled, anytime a Payable Invoice is paid in FFA, the related Expensify report will be automatically marked as reimbursed.', prerequisites: { title: 'Prima di connetterti', installBundle: 'Per connessioni FFA', diff --git a/src/languages/ja.ts b/src/languages/ja.ts index c4bc185299f6..39609fab2f83 100644 --- a/src/languages/ja.ts +++ b/src/languages/ja.ts @@ -4803,6 +4803,8 @@ ${integrationName === CONST.ONBOARDING_ACCOUNTING_MAPPING.other ? 'あなたの' }, certinia: { title: 'Certinia', + autoSyncDescription: 'Expensify will automatically sync with Certinia every day.', + syncReimbursedReportsDescription: 'With this option enabled, anytime a Payable Invoice is paid in FFA, the related Expensify report will be automatically marked as reimbursed.', prerequisites: { title: '接続する前に', installBundle: 'FFA 接続用', diff --git a/src/languages/nl.ts b/src/languages/nl.ts index b307a464d6be..6fa5c2e0da45 100644 --- a/src/languages/nl.ts +++ b/src/languages/nl.ts @@ -4837,6 +4837,8 @@ ${amount} voor ${merchant} - ${date}`, }, certinia: { title: 'Certinia', + autoSyncDescription: 'Expensify will automatically sync with Certinia every day.', + syncReimbursedReportsDescription: 'With this option enabled, anytime a Payable Invoice is paid in FFA, the related Expensify report will be automatically marked as reimbursed.', prerequisites: { title: 'Voordat je verbinding maakt', installBundle: 'Voor FFA-verbindingen', diff --git a/src/languages/pl.ts b/src/languages/pl.ts index 5f36e09f17f6..2a442760d656 100644 --- a/src/languages/pl.ts +++ b/src/languages/pl.ts @@ -4829,6 +4829,8 @@ ${amount} dla ${merchant} - ${date}`, }, certinia: { title: 'Certinia', + autoSyncDescription: 'Expensify will automatically sync with Certinia every day.', + syncReimbursedReportsDescription: 'With this option enabled, anytime a Payable Invoice is paid in FFA, the related Expensify report will be automatically marked as reimbursed.', prerequisites: { title: 'Zanim się połączysz', installBundle: 'Dla połączeń FFA', diff --git a/src/languages/pt-BR.ts b/src/languages/pt-BR.ts index b7948902c111..97d3f1785c2e 100644 --- a/src/languages/pt-BR.ts +++ b/src/languages/pt-BR.ts @@ -4832,6 +4832,8 @@ ${amount} para ${merchant} - ${date}`, }, certinia: { title: 'Certinia', + autoSyncDescription: 'Expensify will automatically sync with Certinia every day.', + syncReimbursedReportsDescription: 'With this option enabled, anytime a Payable Invoice is paid in FFA, the related Expensify report will be automatically marked as reimbursed.', prerequisites: { title: 'Antes de conectar', installBundle: 'Para conexões FFA', diff --git a/src/languages/zh-hans.ts b/src/languages/zh-hans.ts index 79540be738a3..becb9ddadded 100644 --- a/src/languages/zh-hans.ts +++ b/src/languages/zh-hans.ts @@ -4715,6 +4715,8 @@ ${amount},商户:${merchant} - 日期:${date}`, }, certinia: { title: 'Certinia', + autoSyncDescription: 'Expensify will automatically sync with Certinia every day.', + syncReimbursedReportsDescription: 'With this option enabled, anytime a Payable Invoice is paid in FFA, the related Expensify report will be automatically marked as reimbursed.', prerequisites: { title: '在你连接之前', installBundle: '用于 FFA 连接', diff --git a/src/libs/Navigation/AppNavigator/ModalStackNavigators/index.tsx b/src/libs/Navigation/AppNavigator/ModalStackNavigators/index.tsx index 24eb086ebc38..29844c20e8b8 100644 --- a/src/libs/Navigation/AppNavigator/ModalStackNavigators/index.tsx +++ b/src/libs/Navigation/AppNavigator/ModalStackNavigators/index.tsx @@ -921,6 +921,7 @@ const SettingsModalStackNavigator = createModalStackNavigator require('../../../../pages/workspace/accounting/certinia/CertiniaPrerequisitesPage').default, [SCREENS.WORKSPACE.ACCOUNTING.CERTINIA_EXISTING_CONNECTIONS]: () => require('../../../../pages/workspace/accounting/certinia/CertiniaExistingConnectionsPage').default, + [SCREENS.WORKSPACE.ACCOUNTING.CERTINIA_ADVANCED]: () => require('../../../../pages/workspace/accounting/certinia/advanced/CertiniaAdvancedPage').default, [SCREENS.WORKSPACE.ACCOUNTING.CARD_RECONCILIATION]: () => require('../../../../pages/workspace/accounting/reconciliation/CardReconciliationPage').default, [SCREENS.WORKSPACE.ACCOUNTING.CARD_RECONCILIATION_QUICKBOOKS_DESKTOP_AUTO_SYNC]: () => require('../../../../pages/workspace/accounting/reconciliation/CardReconciliationQuickbooksDesktopAutoSyncPage').default, diff --git a/src/libs/Navigation/linkingConfig/config.ts b/src/libs/Navigation/linkingConfig/config.ts index 4ff99bc12147..eeebe8f9b2f4 100644 --- a/src/libs/Navigation/linkingConfig/config.ts +++ b/src/libs/Navigation/linkingConfig/config.ts @@ -806,7 +806,7 @@ const config: LinkingOptions['config'] = { [SCREENS.WORKSPACE.ACCOUNTING.CERTINIA_EXPORT_STATUS]: {path: ROUTES.POLICY_ACCOUNTING_CERTINIA_EXPORT_STATUS.route}, [SCREENS.WORKSPACE.ACCOUNTING.CERTINIA_EXPORT_DATE]: {path: ROUTES.POLICY_ACCOUNTING_CERTINIA_EXPORT_DATE.route}, [SCREENS.WORKSPACE.ACCOUNTING.CERTINIA_DEFAULT_VENDOR]: {path: ROUTES.POLICY_ACCOUNTING_CERTINIA_DEFAULT_VENDOR.route}, - [SCREENS.WORKSPACE.ACCOUNTING.CERTINIA_ADVANCED]: {path: ROUTES.POLICY_ACCOUNTING_CERTINIA_ADVANCED.route}, + [SCREENS.WORKSPACE.ACCOUNTING.CERTINIA_ADVANCED]: DYNAMIC_ROUTES.POLICY_ACCOUNTING_CERTINIA_ADVANCED.path, [SCREENS.WORKSPACE.ACCOUNTING.CARD_RECONCILIATION]: {path: ROUTES.WORKSPACE_ACCOUNTING_CARD_RECONCILIATION.route}, [SCREENS.WORKSPACE.ACCOUNTING.CARD_RECONCILIATION_QUICKBOOKS_DESKTOP_AUTO_SYNC]: { path: ROUTES.POLICY_ACCOUNTING_CARD_RECONCILIATION_QUICKBOOKS_DESKTOP_AUTO_SYNC.route, diff --git a/src/pages/workspace/accounting/PolicyAccountingPage.tsx b/src/pages/workspace/accounting/PolicyAccountingPage.tsx index 897a85412109..e2a1dc03e511 100644 --- a/src/pages/workspace/accounting/PolicyAccountingPage.tsx +++ b/src/pages/workspace/accounting/PolicyAccountingPage.tsx @@ -486,7 +486,7 @@ function PolicyAccountingPage({policy}: PolicyAccountingPageProps) { ), }, ...(isEmptyObject(integrationSpecificMenuItems) || shouldShowSynchronizationError || !hasAccountingConnection ? [] : [integrationSpecificMenuItems]), - ...(!hasAccountingConnection || !isConnectionVerified || connectedIntegration === CONST.POLICY.CONNECTIONS.NAME.CERTINIA ? [] : configurationOptions), + ...(!hasAccountingConnection || !isConnectionVerified ? [] : configurationOptions), ]; }, [ policy, diff --git a/src/pages/workspace/accounting/certinia/advanced/CertiniaAdvancedPage.tsx b/src/pages/workspace/accounting/certinia/advanced/CertiniaAdvancedPage.tsx new file mode 100644 index 000000000000..a508d315b82b --- /dev/null +++ b/src/pages/workspace/accounting/certinia/advanced/CertiniaAdvancedPage.tsx @@ -0,0 +1,73 @@ +import React from 'react'; +import ConnectionLayout from '@components/ConnectionLayout'; +import useDynamicBackPath from '@hooks/useDynamicBackPath'; +import useLocalize from '@hooks/useLocalize'; +import useThemeStyles from '@hooks/useThemeStyles'; +import {getLatestErrorField} from '@libs/ErrorUtils'; +import Navigation from '@libs/Navigation/Navigation'; +import {settingsPendingAction} from '@libs/PolicyUtils'; +import type {WithPolicyConnectionsProps} from '@pages/workspace/withPolicyConnections'; +import withPolicyConnections from '@pages/workspace/withPolicyConnections'; +import ToggleSettingOptionRow from '@pages/workspace/workflows/ToggleSettingsOptionRow'; +import {clearFinancialForceErrorField, updateFinancialForceAutoSync, updateFinancialForceSyncReimbursedReports} from '@userActions/connections/FinancialForce'; +import CONST from '@src/CONST'; +import {DYNAMIC_ROUTES} from '@src/ROUTES'; + +function CertiniaAdvancedPage({policy}: WithPolicyConnectionsProps) { + const {translate} = useLocalize(); + const styles = useThemeStyles(); + const policyID = policy?.id; + const config = policy?.connections?.financialforce?.config; + const backPath = useDynamicBackPath(DYNAMIC_ROUTES.POLICY_ACCOUNTING_CERTINIA_ADVANCED.path); + + return ( + Navigation.goBack(backPath)} + featureName={CONST.POLICY.MORE_FEATURES.ARE_CONNECTIONS_ENABLED} + contentContainerStyle={styles.pb2} + titleStyle={styles.ph5} + connectionName={CONST.POLICY.CONNECTIONS.NAME.CERTINIA} + > + { + if (!policyID) { + return; + } + updateFinancialForceAutoSync(policyID, enabled, config?.autoSync?.enabled); + }} + wrapperStyle={[styles.ph5, styles.pv3]} + pendingAction={settingsPendingAction([CONST.CERTINIA_CONFIG.AUTO_SYNC_ENABLED], config?.pendingFields)} + errors={getLatestErrorField(config ?? {}, CONST.CERTINIA_CONFIG.AUTO_SYNC_ENABLED)} + onCloseError={() => clearFinancialForceErrorField(policyID, CONST.CERTINIA_CONFIG.AUTO_SYNC_ENABLED)} + /> + { + if (!policyID) { + return; + } + updateFinancialForceSyncReimbursedReports(policyID, enabled, config?.advanced?.syncReimbursedReports); + }} + wrapperStyle={[styles.ph5, styles.pv3]} + pendingAction={settingsPendingAction([CONST.CERTINIA_CONFIG.SYNC_REIMBURSED_REPORTS], config?.pendingFields)} + errors={getLatestErrorField(config ?? {}, CONST.CERTINIA_CONFIG.SYNC_REIMBURSED_REPORTS)} + onCloseError={() => clearFinancialForceErrorField(policyID, CONST.CERTINIA_CONFIG.SYNC_REIMBURSED_REPORTS)} + /> + + ); +} + +export default withPolicyConnections(CertiniaAdvancedPage); diff --git a/src/pages/workspace/accounting/utils.tsx b/src/pages/workspace/accounting/utils.tsx index 545a96c0d8ca..88704d6b3f70 100644 --- a/src/pages/workspace/accounting/utils.tsx +++ b/src/pages/workspace/accounting/utils.tsx @@ -336,6 +336,8 @@ function getAccountingIntegrationData( key={key} /> ), + onAdvancedPagePress: () => Navigation.navigate(createDynamicRoute(DYNAMIC_ROUTES.POLICY_ACCOUNTING_CERTINIA_ADVANCED.path, ROUTES.POLICY_ACCOUNTING.getRoute(policyID))), + subscribedAdvancedSettings: [CONST.CERTINIA_CONFIG.AUTO_SYNC_ENABLED, CONST.CERTINIA_CONFIG.SYNC_REIMBURSED_REPORTS], workspaceUpgradeNavigationDetails: { integrationAlias: CONST.UPGRADE_FEATURE_INTRO_MAPPING[CONST.POLICY.CONNECTIONS.NAME.CERTINIA].alias, backToAfterWorkspaceUpgradeRoute: getBackToAfterWorkspaceUpgradeRouteForCertinia(), From 5220cd8cf597c8671f46d54390e01938b5b8fded Mon Sep 17 00:00:00 2001 From: Chavda Sachin Date: Thu, 28 May 2026 19:55:58 +0530 Subject: [PATCH 2/2] add translations --- src/languages/de.ts | 5 +++-- src/languages/es.ts | 5 +++-- src/languages/fr.ts | 9 +++++---- src/languages/it.ts | 9 +++++---- src/languages/ja.ts | 4 ++-- src/languages/nl.ts | 5 +++-- src/languages/pl.ts | 5 +++-- src/languages/pt-BR.ts | 5 +++-- src/languages/zh-hans.ts | 4 ++-- 9 files changed, 29 insertions(+), 22 deletions(-) diff --git a/src/languages/de.ts b/src/languages/de.ts index 7e70bae4845f..041f388efdd8 100644 --- a/src/languages/de.ts +++ b/src/languages/de.ts @@ -4861,8 +4861,9 @@ ${amount} für ${merchant} – ${date}`, }, certinia: { title: 'Certinia', - autoSyncDescription: 'Expensify will automatically sync with Certinia every day.', - syncReimbursedReportsDescription: 'With this option enabled, anytime a Payable Invoice is paid in FFA, the related Expensify report will be automatically marked as reimbursed.', + autoSyncDescription: 'Expensify wird jeden Tag automatisch mit Certinia synchronisiert.', + syncReimbursedReportsDescription: + 'Wenn diese Option aktiviert ist, wird jedes Mal, wenn eine zu zahlende Rechnung in FFA bezahlt wird, der zugehörige Expensify-Bericht automatisch als erstattet markiert.', prerequisites: { title: 'Bevor Sie die Verbindung herstellen', installBundle: 'Für FFA-Verbindungen', diff --git a/src/languages/es.ts b/src/languages/es.ts index 79e7f4219d77..faef6c40b48c 100644 --- a/src/languages/es.ts +++ b/src/languages/es.ts @@ -4748,8 +4748,9 @@ ${amount} para ${merchant} - ${date}`, }, certinia: { title: 'Certinia', - autoSyncDescription: 'Expensify will automatically sync with Certinia every day.', - syncReimbursedReportsDescription: 'With this option enabled, anytime a Payable Invoice is paid in FFA, the related Expensify report will be automatically marked as reimbursed.', + autoSyncDescription: 'Expensify se sincronizará automáticamente con Certinia cada día.', + syncReimbursedReportsDescription: + 'Con esta opción habilitada, cada vez que se pague una factura por pagar en FFA, el informe de Expensify relacionado se marcará automáticamente como reembolsado.', prerequisites: { title: 'Antes de conectarte', installBundle: 'Para conexiones FFA', diff --git a/src/languages/fr.ts b/src/languages/fr.ts index e78508b8baee..4d4de366ccc3 100644 --- a/src/languages/fr.ts +++ b/src/languages/fr.ts @@ -2808,9 +2808,9 @@ ${amount} pour ${merchant} - ${date}`, title: 'Modifier l’agent', agentName: 'Nom de l’agent', instructions: 'Écrire des instructions personnalisées', - chatWithAgent: 'Discuter avec l\u2019agent', + chatWithAgent: 'Discuter avec l’agent', copilotIntoAccount: 'Copilote dans le compte', - deleteAgent: 'Supprimer l\u2019agent', + deleteAgent: 'Supprimer l’agent', deleteAgentTitle: 'Supprimer l’agent ?', deleteAgentMessage: 'Voulez-vous vraiment supprimer cet agent ? Cette action est irréversible.', }, @@ -4873,8 +4873,9 @@ ${amount} pour ${merchant} - ${date}`, }, certinia: { title: 'Certinia', - autoSyncDescription: 'Expensify will automatically sync with Certinia every day.', - syncReimbursedReportsDescription: 'With this option enabled, anytime a Payable Invoice is paid in FFA, the related Expensify report will be automatically marked as reimbursed.', + autoSyncDescription: 'Expensify se synchronisera automatiquement avec Certinia chaque jour.', + syncReimbursedReportsDescription: + 'Lorsque cette option est activée, chaque fois qu’une facture à payer est réglée dans FFA, la note de frais Expensify associée est automatiquement marquée comme remboursée.', prerequisites: { title: 'Avant de vous connecter', installBundle: 'Pour les connexions FFA', diff --git a/src/languages/it.ts b/src/languages/it.ts index 622754a60ced..462171e7bb16 100644 --- a/src/languages/it.ts +++ b/src/languages/it.ts @@ -2796,8 +2796,8 @@ ${amount} per ${merchant} - ${date}`, title: 'Modifica agente', agentName: 'Nome agente', instructions: 'Scrivi istruzioni personalizzate', - chatWithAgent: 'Chatta con l\u2019agente', - copilotIntoAccount: 'Copilot nell\u2019account', + chatWithAgent: 'Chatta con l’agente', + copilotIntoAccount: 'Copilot nell’account', deleteAgent: 'Elimina agente', deleteAgentTitle: 'Eliminare agente?', deleteAgentMessage: 'Sei sicuro di voler eliminare questo agente? Questa azione non può essere annullata.', @@ -4846,8 +4846,9 @@ ${amount} per ${merchant} - ${date}`, }, certinia: { title: 'Certinia', - autoSyncDescription: 'Expensify will automatically sync with Certinia every day.', - syncReimbursedReportsDescription: 'With this option enabled, anytime a Payable Invoice is paid in FFA, the related Expensify report will be automatically marked as reimbursed.', + autoSyncDescription: 'Expensify si sincronizzerà automaticamente con Certinia ogni giorno.', + syncReimbursedReportsDescription: + 'Con questa opzione abilitata, ogni volta che una fattura da pagare viene saldata in FFA, il relativo report Expensify sarà automaticamente contrassegnato come rimborsato.', prerequisites: { title: 'Prima di connetterti', installBundle: 'Per connessioni FFA', diff --git a/src/languages/ja.ts b/src/languages/ja.ts index 39609fab2f83..a6cba6cfa00c 100644 --- a/src/languages/ja.ts +++ b/src/languages/ja.ts @@ -4803,8 +4803,8 @@ ${integrationName === CONST.ONBOARDING_ACCOUNTING_MAPPING.other ? 'あなたの' }, certinia: { title: 'Certinia', - autoSyncDescription: 'Expensify will automatically sync with Certinia every day.', - syncReimbursedReportsDescription: 'With this option enabled, anytime a Payable Invoice is paid in FFA, the related Expensify report will be automatically marked as reimbursed.', + autoSyncDescription: 'Expensify は毎日自動的に Certinia と同期します。', + syncReimbursedReportsDescription: 'このオプションを有効にすると、FFA で買掛請求書が支払われるたびに、関連する Expensify レポートが自動的に精算済みとしてマークされます。', prerequisites: { title: '接続する前に', installBundle: 'FFA 接続用', diff --git a/src/languages/nl.ts b/src/languages/nl.ts index 6fa5c2e0da45..ba16fa335499 100644 --- a/src/languages/nl.ts +++ b/src/languages/nl.ts @@ -4837,8 +4837,9 @@ ${amount} voor ${merchant} - ${date}`, }, certinia: { title: 'Certinia', - autoSyncDescription: 'Expensify will automatically sync with Certinia every day.', - syncReimbursedReportsDescription: 'With this option enabled, anytime a Payable Invoice is paid in FFA, the related Expensify report will be automatically marked as reimbursed.', + autoSyncDescription: 'Expensify wordt elke dag automatisch met Certinia gesynchroniseerd.', + syncReimbursedReportsDescription: + 'Als deze optie is ingeschakeld, wordt elke keer dat een te betalen factuur in FFA wordt betaald, het bijbehorende Expensify-rapport automatisch als terugbetaald gemarkeerd.', prerequisites: { title: 'Voordat je verbinding maakt', installBundle: 'Voor FFA-verbindingen', diff --git a/src/languages/pl.ts b/src/languages/pl.ts index 2a442760d656..270fcde640c4 100644 --- a/src/languages/pl.ts +++ b/src/languages/pl.ts @@ -4829,8 +4829,9 @@ ${amount} dla ${merchant} - ${date}`, }, certinia: { title: 'Certinia', - autoSyncDescription: 'Expensify will automatically sync with Certinia every day.', - syncReimbursedReportsDescription: 'With this option enabled, anytime a Payable Invoice is paid in FFA, the related Expensify report will be automatically marked as reimbursed.', + autoSyncDescription: 'Expensify będzie automatycznie synchronizować się z Certinia każdego dnia.', + syncReimbursedReportsDescription: + 'Gdy ta opcja jest włączona, za każdym razem gdy Należna faktura zostanie opłacona w FFA, powiązany raport Expensify zostanie automatycznie oznaczony jako zwrócony.', prerequisites: { title: 'Zanim się połączysz', installBundle: 'Dla połączeń FFA', diff --git a/src/languages/pt-BR.ts b/src/languages/pt-BR.ts index 97d3f1785c2e..6b9d3827c282 100644 --- a/src/languages/pt-BR.ts +++ b/src/languages/pt-BR.ts @@ -4832,8 +4832,9 @@ ${amount} para ${merchant} - ${date}`, }, certinia: { title: 'Certinia', - autoSyncDescription: 'Expensify will automatically sync with Certinia every day.', - syncReimbursedReportsDescription: 'With this option enabled, anytime a Payable Invoice is paid in FFA, the related Expensify report will be automatically marked as reimbursed.', + autoSyncDescription: 'O Expensify vai sincronizar automaticamente com a Certinia todos os dias.', + syncReimbursedReportsDescription: + 'Com essa opção ativada, sempre que uma Fatura a Pagar for paga no FFA, o relatório correspondente no Expensify será marcado automaticamente como reembolsado.', prerequisites: { title: 'Antes de conectar', installBundle: 'Para conexões FFA', diff --git a/src/languages/zh-hans.ts b/src/languages/zh-hans.ts index becb9ddadded..392c425971c6 100644 --- a/src/languages/zh-hans.ts +++ b/src/languages/zh-hans.ts @@ -4715,8 +4715,8 @@ ${amount},商户:${merchant} - 日期:${date}`, }, certinia: { title: 'Certinia', - autoSyncDescription: 'Expensify will automatically sync with Certinia every day.', - syncReimbursedReportsDescription: 'With this option enabled, anytime a Payable Invoice is paid in FFA, the related Expensify report will be automatically marked as reimbursed.', + autoSyncDescription: 'Expensify 将每天自动与 Certinia 同步。', + syncReimbursedReportsDescription: '启用此选项后,每当在 FFA 中支付应付发票时,关联的 Expensify 报告将自动标记为已报销。', prerequisites: { title: '在你连接之前', installBundle: '用于 FFA 连接',