From 827b1f2638f11b85f6ec2e81784170b0616d117e Mon Sep 17 00:00:00 2001 From: Etotaziba Olei Date: Mon, 22 Apr 2024 18:41:31 +0100 Subject: [PATCH 01/21] swap withPolicy to withPolicyConnections for advanced page --- .../accounting/qbo/advanced/QuickbooksAccountSelectPage.tsx | 4 ++-- .../accounting/qbo/advanced/QuickbooksAdvancedPage.tsx | 4 ++-- .../qbo/advanced/QuickbooksInvoiceAccountSelectPage.tsx | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/pages/workspace/accounting/qbo/advanced/QuickbooksAccountSelectPage.tsx b/src/pages/workspace/accounting/qbo/advanced/QuickbooksAccountSelectPage.tsx index cf23c98c0895..e8b9bdbe0415 100644 --- a/src/pages/workspace/accounting/qbo/advanced/QuickbooksAccountSelectPage.tsx +++ b/src/pages/workspace/accounting/qbo/advanced/QuickbooksAccountSelectPage.tsx @@ -13,8 +13,8 @@ import Navigation from '@libs/Navigation/Navigation'; import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper'; import FeatureEnabledAccessOrNotFoundWrapper from '@pages/workspace/FeatureEnabledAccessOrNotFoundWrapper'; import PaidPolicyAccessOrNotFoundWrapper from '@pages/workspace/PaidPolicyAccessOrNotFoundWrapper'; -import withPolicy from '@pages/workspace/withPolicy'; import type {WithPolicyProps} from '@pages/workspace/withPolicy'; +import withPolicyConnections from '@pages/workspace/withPolicyConnections'; import CONST from '@src/CONST'; import ROUTES from '@src/ROUTES'; @@ -98,4 +98,4 @@ function QuickbooksAccountSelectPage({policy}: WithPolicyProps) { QuickbooksAccountSelectPage.displayName = 'QuickbooksAccountSelectPage'; -export default withPolicy(QuickbooksAccountSelectPage); +export default withPolicyConnections(QuickbooksAccountSelectPage); diff --git a/src/pages/workspace/accounting/qbo/advanced/QuickbooksAdvancedPage.tsx b/src/pages/workspace/accounting/qbo/advanced/QuickbooksAdvancedPage.tsx index 807a5b74ce18..3728b74e25b4 100644 --- a/src/pages/workspace/accounting/qbo/advanced/QuickbooksAdvancedPage.tsx +++ b/src/pages/workspace/accounting/qbo/advanced/QuickbooksAdvancedPage.tsx @@ -16,8 +16,8 @@ import Navigation from '@libs/Navigation/Navigation'; import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper'; import FeatureEnabledAccessOrNotFoundWrapper from '@pages/workspace/FeatureEnabledAccessOrNotFoundWrapper'; import PaidPolicyAccessOrNotFoundWrapper from '@pages/workspace/PaidPolicyAccessOrNotFoundWrapper'; -import withPolicy from '@pages/workspace/withPolicy'; import type {WithPolicyProps} from '@pages/workspace/withPolicy'; +import withPolicyConnections from '@pages/workspace/withPolicyConnections'; import ToggleSettingOptionRow from '@pages/workspace/workflows/ToggleSettingsOptionRow'; import type {ToggleSettingOptionRowProps} from '@pages/workspace/workflows/ToggleSettingsOptionRow'; import * as Policy from '@userActions/Policy'; @@ -174,4 +174,4 @@ function QuickbooksAdvancedPage({policy}: WithPolicyProps) { QuickbooksAdvancedPage.displayName = 'QuickbooksAdvancedPage'; -export default withPolicy(QuickbooksAdvancedPage); +export default withPolicyConnections(QuickbooksAdvancedPage); diff --git a/src/pages/workspace/accounting/qbo/advanced/QuickbooksInvoiceAccountSelectPage.tsx b/src/pages/workspace/accounting/qbo/advanced/QuickbooksInvoiceAccountSelectPage.tsx index ecee5fee40bc..3a1661c6e8d5 100644 --- a/src/pages/workspace/accounting/qbo/advanced/QuickbooksInvoiceAccountSelectPage.tsx +++ b/src/pages/workspace/accounting/qbo/advanced/QuickbooksInvoiceAccountSelectPage.tsx @@ -13,8 +13,8 @@ import Navigation from '@libs/Navigation/Navigation'; import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper'; import FeatureEnabledAccessOrNotFoundWrapper from '@pages/workspace/FeatureEnabledAccessOrNotFoundWrapper'; import PaidPolicyAccessOrNotFoundWrapper from '@pages/workspace/PaidPolicyAccessOrNotFoundWrapper'; -import withPolicy from '@pages/workspace/withPolicy'; import type {WithPolicyProps} from '@pages/workspace/withPolicy'; +import withPolicyConnections from '@pages/workspace/withPolicyConnections'; import CONST from '@src/CONST'; import ROUTES from '@src/ROUTES'; @@ -99,4 +99,4 @@ function QuickbooksInvoiceAccountSelectPage({policy}: WithPolicyProps) { QuickbooksInvoiceAccountSelectPage.displayName = 'QuickbooksInvoiceAccountSelectPage'; -export default withPolicy(QuickbooksInvoiceAccountSelectPage); +export default withPolicyConnections(QuickbooksInvoiceAccountSelectPage); From 9ae3099f1f795bc31e163174d9090ba00d2318a5 Mon Sep 17 00:00:00 2001 From: Etotaziba Olei Date: Wed, 24 Apr 2024 17:01:09 +0100 Subject: [PATCH 02/21] remove drafts --- .../advanced/QuickbooksAccountSelectPage.tsx | 17 ++++------------- .../qbo/advanced/QuickbooksAdvancedPage.tsx | 10 +++++----- .../QuickbooksInvoiceAccountSelectPage.tsx | 17 ++++------------- 3 files changed, 13 insertions(+), 31 deletions(-) diff --git a/src/pages/workspace/accounting/qbo/advanced/QuickbooksAccountSelectPage.tsx b/src/pages/workspace/accounting/qbo/advanced/QuickbooksAccountSelectPage.tsx index e8b9bdbe0415..054f7d7ee52e 100644 --- a/src/pages/workspace/accounting/qbo/advanced/QuickbooksAccountSelectPage.tsx +++ b/src/pages/workspace/accounting/qbo/advanced/QuickbooksAccountSelectPage.tsx @@ -22,23 +22,14 @@ type SelectorType = ListItem & { value: string; }; -// TODO: remove once UI is approved -const DRAFT = [ - {name: 'Croissant Co Payroll Account', id: 'Croissant Co Payroll Account'}, - {name: 'Croissant Co Money in Clearing', id: 'Croissant Co Money in Clearing'}, - {name: 'Croissant Co Debts and Loans', id: 'Croissant Co Debts and Loans'}, -]; - function QuickbooksAccountSelectPage({policy}: WithPolicyProps) { const styles = useThemeStyles(); const {translate} = useLocalize(); - const selectedAccount = DRAFT[0].id; // selected - const policyID = policy?.id ?? ''; const {bankAccounts, creditCards} = policy?.connections?.quickbooksOnline?.data ?? {}; - // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing - const accountOptions = useMemo(() => DRAFT || [...(bankAccounts ?? []), ...(creditCards ?? [])], [bankAccounts, creditCards]); + const {reimbursementAccountID} = policy?.connections?.quickbooksOnline?.config ?? {}; + const accountOptions = useMemo(() => [...(bankAccounts ?? []), ...(creditCards ?? [])], [bankAccounts, creditCards]); const qboOnlineSelectorOptions = useMemo( () => @@ -46,9 +37,9 @@ function QuickbooksAccountSelectPage({policy}: WithPolicyProps) { value: id, text: name, keyForList: id, - isSelected: selectedAccount === id, + isSelected: reimbursementAccountID === id, })), - [selectedAccount, accountOptions], + [reimbursementAccountID, accountOptions], ); const listHeaderComponent = useMemo( () => ( diff --git a/src/pages/workspace/accounting/qbo/advanced/QuickbooksAdvancedPage.tsx b/src/pages/workspace/accounting/qbo/advanced/QuickbooksAdvancedPage.tsx index 3728b74e25b4..9b04e78c74c5 100644 --- a/src/pages/workspace/accounting/qbo/advanced/QuickbooksAdvancedPage.tsx +++ b/src/pages/workspace/accounting/qbo/advanced/QuickbooksAdvancedPage.tsx @@ -31,9 +31,9 @@ function QuickbooksAdvancedPage({policy}: WithPolicyProps) { const policyID = policy?.id ?? ''; const qboConfig = policy?.connections?.quickbooksOnline?.config; - const {autoSync, syncPeople, autoCreateVendor, pendingFields, collectionAccountID, errorFields} = qboConfig ?? {}; + const {autoSync, syncPeople, autoCreateVendor, pendingFields, collectionAccountID, reimbursementAccountID, errorFields} = qboConfig ?? {}; + const {bankAccounts} = policy?.connections?.quickbooksOnline?.data ?? {}; const isSyncReimbursedSwitchOn = !!collectionAccountID; - const selectedAccount = '92345'; // TODO: use fake selected account temporarily. const qboToggleSettingItems: ToggleSettingOptionRowProps[] = [ { @@ -119,7 +119,7 @@ function QuickbooksAdvancedPage({policy}: WithPolicyProps) { policyID, CONST.POLICY.CONNECTIONS.NAME.QBO, CONST.QUICK_BOOKS_CONFIG.COLLECTION_ACCOUNT_ID, - isSyncReimbursedSwitchOn ? '' : selectedAccount, + isSyncReimbursedSwitchOn ? '' : bankAccounts?.[0].id, ) } /> @@ -129,7 +129,7 @@ function QuickbooksAdvancedPage({policy}: WithPolicyProps) { Navigation.navigate(ROUTES.WORKSPACE_ACCOUNTING_QUICKBOOKS_ONLINE_ACCOUNT_SELECTOR.getRoute(policyID)))} @@ -154,7 +154,7 @@ function QuickbooksAdvancedPage({policy}: WithPolicyProps) { interactive={false} /> Navigation.navigate(ROUTES.WORKSPACE_ACCOUNTING_QUICKBOOKS_ONLINE_INVOICE_ACCOUNT_SELECTOR.getRoute(policyID)))} diff --git a/src/pages/workspace/accounting/qbo/advanced/QuickbooksInvoiceAccountSelectPage.tsx b/src/pages/workspace/accounting/qbo/advanced/QuickbooksInvoiceAccountSelectPage.tsx index 3a1661c6e8d5..5459423dd760 100644 --- a/src/pages/workspace/accounting/qbo/advanced/QuickbooksInvoiceAccountSelectPage.tsx +++ b/src/pages/workspace/accounting/qbo/advanced/QuickbooksInvoiceAccountSelectPage.tsx @@ -22,23 +22,14 @@ type SelectorType = ListItem & { value: string; }; -// TODO: remove once UI is approved -const DRAFT = [ - {name: 'Croissant Co Payroll Account', id: 'Croissant Co Payroll Account'}, - {name: 'Croissant Co Money in Clearing', id: 'Croissant Co Money in Clearing'}, - {name: 'Croissant Co Debts and Loans', id: 'Croissant Co Debts and Loans'}, -]; - function QuickbooksInvoiceAccountSelectPage({policy}: WithPolicyProps) { const styles = useThemeStyles(); const {translate} = useLocalize(); - const selectedAccount = DRAFT[1].id; // selected - const policyID = policy?.id ?? ''; const {bankAccounts, otherCurrentAssetAccounts} = policy?.connections?.quickbooksOnline?.data ?? {}; - // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing - const accountOptions = useMemo(() => DRAFT || [...(bankAccounts ?? []), ...(otherCurrentAssetAccounts ?? [])], [bankAccounts, otherCurrentAssetAccounts]); + const accountOptions = useMemo(() => [...(bankAccounts ?? []), ...(otherCurrentAssetAccounts ?? [])], [bankAccounts, otherCurrentAssetAccounts]); + const {collectionAccountID} = policy?.connections?.quickbooksOnline?.config ?? {}; const qboOnlineSelectorOptions = useMemo( () => @@ -46,9 +37,9 @@ function QuickbooksInvoiceAccountSelectPage({policy}: WithPolicyProps) { value: id, text: name, keyForList: id, - isSelected: selectedAccount === id, + isSelected: collectionAccountID === id, })), - [selectedAccount, accountOptions], + [collectionAccountID, accountOptions], ); const listHeaderComponent = useMemo( From 213aef488cda2ada526b4187416c57a812e2ff77 Mon Sep 17 00:00:00 2001 From: Etotaziba Olei Date: Wed, 24 Apr 2024 18:49:39 +0100 Subject: [PATCH 03/21] update selected qbo and invoice collection name --- .../qbo/advanced/QuickbooksAdvancedPage.tsx | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/src/pages/workspace/accounting/qbo/advanced/QuickbooksAdvancedPage.tsx b/src/pages/workspace/accounting/qbo/advanced/QuickbooksAdvancedPage.tsx index 9b04e78c74c5..1eda7baf52bb 100644 --- a/src/pages/workspace/accounting/qbo/advanced/QuickbooksAdvancedPage.tsx +++ b/src/pages/workspace/accounting/qbo/advanced/QuickbooksAdvancedPage.tsx @@ -1,4 +1,4 @@ -import React from 'react'; +import React, {useMemo} from 'react'; import {View} from 'react-native'; import HeaderWithBackButton from '@components/HeaderWithBackButton'; import MenuItem from '@components/MenuItem'; @@ -32,9 +32,19 @@ function QuickbooksAdvancedPage({policy}: WithPolicyProps) { const policyID = policy?.id ?? ''; const qboConfig = policy?.connections?.quickbooksOnline?.config; const {autoSync, syncPeople, autoCreateVendor, pendingFields, collectionAccountID, reimbursementAccountID, errorFields} = qboConfig ?? {}; - const {bankAccounts} = policy?.connections?.quickbooksOnline?.data ?? {}; + const {bankAccounts, creditCards, otherCurrentAssetAccounts} = policy?.connections?.quickbooksOnline?.data ?? {}; + + const qboAccountOptions = useMemo(() => [...(bankAccounts ?? []), ...(creditCards ?? [])], [bankAccounts, creditCards]); + const invoiceAccountCollectionOptions = useMemo(() => [...(bankAccounts ?? []), ...(otherCurrentAssetAccounts ?? [])], [bankAccounts, otherCurrentAssetAccounts]); + const isSyncReimbursedSwitchOn = !!collectionAccountID; + const selectedQboAccountName = useMemo(() => qboAccountOptions?.find(({id}) => id === reimbursementAccountID)?.name, [qboAccountOptions, reimbursementAccountID]); + const selectedInvoiceCollectionAccountName = useMemo( + () => invoiceAccountCollectionOptions?.find(({id}) => id === collectionAccountID)?.name, + [invoiceAccountCollectionOptions, collectionAccountID], + ); + const qboToggleSettingItems: ToggleSettingOptionRowProps[] = [ { title: translate('workspace.qbo.advancedConfig.autoSync'), @@ -129,7 +139,7 @@ function QuickbooksAdvancedPage({policy}: WithPolicyProps) { Navigation.navigate(ROUTES.WORKSPACE_ACCOUNTING_QUICKBOOKS_ONLINE_ACCOUNT_SELECTOR.getRoute(policyID)))} @@ -154,7 +164,7 @@ function QuickbooksAdvancedPage({policy}: WithPolicyProps) { interactive={false} /> Navigation.navigate(ROUTES.WORKSPACE_ACCOUNTING_QUICKBOOKS_ONLINE_INVOICE_ACCOUNT_SELECTOR.getRoute(policyID)))} From a310abb56dbb99227cc1e0db8978d534b0b9694a Mon Sep 17 00:00:00 2001 From: Etotaziba Olei Date: Thu, 25 Apr 2024 04:00:12 +0100 Subject: [PATCH 04/21] use WithPolicyConnectionsProps --- .../accounting/qbo/advanced/QuickbooksAdvancedPage.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/pages/workspace/accounting/qbo/advanced/QuickbooksAdvancedPage.tsx b/src/pages/workspace/accounting/qbo/advanced/QuickbooksAdvancedPage.tsx index 1eda7baf52bb..31969083406b 100644 --- a/src/pages/workspace/accounting/qbo/advanced/QuickbooksAdvancedPage.tsx +++ b/src/pages/workspace/accounting/qbo/advanced/QuickbooksAdvancedPage.tsx @@ -16,7 +16,7 @@ import Navigation from '@libs/Navigation/Navigation'; import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper'; import FeatureEnabledAccessOrNotFoundWrapper from '@pages/workspace/FeatureEnabledAccessOrNotFoundWrapper'; import PaidPolicyAccessOrNotFoundWrapper from '@pages/workspace/PaidPolicyAccessOrNotFoundWrapper'; -import type {WithPolicyProps} from '@pages/workspace/withPolicy'; +import type {WithPolicyConnectionsProps} from '@pages/workspace/withPolicyConnections'; import withPolicyConnections from '@pages/workspace/withPolicyConnections'; import ToggleSettingOptionRow from '@pages/workspace/workflows/ToggleSettingsOptionRow'; import type {ToggleSettingOptionRowProps} from '@pages/workspace/workflows/ToggleSettingsOptionRow'; @@ -24,7 +24,7 @@ import * as Policy from '@userActions/Policy'; import CONST from '@src/CONST'; import ROUTES from '@src/ROUTES'; -function QuickbooksAdvancedPage({policy}: WithPolicyProps) { +function QuickbooksAdvancedPage({policy}: WithPolicyConnectionsProps) { const styles = useThemeStyles(); const waitForNavigate = useWaitForNavigation(); const {translate} = useLocalize(); From c064fc6cdc2b75c81f5ab35153ad952c25f052f0 Mon Sep 17 00:00:00 2001 From: Etotaziba Olei Date: Thu, 25 Apr 2024 04:01:03 +0100 Subject: [PATCH 05/21] use WithPolicyConnectionsProps --- .../accounting/qbo/advanced/QuickbooksAccountSelectPage.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/pages/workspace/accounting/qbo/advanced/QuickbooksAccountSelectPage.tsx b/src/pages/workspace/accounting/qbo/advanced/QuickbooksAccountSelectPage.tsx index 054f7d7ee52e..5459788d50ed 100644 --- a/src/pages/workspace/accounting/qbo/advanced/QuickbooksAccountSelectPage.tsx +++ b/src/pages/workspace/accounting/qbo/advanced/QuickbooksAccountSelectPage.tsx @@ -13,7 +13,7 @@ import Navigation from '@libs/Navigation/Navigation'; import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper'; import FeatureEnabledAccessOrNotFoundWrapper from '@pages/workspace/FeatureEnabledAccessOrNotFoundWrapper'; import PaidPolicyAccessOrNotFoundWrapper from '@pages/workspace/PaidPolicyAccessOrNotFoundWrapper'; -import type {WithPolicyProps} from '@pages/workspace/withPolicy'; +import type {WithPolicyConnectionsProps} from '@pages/workspace/withPolicyConnections'; import withPolicyConnections from '@pages/workspace/withPolicyConnections'; import CONST from '@src/CONST'; import ROUTES from '@src/ROUTES'; @@ -22,7 +22,7 @@ type SelectorType = ListItem & { value: string; }; -function QuickbooksAccountSelectPage({policy}: WithPolicyProps) { +function QuickbooksAccountSelectPage({policy}: WithPolicyConnectionsProps) { const styles = useThemeStyles(); const {translate} = useLocalize(); From bd5f257807004f51ed2a1fa3a6fa5a4e388574f7 Mon Sep 17 00:00:00 2001 From: Etotaziba Olei Date: Thu, 25 Apr 2024 04:02:19 +0100 Subject: [PATCH 06/21] use WithPolicyConnectionsProps --- .../qbo/advanced/QuickbooksInvoiceAccountSelectPage.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/pages/workspace/accounting/qbo/advanced/QuickbooksInvoiceAccountSelectPage.tsx b/src/pages/workspace/accounting/qbo/advanced/QuickbooksInvoiceAccountSelectPage.tsx index 5459423dd760..1363bbda4a37 100644 --- a/src/pages/workspace/accounting/qbo/advanced/QuickbooksInvoiceAccountSelectPage.tsx +++ b/src/pages/workspace/accounting/qbo/advanced/QuickbooksInvoiceAccountSelectPage.tsx @@ -13,7 +13,7 @@ import Navigation from '@libs/Navigation/Navigation'; import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper'; import FeatureEnabledAccessOrNotFoundWrapper from '@pages/workspace/FeatureEnabledAccessOrNotFoundWrapper'; import PaidPolicyAccessOrNotFoundWrapper from '@pages/workspace/PaidPolicyAccessOrNotFoundWrapper'; -import type {WithPolicyProps} from '@pages/workspace/withPolicy'; +import type {WithPolicyConnectionsProps} from '@pages/workspace/withPolicyConnections'; import withPolicyConnections from '@pages/workspace/withPolicyConnections'; import CONST from '@src/CONST'; import ROUTES from '@src/ROUTES'; @@ -22,7 +22,7 @@ type SelectorType = ListItem & { value: string; }; -function QuickbooksInvoiceAccountSelectPage({policy}: WithPolicyProps) { +function QuickbooksInvoiceAccountSelectPage({policy}: WithPolicyConnectionsProps) { const styles = useThemeStyles(); const {translate} = useLocalize(); From 83561ec4c5796385a7bf97e1c8afdea6c55025ac Mon Sep 17 00:00:00 2001 From: Etotaziba Olei Date: Thu, 25 Apr 2024 12:50:19 +0100 Subject: [PATCH 07/21] add sync reimbursed to qboToggleSettingItems --- .../qbo/advanced/QuickbooksAdvancedPage.tsx | 34 ++++++++----------- 1 file changed, 15 insertions(+), 19 deletions(-) diff --git a/src/pages/workspace/accounting/qbo/advanced/QuickbooksAdvancedPage.tsx b/src/pages/workspace/accounting/qbo/advanced/QuickbooksAdvancedPage.tsx index 31969083406b..6c9289be083f 100644 --- a/src/pages/workspace/accounting/qbo/advanced/QuickbooksAdvancedPage.tsx +++ b/src/pages/workspace/accounting/qbo/advanced/QuickbooksAdvancedPage.tsx @@ -76,6 +76,21 @@ function QuickbooksAdvancedPage({policy}: WithPolicyConnectionsProps) { errors: ErrorUtils.getLatestErrorField(qboConfig ?? {}, CONST.QUICK_BOOKS_CONFIG.AUTO_CREATE_VENDOR), onCloseError: () => Policy.clearQBOErrorField(policyID, CONST.QUICK_BOOKS_CONFIG.AUTO_CREATE_VENDOR), }, + { + title: translate('workspace.qbo.advancedConfig.reimbursedReports'), + subtitle: translate('workspace.qbo.advancedConfig.reimbursedReportsDescription'), + isActive: isSyncReimbursedSwitchOn, + onToggle: () => + Connections.updatePolicyConnectionConfig( + policyID, + CONST.POLICY.CONNECTIONS.NAME.QBO, + CONST.QUICK_BOOKS_CONFIG.COLLECTION_ACCOUNT_ID, + isSyncReimbursedSwitchOn ? '' : bankAccounts?.[0].id, + ), + pendingAction: pendingFields?.collectionAccountID, + errors: ErrorUtils.getLatestErrorField(qboConfig ?? {}, CONST.QUICK_BOOKS_CONFIG.COLLECTION_ACCOUNT_ID), + onCloseError: () => Policy.clearQBOErrorField(policyID, CONST.QUICK_BOOKS_CONFIG.COLLECTION_ACCOUNT_ID), + }, ]; return ( @@ -115,25 +130,6 @@ function QuickbooksAdvancedPage({policy}: WithPolicyConnectionsProps) { /> - Policy.clearQBOErrorField(policyID, CONST.QUICK_BOOKS_CONFIG.COLLECTION_ACCOUNT_ID)} - subtitle={translate('workspace.qbo.advancedConfig.reimbursedReportsDescription')} - shouldPlaceSubtitleBelowSwitch - wrapperStyle={styles.mv3} - pendingAction={pendingFields?.collectionAccountID} - isActive={isSyncReimbursedSwitchOn} - onToggle={() => - Connections.updatePolicyConnectionConfig( - policyID, - CONST.POLICY.CONNECTIONS.NAME.QBO, - CONST.QUICK_BOOKS_CONFIG.COLLECTION_ACCOUNT_ID, - isSyncReimbursedSwitchOn ? '' : bankAccounts?.[0].id, - ) - } - /> - {!!collectionAccountID && ( <> From d0ff87e51b3d24d37d1ba98933b26b5101012964 Mon Sep 17 00:00:00 2001 From: Etotaziba Olei Date: Thu, 25 Apr 2024 12:52:51 +0100 Subject: [PATCH 08/21] remove all horizontal line spacer view --- .../qbo/advanced/QuickbooksAdvancedPage.tsx | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/src/pages/workspace/accounting/qbo/advanced/QuickbooksAdvancedPage.tsx b/src/pages/workspace/accounting/qbo/advanced/QuickbooksAdvancedPage.tsx index 6c9289be083f..a61cbe662111 100644 --- a/src/pages/workspace/accounting/qbo/advanced/QuickbooksAdvancedPage.tsx +++ b/src/pages/workspace/accounting/qbo/advanced/QuickbooksAdvancedPage.tsx @@ -123,13 +123,6 @@ function QuickbooksAdvancedPage({policy}: WithPolicyConnectionsProps) { /> ))} - - - - {!!collectionAccountID && ( <> @@ -144,13 +137,6 @@ function QuickbooksAdvancedPage({policy}: WithPolicyConnectionsProps) { /> - - - - Date: Thu, 25 Apr 2024 13:00:01 +0100 Subject: [PATCH 09/21] move sync reimbursed items to syncReimbursedSubMenuItems --- .../qbo/advanced/QuickbooksAdvancedPage.tsx | 74 +++++++++---------- 1 file changed, 37 insertions(+), 37 deletions(-) diff --git a/src/pages/workspace/accounting/qbo/advanced/QuickbooksAdvancedPage.tsx b/src/pages/workspace/accounting/qbo/advanced/QuickbooksAdvancedPage.tsx index a61cbe662111..6c035c4d92a7 100644 --- a/src/pages/workspace/accounting/qbo/advanced/QuickbooksAdvancedPage.tsx +++ b/src/pages/workspace/accounting/qbo/advanced/QuickbooksAdvancedPage.tsx @@ -1,12 +1,10 @@ import React, {useMemo} from 'react'; -import {View} from 'react-native'; import HeaderWithBackButton from '@components/HeaderWithBackButton'; import MenuItem from '@components/MenuItem'; import MenuItemWithTopDescription from '@components/MenuItemWithTopDescription'; import OfflineWithFeedback from '@components/OfflineWithFeedback'; import ScreenWrapper from '@components/ScreenWrapper'; import ScrollView from '@components/ScrollView'; -import SpacerView from '@components/SpacerView'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import useWaitForNavigation from '@hooks/useWaitForNavigation'; @@ -45,6 +43,40 @@ function QuickbooksAdvancedPage({policy}: WithPolicyConnectionsProps) { [invoiceAccountCollectionOptions, collectionAccountID], ); + const syncReimbursedSubMenuItems = () => ( + <> + + Navigation.navigate(ROUTES.WORKSPACE_ACCOUNTING_QUICKBOOKS_ONLINE_ACCOUNT_SELECTOR.getRoute(policyID)))} + error={errorFields?.reimbursementAccountID ? translate('common.genericErrorMessage') : undefined} + brickRoadIndicator={errorFields?.reimbursementAccountID ? CONST.BRICK_ROAD_INDICATOR_STATUS.ERROR : undefined} + /> + + + + + Navigation.navigate(ROUTES.WORKSPACE_ACCOUNTING_QUICKBOOKS_ONLINE_INVOICE_ACCOUNT_SELECTOR.getRoute(policyID)))} + error={errorFields?.collectionAccountID ? translate('common.genericErrorMessage') : undefined} + brickRoadIndicator={errorFields?.collectionAccountID ? CONST.BRICK_ROAD_INDICATOR_STATUS.ERROR : undefined} + /> + + + ); + const qboToggleSettingItems: ToggleSettingOptionRowProps[] = [ { title: translate('workspace.qbo.advancedConfig.autoSync'), @@ -79,7 +111,7 @@ function QuickbooksAdvancedPage({policy}: WithPolicyConnectionsProps) { { title: translate('workspace.qbo.advancedConfig.reimbursedReports'), subtitle: translate('workspace.qbo.advancedConfig.reimbursedReportsDescription'), - isActive: isSyncReimbursedSwitchOn, + isActive: true, onToggle: () => Connections.updatePolicyConnectionConfig( policyID, @@ -90,6 +122,7 @@ function QuickbooksAdvancedPage({policy}: WithPolicyConnectionsProps) { pendingAction: pendingFields?.collectionAccountID, errors: ErrorUtils.getLatestErrorField(qboConfig ?? {}, CONST.QUICK_BOOKS_CONFIG.COLLECTION_ACCOUNT_ID), onCloseError: () => Policy.clearQBOErrorField(policyID, CONST.QUICK_BOOKS_CONFIG.COLLECTION_ACCOUNT_ID), + subMenuItems: syncReimbursedSubMenuItems(), }, ]; @@ -120,42 +153,9 @@ function QuickbooksAdvancedPage({policy}: WithPolicyConnectionsProps) { isActive={item.isActive} onToggle={item.onToggle} pendingAction={item.pendingAction} + subMenuItems={item.subMenuItems} /> ))} - - {!!collectionAccountID && ( - <> - - Navigation.navigate(ROUTES.WORKSPACE_ACCOUNTING_QUICKBOOKS_ONLINE_ACCOUNT_SELECTOR.getRoute(policyID)))} - error={errorFields?.reimbursementAccountID ? translate('common.genericErrorMessage') : undefined} - brickRoadIndicator={errorFields?.reimbursementAccountID ? CONST.BRICK_ROAD_INDICATOR_STATUS.ERROR : undefined} - /> - - - - - Navigation.navigate(ROUTES.WORKSPACE_ACCOUNTING_QUICKBOOKS_ONLINE_INVOICE_ACCOUNT_SELECTOR.getRoute(policyID)))} - error={errorFields?.collectionAccountID ? translate('common.genericErrorMessage') : undefined} - brickRoadIndicator={errorFields?.collectionAccountID ? CONST.BRICK_ROAD_INDICATOR_STATUS.ERROR : undefined} - /> - - - )} From 21d38409d95cb64d435e6cd02bc399432f3ea30c Mon Sep 17 00:00:00 2001 From: Etotaziba Olei Date: Thu, 25 Apr 2024 13:08:46 +0100 Subject: [PATCH 10/21] update translations --- src/languages/en.ts | 6 +++--- src/languages/es.ts | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/languages/en.ts b/src/languages/en.ts index 728b214d65cf..23ea2276b0ba 100755 --- a/src/languages/en.ts +++ b/src/languages/en.ts @@ -1926,9 +1926,9 @@ export default { createEntitiesDescription: 'Expensify will automatically create a vendor in Quickbooks, if one does not exist. Expensify will also automatically create a customer when exporting invoices.', reimbursedReports: 'Sync reimbursed reports', - reimbursedReportsDescription: 'Any time report is paid using Expensify ACH, the corresponding bill payment will be created in the Quickbooks accounts below.', - qboAccount: 'Quickbooks account', - collectionAccount: 'Invoice collection account', + reimbursedReportsDescription: 'Any time a report is paid using Expensify ACH, the corresponding bill payment will be created in the Quickbooks account below.', + qboBillPaymentAccount: 'QuickBooks bill payment account', + qboInvoiceCollectionAccount: 'QuickBooks invoice collections account', collectionAccountDescription: 'Once invoices have been paid, the payment will appear in the account configured below.', accountSelectDescription: "As you've enabled sync reimbursed reports, you will need select the bank account your reimbursements are coming out of, and we'll create the payment in QuickBooks.", diff --git a/src/languages/es.ts b/src/languages/es.ts index 6ca7c4a210e1..bc62fcea964b 100644 --- a/src/languages/es.ts +++ b/src/languages/es.ts @@ -1953,9 +1953,9 @@ export default { 'Expensify creará automáticamente un proveedor en Quickbooks, si no existe. Expensify también creará automáticamente un cliente al exportar facturas.', reimbursedReports: 'Sincronizar informes reembolsados', reimbursedReportsDescription: - 'Cada vez que se pague un informe utilizando Expensify ACH, se creará el pago de la factura correspondiente en las cuentas de Quickbooks indicadas a continuación.', - qboAccount: 'Cuenta Quickbooks', - collectionAccount: 'Cuenta de cobro de facturas', + 'Cada vez que se pague un informe utilizando Expensify ACH, se creará el pago de la factura correspondiente en de Quickbooks cuenta indicadas a continuación.', + qboBillPaymentAccount: 'Cuenta de pago de facturas de QuickBooks', + qboInvoiceCollectionAccount: 'Cuenta de cobro de facturas QuickBooks', collectionAccountDescription: 'Una vez abonadas las facturas, el pago aparecerá en la cuenta configurada a continuación.', accountSelectDescription: 'Como has activado la sincronización de los informes de reembolso, tendrás que seleccionar la cuenta bancaria de la que saldrán tus reembolsos y crearemos el pago en QuickBooks.', From b9decdeec1430cf5b3e8e53717fef463ba2aa24b Mon Sep 17 00:00:00 2001 From: Etotaziba Olei Date: Thu, 25 Apr 2024 13:09:57 +0100 Subject: [PATCH 11/21] use new translations --- .../accounting/qbo/advanced/QuickbooksAdvancedPage.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/pages/workspace/accounting/qbo/advanced/QuickbooksAdvancedPage.tsx b/src/pages/workspace/accounting/qbo/advanced/QuickbooksAdvancedPage.tsx index 6c035c4d92a7..b5e94de8520b 100644 --- a/src/pages/workspace/accounting/qbo/advanced/QuickbooksAdvancedPage.tsx +++ b/src/pages/workspace/accounting/qbo/advanced/QuickbooksAdvancedPage.tsx @@ -49,7 +49,7 @@ function QuickbooksAdvancedPage({policy}: WithPolicyConnectionsProps) { Navigation.navigate(ROUTES.WORKSPACE_ACCOUNTING_QUICKBOOKS_ONLINE_ACCOUNT_SELECTOR.getRoute(policyID)))} error={errorFields?.reimbursementAccountID ? translate('common.genericErrorMessage') : undefined} @@ -59,7 +59,7 @@ function QuickbooksAdvancedPage({policy}: WithPolicyConnectionsProps) { Date: Thu, 25 Apr 2024 13:13:18 +0100 Subject: [PATCH 12/21] remove collectionAccountDescription --- src/languages/en.ts | 1 - src/languages/es.ts | 1 - .../workspace/accounting/qbo/advanced/QuickbooksAdvancedPage.tsx | 1 - 3 files changed, 3 deletions(-) diff --git a/src/languages/en.ts b/src/languages/en.ts index 23ea2276b0ba..0db3a34ea7fa 100755 --- a/src/languages/en.ts +++ b/src/languages/en.ts @@ -1929,7 +1929,6 @@ export default { reimbursedReportsDescription: 'Any time a report is paid using Expensify ACH, the corresponding bill payment will be created in the Quickbooks account below.', qboBillPaymentAccount: 'QuickBooks bill payment account', qboInvoiceCollectionAccount: 'QuickBooks invoice collections account', - collectionAccountDescription: 'Once invoices have been paid, the payment will appear in the account configured below.', accountSelectDescription: "As you've enabled sync reimbursed reports, you will need select the bank account your reimbursements are coming out of, and we'll create the payment in QuickBooks.", invoiceAccountSelectDescription: diff --git a/src/languages/es.ts b/src/languages/es.ts index bc62fcea964b..6e7663cc0e66 100644 --- a/src/languages/es.ts +++ b/src/languages/es.ts @@ -1956,7 +1956,6 @@ export default { 'Cada vez que se pague un informe utilizando Expensify ACH, se creará el pago de la factura correspondiente en de Quickbooks cuenta indicadas a continuación.', qboBillPaymentAccount: 'Cuenta de pago de facturas de QuickBooks', qboInvoiceCollectionAccount: 'Cuenta de cobro de facturas QuickBooks', - collectionAccountDescription: 'Una vez abonadas las facturas, el pago aparecerá en la cuenta configurada a continuación.', accountSelectDescription: 'Como has activado la sincronización de los informes de reembolso, tendrás que seleccionar la cuenta bancaria de la que saldrán tus reembolsos y crearemos el pago en QuickBooks.', invoiceAccountSelectDescription: diff --git a/src/pages/workspace/accounting/qbo/advanced/QuickbooksAdvancedPage.tsx b/src/pages/workspace/accounting/qbo/advanced/QuickbooksAdvancedPage.tsx index b5e94de8520b..daaa2cc170b1 100644 --- a/src/pages/workspace/accounting/qbo/advanced/QuickbooksAdvancedPage.tsx +++ b/src/pages/workspace/accounting/qbo/advanced/QuickbooksAdvancedPage.tsx @@ -60,7 +60,6 @@ function QuickbooksAdvancedPage({policy}: WithPolicyConnectionsProps) { Date: Thu, 25 Apr 2024 13:15:50 +0100 Subject: [PATCH 13/21] remove menuItem --- .../accounting/qbo/advanced/QuickbooksAdvancedPage.tsx | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/src/pages/workspace/accounting/qbo/advanced/QuickbooksAdvancedPage.tsx b/src/pages/workspace/accounting/qbo/advanced/QuickbooksAdvancedPage.tsx index daaa2cc170b1..0a012bed15ac 100644 --- a/src/pages/workspace/accounting/qbo/advanced/QuickbooksAdvancedPage.tsx +++ b/src/pages/workspace/accounting/qbo/advanced/QuickbooksAdvancedPage.tsx @@ -1,6 +1,5 @@ import React, {useMemo} from 'react'; import HeaderWithBackButton from '@components/HeaderWithBackButton'; -import MenuItem from '@components/MenuItem'; import MenuItemWithTopDescription from '@components/MenuItemWithTopDescription'; import OfflineWithFeedback from '@components/OfflineWithFeedback'; import ScreenWrapper from '@components/ScreenWrapper'; @@ -58,14 +57,9 @@ function QuickbooksAdvancedPage({policy}: WithPolicyConnectionsProps) { - Navigation.navigate(ROUTES.WORKSPACE_ACCOUNTING_QUICKBOOKS_ONLINE_INVOICE_ACCOUNT_SELECTOR.getRoute(policyID)))} From b50e330ebbd0504a74a291ad289e451778185796 Mon Sep 17 00:00:00 2001 From: Etotaziba Olei Date: Thu, 25 Apr 2024 13:55:24 +0100 Subject: [PATCH 14/21] add vertical margins --- .../qbo/advanced/QuickbooksAdvancedPage.tsx | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/pages/workspace/accounting/qbo/advanced/QuickbooksAdvancedPage.tsx b/src/pages/workspace/accounting/qbo/advanced/QuickbooksAdvancedPage.tsx index 0a012bed15ac..d0cf7a4a67b5 100644 --- a/src/pages/workspace/accounting/qbo/advanced/QuickbooksAdvancedPage.tsx +++ b/src/pages/workspace/accounting/qbo/advanced/QuickbooksAdvancedPage.tsx @@ -1,4 +1,5 @@ import React, {useMemo} from 'react'; +import {View} from 'react-native'; import HeaderWithBackButton from '@components/HeaderWithBackButton'; import MenuItemWithTopDescription from '@components/MenuItemWithTopDescription'; import OfflineWithFeedback from '@components/OfflineWithFeedback'; @@ -43,7 +44,7 @@ function QuickbooksAdvancedPage({policy}: WithPolicyConnectionsProps) { ); const syncReimbursedSubMenuItems = () => ( - <> + Navigation.navigate(ROUTES.WORKSPACE_ACCOUNTING_QUICKBOOKS_ONLINE_INVOICE_ACCOUNT_SELECTOR.getRoute(policyID)))} error={errorFields?.collectionAccountID ? translate('common.genericErrorMessage') : undefined} brickRoadIndicator={errorFields?.collectionAccountID ? CONST.BRICK_ROAD_INDICATOR_STATUS.ERROR : undefined} /> - + ); const qboToggleSettingItems: ToggleSettingOptionRowProps[] = [ @@ -82,6 +83,7 @@ function QuickbooksAdvancedPage({policy}: WithPolicyConnectionsProps) { pendingAction: pendingFields?.autoSync, errors: ErrorUtils.getLatestErrorField(qboConfig ?? {}, CONST.QUICK_BOOKS_CONFIG.AUTO_SYNC), onCloseError: () => Policy.clearQBOErrorField(policyID, CONST.QUICK_BOOKS_CONFIG.AUTO_SYNC), + wrapperStyle: styles.mv3, }, { title: translate('workspace.qbo.advancedConfig.inviteEmployees'), @@ -91,6 +93,7 @@ function QuickbooksAdvancedPage({policy}: WithPolicyConnectionsProps) { pendingAction: pendingFields?.syncPeople, errors: ErrorUtils.getLatestErrorField(qboConfig ?? {}, CONST.QUICK_BOOKS_CONFIG.SYNCE_PEOPLE), onCloseError: () => Policy.clearQBOErrorField(policyID, CONST.QUICK_BOOKS_CONFIG.SYNCE_PEOPLE), + wrapperStyle: styles.mv3, }, { title: translate('workspace.qbo.advancedConfig.createEntities'), @@ -100,6 +103,7 @@ function QuickbooksAdvancedPage({policy}: WithPolicyConnectionsProps) { pendingAction: pendingFields?.autoCreateVendor, errors: ErrorUtils.getLatestErrorField(qboConfig ?? {}, CONST.QUICK_BOOKS_CONFIG.AUTO_CREATE_VENDOR), onCloseError: () => Policy.clearQBOErrorField(policyID, CONST.QUICK_BOOKS_CONFIG.AUTO_CREATE_VENDOR), + wrapperStyle: styles.mv3, }, { title: translate('workspace.qbo.advancedConfig.reimbursedReports'), @@ -116,6 +120,7 @@ function QuickbooksAdvancedPage({policy}: WithPolicyConnectionsProps) { errors: ErrorUtils.getLatestErrorField(qboConfig ?? {}, CONST.QUICK_BOOKS_CONFIG.COLLECTION_ACCOUNT_ID), onCloseError: () => Policy.clearQBOErrorField(policyID, CONST.QUICK_BOOKS_CONFIG.COLLECTION_ACCOUNT_ID), subMenuItems: syncReimbursedSubMenuItems(), + wrapperStyle: styles.mv3, }, ]; @@ -142,7 +147,7 @@ function QuickbooksAdvancedPage({policy}: WithPolicyConnectionsProps) { title={item.title} subtitle={item.subtitle} shouldPlaceSubtitleBelowSwitch - wrapperStyle={styles.mv3} + wrapperStyle={item.wrapperStyle} isActive={item.isActive} onToggle={item.onToggle} pendingAction={item.pendingAction} From 786321fa7eda195079c791ce2ad8d262840af1a1 Mon Sep 17 00:00:00 2001 From: Etotaziba Olei Date: Thu, 25 Apr 2024 13:58:27 +0100 Subject: [PATCH 15/21] enable sync reimbursed accounts for any available account --- .../accounting/qbo/advanced/QuickbooksAdvancedPage.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/workspace/accounting/qbo/advanced/QuickbooksAdvancedPage.tsx b/src/pages/workspace/accounting/qbo/advanced/QuickbooksAdvancedPage.tsx index d0cf7a4a67b5..6211311160e2 100644 --- a/src/pages/workspace/accounting/qbo/advanced/QuickbooksAdvancedPage.tsx +++ b/src/pages/workspace/accounting/qbo/advanced/QuickbooksAdvancedPage.tsx @@ -114,7 +114,7 @@ function QuickbooksAdvancedPage({policy}: WithPolicyConnectionsProps) { policyID, CONST.POLICY.CONNECTIONS.NAME.QBO, CONST.QUICK_BOOKS_CONFIG.COLLECTION_ACCOUNT_ID, - isSyncReimbursedSwitchOn ? '' : bankAccounts?.[0].id, + isSyncReimbursedSwitchOn ? '' : [...qboAccountOptions, ...invoiceAccountCollectionOptions][0].id, ), pendingAction: pendingFields?.collectionAccountID, errors: ErrorUtils.getLatestErrorField(qboConfig ?? {}, CONST.QUICK_BOOKS_CONFIG.COLLECTION_ACCOUNT_ID), From 99bf3905c8866ec461735099edae3dd3d69ed869 Mon Sep 17 00:00:00 2001 From: Etotaziba Olei Date: Thu, 25 Apr 2024 13:59:18 +0100 Subject: [PATCH 16/21] set isActive to isSyncReimbursedSwitchOn --- .../accounting/qbo/advanced/QuickbooksAdvancedPage.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/workspace/accounting/qbo/advanced/QuickbooksAdvancedPage.tsx b/src/pages/workspace/accounting/qbo/advanced/QuickbooksAdvancedPage.tsx index 6211311160e2..af73c9d9805c 100644 --- a/src/pages/workspace/accounting/qbo/advanced/QuickbooksAdvancedPage.tsx +++ b/src/pages/workspace/accounting/qbo/advanced/QuickbooksAdvancedPage.tsx @@ -108,7 +108,7 @@ function QuickbooksAdvancedPage({policy}: WithPolicyConnectionsProps) { { title: translate('workspace.qbo.advancedConfig.reimbursedReports'), subtitle: translate('workspace.qbo.advancedConfig.reimbursedReportsDescription'), - isActive: true, + isActive: isSyncReimbursedSwitchOn, onToggle: () => Connections.updatePolicyConnectionConfig( policyID, From 20f439a09c78c9d14eadc3bb491b20b3ace2357b Mon Sep 17 00:00:00 2001 From: Etotaziba Olei Date: Thu, 25 Apr 2024 14:06:10 +0100 Subject: [PATCH 17/21] use updated translation string --- .../accounting/qbo/advanced/QuickbooksAccountSelectPage.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/workspace/accounting/qbo/advanced/QuickbooksAccountSelectPage.tsx b/src/pages/workspace/accounting/qbo/advanced/QuickbooksAccountSelectPage.tsx index 5459788d50ed..8ea68b181323 100644 --- a/src/pages/workspace/accounting/qbo/advanced/QuickbooksAccountSelectPage.tsx +++ b/src/pages/workspace/accounting/qbo/advanced/QuickbooksAccountSelectPage.tsx @@ -71,7 +71,7 @@ function QuickbooksAccountSelectPage({policy}: WithPolicyConnectionsProps) { includeSafeAreaPaddingBottom={false} testID={QuickbooksAccountSelectPage.displayName} > - + Date: Thu, 25 Apr 2024 14:06:52 +0100 Subject: [PATCH 18/21] use updated translation string --- .../qbo/advanced/QuickbooksInvoiceAccountSelectPage.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/workspace/accounting/qbo/advanced/QuickbooksInvoiceAccountSelectPage.tsx b/src/pages/workspace/accounting/qbo/advanced/QuickbooksInvoiceAccountSelectPage.tsx index 1363bbda4a37..5fe03434f726 100644 --- a/src/pages/workspace/accounting/qbo/advanced/QuickbooksInvoiceAccountSelectPage.tsx +++ b/src/pages/workspace/accounting/qbo/advanced/QuickbooksInvoiceAccountSelectPage.tsx @@ -72,7 +72,7 @@ function QuickbooksInvoiceAccountSelectPage({policy}: WithPolicyConnectionsProps includeSafeAreaPaddingBottom={false} testID={QuickbooksInvoiceAccountSelectPage.displayName} > - + Date: Thu, 25 Apr 2024 14:18:03 +0100 Subject: [PATCH 19/21] Update src/languages/es.ts Co-authored-by: Rocio Perez-Cano --- src/languages/es.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/languages/es.ts b/src/languages/es.ts index 6e7663cc0e66..87082a2deb3c 100644 --- a/src/languages/es.ts +++ b/src/languages/es.ts @@ -1953,7 +1953,7 @@ export default { 'Expensify creará automáticamente un proveedor en Quickbooks, si no existe. Expensify también creará automáticamente un cliente al exportar facturas.', reimbursedReports: 'Sincronizar informes reembolsados', reimbursedReportsDescription: - 'Cada vez que se pague un informe utilizando Expensify ACH, se creará el pago de la factura correspondiente en de Quickbooks cuenta indicadas a continuación.', + 'Cada vez que se pague un informe utilizando Expensify ACH, se creará el correspondiente pago de la factura en la cuenta de Quickbooks indicadas a continuación.', qboBillPaymentAccount: 'Cuenta de pago de facturas de QuickBooks', qboInvoiceCollectionAccount: 'Cuenta de cobro de facturas QuickBooks', accountSelectDescription: From 733945838dcc22275551c9ac298f25a61daef3ce Mon Sep 17 00:00:00 2001 From: Etotaziba Olei Date: Thu, 25 Apr 2024 14:18:27 +0100 Subject: [PATCH 20/21] Update src/languages/es.ts Co-authored-by: Rocio Perez-Cano --- src/languages/es.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/languages/es.ts b/src/languages/es.ts index 87082a2deb3c..829af3ed764e 100644 --- a/src/languages/es.ts +++ b/src/languages/es.ts @@ -1954,7 +1954,7 @@ export default { reimbursedReports: 'Sincronizar informes reembolsados', reimbursedReportsDescription: 'Cada vez que se pague un informe utilizando Expensify ACH, se creará el correspondiente pago de la factura en la cuenta de Quickbooks indicadas a continuación.', - qboBillPaymentAccount: 'Cuenta de pago de facturas de QuickBooks', + qboBillPaymentAccount: 'Cuenta de pago de las facturas de QuickBooks', qboInvoiceCollectionAccount: 'Cuenta de cobro de facturas QuickBooks', accountSelectDescription: 'Como has activado la sincronización de los informes de reembolso, tendrás que seleccionar la cuenta bancaria de la que saldrán tus reembolsos y crearemos el pago en QuickBooks.', From 9235decccf56ef681d5c4a45d505c9b2c4a8b344 Mon Sep 17 00:00:00 2001 From: Etotaziba Olei Date: Thu, 25 Apr 2024 14:18:44 +0100 Subject: [PATCH 21/21] Update src/languages/es.ts Co-authored-by: Rocio Perez-Cano --- src/languages/es.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/languages/es.ts b/src/languages/es.ts index 829af3ed764e..5877a6eb5a6a 100644 --- a/src/languages/es.ts +++ b/src/languages/es.ts @@ -1955,7 +1955,7 @@ export default { reimbursedReportsDescription: 'Cada vez que se pague un informe utilizando Expensify ACH, se creará el correspondiente pago de la factura en la cuenta de Quickbooks indicadas a continuación.', qboBillPaymentAccount: 'Cuenta de pago de las facturas de QuickBooks', - qboInvoiceCollectionAccount: 'Cuenta de cobro de facturas QuickBooks', + qboInvoiceCollectionAccount: 'Cuenta de cobro de las facturas QuickBooks', accountSelectDescription: 'Como has activado la sincronización de los informes de reembolso, tendrás que seleccionar la cuenta bancaria de la que saldrán tus reembolsos y crearemos el pago en QuickBooks.', invoiceAccountSelectDescription: