Skip to content

Commit 6e6de2c

Browse files
authored
fix: QA fixes (#1078)
* QA fixes * qa fixes * qa fixes * fix: qbd direct export settings onboarding changes and content changes (#1082) * qbd direct export settings onboarding changes and content changes * 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) * QA fixes * fix: QBD direct bug fixes (#1085) * QBD direct bug fixes * QBD direct bug fixes * QBD direct bug fixes
1 parent 6f3c5f4 commit 6e6de2c

File tree

51 files changed

+352
-220
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

51 files changed

+352
-220
lines changed

src/app/branding/c1-branding-config.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,8 @@ export const c1KbArticles: KbArticle[string] = {
130130
ADVANCED_SETTING: `${brandingConfig.helpArticleDomain}/en/articles/9082146-configure-the-capital-one-sage-intacct-integration#h_498f2acc61`,
131131
LANDING: `${brandingConfig.helpArticleDomain}/en/articles/9082146-configure-the-capital-one-sage-intacct-integration`,
132132
CONNECTOR: `${brandingConfig.helpArticleDomain}/en/articles/9081356-generate-credentials-to-connect-with-sage-intacct`,
133-
SKIP_EXPORT: `${brandingConfig.helpArticleDomain}/en/articles/9082146-configure-the-capital-one-sage-intacct-integration`
133+
SKIP_EXPORT: `${brandingConfig.helpArticleDomain}/en/articles/9082146-configure-the-capital-one-sage-intacct-integration`,
134+
HELPER_ARTICLE: `${brandingConfig.helpArticleDomain}/en/articles/7882821-how-to-skip-exporting-specific-expenses-from-fyle-to-sage-intacct`
134135
}
135136
}
136137
};

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,8 @@ export const fyleKbArticles: KbArticle[string] = {
131131
ADVANCED_SETTING: `${brandingConfig.helpArticleDomain}/en/articles/8394683-how-to-configure-the-fyle-sage-intacct-integration#h_3f6718633c`,
132132
LANDING: `${brandingConfig.helpArticleDomain}/en/articles/8394683-how-to-configure-the-fyle-sage-intacct-integration`,
133133
CONNECTOR: `${brandingConfig.helpArticleDomain}/en/articles/8394683-how-to-configure-the-fyle-sage-intacct-integration#h_38e0c9bea6`,
134-
SKIP_EXPORT: `${brandingConfig.helpArticleDomain}/en/articles/7882821-how-to-skip-exporting-specific-expenses-from-fyle-to-sage-intacct`
134+
SKIP_EXPORT: `${brandingConfig.helpArticleDomain}/en/articles/7882821-how-to-skip-exporting-specific-expenses-from-fyle-to-sage-intacct`,
135+
HELPER_ARTICLE: `${brandingConfig.helpArticleDomain}/en/articles/7882821-how-to-skip-exporting-specific-expenses-from-fyle-to-sage-intacct`
135136
}
136137
}
137138
};

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

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ export const brandingConfig: BrandingConfiguration = config as BrandingConfigura
66
export const fyleContents = {
77
qbd_direct: {
88
landing: {
9-
contentText: 'Import data from QuickBooks Desktop to Fyle and export expenses from Fyle to QuickBooks Desktop',
9+
contentText: 'Import data from QuickBooks Desktop to ' + brandingConfig.brandName + ' and export expenses from ' + brandingConfig.brandName + ' to QuickBooks Desktop',
1010
guideHeaderText: 'Guide to setup your integrations'
1111
},
1212
configuration: {
@@ -24,80 +24,80 @@ export const fyleContents = {
2424
exportSetting: {
2525
stepName: 'Export Settings',
2626
headerText: ' Export Corporate Card Expenses',
27-
contentText: 'In this section, you can configure how and when the expenses from ' + brandingConfig.brandName + ' can be exported to QuickBooks Desktop',
27+
contentText: 'In this section, you can configure how and when the expenses from ' + brandingConfig.brandName + ' need to be exported to QuickBooks Desktop.',
2828
reimbursable: {
2929
reimbursableExpenseLabel: 'Export Reimbursable Expenses',
3030
reimbursableExpenseSubLabel: 'Enable this to export the reimbursable expenses from ' + brandingConfig.brandName + '. If not enabled, any <b>out-of-pocket</b> expenses will not be exported to Quickbooks Desktop.',
3131
reimbursableExpenseTypeLabel: 'How should the expenses be exported?',
3232
reimbursableExpenseTypeSubLabel: 'Choose the type of transaction in QuickBooks Desktop to export your ' + brandingConfig.brandName +' expenses.',
3333
reimbursableExpenseStateLabel: 'At which state should the expenses be ready to export from ' + brandingConfig.brandName + '?',
34-
reimbursableExpenseStateSubLabel: 'You can export expenses either when they are awaiting closure after approval (Processing) or when the payment has been settled (Closed).',
34+
reimbursableExpenseStateSubLabel: 'You can export expenses either when they are awaiting payments after approval (Processing) or when the payment has been settled (Closed).',
3535
reimbursableExpenseDateLabel: 'Set the expense ',
3636
reimbursableExpenseDateSubLabel: 'Expenses will be grouped and posted using the configured date when exporting from ' + brandingConfig.brandName +' to QuickBooks Desktop',
3737
reimbursableExpenseGroupLabel: 'How should the expenses be grouped?',
3838
reimbursableExpenseGroupSubLabel: 'Expenses can either be exported as single line items (Expense) or as a grouped report with multiple line items (Report)',
3939
employeeMappingLabel: 'How are your Employees represented in QuickBooks Desktop?',
40-
employeeMappingSubLabel: 'Select how you represent your employees in QuickBooks Desktop. This would help to export the expenses from ' + brandingConfig.brandName + ' to the correct employee/vendor record in QuickBooks Desktop.',
40+
employeeMappingSubLabel: 'Select how employees are represented in QuickBooks Desktop to ensure expenses from ' + brandingConfig.brandName + ' export to the correct employee/vendor record.',
4141
autoMapEmployeesLabel: 'How should Employees in ' + brandingConfig.brandName + ' be mapped to ',
4242
autoMapEmployeesSubLabel: 'Automatically map the employees in ' + brandingConfig.brandName + ' to their corresponding records in QuickBooks Desktop based on a unique parameter.',
43-
defaultReimbursableAccountPayableLabel: 'To which accounts payable account should the ',
43+
defaultReimbursableAccountPayableLabel: 'Select the Default Credit Account for adding ',
4444
defaultReimbursableAccountPayableSubLabel: 'The integration will post the offset credit entry in '
4545
},
4646
corporateCard: {
4747
creditCardExpenseLabel: 'Export corporate card expenses',
48-
creditCardExpenseSubLabel: 'Enable this to export the non-reimbursable expenses from ' + brandingConfig.brandName + '. If not enabled, any <b>corporate credit card </b> expenses will not be exported to Quickbooks Desktop.',
48+
creditCardExpenseSubLabel: 'Enable this to export the corporate credit card expenses from ' + brandingConfig.brandName + '. If not enabled, any <b>non-reimbursable </b> expenses will not be exported to Quickbooks Desktop.',
4949
creditCardExpenseTypeLabel: 'How should the expenses be exported?',
5050
creditCardExpenseTypeSubLabel: 'Choose the type of transaction in QuickBooks Desktop to export your ' + brandingConfig.brandName +' expenses.',
5151
creditCardExpenseStateLabel: 'At which state should the expenses be ready to export from ' + brandingConfig.brandName + '?',
52-
creditCardExpenseStateSubLabel: 'You could choose to export ccc expenses when they have been approved and are awaiting payment clearance, or simply when they have been paid out.',
52+
creditCardExpenseStateSubLabel: 'You can export expenses either when they are awaiting closure after approval (Approved) or when the expense has been closed (Closed).',
5353
creditCardExpenseDateLabel: 'Set the expense ',
5454
creditCardExpenseDateSubLabel: 'Expenses will be grouped and posted using the configured date when exporting from ' + brandingConfig.brandName +' to QuickBooks Desktop',
5555
creditCardExpenseGroupLabel: 'How should the expenses be grouped?',
5656
creditCardExpenseGroupSubLabel: 'Expenses can either be exported as single line items (Expense) or as a grouped report with multiple line items (Report)',
5757
creditCardExpenseNameinJELabel: 'Name in Journal Entry',
58-
creditCardExpenseNameinJESubLabel: 'You can select either the \'Merchant Name\' or the \'Employee Name\' to appear in the \'Name\' field of your Journal Entries.',
59-
defaultCCCAccountLabel: 'Set Default Credit Card Account as',
60-
defaultCCCAccountSubLabel: 'Post all your company corporate card transactions to a default credit card account.',
61-
defaultCCCAccountPayableLabel: 'To which accounts payable account should the ',
62-
defaultCCCAccountPayableSubLabel: 'The integration will post the offset credit entry in '
58+
creditCardExpenseNameinJESubLabel: 'You can select either the \'Merchant Name\' or the \'Employee Name\' to appear in the \'Name\' field of your journal entries.',
59+
defaultCCCAccountLabel: 'Set a Default Credit Card Account',
60+
defaultCCCAccountSubLabel: 'If there\'s no card-to-card mapping or when an expense lacks a corporate card transaction associated with it, expenses will be posted to the default card configured here.',
61+
defaultCCCAccountPayableLabel: 'Select the Default Credit Account for adding Journal Entry ',
62+
defaultCCCAccountPayableSubLabel: 'This account will be used for the credit line of the '
6363
}
6464
},
6565
importSetting: {
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/branding/kb-article.model.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ export type KbArticle = {
2020
LANDING: string;
2121
CONNECTOR: string;
2222
SKIP_EXPORT: string;
23+
HELPER_ARTICLE: string;
2324
},
2425
INTACCT: {
2526
IMPORT_SETTING: string;

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/db/task-log.model.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,5 +23,5 @@ export type TaskLogGetParams = {
2323
type__in?: string[];
2424
expense_group_ids?: number[];
2525
task_type?: string[];
26-
export_log_id__in?: number[];
26+
export_log__id?: number[];
2727
};

src/app/core/models/enum/enum.model.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -622,7 +622,8 @@ export enum AccountingExportStatus {
622622
COMPLETE = 'COMPLETE',
623623
IN_PROGRESS = 'IN_PROGRESS',
624624
ENQUEUED = 'ENQUEUED',
625-
EXPORT_QUEUED = 'EXPORT_QUEUED'
625+
EXPORT_QUEUED = 'EXPORT_QUEUED',
626+
ERROR = 'ERROR'
626627
}
627628

628629
export enum AccountingExportType {

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));

src/app/core/services/common/dashboard.service.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ export class DashboardService {
5858
}
5959

6060
if (expenseGroupIds.length) {
61-
const expenseKey = appName === AppName.INTACCT ? 'expense_group_ids' : appName === AppName.QBD_DIRECT ? 'export_log_id__in' : 'expense_group_id__in';
61+
const expenseKey = appName === AppName.INTACCT ? 'expense_group_ids' : appName === AppName.QBD_DIRECT ? 'export_log__id' : 'expense_group_id__in';
6262
apiParams[expenseKey] = expenseGroupIds;
6363
}
6464

src/app/core/services/common/export-log.service.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,9 @@ import { Injectable } from '@angular/core';
22
import { ApiService } from './api.service';
33
import { UserService } from '../misc/user.service';
44
import { WorkspaceService } from './workspace.service';
5-
import { environment } from 'src/environments/environment';
65
import { SkipExportLogResponse } from '../../models/intacct/db/expense-group.model';
7-
import { AppName, FyleReferenceType, TaskLogState } from '../../models/enum/enum.model';
6+
import { AccountingExportStatus, AppName, TaskLogState } from '../../models/enum/enum.model';
87
import { Observable } from 'rxjs';
9-
import { AccountingExport } from '../../models/db/accounting-export.model';
108
import { SelectedDateFilter } from '../../models/qbd/misc/qbd-date-filter.model';
119
import { ExpenseGroupParam, ExpenseGroupResponse, SkipExportParam } from '../../models/db/expense-group.model';
1210

@@ -87,6 +85,10 @@ export class ExportLogService {
8785
if (appName === AppName.NETSUITE) {
8886
return this.apiService.get(`/workspaces/${this.workspaceId}/fyle/expense_groups/v2/`, params);
8987
} else if (appName === AppName.QBD_DIRECT) {
88+
if (params.status__in?.includes(AccountingExportStatus.FAILED)) {
89+
params.status__in = AccountingExportStatus.ERROR;
90+
}
91+
9092
return this.apiService.get(`/workspaces/${this.workspaceId}/export_logs/`, params);
9193
}
9294
return this.apiService.get(`/workspaces/${this.workspaceId}/fyle/expense_groups/`, params);

0 commit comments

Comments
 (0)