Skip to content

Commit a53705d

Browse files
authored
Merge pull request #50837 from ZhenjaHorbach/qbd-export-advanced
[QBD] Advanced settings main page
2 parents 5cf3d19 + 31b5d9f commit a53705d

File tree

14 files changed

+145
-4
lines changed

14 files changed

+145
-4
lines changed

src/CONST.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1492,7 +1492,9 @@ const CONST = {
14921492
MARK_CHECKS_TO_BE_PRINTED: 'markChecksToBePrinted',
14931493
REIMBURSABLE_ACCOUNT: 'reimbursableAccount',
14941494
REIMBURSABLE: 'reimbursable',
1495+
AUTO_SYNC: 'autoSync',
14951496
ENABLE_NEW_CATEGORIES: 'enableNewCategories',
1497+
SHOULD_AUTO_CREATE_VENDOR: 'shouldAutoCreateVendor',
14961498
MAPPINGS: {
14971499
CLASSES: 'classes',
14981500
},

src/ROUTES.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -670,6 +670,10 @@ const ROUTES = {
670670
route: 'settings/workspaces/:policyID/accounting/quickbooks-online/export/date-select',
671671
getRoute: (policyID: string) => `settings/workspaces/${policyID}/accounting/quickbooks-online/export/date-select` as const,
672672
},
673+
WORKSPACE_ACCOUNTING_QUICKBOOKS_DESKTOP_ADVANCED: {
674+
route: 'settings/workspaces/:policyID/accounting/quickbooks-desktop/advanced',
675+
getRoute: (policyID: string) => `settings/workspaces/${policyID}/accounting/quickbooks-desktop/advanced` as const,
676+
},
673677
POLICY_ACCOUNTING_QUICKBOOKS_DESKTOP_EXPORT_DATE_SELECT: {
674678
route: 'settings/workspaces/:policyID/accounting/quickbooks-desktop/export/date-select',
675679
getRoute: (policyID: string) => `settings/workspaces/${policyID}/accounting/quickbooks-desktop/export/date-select` as const,

src/SCREENS.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -317,6 +317,7 @@ const SCREENS = {
317317
QUICKBOOKS_ONLINE_ADVANCED: 'Policy_Accounting_Quickbooks_Online_Advanced',
318318
QUICKBOOKS_ONLINE_ACCOUNT_SELECTOR: 'Policy_Accounting_Quickbooks_Online_Account_Selector',
319319
QUICKBOOKS_ONLINE_INVOICE_ACCOUNT_SELECTOR: 'Policy_Accounting_Quickbooks_Online_Invoice_Account_Selector',
320+
QUICKBOOKS_DESKTOP_ADVANCED: 'Policy_Accounting_Quickbooks_Desktop_Advanced',
320321
QUICKBOOKS_DESKTOP_EXPORT_DATE_SELECT: 'Workspace_Accounting_Quickbooks_Desktop_Export_Date_Select',
321322
QUICKBOOKS_DESKTOP_EXPORT_PREFERRED_EXPORTER: 'Workspace_Accounting_Quickbooks_Desktop_Export_Preferred_Exporter',
322323
QUICKBOOKS_DESKTOP_EXPORT_OUT_OF_POCKET_EXPENSES: 'Workspace_Accounting_Quickbooks_Desktop_Export_Out_Of_Pocket_Expenses',

src/languages/en.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2459,6 +2459,12 @@ const translations = {
24592459
classesDescription: 'Choose how to handle QuickBooks Desktop classes in Expensify.',
24602460
tagsDisplayedAsDescription: 'Line item level',
24612461
reportFieldsDisplayedAsDescription: 'Report level',
2462+
advancedConfig: {
2463+
autoSyncDescription: 'Expensify will automatically sync with QuickBooks Desktop every day.',
2464+
createEntities: 'Auto-create entities',
2465+
createEntitiesDescription:
2466+
"Expensify will automatically create vendors in QuickBooks Desktop if they don't exist already, and auto-create customers when exporting invoices.",
2467+
},
24622468
},
24632469
qbo: {
24642470
importDescription: 'Choose which coding configurations to import from QuickBooks Online to Expensify.',

src/languages/es.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2483,6 +2483,11 @@ const translations = {
24832483
classesDescription: 'Elige cómo gestionar las clases de QuickBooks Desktop en Expensify.',
24842484
tagsDisplayedAsDescription: 'Nivel de partida',
24852485
reportFieldsDisplayedAsDescription: 'Nivel de informe',
2486+
advancedConfig: {
2487+
autoSyncDescription: 'Expensify se sincronizará automáticamente con QuickBooks Desktop todos los días.',
2488+
createEntities: 'Crear entidades automáticamente',
2489+
createEntitiesDescription: 'Expensify creará automáticamente proveedores en QuickBooks Desktop si aún no existen, y creará automáticamente clientes al exportar facturas.',
2490+
},
24862491
},
24872492
qbo: {
24882493
importDescription: 'Elige que configuraciónes de codificación son importadas desde QuickBooks Online a Expensify.',

src/libs/API/types.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -259,6 +259,8 @@ const WRITE_COMMANDS = {
259259
UPDATE_QUICKBOOKS_ONLINE_EXPORT: 'UpdateQuickbooksOnlineExport',
260260
UPDATE_QUICKBOOKS_DESKTOP_EXPORT_DATE: 'UpdateQuickbooksDesktopExportDate',
261261
UPDATE_MANY_POLICY_CONNECTION_CONFIGS: 'UpdateManyPolicyConnectionConfigurations',
262+
UPDATE_QUICKBOOKS_DESKTOP_AUTO_CREATE_VENDOR: 'UpdateQuickbooksDesktopAutoCreateVendor',
263+
UPDATE_QUICKBOOKS_DESKTOP_AUTO_SYNC: 'UpdateQuickbooksDesktopAutoSync',
262264
UPDATE_QUICKBOOKS_DESKTOP_EXPORT: 'UpdateQuickbooksDesktopExport',
263265
UPDATE_QUICKBOOKS_DESKTOP_REIMBURSABLE_EXPENSES_ACCOUNT: 'UpdateQuickbooksDesktopReimbursableExpensesAccount',
264266
UPDATE_QUICKBOOKS_DESKTOP_MARK_CHECKS_TO_BE_PRINTED: 'UpdateQuickbooksDesktopMarkChecksToBePrinted',
@@ -698,6 +700,8 @@ type WriteCommandParameters = {
698700
[WRITE_COMMANDS.UPDATE_QUICKBOOKS_ONLINE_COLLECTION_ACCOUNT_ID]: Parameters.UpdateQuickbooksOnlineGenericTypeParams;
699701
[WRITE_COMMANDS.UPDATE_QUICKBOOKS_DESKTOP_EXPORT_DATE]: Parameters.UpdateQuickbooksDesktopGenericTypeParams;
700702
[WRITE_COMMANDS.UPDATE_QUICKBOOKS_DESKTOP_MARK_CHECKS_TO_BE_PRINTED]: Parameters.UpdateQuickbooksDesktopGenericTypeParams;
703+
[WRITE_COMMANDS.UPDATE_QUICKBOOKS_DESKTOP_AUTO_CREATE_VENDOR]: Parameters.UpdateQuickbooksDesktopGenericTypeParams;
704+
[WRITE_COMMANDS.UPDATE_QUICKBOOKS_DESKTOP_AUTO_SYNC]: Parameters.UpdateQuickbooksDesktopGenericTypeParams;
701705
[WRITE_COMMANDS.UPDATE_QUICKBOOKS_DESKTOP_REIMBURSABLE_EXPENSES_ACCOUNT]: Parameters.UpdateQuickbooksDesktopGenericTypeParams;
702706
[WRITE_COMMANDS.UPDATE_QUICKBOOKS_DESKTOP_REIMBURSABLE_EXPENSES_EXPORT_DESTINATION]: Parameters.UpdateQuickbooksDesktopExpensesExportDestinationTypeParams;
703707
[WRITE_COMMANDS.UPDATE_QUICKBOOKS_DESKTOP_ENABLE_NEW_CATEGORIES]: Parameters.UpdateQuickbooksDesktopGenericTypeParams;

src/libs/Navigation/AppNavigator/ModalStackNavigators/index.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -323,6 +323,8 @@ const SettingsModalStackNavigator = createModalStackNavigator<SettingsNavigatorP
323323
[SCREENS.WORKSPACE.ACCOUNTING.QUICKBOOKS_DESKTOP_EXPORT_OUT_OF_POCKET_EXPENSES_SELECT]: () =>
324324
require<ReactComponentModule>('../../../../pages/workspace/accounting/qbd/export/QuickbooksDesktopOutOfPocketExpenseEntitySelectPage').default,
325325
[SCREENS.WORKSPACE.ACCOUNTING.QUICKBOOKS_DESKTOP_EXPORT]: () => require<ReactComponentModule>('../../../../pages/workspace/accounting/qbd/export/QuickbooksDesktopExportPage').default,
326+
[SCREENS.WORKSPACE.ACCOUNTING.QUICKBOOKS_DESKTOP_ADVANCED]: () =>
327+
require<ReactComponentModule>('../../../../pages/workspace/accounting/qbd/advanced/QuickbooksDesktopAdvancedPage').default,
326328
[SCREENS.WORKSPACE.ACCOUNTING.QUICKBOOKS_DESKTOP_SETUP_MODAL]: () => require<ReactComponentModule>('../../../../pages/workspace/accounting/qbd/QuickBooksDesktopSetupPage').default,
327329
[SCREENS.WORKSPACE.ACCOUNTING.QUICKBOOKS_DESKTOP_SETUP_REQUIRED_DEVICE_MODAL]: () =>
328330
require<ReactComponentModule>('../../../../pages/workspace/accounting/qbd/RequireQuickBooksDesktopPage').default,

src/libs/Navigation/linkingConfig/FULL_SCREEN_TO_RHP_MAPPING.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ const FULL_SCREEN_TO_RHP_MAPPING: Partial<Record<FullScreenName, string[]>> = {
4545
SCREENS.WORKSPACE.ACCOUNTING.QUICKBOOKS_ONLINE_ADVANCED,
4646
SCREENS.WORKSPACE.ACCOUNTING.QUICKBOOKS_ONLINE_ACCOUNT_SELECTOR,
4747
SCREENS.WORKSPACE.ACCOUNTING.QUICKBOOKS_ONLINE_INVOICE_ACCOUNT_SELECTOR,
48+
SCREENS.WORKSPACE.ACCOUNTING.QUICKBOOKS_DESKTOP_ADVANCED,
4849
SCREENS.WORKSPACE.ACCOUNTING.QUICKBOOKS_DESKTOP_EXPORT_DATE_SELECT,
4950
SCREENS.WORKSPACE.ACCOUNTING.QUICKBOOKS_DESKTOP_EXPORT_PREFERRED_EXPORTER,
5051
SCREENS.WORKSPACE.ACCOUNTING.QUICKBOOKS_DESKTOP_EXPORT_OUT_OF_POCKET_EXPENSES,

src/libs/Navigation/linkingConfig/config.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -393,6 +393,9 @@ const config: LinkingOptions<RootStackParamList>['config'] = {
393393
[SCREENS.WORKSPACE.ACCOUNTING.QUICKBOOKS_ONLINE_INVOICE_ACCOUNT_SELECTOR]: {
394394
path: ROUTES.WORKSPACE_ACCOUNTING_QUICKBOOKS_ONLINE_INVOICE_ACCOUNT_SELECTOR.route,
395395
},
396+
[SCREENS.WORKSPACE.ACCOUNTING.QUICKBOOKS_DESKTOP_ADVANCED]: {
397+
path: ROUTES.WORKSPACE_ACCOUNTING_QUICKBOOKS_DESKTOP_ADVANCED.route,
398+
},
396399
[SCREENS.WORKSPACE.ACCOUNTING.QUICKBOOKS_DESKTOP_EXPORT_DATE_SELECT]: {path: ROUTES.POLICY_ACCOUNTING_QUICKBOOKS_DESKTOP_EXPORT_DATE_SELECT.route},
397400
[SCREENS.WORKSPACE.ACCOUNTING.QUICKBOOKS_DESKTOP_EXPORT_PREFERRED_EXPORTER]: {path: ROUTES.POLICY_ACCOUNTING_QUICKBOOKS_DESKTOP_PREFERRED_EXPORTER.route},
398401
[SCREENS.WORKSPACE.ACCOUNTING.QUICKBOOKS_DESKTOP_EXPORT_OUT_OF_POCKET_EXPENSES_ACCOUNT_SELECT]: {

src/libs/Navigation/types.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -436,6 +436,9 @@ type SettingsNavigatorParamList = {
436436
[SCREENS.WORKSPACE.ACCOUNTING.QUICKBOOKS_ONLINE_EXPORT_PREFERRED_EXPORTER]: {
437437
policyID: string;
438438
};
439+
[SCREENS.WORKSPACE.ACCOUNTING.QUICKBOOKS_DESKTOP_ADVANCED]: {
440+
policyID: string;
441+
};
439442
[SCREENS.WORKSPACE.ACCOUNTING.QUICKBOOKS_DESKTOP_EXPORT_DATE_SELECT]: {
440443
policyID: string;
441444
};

src/libs/actions/connections/QuickbooksDesktop.ts

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -341,6 +341,21 @@ function updateQuickbooksDesktopExpensesExportDestination<TConfigUpdate extends
341341
API.write(WRITE_COMMANDS.UPDATE_QUICKBOOKS_DESKTOP_REIMBURSABLE_EXPENSES_EXPORT_DESTINATION, parameters, onyxData);
342342
}
343343

344+
function updateQuickbooksDesktopShouldAutoCreateVendor<TSettingValue extends Connections['quickbooksDesktop']['config']['shouldAutoCreateVendor']>(
345+
policyID: string,
346+
settingValue: TSettingValue,
347+
) {
348+
const onyxData = buildOnyxDataForQuickbooksConfiguration(policyID, CONST.QUICKBOOKS_DESKTOP_CONFIG.SHOULD_AUTO_CREATE_VENDOR, settingValue, !settingValue);
349+
350+
const parameters: UpdateQuickbooksDesktopGenericTypeParams = {
351+
policyID,
352+
settingValue: JSON.stringify(settingValue),
353+
idempotencyKey: String(CONST.QUICKBOOKS_DESKTOP_CONFIG.SHOULD_AUTO_CREATE_VENDOR),
354+
};
355+
356+
API.write(WRITE_COMMANDS.UPDATE_QUICKBOOKS_DESKTOP_AUTO_CREATE_VENDOR, parameters, onyxData);
357+
}
358+
344359
function updateQuickbooksDesktopMarkChecksToBePrinted<TSettingValue extends Connections['quickbooksDesktop']['config']['markChecksToBePrinted']>(
345360
policyID: string,
346361
settingValue: TSettingValue,
@@ -425,9 +440,22 @@ function updateQuickbooksDesktopExportDate<TSettingValue extends Connections['qu
425440
API.write(WRITE_COMMANDS.UPDATE_QUICKBOOKS_DESKTOP_EXPORT_DATE, parameters, onyxData);
426441
}
427442

443+
function updateQuickbooksDesktopAutoSync<TSettingValue extends Connections['quickbooksDesktop']['config']['autoSync']['enabled']>(policyID: string, settingValue: TSettingValue) {
444+
const onyxData = buildOnyxDataForQuickbooksConfiguration(policyID, CONST.QUICKBOOKS_DESKTOP_CONFIG.AUTO_SYNC, {enabled: settingValue}, {enabled: !settingValue});
445+
446+
const parameters: UpdateQuickbooksDesktopGenericTypeParams = {
447+
policyID,
448+
settingValue: JSON.stringify(settingValue),
449+
idempotencyKey: String(CONST.QUICKBOOKS_DESKTOP_CONFIG.AUTO_SYNC),
450+
};
451+
API.write(WRITE_COMMANDS.UPDATE_QUICKBOOKS_DESKTOP_AUTO_SYNC, parameters, onyxData);
452+
}
453+
428454
export {
455+
updateQuickbooksDesktopAutoSync,
429456
updateQuickbooksDesktopPreferredExporter,
430457
updateQuickbooksDesktopMarkChecksToBePrinted,
458+
updateQuickbooksDesktopShouldAutoCreateVendor,
431459
updateQuickbooksDesktopExpensesExportDestination,
432460
updateQuickbooksDesktopReimbursableExpensesAccount,
433461
getQuickbooksDesktopCodatSetupLink,
Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
import React from 'react';
2+
import ConnectionLayout from '@components/ConnectionLayout';
3+
import useLocalize from '@hooks/useLocalize';
4+
import usePermissions from '@hooks/usePermissions';
5+
import useThemeStyles from '@hooks/useThemeStyles';
6+
import * as QuickbooksDesktop from '@libs/actions/connections/QuickbooksDesktop';
7+
import * as ErrorUtils from '@libs/ErrorUtils';
8+
import Navigation from '@libs/Navigation/Navigation';
9+
import {settingsPendingAction} from '@libs/PolicyUtils';
10+
import type {WithPolicyConnectionsProps} from '@pages/workspace/withPolicyConnections';
11+
import withPolicyConnections from '@pages/workspace/withPolicyConnections';
12+
import ToggleSettingOptionRow from '@pages/workspace/workflows/ToggleSettingsOptionRow';
13+
import {clearQBDErrorField} from '@userActions/Policy/Policy';
14+
import CONST from '@src/CONST';
15+
import ROUTES from '@src/ROUTES';
16+
17+
function QuickbooksDesktopAdvancedPage({policy}: WithPolicyConnectionsProps) {
18+
const styles = useThemeStyles();
19+
const {translate} = useLocalize();
20+
const policyID = policy?.id ?? '-1';
21+
const qbdConfig = policy?.connections?.quickbooksDesktop?.config;
22+
const {canUseNewDotQBD} = usePermissions();
23+
24+
const qbdToggleSettingItems = [
25+
{
26+
title: translate('workspace.accounting.autoSync'),
27+
subtitle: translate('workspace.qbd.advancedConfig.autoSyncDescription'),
28+
switchAccessibilityLabel: translate('workspace.qbd.advancedConfig.autoSyncDescription'),
29+
isActive: !!qbdConfig?.autoSync?.enabled,
30+
onToggle: (isOn: boolean) => QuickbooksDesktop.updateQuickbooksDesktopAutoSync(policyID, isOn),
31+
subscribedSetting: CONST.QUICKBOOKS_DESKTOP_CONFIG.AUTO_SYNC,
32+
errors: ErrorUtils.getLatestErrorField(qbdConfig, CONST.QUICKBOOKS_DESKTOP_CONFIG.AUTO_SYNC),
33+
pendingAction: settingsPendingAction([CONST.QUICKBOOKS_DESKTOP_CONFIG.AUTO_SYNC], qbdConfig?.pendingFields),
34+
},
35+
{
36+
title: translate('workspace.qbd.advancedConfig.createEntities'),
37+
subtitle: translate('workspace.qbd.advancedConfig.createEntitiesDescription'),
38+
switchAccessibilityLabel: translate('workspace.qbd.advancedConfig.createEntitiesDescription'),
39+
isActive: !!qbdConfig?.shouldAutoCreateVendor,
40+
onToggle: (isOn: boolean) => {
41+
QuickbooksDesktop.updateQuickbooksDesktopShouldAutoCreateVendor(policyID, isOn);
42+
},
43+
subscribedSetting: CONST.QUICKBOOKS_DESKTOP_CONFIG.SHOULD_AUTO_CREATE_VENDOR,
44+
errors: ErrorUtils.getLatestErrorField(qbdConfig, CONST.QUICKBOOKS_DESKTOP_CONFIG.SHOULD_AUTO_CREATE_VENDOR),
45+
pendingAction: settingsPendingAction([CONST.QUICKBOOKS_DESKTOP_CONFIG.SHOULD_AUTO_CREATE_VENDOR], qbdConfig?.pendingFields),
46+
},
47+
];
48+
49+
return (
50+
<ConnectionLayout
51+
displayName={QuickbooksDesktopAdvancedPage.displayName}
52+
headerTitle="workspace.accounting.advanced"
53+
accessVariants={[CONST.POLICY.ACCESS_VARIANTS.ADMIN, CONST.POLICY.ACCESS_VARIANTS.PAID]}
54+
policyID={policyID}
55+
shouldBeBlocked={!canUseNewDotQBD} // TODO: [QBD] remove it once the QBD beta is done
56+
featureName={CONST.POLICY.MORE_FEATURES.ARE_CONNECTIONS_ENABLED}
57+
contentContainerStyle={[styles.pb2, styles.ph5]}
58+
connectionName={CONST.POLICY.CONNECTIONS.NAME.QBD}
59+
onBackButtonPress={() => Navigation.goBack(ROUTES.POLICY_ACCOUNTING.getRoute(policyID))}
60+
>
61+
{qbdToggleSettingItems.map((item) => (
62+
<ToggleSettingOptionRow
63+
key={item.title}
64+
title={item.title}
65+
subtitle={item.subtitle}
66+
switchAccessibilityLabel={item.switchAccessibilityLabel}
67+
shouldPlaceSubtitleBelowSwitch
68+
wrapperStyle={styles.mv3}
69+
isActive={item.isActive}
70+
onToggle={item.onToggle}
71+
pendingAction={item.pendingAction}
72+
errors={item.errors}
73+
onCloseError={() => clearQBDErrorField(policyID, item.subscribedSetting)}
74+
/>
75+
))}
76+
</ConnectionLayout>
77+
);
78+
}
79+
80+
QuickbooksDesktopAdvancedPage.displayName = 'QuickbooksDesktopAdvancedPage';
81+
82+
export default withPolicyConnections(QuickbooksDesktopAdvancedPage);

src/pages/workspace/accounting/utils.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -259,7 +259,7 @@ function getAccountingIntegrationData(
259259
onImportPagePress: () => Navigation.navigate(ROUTES.POLICY_ACCOUNTING_QUICKBOOKS_DESKTOP_IMPORT.getRoute(policyID)),
260260
onExportPagePress: () => Navigation.navigate(ROUTES.POLICY_ACCOUNTING_QUICKBOOKS_DESKTOP_EXPORT.getRoute(policyID)),
261261
onCardReconciliationPagePress: () => {},
262-
onAdvancedPagePress: () => {},
262+
onAdvancedPagePress: () => Navigation.navigate(ROUTES.WORKSPACE_ACCOUNTING_QUICKBOOKS_DESKTOP_ADVANCED.getRoute(policyID)),
263263
// TODO: [QBD] Make sure all values are passed to subscribedSettings
264264
subscribedImportSettings: [CONST.QUICKBOOKS_DESKTOP_CONFIG.ENABLE_NEW_CATEGORIES, CONST.QUICKBOOKS_DESKTOP_CONFIG.MAPPINGS.CLASSES],
265265
subscribedExportSettings: [
@@ -269,7 +269,7 @@ function getAccountingIntegrationData(
269269
CONST.QUICKBOOKS_DESKTOP_CONFIG.REIMBURSABLE_ACCOUNT,
270270
CONST.QUICKBOOKS_DESKTOP_CONFIG.MARK_CHECKS_TO_BE_PRINTED,
271271
],
272-
subscribedAdvancedSettings: [],
272+
subscribedAdvancedSettings: [CONST.QUICKBOOKS_DESKTOP_CONFIG.SHOULD_AUTO_CREATE_VENDOR, CONST.QUICKBOOKS_DESKTOP_CONFIG.AUTO_SYNC],
273273
};
274274
default:
275275
return undefined;

src/types/onyx/Policy.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1247,10 +1247,10 @@ type QBDConnectionConfig = OnyxCommon.OnyxValueWithOfflineFeedback<{
12471247

12481248
/** Configuration of automatic synchronization from QuickBooks Desktop to the app */
12491249
autoSync: {
1250-
/** TODO: Will be handled in another issue */
1250+
/** Job ID of the synchronization */
12511251
jobID: string;
12521252

1253-
/** Whether changes made in QuickBooks Online should be reflected into the app automatically */
1253+
/** Whether changes made in QuickBooks Desktop should be reflected into the app automatically */
12541254
enabled: boolean;
12551255
};
12561256

0 commit comments

Comments
 (0)