From c4186db0ab69cb7c3aaec74e483f580dff8bd82e Mon Sep 17 00:00:00 2001 From: Ben Limpich Date: Thu, 28 May 2026 10:13:47 -0700 Subject: [PATCH 01/10] Make onCardReconciliationPagePress optional on AccountingIntegration --- src/pages/workspace/accounting/types.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/workspace/accounting/types.ts b/src/pages/workspace/accounting/types.ts index c17cf7a0233f..c7b261a1d695 100644 --- a/src/pages/workspace/accounting/types.ts +++ b/src/pages/workspace/accounting/types.ts @@ -34,7 +34,7 @@ type AccountingIntegration = { subscribedExportSettings?: string[]; onAdvancedPagePress: () => void; subscribedAdvancedSettings?: string[]; - onCardReconciliationPagePress: () => void; + onCardReconciliationPagePress?: () => void; pendingFields?: PendingFields; errorFields?: ErrorFields; workspaceUpgradeNavigationDetails?: WorkspaceUpgradeNavigationDetails; From 05954769c06f89c07b2092f129116daa4713449a Mon Sep 17 00:00:00 2001 From: Ben Limpich Date: Thu, 28 May 2026 10:14:03 -0700 Subject: [PATCH 02/10] Gate Card reconciliation menu item on per-integration handler presence --- src/pages/workspace/accounting/PolicyAccountingPage.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/workspace/accounting/PolicyAccountingPage.tsx b/src/pages/workspace/accounting/PolicyAccountingPage.tsx index 897a85412109..a0aa45009347 100644 --- a/src/pages/workspace/accounting/PolicyAccountingPage.tsx +++ b/src/pages/workspace/accounting/PolicyAccountingPage.tsx @@ -429,7 +429,7 @@ function PolicyAccountingPage({policy}: PolicyAccountingPageProps) { : undefined, pendingAction: settingsPendingAction(integrationData?.subscribedExportSettings, integrationData?.pendingFields), }, - ...(shouldShowCardReconciliationOption + ...(shouldShowCardReconciliationOption && integrationData?.onCardReconciliationPagePress ? [ { icon: icons.ExpensifyCard, From 17f5bd6f7c1c8c719182a46d24adecf41eb7f7d5 Mon Sep 17 00:00:00 2001 From: Ben Limpich Date: Thu, 28 May 2026 10:14:20 -0700 Subject: [PATCH 03/10] Remove QBD Card reconciliation menu entry --- src/pages/workspace/accounting/utils.tsx | 1 - 1 file changed, 1 deletion(-) diff --git a/src/pages/workspace/accounting/utils.tsx b/src/pages/workspace/accounting/utils.tsx index 545a96c0d8ca..f2bd9b241bbc 100644 --- a/src/pages/workspace/accounting/utils.tsx +++ b/src/pages/workspace/accounting/utils.tsx @@ -300,7 +300,6 @@ function getAccountingIntegrationData( ), onImportPagePress: () => Navigation.navigate(ROUTES.POLICY_ACCOUNTING_QUICKBOOKS_DESKTOP_IMPORT.getRoute(policyID)), onExportPagePress: () => Navigation.navigate(createDynamicRoute(DYNAMIC_ROUTES.POLICY_ACCOUNTING_QUICKBOOKS_DESKTOP_EXPORT.path)), - onCardReconciliationPagePress: () => Navigation.navigate(ROUTES.WORKSPACE_ACCOUNTING_CARD_RECONCILIATION.getRoute(policyID, CONST.POLICY.CONNECTIONS.ROUTE.QBD)), onAdvancedPagePress: () => Navigation.navigate(createDynamicRoute(DYNAMIC_ROUTES.WORKSPACE_ACCOUNTING_QUICKBOOKS_DESKTOP_ADVANCED.path, ROUTES.POLICY_ACCOUNTING.getRoute(policyID))), subscribedImportSettings: [ From e9b512220f1b03f217f45a752f9219be392f8cbc Mon Sep 17 00:00:00 2001 From: Ben Limpich Date: Thu, 28 May 2026 10:14:36 -0700 Subject: [PATCH 04/10] Drop QBD case from Card reconciliation auto-sync link switch --- .../accounting/reconciliation/CardReconciliationPage.tsx | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/pages/workspace/accounting/reconciliation/CardReconciliationPage.tsx b/src/pages/workspace/accounting/reconciliation/CardReconciliationPage.tsx index c935f2910794..b9ed95e7ea37 100644 --- a/src/pages/workspace/accounting/reconciliation/CardReconciliationPage.tsx +++ b/src/pages/workspace/accounting/reconciliation/CardReconciliationPage.tsx @@ -113,8 +113,6 @@ function CardReconciliationPage({policy, route}: CardReconciliationPageProps) { return `${environmentURL}/${ROUTES.WORKSPACE_ACCOUNTING_CARD_RECONCILIATION.getRoute(policyID, connection)}/${DYNAMIC_ROUTES.NETSUITE_AUTO_SYNC.path}`; case CONST.POLICY.CONNECTIONS.ROUTE.SAGE_INTACCT: return `${environmentURL}/${ROUTES.POLICY_ACCOUNTING_CARD_RECONCILIATION_SAGE_INTACCT_AUTO_SYNC.getRoute(policyID)}`; - case CONST.POLICY.CONNECTIONS.ROUTE.QBD: - return `${environmentURL}/${ROUTES.POLICY_ACCOUNTING_CARD_RECONCILIATION_QUICKBOOKS_DESKTOP_AUTO_SYNC.getRoute(policyID)}`; default: return ''; } From d8e1958f2ad998fcde6656ba28d3046486da16a0 Mon Sep 17 00:00:00 2001 From: Ben Limpich Date: Thu, 28 May 2026 10:14:53 -0700 Subject: [PATCH 05/10] Drop QBD Card reconciliation screen from RHP relations --- src/libs/Navigation/linkingConfig/RELATIONS/WORKSPACE_TO_RHP.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/libs/Navigation/linkingConfig/RELATIONS/WORKSPACE_TO_RHP.ts b/src/libs/Navigation/linkingConfig/RELATIONS/WORKSPACE_TO_RHP.ts index b6c64e0ddddf..23d9965f2168 100755 --- a/src/libs/Navigation/linkingConfig/RELATIONS/WORKSPACE_TO_RHP.ts +++ b/src/libs/Navigation/linkingConfig/RELATIONS/WORKSPACE_TO_RHP.ts @@ -47,7 +47,6 @@ const WORKSPACE_TO_RHP: Partial Date: Thu, 28 May 2026 10:15:14 -0700 Subject: [PATCH 06/10] Drop QBD Card reconciliation entry from linking config --- src/libs/Navigation/linkingConfig/config.ts | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/libs/Navigation/linkingConfig/config.ts b/src/libs/Navigation/linkingConfig/config.ts index 4ff99bc12147..7c80ab363178 100644 --- a/src/libs/Navigation/linkingConfig/config.ts +++ b/src/libs/Navigation/linkingConfig/config.ts @@ -808,9 +808,6 @@ const config: LinkingOptions['config'] = { [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.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, - }, [SCREENS.WORKSPACE.ACCOUNTING.CARD_RECONCILIATION_SAGE_INTACCT_AUTO_SYNC]: { path: ROUTES.POLICY_ACCOUNTING_CARD_RECONCILIATION_SAGE_INTACCT_AUTO_SYNC.route, }, From 7a76a0a3423efd55abf6a8d271fb09e366d08cd8 Mon Sep 17 00:00:00 2001 From: Ben Limpich Date: Thu, 28 May 2026 10:15:30 -0700 Subject: [PATCH 07/10] Drop QBD Card reconciliation modal stack registration --- src/libs/Navigation/AppNavigator/ModalStackNavigators/index.tsx | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/libs/Navigation/AppNavigator/ModalStackNavigators/index.tsx b/src/libs/Navigation/AppNavigator/ModalStackNavigators/index.tsx index 24eb086ebc38..526331524537 100644 --- a/src/libs/Navigation/AppNavigator/ModalStackNavigators/index.tsx +++ b/src/libs/Navigation/AppNavigator/ModalStackNavigators/index.tsx @@ -922,8 +922,6 @@ const SettingsModalStackNavigator = createModalStackNavigator require('../../../../pages/workspace/accounting/certinia/CertiniaExistingConnectionsPage').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, [SCREENS.WORKSPACE.ACCOUNTING.CARD_RECONCILIATION_SAGE_INTACCT_AUTO_SYNC]: () => require('../../../../pages/workspace/accounting/reconciliation/CardReconciliationSageIntacctAutoSyncPage').default, [SCREENS.WORKSPACE.ACCOUNTING.DYNAMIC_RECONCILIATION_ACCOUNT_SETTINGS]: () => From d17e8f7738ac305eaf1a710bd2a533ddd8b9a187 Mon Sep 17 00:00:00 2001 From: Ben Limpich Date: Thu, 28 May 2026 10:15:36 -0700 Subject: [PATCH 08/10] Delete unreferenced CardReconciliationQuickbooksDesktopAutoSyncPage --- ...nciliationQuickbooksDesktopAutoSyncPage.tsx | 18 ------------------ 1 file changed, 18 deletions(-) delete mode 100644 src/pages/workspace/accounting/reconciliation/CardReconciliationQuickbooksDesktopAutoSyncPage.tsx diff --git a/src/pages/workspace/accounting/reconciliation/CardReconciliationQuickbooksDesktopAutoSyncPage.tsx b/src/pages/workspace/accounting/reconciliation/CardReconciliationQuickbooksDesktopAutoSyncPage.tsx deleted file mode 100644 index 6d39de87a157..000000000000 --- a/src/pages/workspace/accounting/reconciliation/CardReconciliationQuickbooksDesktopAutoSyncPage.tsx +++ /dev/null @@ -1,18 +0,0 @@ -import React from 'react'; -import QuickbooksDesktopAutoSyncPageBase from '@pages/workspace/accounting/qbd/advanced/QuickbooksDesktopAutoSyncPageBase'; -import withPolicyConnections from '@pages/workspace/withPolicyConnections'; -import type {WithPolicyConnectionsProps} from '@pages/workspace/withPolicyConnections'; -import CONST from '@src/CONST'; -import ROUTES from '@src/ROUTES'; - -function CardReconciliationQuickbooksDesktopAutoSyncPage({policy}: WithPolicyConnectionsProps) { - const policyID = policy?.id; - return ( - - ); -} - -export default withPolicyConnections(CardReconciliationQuickbooksDesktopAutoSyncPage); From 7cf67146aa7f95bc37819c0b7ab3b0dabc402918 Mon Sep 17 00:00:00 2001 From: Ben Limpich Date: Thu, 28 May 2026 10:15:53 -0700 Subject: [PATCH 09/10] Remove POLICY_ACCOUNTING_CARD_RECONCILIATION_QUICKBOOKS_DESKTOP_AUTO_SYNC route --- src/ROUTES.ts | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/src/ROUTES.ts b/src/ROUTES.ts index cf6f8f95f7a5..a714b3bd371e 100644 --- a/src/ROUTES.ts +++ b/src/ROUTES.ts @@ -2145,16 +2145,6 @@ const ROUTES = { return `workspaces/${policyID}/accounting/quickbooks-desktop/advanced/autosync` as const; }, }, - POLICY_ACCOUNTING_CARD_RECONCILIATION_QUICKBOOKS_DESKTOP_AUTO_SYNC: { - route: 'workspaces/:policyID/accounting/quickbooks-desktop/card-reconciliation/autosync', - getRoute: (policyID?: string) => { - if (!policyID) { - Log.warn('Invalid policyID is used to build the POLICY_ACCOUNTING_CARD_RECONCILIATION_QUICKBOOKS_DESKTOP_AUTO_SYNC route'); - } - - return `workspaces/${policyID}/accounting/quickbooks-desktop/card-reconciliation/autosync` as const; - }, - }, POLICY_ACCOUNTING_CARD_RECONCILIATION_SAGE_INTACCT_AUTO_SYNC: { route: 'workspaces/:policyID/accounting/sage-intacct/card-reconciliation/autosync', getRoute: (policyID?: string) => { From 05eca98c083718c09ed2bc9d63beac9e669f4e60 Mon Sep 17 00:00:00 2001 From: Ben Limpich Date: Thu, 28 May 2026 10:16:07 -0700 Subject: [PATCH 10/10] Remove CARD_RECONCILIATION_QUICKBOOKS_DESKTOP_AUTO_SYNC screen constant --- src/SCREENS.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/SCREENS.ts b/src/SCREENS.ts index 66956e3afc50..8a8b369266da 100644 --- a/src/SCREENS.ts +++ b/src/SCREENS.ts @@ -697,7 +697,6 @@ const SCREENS = { CERTINIA_DEFAULT_VENDOR: 'Policy_Accounting_Certinia_Default_Vendor', CERTINIA_ADVANCED: 'Policy_Accounting_Certinia_Advanced', CARD_RECONCILIATION: 'Policy_Accounting_Card_Reconciliation', - CARD_RECONCILIATION_QUICKBOOKS_DESKTOP_AUTO_SYNC: 'Policy_Accounting_Card_Reconciliation_Quickbooks_Desktop_Auto_Sync', CARD_RECONCILIATION_SAGE_INTACCT_AUTO_SYNC: 'Policy_Accounting_Card_Reconciliation_Sage_Intacct_Auto_Sync', DYNAMIC_RECONCILIATION_ACCOUNT_SETTINGS: 'Dynamic_Policy_Accounting_Reconciliation_Account_Settings', },