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
16 changes: 16 additions & 0 deletions src/ONYXKEYS.ts
Original file line number Diff line number Diff line change
Expand Up @@ -828,6 +828,18 @@ const ONYXKEYS = {
/** The selected accounting integration bank account ID for card reconciliation */
EXPENSIFY_CARD_RECONCILIATION_BANK_ACCOUNT_ID: 'expensifyCard_bankAccount_',

/** Stores which connection is set up to use Travel Invoicing Continuous Reconciliation */
TRAVEL_INVOICING_CONTINUOUS_RECONCILIATION_CONNECTION: 'travelInvoicing_continuousReconciliationConnection_',

/** The value that indicates whether Travel Invoicing Continuous Reconciliation should be used on the workspace */
TRAVEL_INVOICING_USE_CONTINUOUS_RECONCILIATION: 'travelInvoicing_useContinuousReconciliation_',

/** Pending action for Travel Invoicing Continuous Reconciliation enabled status */
TRAVEL_INVOICING_USE_CONTINUOUS_RECONCILIATION_PENDING_ACTION: 'travelInvoicing_useContinuousReconciliationPendingAction_',

/** The selected accounting integration bank account ID for Travel Invoicing reconciliation */
TRAVEL_INVOICING_RECONCILIATION_BANK_ACCOUNT_ID: 'travelInvoicing_reconciliationBankAccount_',

/** Currently displaying feed */
LAST_SELECTED_FEED: 'lastSelectedFeed_',

Expand Down Expand Up @@ -1344,6 +1356,10 @@ type OnyxCollectionValuesMapping = {
[ONYXKEYS.COLLECTION.EXPENSIFY_CARD_USE_CONTINUOUS_RECONCILIATION]: boolean | string;
[ONYXKEYS.COLLECTION.EXPENSIFY_CARD_USE_CONTINUOUS_RECONCILIATION_PENDING_ACTION]: OnyxTypes.CardContinuousReconciliation;
[ONYXKEYS.COLLECTION.EXPENSIFY_CARD_RECONCILIATION_BANK_ACCOUNT_ID]: string;
[ONYXKEYS.COLLECTION.TRAVEL_INVOICING_CONTINUOUS_RECONCILIATION_CONNECTION]: OnyxTypes.PolicyConnectionName;
[ONYXKEYS.COLLECTION.TRAVEL_INVOICING_USE_CONTINUOUS_RECONCILIATION]: boolean;
[ONYXKEYS.COLLECTION.TRAVEL_INVOICING_USE_CONTINUOUS_RECONCILIATION_PENDING_ACTION]: OnyxTypes.CardContinuousReconciliation;
[ONYXKEYS.COLLECTION.TRAVEL_INVOICING_RECONCILIATION_BANK_ACCOUNT_ID]: string;
[ONYXKEYS.COLLECTION.LAST_SELECTED_FEED]: OnyxTypes.CompanyCardFeedWithDomainID;
[ONYXKEYS.COLLECTION.LAST_SELECTED_EXPENSIFY_CARD_FEED]: OnyxTypes.FundID;
[ONYXKEYS.COLLECTION.NVP_EXPENSIFY_ON_CARD_WAITLIST]: OnyxTypes.CardOnWaitlist;
Expand Down
3 changes: 2 additions & 1 deletion src/ROUTES.ts
Original file line number Diff line number Diff line change
Expand Up @@ -333,7 +333,8 @@ const DYNAMIC_ROUTES = {
},
WORKSPACE_ACCOUNTING_RECONCILIATION_ACCOUNT_SETTINGS: {
path: 'account-reconciliation-settings',
entryScreens: [SCREENS.WORKSPACE.ACCOUNTING.CARD_RECONCILIATION, SCREENS.WORKSPACE.DYNAMIC_WORKSPACE_EXPENSIFY_CARD_SETTINGS_ACCOUNT],
entryScreens: [SCREENS.WORKSPACE.ACCOUNTING.CARD_RECONCILIATION, SCREENS.WORKSPACE.DYNAMIC_WORKSPACE_EXPENSIFY_CARD_SETTINGS_ACCOUNT, SCREENS.WORKSPACE.ACCOUNTING.NETSUITE_ADVANCED],
queryParams: ['connection', 'reconciliationAccountSettingsType'],
},
ADDRESS_COUNTRY: {
path: 'country',
Expand Down
4 changes: 4 additions & 0 deletions src/languages/de.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6384,7 +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.',
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.`,
},
syncTravelInvoicingSettlements: 'Reiseabrechnungs­abgleiche synchronisieren',
},
export: {
notReadyHeading: 'Nicht bereit zum Export',
Expand Down
4 changes: 4 additions & 0 deletions src/languages/en.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6401,14 +6401,18 @@ const translations = {
cardReconciliation: 'Card reconciliation',
reconciliationAccount: 'Reconciliation account',
continuousReconciliation: 'Continuous Reconciliation',
syncTravelInvoicingSettlements: 'Sync travel invoicing settlements',
saveHoursOnReconciliation:
'Save hours on reconciliation each accounting period by having Expensify continuously reconcile Expensify Card statements and settlements on your behalf.',
enableContinuousReconciliation: (accountingAdvancedSettingsLink: string, connectionName: string) =>
`<muted-text-label>In order to enable Continuous Reconciliation, please enable <a href="${accountingAdvancedSettingsLink}">auto-sync</a> for ${connectionName}.</muted-text-label>`,
chooseReconciliationAccount: {
chooseBankAccount: 'Choose the bank account that your Expensify Card payments will be reconciled against.',
chooseTravelInvoicingBankAccount: 'Choose the bank account that your travel invoicing payments will be reconciled against.',
settlementAccountReconciliation: (settlementAccountUrl: string, lastFourPAN: string) =>
`Make sure this account matches your <a href="${settlementAccountUrl}">Expensify Card settlement account</a> (ending in ${lastFourPAN}) so Continuous Reconciliation works properly.`,
travelInvoicingSettlementAccountReconciliation: (lastFourPAN: string) =>
`Make sure this account matches your travel invoicing settlement account (ending in ${lastFourPAN}) so Continuous Reconciliation works properly.`,
},
},
hr: {
Expand Down
4 changes: 4 additions & 0 deletions src/languages/es.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6167,7 +6167,11 @@ ${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.',
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.`,
},
syncTravelInvoicingSettlements: 'Sincronizar liquidaciones de facturación de viajes',
},
card: {
issueCard: 'Emitir tarjeta',
Expand Down
4 changes: 4 additions & 0 deletions src/languages/fr.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6406,7 +6406,11 @@ _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.',
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.`,
},
syncTravelInvoicingSettlements: 'Synchroniser les règlements de facturation de voyage',
},
export: {
notReadyHeading: 'Pas prêt à être exporté',
Expand Down
4 changes: 4 additions & 0 deletions src/languages/it.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6374,7 +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.',
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.`,
},
syncTravelInvoicingSettlements: 'Sincronizza le liquidazioni delle fatture di viaggio',
},
export: {
notReadyHeading: 'Non pronto per l’esportazione',
Expand Down
4 changes: 4 additions & 0 deletions src/languages/ja.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6303,7 +6303,11 @@ _詳しい手順については、[ヘルプサイトをご覧ください](${CO
chooseBankAccount: 'Expensify カードの支払いを照合する銀行口座を選択してください。',
settlementAccountReconciliation: (settlementAccountUrl: string, lastFourPAN: string) =>
`継続消込が正しく機能するように、この口座が、末尾が ${lastFourPAN} の<a href="${settlementAccountUrl}">Expensify カード精算口座</a>と一致していることを確認してください。`,
chooseTravelInvoicingBankAccount: '出張請求の支払いの消込に使用する銀行口座を選択してください。',
travelInvoicingSettlementAccountReconciliation: (lastFourPAN: string) =>
`Continuous Reconciliation が正しく機能するように、この口座が、旅行の請求書決済用口座(末尾が ${lastFourPAN} の口座)と一致していることを確認してください。`,
},
syncTravelInvoicingSettlements: '出張請求の精算を同期',
},
export: {
notReadyHeading: 'エクスポートの準備ができていません',
Expand Down
12 changes: 8 additions & 4 deletions src/languages/nl.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6352,7 +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.',
travelInvoicingSettlementAccountReconciliation: (lastFourPAN: string) =>
`Zorg ervoor dat deze rekening overeenkomt met je afwikkelingsrekening voor reiskostenfacturatie (die eindigt op ${lastFourPAN}), zodat Continue Afstemming goed werkt.`,
},
syncTravelInvoicingSettlements: 'Reisfactureringsafrekeningen synchroniseren',
},
export: {
notReadyHeading: 'Niet klaar om te exporteren',
Expand Down Expand Up @@ -6903,10 +6907,10 @@ Vereis onkostendetails zoals bonnen en beschrijvingen, stel limieten en standaar
title: 'Expensify Kaarten bieden altijd ingebouwde bescherming',
description: `Expensify weigert deze uitgaven altijd:

• Services voor volwassenen
• Geldautomaten (ATM's)
• Gokken
• Geldoverschrijvingen
• Services voor volwassenen
• Geldautomaten (ATM's)
• Gokken
• Geldoverschrijvingen
er bestedingsregels toe om de kasstroom van het bedrijf te beschermen.`,
},
addSpendRule: 'Uitgaveregel toevoegen',
Expand Down
4 changes: 4 additions & 0 deletions src/languages/pl.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6345,7 +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.',
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.`,
},
syncTravelInvoicingSettlements: 'Synchronizuj rozliczenia faktur podróżnych',
},
export: {
notReadyHeading: 'Niegotowe do eksportu',
Expand Down
4 changes: 4 additions & 0 deletions src/languages/pt-BR.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6353,7 +6353,11 @@ _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.',
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.`,
},
syncTravelInvoicingSettlements: 'Sincronizar liquidações de faturamento de viagens',
},
export: {
notReadyHeading: 'Não está pronto para exportar',
Expand Down
3 changes: 3 additions & 0 deletions src/languages/zh-hans.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6198,7 +6198,10 @@ _如需更详细的说明,请[访问我们的帮助网站](${CONST.NETSUITE_IM
chooseBankAccount: '选择用于对账 Expensify 卡付款的银行账户。',
settlementAccountReconciliation: (settlementAccountUrl: string, lastFourPAN: string) =>
`请确保此账户与您的<a href="${settlementAccountUrl}">Expensify 卡结算账户</a>(末尾为 ${lastFourPAN})一致,以便持续对账功能正常运行。`,
chooseTravelInvoicingBankAccount: '选择用于核对差旅开票付款的银行账户。',
travelInvoicingSettlementAccountReconciliation: (lastFourPAN: string) => `请确保此账户与您的差旅发票结算账户(以 ${lastFourPAN} 结尾)一致,以确保持续对账功能正常运行。`,
},
syncTravelInvoicingSettlements: '同步差旅开票结算',
},
export: {
notReadyHeading: '尚未准备好导出',
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
type SetTravelInvoicingReconciliationBankAccountParams = {
domainName: string;
travelInvoicingReconciliationBankAccountID: string;
};

export default SetTravelInvoicingReconciliationBankAccountParams;
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
type ToggleTravelInvoicingContinuousReconciliationParams = {
policyAccountID: number;
shouldUseContinuousReconciliation: boolean;
travelInvoicingContinuousReconciliationConnection?: string;
};

export default ToggleTravelInvoicingContinuousReconciliationParams;
2 changes: 2 additions & 0 deletions src/libs/API/parameters/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -409,7 +409,9 @@ export type {default as UpdateCardSettlementAccountParams} from './UpdateCardSet
export type {default as ConfigureTravelInvoicingForPolicyParams} from './ConfigureTravelInvoicingForPolicyParams';
export type {default as DeactivateTravelInvoicingParams} from './DeactivateTravelInvoicingParams';
export type {default as SetTravelInvoicingSettlementAccountParams} from './SetTravelInvoicingSettlementAccountParams';
export type {default as SetTravelInvoicingReconciliationBankAccountParams} from './SetTravelInvoicingReconciliationBankAccountParams';
export type {default as PayTravelInvoicingSpendParams} from './PayTravelInvoicingSpendParams';
export type {default as ToggleTravelInvoicingContinuousReconciliationParams} from './ToggleTravelInvoicingContinuousReconciliationParams';
export type {default as UpdateTravelInvoicingMonthlyLimitParams} from './UpdateTravelInvoicingMonthlyLimitParams';
export type {default as UpdateTravelInvoicingSettlementFrequencyParams} from './UpdateTravelInvoicingSettlementFrequencyParams';
export type {default as RetryTravelCardsProvisioningParams} from './RetryTravelCardsProvisioningParams';
Expand Down
4 changes: 4 additions & 0 deletions src/libs/API/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -510,6 +510,8 @@ const WRITE_COMMANDS = {
CONFIGURE_TRAVEL_INVOICING_FOR_POLICY: 'ConfigureTravelInvoicingForPolicy',
DEACTIVATE_TRAVEL_INVOICING: 'DeactivateTravelInvoicing',
SET_TRAVEL_INVOICING_SETTLEMENT_ACCOUNT: 'SetTravelInvoicingSettlementAccount',
SET_TRAVEL_INVOICING_RECONCILIATION_BANK_ACCOUNT: 'SetTravelInvoicingReconciliationBankAccount',
TOGGLE_TRAVEL_INVOICING_CONTINUOUS_RECONCILIATION: 'ToggleTravelInvoicingContinuousReconciliation',
UPDATE_TRAVEL_INVOICE_SETTLEMENT_FREQUENCY: 'UpdateTravelInvoiceSettlementFrequency',
UPDATE_TRAVEL_INVOICING_MONTHLY_LIMIT: 'UpdateTravelInvoicingMonthlyLimit',
PAY_TRAVEL_INVOICING_SPEND: 'PayTravelInvoicingSpend',
Expand Down Expand Up @@ -1157,6 +1159,8 @@ type WriteCommandParameters = {
[WRITE_COMMANDS.CONFIGURE_TRAVEL_INVOICING_FOR_POLICY]: Parameters.ConfigureTravelInvoicingForPolicyParams;
[WRITE_COMMANDS.DEACTIVATE_TRAVEL_INVOICING]: Parameters.DeactivateTravelInvoicingParams;
[WRITE_COMMANDS.SET_TRAVEL_INVOICING_SETTLEMENT_ACCOUNT]: Parameters.SetTravelInvoicingSettlementAccountParams;
[WRITE_COMMANDS.SET_TRAVEL_INVOICING_RECONCILIATION_BANK_ACCOUNT]: Parameters.SetTravelInvoicingReconciliationBankAccountParams;
[WRITE_COMMANDS.TOGGLE_TRAVEL_INVOICING_CONTINUOUS_RECONCILIATION]: Parameters.ToggleTravelInvoicingContinuousReconciliationParams;
[WRITE_COMMANDS.UPDATE_TRAVEL_INVOICE_SETTLEMENT_FREQUENCY]: Parameters.UpdateTravelInvoicingSettlementFrequencyParams;
[WRITE_COMMANDS.UPDATE_TRAVEL_INVOICING_MONTHLY_LIMIT]: Parameters.UpdateTravelInvoicingMonthlyLimitParams;
[WRITE_COMMANDS.PAY_TRAVEL_INVOICING_SPEND]: Parameters.PayTravelInvoicingSpendParams;
Expand Down
2 changes: 2 additions & 0 deletions src/libs/Navigation/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import type {SaveSearchParams} from '@libs/API/parameters';
import type {ReimbursementAccountStepToOpen} from '@libs/ReimbursementAccountUtils';
import type {AvatarSource} from '@libs/UserAvatarUtils';
import type {AttachmentModalContainerModalProps} from '@pages/media/AttachmentModalScreen/types';
import type RECONCILIATION_ACCOUNT_SETTINGS_TYPE from '@pages/workspace/accounting/reconciliation/constants';
import type CONST from '@src/CONST';
import type {Country, IOUAction, IOUType, OdometerImageType} from '@src/CONST';
import type NAVIGATORS from '@src/NAVIGATORS';
Expand Down Expand Up @@ -1151,6 +1152,7 @@ type SettingsNavigatorParamList = {
[SCREENS.WORKSPACE.ACCOUNTING.DYNAMIC_RECONCILIATION_ACCOUNT_SETTINGS]: {
policyID: string;
connection: ValueOf<typeof CONST.POLICY.CONNECTIONS.ROUTE>;
reconciliationAccountSettingsType?: ValueOf<typeof RECONCILIATION_ACCOUNT_SETTINGS_TYPE>;
};
[SCREENS.TWO_FACTOR_AUTH.DISABLED]: undefined;
[SCREENS.TWO_FACTOR_AUTH.DISABLE]: undefined;
Expand Down
Loading
Loading