Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 1 addition & 3 deletions src/languages/de.ts
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,6 @@ import type {
EmployeeInviteMessageParams,
EmptyCategoriesSubtitleWithAccountingParams,
EmptyTagsSubtitleWithAccountingParams,
EnableContinuousReconciliationParams,
EnterMagicCodeParams,
ExportAgainModalDescriptionParams,
ExportedToIntegrationParams,
Expand Down Expand Up @@ -5222,8 +5221,7 @@ const translations = {
continuousReconciliation: 'Kontinuierliche Abstimmung',
saveHoursOnReconciliation:
'Sparen Sie Stunden bei der Abstimmung in jedem Buchhaltungszeitraum, indem Expensify kontinuierlich Expensify Card-Abrechnungen und -Abwicklungen in Ihrem Namen abstimmt.',
enableContinuousReconciliation: ({accountingAdvancedSettingsLink, connectionName}: EnableContinuousReconciliationParams) =>
`<muted-text-label>Um den kontinuierlichen Abgleich zu aktivieren, aktivieren Sie bitte die <a href="${accountingAdvancedSettingsLink}">automatische Synchronisierung</a> für ${connectionName}.</muted-text-label>`,
enableContinuousReconciliation: 'Um die kontinuierliche Abstimmung zu aktivieren, bitte aktivieren Sie',
chooseReconciliationAccount: {
chooseBankAccount: 'Wählen Sie das Bankkonto, gegen das Ihre Expensify Card-Zahlungen abgeglichen werden sollen.',
accountMatches: 'Stellen Sie sicher, dass dieses Konto mit Ihrem übereinstimmt',
Expand Down
4 changes: 1 addition & 3 deletions src/languages/en.ts
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,6 @@ import type {
EmployeeInviteMessageParams,
EmptyCategoriesSubtitleWithAccountingParams,
EmptyTagsSubtitleWithAccountingParams,
EnableContinuousReconciliationParams,
EnterMagicCodeParams,
ExportAgainModalDescriptionParams,
ExportedToIntegrationParams,
Expand Down Expand Up @@ -5205,8 +5204,7 @@ const translations = {
continuousReconciliation: 'Continuous Reconciliation',
saveHoursOnReconciliation:
'Save hours on reconciliation each accounting period by having Expensify continuously reconcile Expensify Card statements and settlements on your behalf.',
enableContinuousReconciliation: ({accountingAdvancedSettingsLink, connectionName}: EnableContinuousReconciliationParams) =>
`<muted-text-label>In order to enable Continuous Reconciliation, please enable <a href="${accountingAdvancedSettingsLink}">auto-sync</a> for ${connectionName}.</muted-text-label>`,
enableContinuousReconciliation: 'In order to enable Continuous Reconciliation, please enable ',
chooseReconciliationAccount: {
chooseBankAccount: 'Choose the bank account that your Expensify Card payments will be reconciled against.',
accountMatches: 'Make sure this account matches your ',
Expand Down
4 changes: 1 addition & 3 deletions src/languages/es.ts
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,6 @@ import type {
EmployeeInviteMessageParams,
EmptyCategoriesSubtitleWithAccountingParams,
EmptyTagsSubtitleWithAccountingParams,
EnableContinuousReconciliationParams,
EnterMagicCodeParams,
ExportAgainModalDescriptionParams,
ExportedToIntegrationParams,
Expand Down Expand Up @@ -5176,8 +5175,7 @@ const translations = {
continuousReconciliation: 'Conciliación continua',
saveHoursOnReconciliation:
'Ahorra horas de conciliación en cada período contable haciendo que Expensify concilie continuamente los extractos y liquidaciones de la Tarjeta Expensify en tu nombre.',
enableContinuousReconciliation: ({accountingAdvancedSettingsLink, connectionName}: EnableContinuousReconciliationParams) =>
`<muted-text-label>Para activar la Conciliación Continua, activa la <a href="${accountingAdvancedSettingsLink}">auto-sync</a> para ${connectionName}.</muted-text-label>`,
enableContinuousReconciliation: 'Para activar la Conciliación Continua, activa la ',
chooseReconciliationAccount: {
chooseBankAccount: 'Elige la cuenta bancaria con la que se conciliarán los pagos de tu Tarjeta Expensify.',
accountMatches: 'Asegúrate de que esta cuenta coincide con ',
Expand Down
4 changes: 1 addition & 3 deletions src/languages/fr.ts
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,6 @@ import type {
EmployeeInviteMessageParams,
EmptyCategoriesSubtitleWithAccountingParams,
EmptyTagsSubtitleWithAccountingParams,
EnableContinuousReconciliationParams,
EnterMagicCodeParams,
ExportAgainModalDescriptionParams,
ExportedToIntegrationParams,
Expand Down Expand Up @@ -5237,8 +5236,7 @@ const translations = {
continuousReconciliation: 'Réconciliation Continue',
saveHoursOnReconciliation:
'Gagnez des heures sur la réconciliation à chaque période comptable en laissant Expensify réconcilier en continu les relevés et les règlements de la carte Expensify pour vous.',
enableContinuousReconciliation: ({accountingAdvancedSettingsLink, connectionName}: EnableContinuousReconciliationParams) =>
`<muted-text-label>Pour activer la réconciliation continue, veuillez activer la <a href="${accountingAdvancedSettingsLink}">synchronisation automatique</a> pour ${connectionName}.</muted-text-label>`,
enableContinuousReconciliation: 'Pour activer la Réconciliation Continue, veuillez activer',
chooseReconciliationAccount: {
chooseBankAccount: 'Choisissez le compte bancaire sur lequel les paiements de votre carte Expensify seront rapprochés.',
accountMatches: 'Assurez-vous que ce compte correspond à votre',
Expand Down
4 changes: 1 addition & 3 deletions src/languages/it.ts
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,6 @@ import type {
EmployeeInviteMessageParams,
EmptyCategoriesSubtitleWithAccountingParams,
EmptyTagsSubtitleWithAccountingParams,
EnableContinuousReconciliationParams,
EnterMagicCodeParams,
ExportAgainModalDescriptionParams,
ExportedToIntegrationParams,
Expand Down Expand Up @@ -5235,8 +5234,7 @@ const translations = {
continuousReconciliation: 'Riconciliazione Continua',
saveHoursOnReconciliation:
'Risparmia ore di riconciliazione ogni periodo contabile facendo riconciliare continuamente a Expensify gli estratti conto e i regolamenti della Expensify Card per tuo conto.',
enableContinuousReconciliation: ({accountingAdvancedSettingsLink, connectionName}: EnableContinuousReconciliationParams) =>
`<muted-text-label>Per abilitare la riconciliazione continua, abilita la <a href="${accountingAdvancedSettingsLink}">sincronizzazione automatica</a> per ${connectionName}.</muted-text-label>`,
enableContinuousReconciliation: 'Per abilitare la Riconciliazione Continua, si prega di abilitare',
chooseReconciliationAccount: {
chooseBankAccount: 'Scegli il conto bancario su cui verranno riconciliati i pagamenti della tua carta Expensify.',
accountMatches: 'Assicurati che questo account corrisponda al tuo',
Expand Down
4 changes: 1 addition & 3 deletions src/languages/ja.ts
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,6 @@ import type {
EmployeeInviteMessageParams,
EmptyCategoriesSubtitleWithAccountingParams,
EmptyTagsSubtitleWithAccountingParams,
EnableContinuousReconciliationParams,
EnterMagicCodeParams,
ExportAgainModalDescriptionParams,
ExportedToIntegrationParams,
Expand Down Expand Up @@ -5211,8 +5210,7 @@ const translations = {
reconciliationAccount: '調整口座',
continuousReconciliation: '継続的な照合',
saveHoursOnReconciliation: '各会計期間の調整にかかる時間を節約するために、ExpensifyがExpensify Cardの明細書と決済を継続的に調整します。',
enableContinuousReconciliation: ({accountingAdvancedSettingsLink, connectionName}: EnableContinuousReconciliationParams) =>
`<muted-text-label>継続的な照合を有効にするため、${connectionName}の<a href="${accountingAdvancedSettingsLink}">自動同期</a>を有効にしてください。</muted-text-label>`,
enableContinuousReconciliation: '継続的な調整を有効にするには、有効にしてください',
chooseReconciliationAccount: {
chooseBankAccount: 'Expensifyカードの支払いを照合する銀行口座を選択してください。',
accountMatches: 'このアカウントがあなたのものと一致していることを確認してください',
Expand Down
4 changes: 1 addition & 3 deletions src/languages/nl.ts
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,6 @@ import type {
EmployeeInviteMessageParams,
EmptyCategoriesSubtitleWithAccountingParams,
EmptyTagsSubtitleWithAccountingParams,
EnableContinuousReconciliationParams,
EnterMagicCodeParams,
ExportAgainModalDescriptionParams,
ExportedToIntegrationParams,
Expand Down Expand Up @@ -5236,8 +5235,7 @@ const translations = {
continuousReconciliation: 'Continue Reconciliatie',
saveHoursOnReconciliation:
'Bespaar uren op reconciliatie elke boekhoudperiode door Expensify continu Expensify Card-afschriften en afrekeningen namens u te laten reconciliëren.',
enableContinuousReconciliation: ({accountingAdvancedSettingsLink, connectionName}: EnableContinuousReconciliationParams) =>
`<muted-text-label>Om continue afstemming mogelijk te maken, moet u <a href="${accountingAdvancedSettingsLink}">automatische synchronisatie</a> voor ${connectionName} inschakelen.</muted-text-label>`,
enableContinuousReconciliation: 'Om Continue Reconciliation in te schakelen, schakel alstublieft in',
chooseReconciliationAccount: {
chooseBankAccount: 'Kies de bankrekening waarmee uw Expensify Card-betalingen worden verrekend.',
accountMatches: 'Zorg ervoor dat dit account overeenkomt met uw',
Expand Down
6 changes: 0 additions & 6 deletions src/languages/params.ts
Original file line number Diff line number Diff line change
Expand Up @@ -859,11 +859,6 @@ type MergeFailureDescriptionGenericParams = {
email: string;
};

type EnableContinuousReconciliationParams = {
connectionName: string;
accountingAdvancedSettingsLink: string;
};

type WorkspaceUpgradeNoteParams = {
subscriptionLink: string;
};
Expand Down Expand Up @@ -1192,7 +1187,6 @@ export type {
MergeSuccessDescriptionParams,
MergeFailureUncreatedAccountDescriptionParams,
MergeFailureDescriptionGenericParams,
EnableContinuousReconciliationParams,
WorkspaceUpgradeNoteParams,
ChangedApproverMessageParams,
WorkflowSettingsParam,
Expand Down
4 changes: 1 addition & 3 deletions src/languages/pl.ts
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,6 @@ import type {
EmployeeInviteMessageParams,
EmptyCategoriesSubtitleWithAccountingParams,
EmptyTagsSubtitleWithAccountingParams,
EnableContinuousReconciliationParams,
EnterMagicCodeParams,
ExportAgainModalDescriptionParams,
ExportedToIntegrationParams,
Expand Down Expand Up @@ -5225,8 +5224,7 @@ const translations = {
continuousReconciliation: 'Ciągła rekonsyliacja',
saveHoursOnReconciliation:
'Zaoszczędź godziny na uzgadnianiu w każdym okresie rozliczeniowym, pozwalając Expensify na ciągłe uzgadnianie wyciągów i rozliczeń z karty Expensify w Twoim imieniu.',
enableContinuousReconciliation: ({accountingAdvancedSettingsLink, connectionName}: EnableContinuousReconciliationParams) =>
`<muted-text-label>Aby włączyć funkcję ciągłego uzgadniania, włącz <a href="${accountingAdvancedSettingsLink}">automatyczną synchronizację</a> dla ${connectionName}.</muted-text-label>`,
enableContinuousReconciliation: 'Aby włączyć Ciągłą Rekoncyliację, proszę włączyć',
chooseReconciliationAccount: {
chooseBankAccount: 'Wybierz konto bankowe, z którym będą uzgadniane płatności kartą Expensify.',
accountMatches: 'Upewnij się, że to konto pasuje do Twojego',
Expand Down
4 changes: 1 addition & 3 deletions src/languages/pt-BR.ts
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,6 @@ import type {
EmployeeInviteMessageParams,
EmptyCategoriesSubtitleWithAccountingParams,
EmptyTagsSubtitleWithAccountingParams,
EnableContinuousReconciliationParams,
EnterMagicCodeParams,
ExportAgainModalDescriptionParams,
ExportedToIntegrationParams,
Expand Down Expand Up @@ -5233,8 +5232,7 @@ const translations = {
continuousReconciliation: 'Reconciliação Contínua',
saveHoursOnReconciliation:
'Economize horas na reconciliação de cada período contábil ao permitir que a Expensify reconcilie continuamente os extratos e liquidações do Cartão Expensify em seu nome.',
enableContinuousReconciliation: ({accountingAdvancedSettingsLink, connectionName}: EnableContinuousReconciliationParams) =>
`<muted-text-label>Para ativar a reconciliação contínua, habilite a <a href="${accountingAdvancedSettingsLink}">sincronização automática</a> para o ${connectionName}.</muted-text-label>`,
enableContinuousReconciliation: 'Para ativar a Reconciliação Contínua, por favor, ative',
chooseReconciliationAccount: {
chooseBankAccount: 'Escolha a conta bancária na qual os pagamentos do seu Expensify Card serão reconciliados.',
accountMatches: 'Certifique-se de que esta conta corresponde à sua',
Expand Down
4 changes: 1 addition & 3 deletions src/languages/zh-hans.ts
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,6 @@ import type {
EmployeeInviteMessageParams,
EmptyCategoriesSubtitleWithAccountingParams,
EmptyTagsSubtitleWithAccountingParams,
EnableContinuousReconciliationParams,
EnterMagicCodeParams,
ExportAgainModalDescriptionParams,
ExportedToIntegrationParams,
Expand Down Expand Up @@ -5144,8 +5143,7 @@ const translations = {
reconciliationAccount: '对账账户',
continuousReconciliation: '持续对账',
saveHoursOnReconciliation: '通过让Expensify持续为您对账Expensify卡的对账单和结算,您可以在每个会计期间节省数小时的对账时间。',
enableContinuousReconciliation: ({accountingAdvancedSettingsLink, connectionName}: EnableContinuousReconciliationParams) =>
`<muted-text-label>要启用持续对账,请启用 ${connectionName} 的<a href="${accountingAdvancedSettingsLink}">自动同步</a>功能。</muted-text-label>`,
enableContinuousReconciliation: '为了启用持续对账,请启用',
chooseReconciliationAccount: {
chooseBankAccount: '选择用于对账您的 Expensify Card 支付的银行账户。',
accountMatches: '确保此账户与您的账户匹配',
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
import React, {useCallback, useEffect, useMemo} from 'react';
import {View} from 'react-native';
import HeaderWithBackButton from '@components/HeaderWithBackButton';
import MenuItemWithTopDescription from '@components/MenuItemWithTopDescription';
import RenderHTML from '@components/RenderHTML';
import ScreenWrapper from '@components/ScreenWrapper';
import ScrollView from '@components/ScrollView';
import useEnvironment from '@hooks/useEnvironment';
import Text from '@components/Text';
import TextLink from '@components/TextLink';
import useExpensifyCardFeeds from '@hooks/useExpensifyCardFeeds';
import useLocalize from '@hooks/useLocalize';
import useOnyx from '@hooks/useOnyx';
Expand Down Expand Up @@ -42,7 +41,6 @@ function CardReconciliationPage({policy, route}: CardReconciliationPageProps) {
const workspaceAccountID = policy?.workspaceAccountID ?? CONST.DEFAULT_NUMBER_ID;
const policyID = policy?.id;
const allCardSettings = useExpensifyCardFeeds(policyID);
const {environmentURL} = useEnvironment();

const fullySetUpCardSetting = useMemo(() => {
const entries = Object.entries(allCardSettings ?? {});
Expand Down Expand Up @@ -88,23 +86,27 @@ function CardReconciliationPage({policy, route}: CardReconciliationPageProps) {
}
};

const accountingAdvancedSettingsLink = useMemo(() => {
const backTo = Navigation.getActiveRoute();
const navigateToAdvancedSettings = useCallback(() => {
switch (connection) {
case CONST.POLICY.CONNECTIONS.ROUTE.QBO:
return `${environmentURL}/${ROUTES.WORKSPACE_ACCOUNTING_QUICKBOOKS_ONLINE_AUTO_SYNC.getRoute(policyID, backTo)}`;
Navigation.navigate(ROUTES.WORKSPACE_ACCOUNTING_QUICKBOOKS_ONLINE_AUTO_SYNC.getRoute(policyID, Navigation.getActiveRoute()));
break;
case CONST.POLICY.CONNECTIONS.ROUTE.XERO:
return `${environmentURL}/${ROUTES.POLICY_ACCOUNTING_XERO_AUTO_SYNC.getRoute(policyID, backTo)}`;
Navigation.navigate(ROUTES.POLICY_ACCOUNTING_XERO_AUTO_SYNC.getRoute(policyID, Navigation.getActiveRoute()));
break;
case CONST.POLICY.CONNECTIONS.ROUTE.NETSUITE:
return `${environmentURL}/${ROUTES.POLICY_ACCOUNTING_NETSUITE_AUTO_SYNC.getRoute(policyID, backTo)}`;
Navigation.navigate(ROUTES.POLICY_ACCOUNTING_NETSUITE_AUTO_SYNC.getRoute(policyID, Navigation.getActiveRoute()));
break;
case CONST.POLICY.CONNECTIONS.ROUTE.SAGE_INTACCT:
return `${environmentURL}/${ROUTES.POLICY_ACCOUNTING_SAGE_INTACCT_ADVANCED.getRoute(policyID)}`;
Navigation.navigate(ROUTES.POLICY_ACCOUNTING_SAGE_INTACCT_ADVANCED.getRoute(policyID));
break;
case CONST.POLICY.CONNECTIONS.ROUTE.QBD:
return `${environmentURL}/${ROUTES.WORKSPACE_ACCOUNTING_QUICKBOOKS_DESKTOP_ADVANCED.getRoute(policyID, backTo)}`;
Navigation.navigate(ROUTES.WORKSPACE_ACCOUNTING_QUICKBOOKS_DESKTOP_ADVANCED.getRoute(policyID, Navigation.getActiveRoute()));
break;
default:
return '';
break;
}
}, [connection, policyID, environmentURL]);
}, [connection, policyID]);

const fetchPolicyAccountingData = useCallback(() => {
if (!policyID) {
Expand Down Expand Up @@ -148,14 +150,16 @@ function CardReconciliationPage({policy, route}: CardReconciliationPageProps) {
wrapperStyle={styles.ph5}
/>
{!autoSync && (
<View style={[styles.renderHTML, styles.ph5, styles.mt2]}>
<RenderHTML
html={translate('workspace.accounting.enableContinuousReconciliation', {
accountingAdvancedSettingsLink,
connectionName: CONST.POLICY.CONNECTIONS.NAME_USER_FRIENDLY[connectionName],
})}
/>
</View>
<Text style={[styles.mutedNormalTextLabel, styles.ph5, styles.mt2]}>
{translate('workspace.accounting.enableContinuousReconciliation')}
<TextLink
style={styles.fontSizeLabel}
onPress={navigateToAdvancedSettings}
>
{translate('workspace.accounting.autoSync').toLowerCase()}
</TextLink>{' '}
{translate('common.conjunctionFor')} {CONST.POLICY.CONNECTIONS.NAME_USER_FRIENDLY[connectionName]}
</Text>
)}
{!!paymentBankAccountID && !!isContinuousReconciliationOn && (
<MenuItemWithTopDescription
Expand Down
Loading