From eaa69424e2ef07b83379befcfb73e8fba8d3967b Mon Sep 17 00:00:00 2001 From: SandipBajracharya Date: Tue, 20 Jan 2026 13:31:54 +0545 Subject: [PATCH 1/3] fix(OUT-2955): create new income account if not found in QBO --- src/app/api/quickbooks/auth/auth.service.ts | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/src/app/api/quickbooks/auth/auth.service.ts b/src/app/api/quickbooks/auth/auth.service.ts index f28e5dc..e1516fa 100644 --- a/src/app/api/quickbooks/auth/auth.service.ts +++ b/src/app/api/quickbooks/auth/auth.service.ts @@ -52,7 +52,23 @@ export class AuthService extends BaseService { } async manageIncomeAccountRef(intuitApi: IntuitAPI): Promise { - const incomeAccRef = await intuitApi.getSingleIncomeAccount() + const existingIncomeAccRef = await intuitApi.getSingleIncomeAccount() + if (existingIncomeAccRef) { + return existingIncomeAccRef.Id + } + + console.info( + `IntuitAPI#manageIncomeAccountRef | No existing income account found. Creating new one.`, + ) + + const payload = { + Name: 'Assembly General Income', + Classification: 'Revenue', + AccountType: 'Income', + AccountSubType: 'SalesOfProductIncome', + Active: true, + } + const incomeAccRef = await intuitApi.createAccount(payload) return incomeAccRef.Id } From 51d1926d266c65eaada6d5b9beb553ba0f42af24 Mon Sep 17 00:00:00 2001 From: SandipBajracharya Date: Tue, 20 Jan 2026 13:34:19 +0545 Subject: [PATCH 2/3] fix(OUT-2955): rename income account copy --- src/app/api/quickbooks/auth/auth.service.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/api/quickbooks/auth/auth.service.ts b/src/app/api/quickbooks/auth/auth.service.ts index e1516fa..6de9557 100644 --- a/src/app/api/quickbooks/auth/auth.service.ts +++ b/src/app/api/quickbooks/auth/auth.service.ts @@ -62,7 +62,7 @@ export class AuthService extends BaseService { ) const payload = { - Name: 'Assembly General Income', + Name: 'Assembly SOP Income', Classification: 'Revenue', AccountType: 'Income', AccountSubType: 'SalesOfProductIncome', From 9468fd1001c692340a682293881f95a8bc604974 Mon Sep 17 00:00:00 2001 From: SandipBajracharya Date: Tue, 20 Jan 2026 13:58:51 +0545 Subject: [PATCH 3/3] perf(OUT-2955): add optional chaining to avoid error --- src/app/api/quickbooks/auth/auth.service.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/app/api/quickbooks/auth/auth.service.ts b/src/app/api/quickbooks/auth/auth.service.ts index 6de9557..d11b852 100644 --- a/src/app/api/quickbooks/auth/auth.service.ts +++ b/src/app/api/quickbooks/auth/auth.service.ts @@ -54,7 +54,7 @@ export class AuthService extends BaseService { async manageIncomeAccountRef(intuitApi: IntuitAPI): Promise { const existingIncomeAccRef = await intuitApi.getSingleIncomeAccount() if (existingIncomeAccRef) { - return existingIncomeAccRef.Id + return existingIncomeAccRef?.Id } console.info( @@ -76,7 +76,7 @@ export class AuthService extends BaseService { const accName = 'Assembly Processing Fees' const existingAccount = await intuitApi.getAnAccount(accName) if (existingAccount) { - return existingAccount.Id + return existingAccount?.Id } // Docs: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/account#the-account-object @@ -95,7 +95,7 @@ export class AuthService extends BaseService { const accName = 'Assembly General Asset' const existingAccount = await intuitApi.getAnAccount(accName) if (existingAccount) { - return existingAccount.Id + return existingAccount?.Id } /**