Skip to content

Commit 43d4347

Browse files
authored
fix: qbd direct import settings onboarding changes and content changes (#1083)
* qbd direct import settings onboarding changes and content changes * qbd direct advanced settings onboarding changes and content changes (#1084)
1 parent 8ea1887 commit 43d4347

File tree

11 files changed

+88
-30
lines changed

11 files changed

+88
-30
lines changed

src/app/branding/fyle-contents-config.ts

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -66,38 +66,38 @@ export const fyleContents = {
6666
stepName: 'Import Settings',
6767
headerText: '',
6868
contentText: 'In this section, you can choose the fields required to be imported from QuickBooks Desktop to ' + brandingConfig.brandName + '. ',
69-
importCategoriesLabel: 'Import the Chart of Accounts as Categories in ' + brandingConfig.brandName,
70-
importCategoriesSubLabel: 'Imported account will be available as Categories in ' + brandingConfig.brandName + '.',
69+
importCategoriesLabel: 'Import Chart of Accounts as Categories in ' + brandingConfig.brandName,
70+
importCategoriesSubLabel: 'Chart of Accounts in QuickBooks will be imported as Categories in Fyle, available in a dropdown for employees to select when coding expenses.',
7171
importItemsLabel: 'Import Products/Services from QuickBooks Desktop',
7272
importItemsSubLabel: 'Products/services from QuickBooks Desktop will be imported as Categories in ' + brandingConfig.brandName + '.',
73-
importVendorsAsMerchantsLabel: 'Import Vendors from QuickBooks Desktop',
74-
chartOfAccountTypes: 'Select the accounts from QuickBooks Desktop to import as categories in ' + brandingConfig.brandName,
75-
chartOfAccountTypesSubLabel: 'By default expense will be selected. Open the dropdown to select more as per your requirements.'
73+
importVendorsAsMerchantsLabel: 'Import Vendors as Merchants in Fyle',
74+
chartOfAccountTypes: 'Choose the type of accounts to be imported',
75+
chartOfAccountTypesSubLabel: 'By default \'Expense\' type accounts will be imported. Open the dropdown to add or modify selections based on your needs.'
7676
},
7777
advancedSettings: {
7878
stepName: 'Advanced Settings',
7979
contentText: 'In this section, you can customize the integration based on your accounting requirements. ',
8080
automationLabel: 'Automation',
8181
automationSubLabel: 'You can automate the export and sync of your data in this section.',
8282
customizeSectionLabel: 'Customization',
83-
customizeSectionSubLabel: 'In this section, you can customize the data that you\'d like to export from Fyle to QuickBooks Desktop You can choose what data points need to be exported and what shouldn\'t be.',
83+
customizeSectionSubLabel: 'In this section, you can customize the data that you\'d like to export from Fyle to QuickBooks Desktop.',
8484
scheduleAutoExportLabel: 'Schedule automatic export',
8585
scheduleAutoExportSubLabel: 'Set up a schedule to frequently automate the export of expenses from ' + brandingConfig.brandName + ' to QuickBooks Desktop.',
8686
autoExportfrequencyLabel: 'Set up export frequency',
8787
autoExportfrequencySubLabel: 'Set a frequency based on how often you want your expenses in Fyle to be exported to QuickBooks Desktop.',
88-
topLevelMemoStructureLabel: 'Select the top level memo field data for QuickBooks Desktop',
89-
topLevelMemoStructureSubLabel: 'You can customize the <b>data point</b> you would like to export to QuickBooks Desktop\’s <b>top-level memo</b> field while exporting expenses from ' + brandingConfig.brandName + '.',
90-
memoStructureLabel: 'Set the line-item level memo field data for QuickBooks Desktop.',
91-
memoStructureSubLabel: 'You can customize the data set you would like to export to QuickBooks Desktop\’s <b>transaction line-item level memo</b> field while exporting expenses from ' + brandingConfig.brandName + '.',
88+
topLevelMemoStructureLabel: 'Customize the Top-Level Memo Field',
89+
topLevelMemoStructureSubLabel: 'Select the datapoints you\'d like to export to QuickBooks Desktop’s top-level memo field when exporting expenses from Fyle.',
90+
memoStructureLabel: 'Customize the Line-Item Level Memo Field',
91+
memoStructureSubLabel: 'Select the datapoints you\'d like to export to QuickBooks Desktop\’s line-item level memo field when exporting expenses from Fyle.',
9292
previewDescriptionFieldLabel: 'Preview of the Description Field',
9393
otherPreferencesLabel: 'Other preferences',
9494
otherPreferencesSubLabel: 'Based on your preference, you can choose whether you want to create any new records in QuickBooks Desktop from ' + brandingConfig.brandName + '.',
9595
autoCreateMerchantsAsVendorsLabel: 'Auto-create merchants as vendors',
9696
autoCreateMerchantsAsVendorsSubLabel: 'Fyle will auto-create a new vendor in QuickBooks Desktop if a merchant added by an employee does not have a corresponding match in QuickBooks Desktop. ',
97-
skipExportLabel: 'Skip export of specific expenses from ' + brandingConfig.brandName + ' to QuickBooks Desktop',
98-
skipExportSubLabel: 'You could choose to skip expenses from ' + brandingConfig.brandName + ' to QuickBooks Desktop by setting up a conditional rule. ',
99-
autoCreateReimbursableEnitityLabel: 'Auto create reimbursable enitity',
100-
autoCreateReimbursableEnititySubLabel: 'Do you want to create a reimbursable enitity if not present',
97+
skipExportLabel: 'Skip Export of Specific Expenses from Fyle to QuickBooks Desktop',
98+
skipExportSubLabel: 'Set up a conditional rule to selectively skip exporting certain expenses from Fyle to QuickBooks Desktop. ',
99+
autoCreateReimbursableEnitityLabel: 'Auto-create fyle employees as ',
100+
autoCreateReimbursableEnititySubLabel: 'If an employee in Fyle has no corresponding record in QuickBooks Desktop, the integration will automatically create a ',
101101
accountingPeriodLabel: 'Post entries in the current accounting period',
102102
accountingPeriodSubLabel: 'If there are expenses for which the accounting period is closed in QuickBooks Desktop, you can export those to the current month by enabling this option.'
103103
}

src/app/core/models/common/advanced-settings.model.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ export class AdvancedSettingsModel {
8585
merchant: 'Pizza Hut',
8686
report_number: 'C/2021/12/R/1',
8787
spent_on: today.toLocaleDateString(),
88-
expence_key: 'txDdlUFWkahX',
88+
expense_key: 'txDdlUFWkahX',
8989
expense_link: `${environment.fyle_app_url}/app/main/#/enterprise/view_expense/`
9090
};
9191
let memoPreviewText = '';

src/app/core/models/qbd-direct/qbd-direct-configuration/qbd-direct-advanced-settings.model.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ export class QbdDirectAdvancedSettingsModel extends AdvancedSettingsModel {
2626
}
2727

2828
static defaultTopMemoOptions(): string[] {
29-
return ["employee_name", "expense_key"];
29+
return ["employee_name", "Expense/Report ID"];
3030
}
3131

3232
static formatMemoStructure(memoStructure: string[], defaultMemoOptions: string[]): string[] {
@@ -58,6 +58,9 @@ export class QbdDirectAdvancedSettingsModel extends AdvancedSettingsModel {
5858

5959
const topMemo: string[] = advancedSettingForm.controls.topMemoStructure.value;
6060

61+
const index = topMemo.indexOf('Expense/Report ID');
62+
topMemo[index] = 'expense_key';
63+
6164
const allSelectedEmails: EmailOption[] = advancedSettingForm.get('email')?.value;
6265

6366
const selectedEmailsEmails = allSelectedEmails?.filter((email: EmailOption) => adminEmails.includes(email));
Original file line numberDiff line numberDiff line change
@@ -1 +1,4 @@
1-
<p>qbd-direct-onboarding-advanced-settings works!</p>
1+
<div class="tw-pb-48-px">
2+
<app-onboarding-steppers [onboardingSteps]="onboardingSteps"></app-onboarding-steppers>
3+
<app-qbd-direct-advanced-settings></app-qbd-direct-advanced-settings>
4+
</div>
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,31 @@
1-
import { Component } from '@angular/core';
1+
import { CommonModule } from '@angular/common';
2+
import { Component, OnInit } from '@angular/core';
3+
import { QbdDirectSharedModule } from '../../qbd-direct-shared/qbd-direct-shared.module';
4+
import { SharedModule } from 'src/app/shared/shared.module';
5+
import { QbdDirectAdvancedSettingsComponent } from "../../qbd-direct-shared/qbd-direct-advanced-settings/qbd-direct-advanced-settings.component";
6+
import { QbdDirectOnboardingModel } from 'src/app/core/models/qbd-direct/qbd-direct-configuration/qbd-direct-onboarding.model';
7+
import { brandingContent } from 'src/app/branding/branding-config';
8+
import { OnboardingStepper } from 'src/app/core/models/misc/onboarding-stepper.model';
9+
import { WorkspaceService } from 'src/app/core/services/common/workspace.service';
210

311
@Component({
412
selector: 'app-qbd-direct-onboarding-advanced-settings',
513
standalone: true,
6-
imports: [],
14+
imports: [CommonModule, QbdDirectSharedModule, SharedModule, QbdDirectAdvancedSettingsComponent],
715
templateUrl: './qbd-direct-onboarding-advanced-settings.component.html',
816
styleUrl: './qbd-direct-onboarding-advanced-settings.component.scss'
917
})
10-
export class QbdDirectOnboardingAdvancedSettingsComponent {
18+
export class QbdDirectOnboardingAdvancedSettingsComponent implements OnInit {
19+
20+
brandingContent = brandingContent.configuration.advancedSettings;
21+
22+
onboardingSteps: OnboardingStepper[] = new QbdDirectOnboardingModel().getOnboardingSteps(this.brandingContent.stepName, this.workspaceService.getOnboardingState());
23+
24+
constructor(
25+
private workspaceService: WorkspaceService
26+
) { }
27+
28+
ngOnInit(): void {
29+
}
1130

1231
}
Original file line numberDiff line numberDiff line change
@@ -1 +1,8 @@
1-
<p>qbd-direct-onboarding-import-settings works!</p>
1+
<div class="tw-pb-48-px">
2+
<div>
3+
<app-onboarding-steppers [onboardingSteps]="onboardingSteps"></app-onboarding-steppers>
4+
</div>
5+
<div>
6+
<app-qbd-direct-import-settings></app-qbd-direct-import-settings>
7+
</div>
8+
</div>
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,31 @@
1-
import { Component } from '@angular/core';
1+
import { CommonModule } from '@angular/common';
2+
import { Component, OnInit } from '@angular/core';
3+
import { SharedModule } from 'src/app/shared/shared.module';
4+
import { QbdDirectSharedModule } from '../../qbd-direct-shared/qbd-direct-shared.module';
5+
import { QbdDirectOnboardingModel } from 'src/app/core/models/qbd-direct/qbd-direct-configuration/qbd-direct-onboarding.model';
6+
import { brandingContent } from 'src/app/branding/branding-config';
7+
import { OnboardingStepper } from 'src/app/core/models/misc/onboarding-stepper.model';
8+
import { WorkspaceService } from 'src/app/core/services/common/workspace.service';
29

310
@Component({
411
selector: 'app-qbd-direct-onboarding-import-settings',
512
standalone: true,
6-
imports: [],
13+
imports: [QbdDirectSharedModule, SharedModule, CommonModule],
714
templateUrl: './qbd-direct-onboarding-import-settings.component.html',
815
styleUrl: './qbd-direct-onboarding-import-settings.component.scss'
916
})
10-
export class QbdDirectOnboardingImportSettingsComponent {
17+
export class QbdDirectOnboardingImportSettingsComponent implements OnInit {
18+
19+
brandingContent = brandingContent.configuration.importSetting;
20+
21+
onboardingSteps: OnboardingStepper[] = new QbdDirectOnboardingModel().getOnboardingSteps(this.brandingContent.stepName, this.workspaceService.getOnboardingState());
22+
23+
constructor(
24+
private workspaceService: WorkspaceService
25+
) { }
26+
27+
ngOnInit(): void {
28+
}
29+
1130

1231
}

src/app/integrations/qbd-direct/qbd-direct-shared/qbd-direct-advanced-settings/qbd-direct-advanced-settings.component.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,9 +54,9 @@
5454

5555
<app-configuration-toggle-field *ngIf="isReimbursableExportTypePresent"
5656
[form]="advancedSettingsForm"
57-
[label]="brandingContent.autoCreateReimbursableEnitityLabel"
57+
[label]="brandingContent.autoCreateReimbursableEnitityLabel + (employeeMapping | snakeCaseToSpaceCase | lowercase) + 's in QuickBooks Desktop'"
5858
[iconPath]="'user-plus'"
59-
[subLabel]="brandingContent.autoCreateReimbursableEnititySubLabel"
59+
[subLabel]="brandingContent.autoCreateReimbursableEnititySubLabel + (employeeMapping | snakeCaseToSpaceCase | lowercase) + ' record for them, ensuring expenses are posted to this new record.'"
6060
[formControllerName]="'autoCreateReimbursableEnitity'">
6161
</app-configuration-toggle-field>
6262

@@ -128,7 +128,7 @@
128128
</div>
129129

130130
</div>
131-
<app-configuration-step-footer [ctaText]="!saveInProgress ? (isOnboarding ? ConfigurationCtaText.SAVE_AND_CONTINUE : ConfigurationCtaText.SAVE) : ConfigurationCtaText.SAVING" [isButtonDisabled]="!advancedSettingsForm.valid || saveInProgress || !skipExportForm.valid" (save)="save()"></app-configuration-step-footer>
131+
<app-configuration-step-footer [ctaText]="!saveInProgress ? (isOnboarding ? ConfigurationCtaText.SAVE_AND_CONTINUE : ConfigurationCtaText.SAVE) : ConfigurationCtaText.SAVING" [isButtonDisabled]="!advancedSettingsForm.valid || saveInProgress || !skipExportForm.valid" (save)="save()" [showBackButton]="true" (navigateToPreviousStep)="navigateToPreviousStep()"></app-configuration-step-footer>
132132
</form>
133133
</div>
134134
</div>

src/app/integrations/qbd-direct/qbd-direct-shared/qbd-direct-advanced-settings/qbd-direct-advanced-settings.component.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,10 @@ export class QbdDirectAdvancedSettingsComponent implements OnInit {
137137
}
138138
}
139139

140+
navigateToPreviousStep() {
141+
this.router.navigate([`/integrations/qbd_direct/onboarding/import_settings`]);
142+
}
143+
140144
save() {
141145
this.saveInProgress = true;
142146
this.saveSkipExport();

src/app/integrations/qbd-direct/qbd-direct-shared/qbd-direct-import-settings/qbd-direct-import-settings.component.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ <h5 class="lg:tw-w-3/5 md:tw-w-1/2 tw-text-slightly-normal-text-color tw-text-14
6565
<app-configuration-toggle-field
6666
[form]="importSettingForm"
6767
[label]="brandingContent.importVendorsAsMerchantsLabel"
68-
[subLabel]="'Vendors from QuickBooks Online will be imported as merchants in ' + brandingConfig.brandName + ' and will be a selectable field while creating an expense.'"
68+
[subLabel]="'Vendors in QuickBooks will be imported as Merchants in Fyle, available in a dropdown for employees to select when coding expenses.'"
6969
[formControllerName]="'importVendorsAsMerchants'"
7070
[iconPath]="'arrow-tail-down'">
7171
</app-configuration-toggle-field>

0 commit comments

Comments
 (0)