@zeniai/client-epic-state 5.0.0 → 5.0.2-betaRD1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (188) hide show
  1. package/lib/commonPayloadTypes/subAccountView/reportBySubAccountPayload.d.ts +2 -0
  2. package/lib/commonStateTypes/coaBalance/coaBalancesFilterProjectView.d.ts +13 -0
  3. package/lib/commonStateTypes/coaBalance/coaBalancesFilterProjectView.js +9 -0
  4. package/lib/commonStateTypes/common.d.ts +1 -1
  5. package/lib/commonStateTypes/projectView/projectViewParentID.d.ts +5 -0
  6. package/lib/commonStateTypes/projectView/projectViewParentID.js +2 -0
  7. package/lib/commonStateTypes/viewAndReport/reportIDHelper.d.ts +1 -0
  8. package/lib/commonStateTypes/viewAndReport/reportIDHelper.js +3 -1
  9. package/lib/commonStateTypes/viewAndReport/viewAndReport.d.ts +2 -2
  10. package/lib/commonStateTypes/viewAndReport/viewAndReport.js +1 -0
  11. package/lib/entity/account/accountReducer.js +6 -3
  12. package/lib/entity/account/accountSelector.d.ts +7 -0
  13. package/lib/entity/account/accountSelector.js +4 -2
  14. package/lib/entity/account/accountState.d.ts +3 -1
  15. package/lib/entity/account/accountState.js +4 -1
  16. package/lib/entity/account/pickAndMergeForecastAccountReport.d.ts +1 -0
  17. package/lib/entity/account/subAccountSelector.d.ts +2 -0
  18. package/lib/entity/account/subAccountSelector.js +2 -0
  19. package/lib/entity/accountGroup/accountGroupSelector.d.ts +22 -0
  20. package/lib/entity/accountGroup/accountGroupState.d.ts +1 -1
  21. package/lib/entity/aiAccountantCustomer/aiAccountantCustomerPayload.d.ts +44 -0
  22. package/lib/entity/aiAccountantCustomer/aiAccountantCustomerPayload.js +55 -0
  23. package/lib/entity/aiAccountantCustomer/aiAccountantCustomerReducer.d.ts +10 -0
  24. package/lib/entity/aiAccountantCustomer/aiAccountantCustomerReducer.js +51 -0
  25. package/lib/entity/aiAccountantCustomer/aiAccountantCustomerSelector.d.ts +48 -0
  26. package/lib/entity/aiAccountantCustomer/aiAccountantCustomerSelector.js +66 -0
  27. package/lib/entity/aiAccountantCustomer/aiAccountantCustomerState.d.ts +52 -0
  28. package/lib/entity/aiAccountantCustomer/aiAccountantCustomerState.js +37 -0
  29. package/lib/entity/billPay/billTransaction/billTransactionState.d.ts +2 -2
  30. package/lib/entity/chargeCard/chargeCard.d.ts +1 -1
  31. package/lib/entity/class/classReducer.d.ts +4 -4
  32. package/lib/entity/class/classState.d.ts +1 -1
  33. package/lib/entity/depositAccountTransaction/depositAccountTransaction.d.ts +1 -1
  34. package/lib/entity/entityApprovalStatus/entityApprovalStatusState.d.ts +2 -2
  35. package/lib/entity/forecast/forecastState.d.ts +1 -1
  36. package/lib/entity/jeSchedules/jeSchedulesTypes.d.ts +1 -1
  37. package/lib/entity/project/projectPayload.d.ts +13 -0
  38. package/lib/entity/project/projectPayload.js +30 -0
  39. package/lib/entity/project/projectReducer.d.ts +10 -0
  40. package/lib/entity/project/projectReducer.js +31 -0
  41. package/lib/entity/project/projectSelector.d.ts +5 -0
  42. package/lib/entity/project/projectSelector.js +12 -0
  43. package/lib/entity/project/projectState.d.ts +13 -0
  44. package/lib/entity/project/projectState.js +2 -0
  45. package/lib/entity/sectionAccountsView/sectionAccountsView.d.ts +1 -1
  46. package/lib/entity/sectionClassesViewV2/sectionClassesView.d.ts +1 -1
  47. package/lib/entity/sectionClassesViewV2/sectionClassesViewReducer.d.ts +2 -2
  48. package/lib/entity/sectionProjectView/sectionProjectView.d.ts +11 -0
  49. package/lib/entity/sectionProjectView/sectionProjectView.js +6 -0
  50. package/lib/entity/sectionProjectView/sectionProjectViewEpic.d.ts +6 -0
  51. package/lib/entity/sectionProjectView/sectionProjectViewEpic.js +56 -0
  52. package/lib/entity/sectionProjectView/sectionProjectViewHelper.d.ts +10 -0
  53. package/lib/entity/sectionProjectView/sectionProjectViewHelper.js +14 -0
  54. package/lib/entity/sectionProjectView/sectionProjectViewReducer.d.ts +15 -0
  55. package/lib/entity/sectionProjectView/sectionProjectViewReducer.js +56 -0
  56. package/lib/entity/sectionProjectView/sectionProjectViewSelector.d.ts +11 -0
  57. package/lib/entity/sectionProjectView/sectionProjectViewSelector.js +94 -0
  58. package/lib/entity/sectionProjectView/sectionProjectViewSelectorTypes.d.ts +16 -0
  59. package/lib/entity/sectionProjectView/sectionProjectViewSelectorTypes.js +2 -0
  60. package/lib/entity/sectionProjectView/sectionProjectViewState.d.ts +4 -0
  61. package/lib/entity/sectionProjectView/sectionProjectViewState.js +2 -0
  62. package/lib/entity/snackbar/snackbarTypes.d.ts +1 -1
  63. package/lib/entity/tenant/clearAllEpic.d.ts +7 -2
  64. package/lib/entity/tenant/clearAllEpic.js +10 -0
  65. package/lib/entity/tenant/tenantPayload.d.ts +1 -0
  66. package/lib/entity/tenant/tenantReducer.js +1 -0
  67. package/lib/entity/tenant/tenantSelector.d.ts +1 -0
  68. package/lib/entity/tenant/tenantSelector.js +9 -1
  69. package/lib/entity/tenant/tenantState.d.ts +1 -0
  70. package/lib/entity/transaction/payloadTypes/transactionPayload.js +21 -0
  71. package/lib/entity/userRole/userRoleType.d.ts +2 -2
  72. package/lib/epic.d.ts +8 -1
  73. package/lib/epic.js +8 -1
  74. package/lib/esm/commonStateTypes/coaBalance/coaBalancesFilterProjectView.js +5 -0
  75. package/lib/esm/commonStateTypes/projectView/projectViewParentID.js +1 -0
  76. package/lib/esm/commonStateTypes/viewAndReport/reportIDHelper.js +1 -0
  77. package/lib/esm/commonStateTypes/viewAndReport/viewAndReport.js +1 -0
  78. package/lib/esm/entity/account/accountReducer.js +6 -3
  79. package/lib/esm/entity/account/accountSelector.js +4 -2
  80. package/lib/esm/entity/account/accountState.js +4 -1
  81. package/lib/esm/entity/account/subAccountSelector.js +2 -0
  82. package/lib/esm/entity/aiAccountantCustomer/aiAccountantCustomerPayload.js +49 -0
  83. package/lib/esm/entity/aiAccountantCustomer/aiAccountantCustomerReducer.js +47 -0
  84. package/lib/esm/entity/aiAccountantCustomer/aiAccountantCustomerSelector.js +62 -0
  85. package/lib/esm/entity/aiAccountantCustomer/aiAccountantCustomerState.js +31 -0
  86. package/lib/esm/entity/project/projectPayload.js +26 -0
  87. package/lib/esm/entity/project/projectReducer.js +27 -0
  88. package/lib/esm/entity/project/projectSelector.js +8 -0
  89. package/lib/esm/entity/project/projectState.js +1 -0
  90. package/lib/esm/entity/sectionProjectView/sectionProjectView.js +3 -0
  91. package/lib/esm/entity/sectionProjectView/sectionProjectViewEpic.js +52 -0
  92. package/lib/esm/entity/sectionProjectView/sectionProjectViewHelper.js +10 -0
  93. package/lib/esm/entity/sectionProjectView/sectionProjectViewReducer.js +52 -0
  94. package/lib/esm/entity/sectionProjectView/sectionProjectViewSelector.js +87 -0
  95. package/lib/esm/entity/sectionProjectView/sectionProjectViewSelectorTypes.js +1 -0
  96. package/lib/esm/entity/sectionProjectView/sectionProjectViewState.js +1 -0
  97. package/lib/esm/entity/tenant/clearAllEpic.js +10 -0
  98. package/lib/esm/entity/tenant/tenantReducer.js +1 -0
  99. package/lib/esm/entity/tenant/tenantSelector.js +7 -0
  100. package/lib/esm/entity/transaction/payloadTypes/transactionPayload.js +21 -0
  101. package/lib/esm/epic.js +8 -1
  102. package/lib/esm/index.js +14 -4
  103. package/lib/esm/reducer.js +15 -0
  104. package/lib/esm/view/aiAccountantView/aiAccountantViewPayload.js +2 -0
  105. package/lib/esm/view/aiAccountantView/aiAccountantViewReducer.js +149 -0
  106. package/lib/esm/view/aiAccountantView/aiAccountantViewSelector.js +72 -0
  107. package/lib/esm/view/aiAccountantView/aiAccountantViewState.js +11 -0
  108. package/lib/esm/view/aiAccountantView/epics/cancelAiAccountantOnboardingEpic.js +46 -0
  109. package/lib/esm/view/aiAccountantView/epics/fetchAiAccountantCustomersEpic.js +27 -0
  110. package/lib/esm/view/aiAccountantView/epics/fetchAiAccountantJobsEpic.js +47 -0
  111. package/lib/esm/view/aiAccountantView/epics/triggerAiAccountantJobEpic.js +52 -0
  112. package/lib/esm/view/aiCfoView/epics/fetchSuggestedQuestionsEpic.js +1 -1
  113. package/lib/esm/view/financeStatement/financeStatementSelector.js +12 -1
  114. package/lib/esm/view/profitAndLossProjectView/profitAndLossForTimeframeProjectViewEpic.js +47 -0
  115. package/lib/esm/view/profitAndLossProjectView/profitAndLossProjectViewEpic.js +30 -0
  116. package/lib/esm/view/profitAndLossProjectView/profitAndLossProjectViewPayload.js +1 -0
  117. package/lib/esm/view/profitAndLossProjectView/profitAndLossProjectViewReducer.js +113 -0
  118. package/lib/esm/view/profitAndLossProjectView/profitAndLossProjectViewSelector.js +65 -0
  119. package/lib/esm/view/profitAndLossProjectView/profitAndLossProjectViewSelectorTypes.js +1 -0
  120. package/lib/esm/view/profitAndLossProjectView/profitAndLossProjectViewState.js +1 -0
  121. package/lib/esm/view/reportsResync/reportsClassViewRefetchingEpic.js +4 -0
  122. package/lib/index.d.ts +19 -4
  123. package/lib/index.js +73 -34
  124. package/lib/reducer.d.ts +15 -0
  125. package/lib/reducer.js +15 -0
  126. package/lib/tsconfig.typecheck.tsbuildinfo +1 -1
  127. package/lib/view/aiAccountantView/aiAccountantViewPayload.d.ts +31 -0
  128. package/lib/view/aiAccountantView/aiAccountantViewPayload.js +8 -0
  129. package/lib/view/aiAccountantView/aiAccountantViewReducer.d.ts +29 -0
  130. package/lib/view/aiAccountantView/aiAccountantViewReducer.js +153 -0
  131. package/lib/view/aiAccountantView/aiAccountantViewSelector.d.ts +14 -0
  132. package/lib/view/aiAccountantView/aiAccountantViewSelector.js +78 -0
  133. package/lib/view/aiAccountantView/aiAccountantViewState.d.ts +27 -0
  134. package/lib/view/aiAccountantView/aiAccountantViewState.js +13 -0
  135. package/lib/view/aiAccountantView/epics/cancelAiAccountantOnboardingEpic.d.ts +33 -0
  136. package/lib/view/aiAccountantView/epics/cancelAiAccountantOnboardingEpic.js +50 -0
  137. package/lib/view/aiAccountantView/epics/fetchAiAccountantCustomersEpic.d.ts +23 -0
  138. package/lib/view/aiAccountantView/epics/fetchAiAccountantCustomersEpic.js +31 -0
  139. package/lib/view/aiAccountantView/epics/fetchAiAccountantJobsEpic.d.ts +33 -0
  140. package/lib/view/aiAccountantView/epics/fetchAiAccountantJobsEpic.js +51 -0
  141. package/lib/view/aiAccountantView/epics/triggerAiAccountantJobEpic.d.ts +28 -0
  142. package/lib/view/aiAccountantView/epics/triggerAiAccountantJobEpic.js +56 -0
  143. package/lib/view/aiCfoView/epics/fetchSuggestedQuestionsEpic.js +1 -1
  144. package/lib/view/auditReportView/auditReportViewState.d.ts +1 -1
  145. package/lib/view/billPayCard/billPayCardSelector.d.ts +1 -1
  146. package/lib/view/cardBalance/cardBalanceSelector.d.ts +2 -1
  147. package/lib/view/cashBalance/cashBalanceSelector.d.ts +2 -1
  148. package/lib/view/cashInCashOut/cashInCashOutSelector.d.ts +1 -1
  149. package/lib/view/cashPosition/cashPositionSelector.d.ts +1 -1
  150. package/lib/view/companyView/types/cockpitTypes.d.ts +6 -5
  151. package/lib/view/dashboard/dashboardReducer.d.ts +2 -2
  152. package/lib/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.d.ts +1 -1
  153. package/lib/view/expenseAutomationView/payload/reconciliationPayload.d.ts +8 -0
  154. package/lib/view/expenseAutomationView/types/missingReceiptsViewState.d.ts +1 -1
  155. package/lib/view/financeStatement/financeStatementReducer.d.ts +1 -1
  156. package/lib/view/financeStatement/financeStatementSelector.d.ts +2 -0
  157. package/lib/view/financeStatement/financeStatementSelector.js +12 -1
  158. package/lib/view/globalMerchantView/globalMerchantViewReducer.d.ts +2 -2
  159. package/lib/view/onboardingView/cockpitView/types/onboardingCockpitViewTypes.d.ts +1 -1
  160. package/lib/view/profitAndLossProjectView/profitAndLossForTimeframeProjectViewEpic.d.ts +9 -0
  161. package/lib/view/profitAndLossProjectView/profitAndLossForTimeframeProjectViewEpic.js +51 -0
  162. package/lib/view/profitAndLossProjectView/profitAndLossProjectViewEpic.d.ts +6 -0
  163. package/lib/view/profitAndLossProjectView/profitAndLossProjectViewEpic.js +34 -0
  164. package/lib/view/profitAndLossProjectView/profitAndLossProjectViewPayload.d.ts +33 -0
  165. package/lib/view/profitAndLossProjectView/profitAndLossProjectViewPayload.js +2 -0
  166. package/lib/view/profitAndLossProjectView/profitAndLossProjectViewReducer.d.ts +33 -0
  167. package/lib/view/profitAndLossProjectView/profitAndLossProjectViewReducer.js +117 -0
  168. package/lib/view/profitAndLossProjectView/profitAndLossProjectViewSelector.d.ts +9 -0
  169. package/lib/view/profitAndLossProjectView/profitAndLossProjectViewSelector.js +69 -0
  170. package/lib/view/profitAndLossProjectView/profitAndLossProjectViewSelectorTypes.d.ts +19 -0
  171. package/lib/view/profitAndLossProjectView/profitAndLossProjectViewSelectorTypes.js +2 -0
  172. package/lib/view/profitAndLossProjectView/profitAndLossProjectViewState.d.ts +22 -0
  173. package/lib/view/profitAndLossProjectView/profitAndLossProjectViewState.js +2 -0
  174. package/lib/view/reimbursementCard/reimbursementCardSelector.d.ts +1 -1
  175. package/lib/view/reportsResync/reportsClassViewRefetchingEpic.d.ts +2 -1
  176. package/lib/view/reportsResync/reportsClassViewRefetchingEpic.js +4 -0
  177. package/lib/view/reportsResync/reportsResyncReducer.d.ts +2 -2
  178. package/lib/view/reviewCompanyView/reviewCompanyViewState.d.ts +1 -1
  179. package/lib/view/spendManagement/billPay/billList/billListReducer.d.ts +1 -1
  180. package/lib/view/spendManagement/billPay/billList/billListState.d.ts +1 -1
  181. package/lib/view/spendManagement/chargeCards/chargeCardDetail/chargeCardDetail.d.ts +1 -1
  182. package/lib/view/spendManagement/chargeCards/chargeCardDetail/chargeCardDetailReducer.d.ts +4 -4
  183. package/lib/view/spendManagement/reimbursement/remiListView/remiListReducer.d.ts +1 -1
  184. package/lib/view/spendManagement/reimbursement/remiListView/remiListState.d.ts +3 -3
  185. package/lib/view/subscriptionView/types/subscriptionTypes.d.ts +1 -1
  186. package/lib/view/tasksCard/tasksCardSelector.d.ts +1 -1
  187. package/lib/view/topEx/topExSelector.d.ts +1 -1
  188. package/package.json +1 -1
@@ -1,5 +1,6 @@
1
1
  import { AccountsViewParentID, NestedAccountIDHierarchy } from '../../commonStateTypes/accountView/nestedAccountID';
2
2
  import { ClassesViewParentID } from '../../commonStateTypes/classesView/nestedClassID';
3
+ import { ProjectsViewParentID } from '../../commonStateTypes/projectView/projectViewParentID';
3
4
  import { AccountMetadataPayload } from '../../entity/account/accountPayload';
4
5
  import { AccountGroupMetadataPayload } from '../../entity/accountGroup/accountGroupPayload';
5
6
  import { COABalanceGroupedByPeriodPayloadV2, COABalanceGroupedPayloadV2 } from '../v2/coaBalancePayload';
@@ -26,6 +27,7 @@ export interface AccountMetadataWithBalancesPayload {
26
27
  accountMetadataPayload: AccountMetadataPayload;
27
28
  accountsViewParentID?: AccountsViewParentID;
28
29
  classesViewParentID?: ClassesViewParentID;
30
+ projectsViewParentID?: ProjectsViewParentID;
29
31
  }
30
32
  export interface AccountGroupMetadataWithBalancesPayload {
31
33
  accountGroupBalances: COABalanceGroupedByPeriodPayloadV2;
@@ -0,0 +1,13 @@
1
+ import { ZeniDate } from '../../zeniDayJS';
2
+ import { ID } from '../common';
3
+ import { Month } from '../timePeriod';
4
+ import { COABalanceTimeFrame } from './coaBalance';
5
+ import { COABalanceType } from './coaBalanceType';
6
+ import { COABalancesFilter } from './coaBalancesFilter';
7
+ export interface COABalancesFilterProjectView extends COABalancesFilter {
8
+ projectsToFilterOut: ID[];
9
+ }
10
+ export declare const newBalancesFilterProjectView: (firstMonthOfFY: Month, timeframe: COABalanceTimeFrame, numberOfPeriods?: number, thisPeriod?: {
11
+ endDate: ZeniDate;
12
+ startDate: ZeniDate;
13
+ }, orderBy?: "ascending_date" | "descending_date", additionalBalances?: COABalanceType[], projectsToFilterOut?: ID[]) => COABalancesFilterProjectView;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.newBalancesFilterProjectView = void 0;
4
+ const coaBalancesFilter_1 = require("../../commonStateTypes/coaBalance/coaBalancesFilter");
5
+ const newBalancesFilterProjectView = (firstMonthOfFY, timeframe, numberOfPeriods = 8, thisPeriod, orderBy = 'ascending_date', additionalBalances = [], projectsToFilterOut = []) => ({
6
+ ...(0, coaBalancesFilter_1.newBalancesFilter)(firstMonthOfFY, timeframe, numberOfPeriods, thisPeriod, orderBy, additionalBalances),
7
+ projectsToFilterOut,
8
+ });
9
+ exports.newBalancesFilterProjectView = newBalancesFilterProjectView;
@@ -23,7 +23,7 @@ export interface FetchedState extends FetchStateAndError {
23
23
  hasValidState(): boolean;
24
24
  }
25
25
  export type Mode = 'forecast_mode' | 'compare_mode' | 'off';
26
- export type AccountViewMode = 'classes' | 'account_group';
26
+ export type AccountViewMode = 'classes' | 'account_group' | 'project';
27
27
  export interface FullName {
28
28
  firstName: string;
29
29
  lastName: string;
@@ -0,0 +1,5 @@
1
+ import { ID } from '../common';
2
+ export interface ProjectsViewParentID {
3
+ projectId: ID;
4
+ sectionId: ID;
5
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,6 +1,7 @@
1
1
  import { ReportIDPlusForecastID } from './viewAndReport';
2
2
  export declare const isPAndLReport: (reportId: ReportIDPlusForecastID) => boolean;
3
3
  export declare const isPAndLClassesViewReport: (reportId: ReportIDPlusForecastID) => boolean;
4
+ export declare const isPAndLProjectViewReport: (reportId: ReportIDPlusForecastID) => boolean;
4
5
  export declare const isDashboardReport: (reportId: ReportIDPlusForecastID) => boolean;
5
6
  export declare const isDashboardClassesViewReport: (reportId: ReportIDPlusForecastID) => boolean;
6
7
  export declare const isCashFlowOrBalanceSheetReport: (reportId: ReportIDPlusForecastID) => boolean;
@@ -1,10 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isFluxAnalysisOpExReport = exports.isOpExByVendorReport = exports.isAgingReport = exports.isCashFlowOrBalanceSheetReport = exports.isDashboardClassesViewReport = exports.isDashboardReport = exports.isPAndLClassesViewReport = exports.isPAndLReport = void 0;
3
+ exports.isFluxAnalysisOpExReport = exports.isOpExByVendorReport = exports.isAgingReport = exports.isCashFlowOrBalanceSheetReport = exports.isDashboardClassesViewReport = exports.isDashboardReport = exports.isPAndLProjectViewReport = exports.isPAndLClassesViewReport = exports.isPAndLReport = void 0;
4
4
  const isPAndLReport = (reportId) => reportId.startsWith('profit_and_loss');
5
5
  exports.isPAndLReport = isPAndLReport;
6
6
  const isPAndLClassesViewReport = (reportId) => reportId.startsWith('profit_and_loss_by_classes');
7
7
  exports.isPAndLClassesViewReport = isPAndLClassesViewReport;
8
+ const isPAndLProjectViewReport = (reportId) => reportId.startsWith('profit_and_loss_by_projects');
9
+ exports.isPAndLProjectViewReport = isPAndLProjectViewReport;
8
10
  const isDashboardReport = (reportId) => {
9
11
  const ids = reportId.split('+');
10
12
  const report = ids[0];
@@ -3,8 +3,8 @@ import { FetchStateAndError, ID } from '../common';
3
3
  import { DataAvailable } from '../dataAvailable';
4
4
  import { Status } from '../status';
5
5
  import { Month } from '../timePeriod';
6
- export declare const ALL_REPORT_IDS: readonly ["cash_balance", "card_balance", "expense_automation_card", "operating_expenses", "operating_expenses_by_classes", "revenue", "revenue_by_classes", "net_burn_or_income", "net_burn_or_income_story_card", "net_burn_or_income_by_classes", "cash_position", "top_expenses", "profit_and_loss", "profit_and_loss_by_classes", "balance_sheet", "cash_flow", "dashboard", "finance_statement", "transaction_list_of_account", "transaction_list_missing_receipt", "transaction_list_of_account_by_class", "transaction_detail", "cash_in_cash_out", "insights_dashboard", "company_details", "class_list", "account_list", "account_list_by_type", "vendor", "task_card", "bill_pay", "reimbursement", "bill_pay_card", "reimbursement_card", "bill_pay_promo_card", "zeni_accounts", "zeni_accounts_promo_card", "zeni_treasury", "charge_cards", "other_connection", "reimbursement_promo_card", "onboarding", "operating_expenses_by_vendor", "operating_expenses_by_vendor_summary", "vendors_tab", "accounts_payable_aging", "accounts_receivable_aging", "vendor_global_review", "prepaid_expenses", "fixed_assets", "notification", "rewards_card", "billing", "flux_analysis_operating_expense", "account_reconciliation", "zeni_credit_promo_card", "treasury_promo_card", "excluded_account_reconciliation"];
7
- export declare const toReportID: (v: string) => "cash_balance" | "card_balance" | "expense_automation_card" | "operating_expenses" | "operating_expenses_by_classes" | "revenue" | "revenue_by_classes" | "net_burn_or_income" | "net_burn_or_income_story_card" | "net_burn_or_income_by_classes" | "cash_position" | "top_expenses" | "profit_and_loss" | "profit_and_loss_by_classes" | "balance_sheet" | "cash_flow" | "dashboard" | "finance_statement" | "transaction_list_of_account" | "transaction_list_missing_receipt" | "transaction_list_of_account_by_class" | "transaction_detail" | "cash_in_cash_out" | "insights_dashboard" | "company_details" | "class_list" | "account_list" | "account_list_by_type" | "vendor" | "task_card" | "bill_pay" | "reimbursement" | "bill_pay_card" | "reimbursement_card" | "bill_pay_promo_card" | "zeni_accounts" | "zeni_accounts_promo_card" | "zeni_treasury" | "charge_cards" | "other_connection" | "reimbursement_promo_card" | "onboarding" | "operating_expenses_by_vendor" | "operating_expenses_by_vendor_summary" | "vendors_tab" | "accounts_payable_aging" | "accounts_receivable_aging" | "vendor_global_review" | "prepaid_expenses" | "fixed_assets" | "notification" | "rewards_card" | "billing" | "flux_analysis_operating_expense" | "account_reconciliation" | "zeni_credit_promo_card" | "treasury_promo_card" | "excluded_account_reconciliation";
6
+ export declare const ALL_REPORT_IDS: readonly ["cash_balance", "card_balance", "expense_automation_card", "operating_expenses", "operating_expenses_by_classes", "revenue", "revenue_by_classes", "net_burn_or_income", "net_burn_or_income_story_card", "net_burn_or_income_by_classes", "cash_position", "top_expenses", "profit_and_loss", "profit_and_loss_by_classes", "profit_and_loss_by_projects", "balance_sheet", "cash_flow", "dashboard", "finance_statement", "transaction_list_of_account", "transaction_list_missing_receipt", "transaction_list_of_account_by_class", "transaction_detail", "cash_in_cash_out", "insights_dashboard", "company_details", "class_list", "account_list", "account_list_by_type", "vendor", "task_card", "bill_pay", "reimbursement", "bill_pay_card", "reimbursement_card", "bill_pay_promo_card", "zeni_accounts", "zeni_accounts_promo_card", "zeni_treasury", "charge_cards", "other_connection", "reimbursement_promo_card", "onboarding", "operating_expenses_by_vendor", "operating_expenses_by_vendor_summary", "vendors_tab", "accounts_payable_aging", "accounts_receivable_aging", "vendor_global_review", "prepaid_expenses", "fixed_assets", "notification", "rewards_card", "billing", "flux_analysis_operating_expense", "account_reconciliation", "zeni_credit_promo_card", "treasury_promo_card", "excluded_account_reconciliation"];
7
+ export declare const toReportID: (v: string) => "cash_balance" | "card_balance" | "expense_automation_card" | "operating_expenses" | "operating_expenses_by_classes" | "revenue" | "revenue_by_classes" | "net_burn_or_income" | "net_burn_or_income_story_card" | "net_burn_or_income_by_classes" | "cash_position" | "top_expenses" | "profit_and_loss" | "profit_and_loss_by_classes" | "profit_and_loss_by_projects" | "balance_sheet" | "cash_flow" | "dashboard" | "finance_statement" | "transaction_list_of_account" | "transaction_list_missing_receipt" | "transaction_list_of_account_by_class" | "transaction_detail" | "cash_in_cash_out" | "insights_dashboard" | "company_details" | "class_list" | "account_list" | "account_list_by_type" | "vendor" | "task_card" | "bill_pay" | "reimbursement" | "bill_pay_card" | "reimbursement_card" | "bill_pay_promo_card" | "zeni_accounts" | "zeni_accounts_promo_card" | "zeni_treasury" | "charge_cards" | "other_connection" | "reimbursement_promo_card" | "onboarding" | "operating_expenses_by_vendor" | "operating_expenses_by_vendor_summary" | "vendors_tab" | "accounts_payable_aging" | "accounts_receivable_aging" | "vendor_global_review" | "prepaid_expenses" | "fixed_assets" | "notification" | "rewards_card" | "billing" | "flux_analysis_operating_expense" | "account_reconciliation" | "zeni_credit_promo_card" | "treasury_promo_card" | "excluded_account_reconciliation";
8
8
  export type ReportID = ReturnType<typeof toReportID>;
9
9
  export type ReportIDPlusForecastID = ReportID | `${ReportID}+${ID}`;
10
10
  /** Any view state should extend this interface */
@@ -17,6 +17,7 @@ exports.ALL_REPORT_IDS = [
17
17
  'top_expenses',
18
18
  'profit_and_loss',
19
19
  'profit_and_loss_by_classes',
20
+ 'profit_and_loss_by_projects',
20
21
  'balance_sheet',
21
22
  'cash_flow',
22
23
  'dashboard',
@@ -90,11 +90,12 @@ function doUpdateSubAccountsWithBalances(draft, subAccountWithBalancesListPayloa
90
90
  const accountBalancesPayload = subAccountWithBalancesListPayload[index].accountBalancesPayload;
91
91
  const accountViewParentId = subAccountWithBalancesListPayload[index].accountsViewParentID;
92
92
  const classesViewParentId = subAccountWithBalancesListPayload[index].classesViewParentID;
93
- doUpdateAccountWithBalancesV2(draft, accountBasePayload, accountBalancesPayload, currencyPayload, reportId, timeframe, classesViewParentId, accountViewParentId, updateType);
93
+ const projectsViewParentId = subAccountWithBalancesListPayload[index].projectsViewParentID;
94
+ doUpdateAccountWithBalancesV2(draft, accountBasePayload, accountBalancesPayload, currencyPayload, reportId, timeframe, classesViewParentId, accountViewParentId, projectsViewParentId, updateType);
94
95
  }
95
96
  }
96
- function doUpdateAccountWithBalancesV2(draft, accountBasePayload, accountBalancesPayload, currencyPayload, reportId, timeframe, classesViewParentId, accountsViewParentId, updateType) {
97
- const key = (0, accountState_1.getAccountKey)(reportId, accountBasePayload.account_id, classesViewParentId, accountsViewParentId);
97
+ function doUpdateAccountWithBalancesV2(draft, accountBasePayload, accountBalancesPayload, currencyPayload, reportId, timeframe, classesViewParentId, accountsViewParentId, projectsViewParentId, updateType) {
98
+ const key = (0, accountState_1.getAccountKey)(reportId, accountBasePayload.account_id, classesViewParentId, accountsViewParentId, projectsViewParentId);
98
99
  const balancesByPeriod = (0, coaBalancePayload_2.mapCOABalanceGroupedByPeriodPayloadV2ToCOABalanceGroupedByPeriod)(accountBalancesPayload, currencyPayload, timeframe);
99
100
  if (key in draft && updateType === 'merge') {
100
101
  // only add balances
@@ -104,7 +105,9 @@ function doUpdateAccountWithBalancesV2(draft, accountBasePayload, accountBalance
104
105
  const latestAccount = {
105
106
  ...(0, accountPayload_1.mapAccountBasePayloadToAccountBase)(accountBasePayload),
106
107
  key,
108
+ accountsViewParentId,
107
109
  classesViewParentId,
110
+ projectsViewParentId,
108
111
  };
109
112
  latestAccount.balancesByPeriod = balancesByPeriod;
110
113
  draft[latestAccount.key] = latestAccount;
@@ -1,5 +1,6 @@
1
1
  import { AccountsViewParentID } from '../../commonStateTypes/accountView/nestedAccountID';
2
2
  import { ClassesViewParentID } from '../../commonStateTypes/classesView/nestedClassID';
3
+ import { ProjectsViewParentID } from '../../commonStateTypes/projectView/projectViewParentID';
3
4
  import { AdditionalBalancesOptions } from '../../commonStateTypes/coaBalance/additionalBalances/getAdditionalBalances';
4
5
  import { COABalancesFilter } from '../../commonStateTypes/coaBalance/coaBalancesFilter';
5
6
  import { ID } from '../../commonStateTypes/common';
@@ -12,6 +13,7 @@ export declare function getAccount(accountState: AccountState, id: {
12
13
  reportId: ReportIDPlusForecastID;
13
14
  accountsViewParentId?: AccountsViewParentID;
14
15
  classesViewParentId?: ClassesViewParentID;
16
+ projectsViewParentId?: ProjectsViewParentID;
15
17
  }, filter: COABalancesFilter, additionalBalancesOptions?: AdditionalBalancesOptions): {
16
18
  filter: COABalancesFilter;
17
19
  balancesInTimeframe: import("../../commonStateTypes/coaBalance/coaBalancesFilter").COABalancesSlice;
@@ -42,6 +44,7 @@ export declare function getAccount(accountState: AccountState, id: {
42
44
  qboId: string | undefined;
43
45
  coaId: string | undefined;
44
46
  classesViewParentId: ClassesViewParentID | undefined;
47
+ projectsViewParentId: ProjectsViewParentID | undefined;
45
48
  accountsViewParentId: AccountsViewParentID | undefined;
46
49
  labels: ("prepaid_expenses" | "fixed_assets" | "uncategorized_income" | "uncategorized_expense" | "bank_charges_and_fees" | "travel_transportation" | "accrued_expenses")[];
47
50
  isBillEditableCoaAccountType: boolean;
@@ -52,6 +55,7 @@ export declare function getAccountWithBalance(accountState: AccountState, id: {
52
55
  reportId: ReportIDPlusForecastID;
53
56
  accountsViewParentId?: AccountsViewParentID;
54
57
  classesViewParentId?: ClassesViewParentID;
58
+ projectsViewParentId?: ProjectsViewParentID;
55
59
  }): {
56
60
  accountId: string;
57
61
  accountName: string;
@@ -66,6 +70,7 @@ export declare function getAccountWithBalance(accountState: AccountState, id: {
66
70
  qboId: string | undefined;
67
71
  coaId: string | undefined;
68
72
  classesViewParentId: ClassesViewParentID | undefined;
73
+ projectsViewParentId: ProjectsViewParentID | undefined;
69
74
  accountsViewParentId: AccountsViewParentID | undefined;
70
75
  labels: ("prepaid_expenses" | "fixed_assets" | "uncategorized_income" | "uncategorized_expense" | "bank_charges_and_fees" | "travel_transportation" | "accrued_expenses")[];
71
76
  isBillEditableCoaAccountType: boolean;
@@ -78,6 +83,7 @@ export declare const getAccountsOrdered: (filter: COABalancesFilter, accountStat
78
83
  reportId: ReportIDPlusForecastID;
79
84
  accountsViewParentId?: AccountsViewParentID;
80
85
  classesViewParentId?: ClassesViewParentID;
86
+ projectsViewParentId?: ProjectsViewParentID;
81
87
  }, orderBy: "balance" | "expenses" | "income" | "cogs" | "cashPosition" | "cashIn" | "cashOut" | "otherIncome" | "otherExpenses" | "equity" | "assets" | "liabilities" | "operating_activities" | "investing_activities" | "financing_activities", order?: EntityOrder) => {
82
88
  filter: COABalancesFilter;
83
89
  balancesInTimeframe: import("../../commonStateTypes/coaBalance/coaBalancesFilter").COABalancesSlice;
@@ -108,6 +114,7 @@ export declare const getAccountsOrdered: (filter: COABalancesFilter, accountStat
108
114
  qboId: string | undefined;
109
115
  coaId: string | undefined;
110
116
  classesViewParentId: ClassesViewParentID | undefined;
117
+ projectsViewParentId: ProjectsViewParentID | undefined;
111
118
  accountsViewParentId: AccountsViewParentID | undefined;
112
119
  labels: ("prepaid_expenses" | "fixed_assets" | "uncategorized_income" | "uncategorized_expense" | "bank_charges_and_fees" | "travel_transportation" | "accrued_expenses")[];
113
120
  isBillEditableCoaAccountType: boolean;
@@ -11,7 +11,7 @@ const coaBalance_1 = require("../../commonStateTypes/coaBalance/coaBalance");
11
11
  const sortBalancesByFreeRangeTotal_1 = require("../../commonStateTypes/coaBalance/sortBalancesByFreeRangeTotal");
12
12
  const accountState_1 = require("./accountState");
13
13
  function getCommonAccountFields(accountState, id) {
14
- const key = (0, accountState_1.getAccountKey)(id.reportId, id.accountId, id.classesViewParentId, id.accountsViewParentId);
14
+ const key = (0, accountState_1.getAccountKey)(id.reportId, id.accountId, id.classesViewParentId, id.accountsViewParentId, id.projectsViewParentId);
15
15
  const account = accountState.accountsByKey[key];
16
16
  if (account == null) {
17
17
  throw new Error(`Account with ${key} doesn't exists`);
@@ -30,6 +30,7 @@ function getCommonAccountFields(accountState, id) {
30
30
  qboId: account.qboId,
31
31
  coaId: account.coaId,
32
32
  classesViewParentId: account.classesViewParentId,
33
+ projectsViewParentId: account.projectsViewParentId,
33
34
  accountsViewParentId: account.accountsViewParentId,
34
35
  labels: account.labels,
35
36
  isBillEditableCoaAccountType: account.isBillEditableCoaAccountType ?? false,
@@ -59,7 +60,7 @@ const getAccountBase = (accountState, accountId, reportId) => {
59
60
  };
60
61
  exports.getAccountBase = getAccountBase;
61
62
  function getAccount(accountState, id, filter, additionalBalancesOptions) {
62
- const key = (0, accountState_1.getAccountKey)(id.reportId, id.accountId, id.classesViewParentId, id.accountsViewParentId);
63
+ const key = (0, accountState_1.getAccountKey)(id.reportId, id.accountId, id.classesViewParentId, id.accountsViewParentId, id.projectsViewParentId);
63
64
  const account = accountState.accountsByKey[key];
64
65
  if (account == null) {
65
66
  throw new Error(`Account with ${key} doesn't exists`);
@@ -110,6 +111,7 @@ const getAccountsOrdered = (filter, accountState, id, orderBy, order = 'last_bal
110
111
  reportId: id.reportId,
111
112
  classesViewParentId: id.classesViewParentId,
112
113
  accountsViewParentId: id.accountsViewParentId,
114
+ projectsViewParentId: id.projectsViewParentId,
113
115
  }, filter))
114
116
  .sort((a, b) => {
115
117
  switch (orderBy) {
@@ -1,6 +1,7 @@
1
1
  import { AccountsViewParentID } from '../../commonStateTypes/accountView/nestedAccountID';
2
2
  import { Balance } from '../../commonStateTypes/balance';
3
3
  import { ClassesViewParentID } from '../../commonStateTypes/classesView/nestedClassID';
4
+ import { ProjectsViewParentID } from '../../commonStateTypes/projectView/projectViewParentID';
4
5
  import { COABalanceGrouped, COABalanceGroupedByPeriod } from '../../commonStateTypes/coaBalance/coaBalance';
5
6
  import { ID } from '../../commonStateTypes/common';
6
7
  import { RecommendationBase } from '../../commonStateTypes/recommendationBase';
@@ -14,7 +15,7 @@ export type UncategorizedAccountTypes = 'expense' | 'income';
14
15
  declare const toAccountLabel: (v: string) => "prepaid_expenses" | "fixed_assets" | "uncategorized_income" | "uncategorized_expense" | "bank_charges_and_fees" | "travel_transportation" | "accrued_expenses";
15
16
  export type AccountLabel = ReturnType<typeof toAccountLabel>;
16
17
  export declare const toAccountLabelStrict: (v: string | null | undefined) => AccountLabel | undefined;
17
- export declare function getAccountKey(reportIdUniqueKey: ReportIDPlusForecastID, accountId: ID, classesViewParentId?: ClassesViewParentID, accountsViewParentId?: AccountsViewParentID): `${string}-cash_balance` | `${string}-card_balance` | `${string}-expense_automation_card` | `${string}-operating_expenses` | `${string}-operating_expenses_by_classes` | `${string}-revenue` | `${string}-revenue_by_classes` | `${string}-net_burn_or_income` | `${string}-net_burn_or_income_story_card` | `${string}-net_burn_or_income_by_classes` | `${string}-cash_position` | `${string}-top_expenses` | `${string}-profit_and_loss` | `${string}-profit_and_loss_by_classes` | `${string}-balance_sheet` | `${string}-cash_flow` | `${string}-dashboard` | `${string}-finance_statement` | `${string}-transaction_list_of_account` | `${string}-transaction_list_missing_receipt` | `${string}-transaction_list_of_account_by_class` | `${string}-transaction_detail` | `${string}-cash_in_cash_out` | `${string}-insights_dashboard` | `${string}-company_details` | `${string}-class_list` | `${string}-account_list` | `${string}-account_list_by_type` | `${string}-vendor` | `${string}-task_card` | `${string}-bill_pay` | `${string}-reimbursement` | `${string}-bill_pay_card` | `${string}-reimbursement_card` | `${string}-bill_pay_promo_card` | `${string}-zeni_accounts` | `${string}-zeni_accounts_promo_card` | `${string}-zeni_treasury` | `${string}-charge_cards` | `${string}-other_connection` | `${string}-reimbursement_promo_card` | `${string}-onboarding` | `${string}-operating_expenses_by_vendor` | `${string}-operating_expenses_by_vendor_summary` | `${string}-vendors_tab` | `${string}-accounts_payable_aging` | `${string}-accounts_receivable_aging` | `${string}-vendor_global_review` | `${string}-prepaid_expenses` | `${string}-fixed_assets` | `${string}-notification` | `${string}-rewards_card` | `${string}-billing` | `${string}-flux_analysis_operating_expense` | `${string}-account_reconciliation` | `${string}-zeni_credit_promo_card` | `${string}-treasury_promo_card` | `${string}-excluded_account_reconciliation` | `${string}-cash_balance+${string}` | `${string}-card_balance+${string}` | `${string}-expense_automation_card+${string}` | `${string}-operating_expenses+${string}` | `${string}-operating_expenses_by_classes+${string}` | `${string}-revenue+${string}` | `${string}-revenue_by_classes+${string}` | `${string}-net_burn_or_income+${string}` | `${string}-net_burn_or_income_story_card+${string}` | `${string}-net_burn_or_income_by_classes+${string}` | `${string}-cash_position+${string}` | `${string}-top_expenses+${string}` | `${string}-profit_and_loss+${string}` | `${string}-profit_and_loss_by_classes+${string}` | `${string}-balance_sheet+${string}` | `${string}-cash_flow+${string}` | `${string}-dashboard+${string}` | `${string}-finance_statement+${string}` | `${string}-transaction_list_of_account+${string}` | `${string}-transaction_list_missing_receipt+${string}` | `${string}-transaction_list_of_account_by_class+${string}` | `${string}-transaction_detail+${string}` | `${string}-cash_in_cash_out+${string}` | `${string}-insights_dashboard+${string}` | `${string}-company_details+${string}` | `${string}-class_list+${string}` | `${string}-account_list+${string}` | `${string}-account_list_by_type+${string}` | `${string}-vendor+${string}` | `${string}-task_card+${string}` | `${string}-bill_pay+${string}` | `${string}-reimbursement+${string}` | `${string}-bill_pay_card+${string}` | `${string}-reimbursement_card+${string}` | `${string}-bill_pay_promo_card+${string}` | `${string}-zeni_accounts+${string}` | `${string}-zeni_accounts_promo_card+${string}` | `${string}-zeni_treasury+${string}` | `${string}-charge_cards+${string}` | `${string}-other_connection+${string}` | `${string}-reimbursement_promo_card+${string}` | `${string}-onboarding+${string}` | `${string}-operating_expenses_by_vendor+${string}` | `${string}-operating_expenses_by_vendor_summary+${string}` | `${string}-vendors_tab+${string}` | `${string}-accounts_payable_aging+${string}` | `${string}-accounts_receivable_aging+${string}` | `${string}-vendor_global_review+${string}` | `${string}-prepaid_expenses+${string}` | `${string}-fixed_assets+${string}` | `${string}-notification+${string}` | `${string}-rewards_card+${string}` | `${string}-billing+${string}` | `${string}-flux_analysis_operating_expense+${string}` | `${string}-account_reconciliation+${string}` | `${string}-zeni_credit_promo_card+${string}` | `${string}-treasury_promo_card+${string}` | `${string}-excluded_account_reconciliation+${string}`;
18
+ export declare function getAccountKey(reportIdUniqueKey: ReportIDPlusForecastID, accountId: ID, classesViewParentId?: ClassesViewParentID, accountsViewParentId?: AccountsViewParentID, projectsViewParentId?: ProjectsViewParentID): `${string}-cash_balance` | `${string}-card_balance` | `${string}-expense_automation_card` | `${string}-operating_expenses` | `${string}-operating_expenses_by_classes` | `${string}-revenue` | `${string}-revenue_by_classes` | `${string}-net_burn_or_income` | `${string}-net_burn_or_income_story_card` | `${string}-net_burn_or_income_by_classes` | `${string}-cash_position` | `${string}-top_expenses` | `${string}-profit_and_loss` | `${string}-profit_and_loss_by_classes` | `${string}-profit_and_loss_by_projects` | `${string}-balance_sheet` | `${string}-cash_flow` | `${string}-dashboard` | `${string}-finance_statement` | `${string}-transaction_list_of_account` | `${string}-transaction_list_missing_receipt` | `${string}-transaction_list_of_account_by_class` | `${string}-transaction_detail` | `${string}-cash_in_cash_out` | `${string}-insights_dashboard` | `${string}-company_details` | `${string}-class_list` | `${string}-account_list` | `${string}-account_list_by_type` | `${string}-vendor` | `${string}-task_card` | `${string}-bill_pay` | `${string}-reimbursement` | `${string}-bill_pay_card` | `${string}-reimbursement_card` | `${string}-bill_pay_promo_card` | `${string}-zeni_accounts` | `${string}-zeni_accounts_promo_card` | `${string}-zeni_treasury` | `${string}-charge_cards` | `${string}-other_connection` | `${string}-reimbursement_promo_card` | `${string}-onboarding` | `${string}-operating_expenses_by_vendor` | `${string}-operating_expenses_by_vendor_summary` | `${string}-vendors_tab` | `${string}-accounts_payable_aging` | `${string}-accounts_receivable_aging` | `${string}-vendor_global_review` | `${string}-prepaid_expenses` | `${string}-fixed_assets` | `${string}-notification` | `${string}-rewards_card` | `${string}-billing` | `${string}-flux_analysis_operating_expense` | `${string}-account_reconciliation` | `${string}-zeni_credit_promo_card` | `${string}-treasury_promo_card` | `${string}-excluded_account_reconciliation` | `${string}-cash_balance+${string}` | `${string}-card_balance+${string}` | `${string}-expense_automation_card+${string}` | `${string}-operating_expenses+${string}` | `${string}-operating_expenses_by_classes+${string}` | `${string}-revenue+${string}` | `${string}-revenue_by_classes+${string}` | `${string}-net_burn_or_income+${string}` | `${string}-net_burn_or_income_story_card+${string}` | `${string}-net_burn_or_income_by_classes+${string}` | `${string}-cash_position+${string}` | `${string}-top_expenses+${string}` | `${string}-profit_and_loss+${string}` | `${string}-profit_and_loss_by_classes+${string}` | `${string}-profit_and_loss_by_projects+${string}` | `${string}-balance_sheet+${string}` | `${string}-cash_flow+${string}` | `${string}-dashboard+${string}` | `${string}-finance_statement+${string}` | `${string}-transaction_list_of_account+${string}` | `${string}-transaction_list_missing_receipt+${string}` | `${string}-transaction_list_of_account_by_class+${string}` | `${string}-transaction_detail+${string}` | `${string}-cash_in_cash_out+${string}` | `${string}-insights_dashboard+${string}` | `${string}-company_details+${string}` | `${string}-class_list+${string}` | `${string}-account_list+${string}` | `${string}-account_list_by_type+${string}` | `${string}-vendor+${string}` | `${string}-task_card+${string}` | `${string}-bill_pay+${string}` | `${string}-reimbursement+${string}` | `${string}-bill_pay_card+${string}` | `${string}-reimbursement_card+${string}` | `${string}-bill_pay_promo_card+${string}` | `${string}-zeni_accounts+${string}` | `${string}-zeni_accounts_promo_card+${string}` | `${string}-zeni_treasury+${string}` | `${string}-charge_cards+${string}` | `${string}-other_connection+${string}` | `${string}-reimbursement_promo_card+${string}` | `${string}-onboarding+${string}` | `${string}-operating_expenses_by_vendor+${string}` | `${string}-operating_expenses_by_vendor_summary+${string}` | `${string}-vendors_tab+${string}` | `${string}-accounts_payable_aging+${string}` | `${string}-accounts_receivable_aging+${string}` | `${string}-vendor_global_review+${string}` | `${string}-prepaid_expenses+${string}` | `${string}-fixed_assets+${string}` | `${string}-notification+${string}` | `${string}-rewards_card+${string}` | `${string}-billing+${string}` | `${string}-flux_analysis_operating_expense+${string}` | `${string}-account_reconciliation+${string}` | `${string}-zeni_credit_promo_card+${string}` | `${string}-treasury_promo_card+${string}` | `${string}-excluded_account_reconciliation+${string}`;
18
19
  export type AccountKey = ReturnType<typeof getAccountKey>;
19
20
  export declare const toReconciliationAccountSource: (v: string) => "plaid" | "bank_statement";
20
21
  export type ReconciliationAccountSourceType = ReturnType<typeof toReconciliationAccountSource>;
@@ -76,6 +77,7 @@ export interface Account extends AccountBase {
76
77
  operatingActivities?: COABalanceGrouped;
77
78
  otherExpenses?: COABalanceGrouped;
78
79
  otherIncome?: COABalanceGrouped;
80
+ projectsViewParentId?: ProjectsViewParentID;
79
81
  statementCloseDay?: StatementCloseDay;
80
82
  status?: Status;
81
83
  }
@@ -44,7 +44,10 @@ const ALL_ACCOUNT_LABELS = [
44
44
  const toAccountLabel = (v) => (0, stringToUnion_1.stringToUnion)(v, ALL_ACCOUNT_LABELS);
45
45
  const toAccountLabelStrict = (v) => (0, stringToUnion_1.stringToUnionStrict)(v ?? '', ALL_ACCOUNT_LABELS);
46
46
  exports.toAccountLabelStrict = toAccountLabelStrict;
47
- function getAccountKey(reportIdUniqueKey, accountId, classesViewParentId, accountsViewParentId) {
47
+ function getAccountKey(reportIdUniqueKey, accountId, classesViewParentId, accountsViewParentId, projectsViewParentId) {
48
+ if (projectsViewParentId != null) {
49
+ return `${projectsViewParentId.sectionId}-${projectsViewParentId.projectId}-${accountId}-${reportIdUniqueKey}`;
50
+ }
48
51
  if (classesViewParentId != null && accountsViewParentId == null) {
49
52
  return `${classesViewParentId.sectionId}-${classesViewParentId.parentClassId != null
50
53
  ? (0, nestedClassID_1.getNestedClassIDStr)(classesViewParentId.parentClassId)
@@ -34,6 +34,7 @@ export declare const cloneAccountsWithZeroBalance: (accounts: AccountReport[]) =
34
34
  qboId: string | undefined;
35
35
  coaId: string | undefined;
36
36
  classesViewParentId: import("../../commonStateTypes/classesView/nestedClassID").ClassesViewParentID | undefined;
37
+ projectsViewParentId: import("../../commonStateTypes/projectView/projectViewParentID").ProjectsViewParentID | undefined;
37
38
  accountsViewParentId: import("../../commonStateTypes/accountView/nestedAccountID").AccountsViewParentID | undefined;
38
39
  labels: ("prepaid_expenses" | "fixed_assets" | "uncategorized_income" | "uncategorized_expense" | "bank_charges_and_fees" | "travel_transportation" | "accrued_expenses")[];
39
40
  isBillEditableCoaAccountType: boolean;
@@ -1,5 +1,6 @@
1
1
  import { AccountsViewParentID, NestedAccountID, NestedAccountIDHierarchy } from '../../commonStateTypes/accountView/nestedAccountID';
2
2
  import { ClassesViewParentID } from '../../commonStateTypes/classesView/nestedClassID';
3
+ import { ProjectsViewParentID } from '../../commonStateTypes/projectView/projectViewParentID';
3
4
  import { AdditionalBalancesOptions } from '../../commonStateTypes/coaBalance/additionalBalances/getAdditionalBalances';
4
5
  import { COABalancesFilter } from '../../commonStateTypes/coaBalance/coaBalancesFilter';
5
6
  import { EntityOrder } from '../../commonStateTypes/selectorTypes/selectorTypes';
@@ -22,5 +23,6 @@ export declare const getNestedAccountReportForAccount: (accountState: AccountSta
22
23
  reportId: ReportIDPlusForecastID;
23
24
  accountsViewParentId?: AccountsViewParentID;
24
25
  classesViewParentId?: ClassesViewParentID;
26
+ projectsViewParentId?: ProjectsViewParentID;
25
27
  }, filter: COABalancesFilter, accountHasSiblings: boolean, additionalBalancesOptions?: AdditionalBalancesOptions) => NestedAccountReport | undefined;
26
28
  export declare const sortNestedAccounts: (accounts: NestedAccountReport[], filter: COABalancesFilter, order?: EntityOrder) => NestedAccountReport[];
@@ -19,6 +19,7 @@ const getNestedAccountReportForAccount = (accountState, id, filter, accountHasSi
19
19
  reportId: id.reportId,
20
20
  classesViewParentId: id.classesViewParentId,
21
21
  accountsViewParentId: id.accountsViewParentId,
22
+ projectsViewParentId: id.projectsViewParentId,
22
23
  }, newFilter, additionalBalancesOptions);
23
24
  if (accountReport == null) {
24
25
  return undefined;
@@ -29,6 +30,7 @@ const getNestedAccountReportForAccount = (accountState, id, filter, accountHasSi
29
30
  reportId: id.reportId,
30
31
  accountIdHierarchy: childAccount,
31
32
  classesViewParentId: id.classesViewParentId,
33
+ projectsViewParentId: id.projectsViewParentId,
32
34
  accountsViewParentId: id.accountsViewParentId != null
33
35
  ? {
34
36
  parentAccountId: id.accountIdHierarchy.id,
@@ -40,6 +40,7 @@ declare const getAccountGroup: (accountGroupState: AccountGroupState, accountSta
40
40
  qboId: string | undefined;
41
41
  coaId: string | undefined;
42
42
  classesViewParentId: import("../../commonStateTypes/classesView/nestedClassID").ClassesViewParentID | undefined;
43
+ projectsViewParentId: import("../../commonStateTypes/projectView/projectViewParentID").ProjectsViewParentID | undefined;
43
44
  accountsViewParentId: import("../../commonStateTypes/accountView/nestedAccountID").AccountsViewParentID | undefined;
44
45
  labels: ("prepaid_expenses" | "fixed_assets" | "uncategorized_income" | "uncategorized_expense" | "bank_charges_and_fees" | "travel_transportation" | "accrued_expenses")[];
45
46
  isBillEditableCoaAccountType: boolean;
@@ -76,6 +77,7 @@ declare const getAccountGroup: (accountGroupState: AccountGroupState, accountSta
76
77
  qboId: string | undefined;
77
78
  coaId: string | undefined;
78
79
  classesViewParentId: import("../../commonStateTypes/classesView/nestedClassID").ClassesViewParentID | undefined;
80
+ projectsViewParentId: import("../../commonStateTypes/projectView/projectViewParentID").ProjectsViewParentID | undefined;
79
81
  accountsViewParentId: import("../../commonStateTypes/accountView/nestedAccountID").AccountsViewParentID | undefined;
80
82
  labels: ("prepaid_expenses" | "fixed_assets" | "uncategorized_income" | "uncategorized_expense" | "bank_charges_and_fees" | "travel_transportation" | "accrued_expenses")[];
81
83
  isBillEditableCoaAccountType: boolean;
@@ -112,6 +114,7 @@ declare const getAccountGroup: (accountGroupState: AccountGroupState, accountSta
112
114
  qboId: string | undefined;
113
115
  coaId: string | undefined;
114
116
  classesViewParentId: import("../../commonStateTypes/classesView/nestedClassID").ClassesViewParentID | undefined;
117
+ projectsViewParentId: import("../../commonStateTypes/projectView/projectViewParentID").ProjectsViewParentID | undefined;
115
118
  accountsViewParentId: import("../../commonStateTypes/accountView/nestedAccountID").AccountsViewParentID | undefined;
116
119
  labels: ("prepaid_expenses" | "fixed_assets" | "uncategorized_income" | "uncategorized_expense" | "bank_charges_and_fees" | "travel_transportation" | "accrued_expenses")[];
117
120
  isBillEditableCoaAccountType: boolean;
@@ -148,6 +151,7 @@ declare const getAccountGroup: (accountGroupState: AccountGroupState, accountSta
148
151
  qboId: string | undefined;
149
152
  coaId: string | undefined;
150
153
  classesViewParentId: import("../../commonStateTypes/classesView/nestedClassID").ClassesViewParentID | undefined;
154
+ projectsViewParentId: import("../../commonStateTypes/projectView/projectViewParentID").ProjectsViewParentID | undefined;
151
155
  accountsViewParentId: import("../../commonStateTypes/accountView/nestedAccountID").AccountsViewParentID | undefined;
152
156
  labels: ("prepaid_expenses" | "fixed_assets" | "uncategorized_income" | "uncategorized_expense" | "bank_charges_and_fees" | "travel_transportation" | "accrued_expenses")[];
153
157
  isBillEditableCoaAccountType: boolean;
@@ -184,6 +188,7 @@ declare const getAccountGroup: (accountGroupState: AccountGroupState, accountSta
184
188
  qboId: string | undefined;
185
189
  coaId: string | undefined;
186
190
  classesViewParentId: import("../../commonStateTypes/classesView/nestedClassID").ClassesViewParentID | undefined;
191
+ projectsViewParentId: import("../../commonStateTypes/projectView/projectViewParentID").ProjectsViewParentID | undefined;
187
192
  accountsViewParentId: import("../../commonStateTypes/accountView/nestedAccountID").AccountsViewParentID | undefined;
188
193
  labels: ("prepaid_expenses" | "fixed_assets" | "uncategorized_income" | "uncategorized_expense" | "bank_charges_and_fees" | "travel_transportation" | "accrued_expenses")[];
189
194
  isBillEditableCoaAccountType: boolean;
@@ -221,6 +226,7 @@ declare const getAccountGroup: (accountGroupState: AccountGroupState, accountSta
221
226
  qboId: string | undefined;
222
227
  coaId: string | undefined;
223
228
  classesViewParentId: import("../../commonStateTypes/classesView/nestedClassID").ClassesViewParentID | undefined;
229
+ projectsViewParentId: import("../../commonStateTypes/projectView/projectViewParentID").ProjectsViewParentID | undefined;
224
230
  accountsViewParentId: import("../../commonStateTypes/accountView/nestedAccountID").AccountsViewParentID | undefined;
225
231
  labels: ("prepaid_expenses" | "fixed_assets" | "uncategorized_income" | "uncategorized_expense" | "bank_charges_and_fees" | "travel_transportation" | "accrued_expenses")[];
226
232
  isBillEditableCoaAccountType: boolean;
@@ -257,6 +263,7 @@ declare const getAccountGroup: (accountGroupState: AccountGroupState, accountSta
257
263
  qboId: string | undefined;
258
264
  coaId: string | undefined;
259
265
  classesViewParentId: import("../../commonStateTypes/classesView/nestedClassID").ClassesViewParentID | undefined;
266
+ projectsViewParentId: import("../../commonStateTypes/projectView/projectViewParentID").ProjectsViewParentID | undefined;
260
267
  accountsViewParentId: import("../../commonStateTypes/accountView/nestedAccountID").AccountsViewParentID | undefined;
261
268
  labels: ("prepaid_expenses" | "fixed_assets" | "uncategorized_income" | "uncategorized_expense" | "bank_charges_and_fees" | "travel_transportation" | "accrued_expenses")[];
262
269
  isBillEditableCoaAccountType: boolean;
@@ -293,6 +300,7 @@ declare const getAccountGroup: (accountGroupState: AccountGroupState, accountSta
293
300
  qboId: string | undefined;
294
301
  coaId: string | undefined;
295
302
  classesViewParentId: import("../../commonStateTypes/classesView/nestedClassID").ClassesViewParentID | undefined;
303
+ projectsViewParentId: import("../../commonStateTypes/projectView/projectViewParentID").ProjectsViewParentID | undefined;
296
304
  accountsViewParentId: import("../../commonStateTypes/accountView/nestedAccountID").AccountsViewParentID | undefined;
297
305
  labels: ("prepaid_expenses" | "fixed_assets" | "uncategorized_income" | "uncategorized_expense" | "bank_charges_and_fees" | "travel_transportation" | "accrued_expenses")[];
298
306
  isBillEditableCoaAccountType: boolean;
@@ -329,6 +337,7 @@ declare const getAccountGroup: (accountGroupState: AccountGroupState, accountSta
329
337
  qboId: string | undefined;
330
338
  coaId: string | undefined;
331
339
  classesViewParentId: import("../../commonStateTypes/classesView/nestedClassID").ClassesViewParentID | undefined;
340
+ projectsViewParentId: import("../../commonStateTypes/projectView/projectViewParentID").ProjectsViewParentID | undefined;
332
341
  accountsViewParentId: import("../../commonStateTypes/accountView/nestedAccountID").AccountsViewParentID | undefined;
333
342
  labels: ("prepaid_expenses" | "fixed_assets" | "uncategorized_income" | "uncategorized_expense" | "bank_charges_and_fees" | "travel_transportation" | "accrued_expenses")[];
334
343
  isBillEditableCoaAccountType: boolean;
@@ -365,6 +374,7 @@ declare const getAccountGroup: (accountGroupState: AccountGroupState, accountSta
365
374
  qboId: string | undefined;
366
375
  coaId: string | undefined;
367
376
  classesViewParentId: import("../../commonStateTypes/classesView/nestedClassID").ClassesViewParentID | undefined;
377
+ projectsViewParentId: import("../../commonStateTypes/projectView/projectViewParentID").ProjectsViewParentID | undefined;
368
378
  accountsViewParentId: import("../../commonStateTypes/accountView/nestedAccountID").AccountsViewParentID | undefined;
369
379
  labels: ("prepaid_expenses" | "fixed_assets" | "uncategorized_income" | "uncategorized_expense" | "bank_charges_and_fees" | "travel_transportation" | "accrued_expenses")[];
370
380
  isBillEditableCoaAccountType: boolean;
@@ -401,6 +411,7 @@ declare const getAccountGroup: (accountGroupState: AccountGroupState, accountSta
401
411
  qboId: string | undefined;
402
412
  coaId: string | undefined;
403
413
  classesViewParentId: import("../../commonStateTypes/classesView/nestedClassID").ClassesViewParentID | undefined;
414
+ projectsViewParentId: import("../../commonStateTypes/projectView/projectViewParentID").ProjectsViewParentID | undefined;
404
415
  accountsViewParentId: import("../../commonStateTypes/accountView/nestedAccountID").AccountsViewParentID | undefined;
405
416
  labels: ("prepaid_expenses" | "fixed_assets" | "uncategorized_income" | "uncategorized_expense" | "bank_charges_and_fees" | "travel_transportation" | "accrued_expenses")[];
406
417
  isBillEditableCoaAccountType: boolean;
@@ -444,6 +455,7 @@ export declare const getAccountGroupsOrdered: (filter: COABalancesFilter, accoun
444
455
  qboId: string | undefined;
445
456
  coaId: string | undefined;
446
457
  classesViewParentId: import("../../commonStateTypes/classesView/nestedClassID").ClassesViewParentID | undefined;
458
+ projectsViewParentId: import("../../commonStateTypes/projectView/projectViewParentID").ProjectsViewParentID | undefined;
447
459
  accountsViewParentId: import("../../commonStateTypes/accountView/nestedAccountID").AccountsViewParentID | undefined;
448
460
  labels: ("prepaid_expenses" | "fixed_assets" | "uncategorized_income" | "uncategorized_expense" | "bank_charges_and_fees" | "travel_transportation" | "accrued_expenses")[];
449
461
  isBillEditableCoaAccountType: boolean;
@@ -480,6 +492,7 @@ export declare const getAccountGroupsOrdered: (filter: COABalancesFilter, accoun
480
492
  qboId: string | undefined;
481
493
  coaId: string | undefined;
482
494
  classesViewParentId: import("../../commonStateTypes/classesView/nestedClassID").ClassesViewParentID | undefined;
495
+ projectsViewParentId: import("../../commonStateTypes/projectView/projectViewParentID").ProjectsViewParentID | undefined;
483
496
  accountsViewParentId: import("../../commonStateTypes/accountView/nestedAccountID").AccountsViewParentID | undefined;
484
497
  labels: ("prepaid_expenses" | "fixed_assets" | "uncategorized_income" | "uncategorized_expense" | "bank_charges_and_fees" | "travel_transportation" | "accrued_expenses")[];
485
498
  isBillEditableCoaAccountType: boolean;
@@ -516,6 +529,7 @@ export declare const getAccountGroupsOrdered: (filter: COABalancesFilter, accoun
516
529
  qboId: string | undefined;
517
530
  coaId: string | undefined;
518
531
  classesViewParentId: import("../../commonStateTypes/classesView/nestedClassID").ClassesViewParentID | undefined;
532
+ projectsViewParentId: import("../../commonStateTypes/projectView/projectViewParentID").ProjectsViewParentID | undefined;
519
533
  accountsViewParentId: import("../../commonStateTypes/accountView/nestedAccountID").AccountsViewParentID | undefined;
520
534
  labels: ("prepaid_expenses" | "fixed_assets" | "uncategorized_income" | "uncategorized_expense" | "bank_charges_and_fees" | "travel_transportation" | "accrued_expenses")[];
521
535
  isBillEditableCoaAccountType: boolean;
@@ -552,6 +566,7 @@ export declare const getAccountGroupsOrdered: (filter: COABalancesFilter, accoun
552
566
  qboId: string | undefined;
553
567
  coaId: string | undefined;
554
568
  classesViewParentId: import("../../commonStateTypes/classesView/nestedClassID").ClassesViewParentID | undefined;
569
+ projectsViewParentId: import("../../commonStateTypes/projectView/projectViewParentID").ProjectsViewParentID | undefined;
555
570
  accountsViewParentId: import("../../commonStateTypes/accountView/nestedAccountID").AccountsViewParentID | undefined;
556
571
  labels: ("prepaid_expenses" | "fixed_assets" | "uncategorized_income" | "uncategorized_expense" | "bank_charges_and_fees" | "travel_transportation" | "accrued_expenses")[];
557
572
  isBillEditableCoaAccountType: boolean;
@@ -588,6 +603,7 @@ export declare const getAccountGroupsOrdered: (filter: COABalancesFilter, accoun
588
603
  qboId: string | undefined;
589
604
  coaId: string | undefined;
590
605
  classesViewParentId: import("../../commonStateTypes/classesView/nestedClassID").ClassesViewParentID | undefined;
606
+ projectsViewParentId: import("../../commonStateTypes/projectView/projectViewParentID").ProjectsViewParentID | undefined;
591
607
  accountsViewParentId: import("../../commonStateTypes/accountView/nestedAccountID").AccountsViewParentID | undefined;
592
608
  labels: ("prepaid_expenses" | "fixed_assets" | "uncategorized_income" | "uncategorized_expense" | "bank_charges_and_fees" | "travel_transportation" | "accrued_expenses")[];
593
609
  isBillEditableCoaAccountType: boolean;
@@ -625,6 +641,7 @@ export declare const getAccountGroupsOrdered: (filter: COABalancesFilter, accoun
625
641
  qboId: string | undefined;
626
642
  coaId: string | undefined;
627
643
  classesViewParentId: import("../../commonStateTypes/classesView/nestedClassID").ClassesViewParentID | undefined;
644
+ projectsViewParentId: import("../../commonStateTypes/projectView/projectViewParentID").ProjectsViewParentID | undefined;
628
645
  accountsViewParentId: import("../../commonStateTypes/accountView/nestedAccountID").AccountsViewParentID | undefined;
629
646
  labels: ("prepaid_expenses" | "fixed_assets" | "uncategorized_income" | "uncategorized_expense" | "bank_charges_and_fees" | "travel_transportation" | "accrued_expenses")[];
630
647
  isBillEditableCoaAccountType: boolean;
@@ -661,6 +678,7 @@ export declare const getAccountGroupsOrdered: (filter: COABalancesFilter, accoun
661
678
  qboId: string | undefined;
662
679
  coaId: string | undefined;
663
680
  classesViewParentId: import("../../commonStateTypes/classesView/nestedClassID").ClassesViewParentID | undefined;
681
+ projectsViewParentId: import("../../commonStateTypes/projectView/projectViewParentID").ProjectsViewParentID | undefined;
664
682
  accountsViewParentId: import("../../commonStateTypes/accountView/nestedAccountID").AccountsViewParentID | undefined;
665
683
  labels: ("prepaid_expenses" | "fixed_assets" | "uncategorized_income" | "uncategorized_expense" | "bank_charges_and_fees" | "travel_transportation" | "accrued_expenses")[];
666
684
  isBillEditableCoaAccountType: boolean;
@@ -697,6 +715,7 @@ export declare const getAccountGroupsOrdered: (filter: COABalancesFilter, accoun
697
715
  qboId: string | undefined;
698
716
  coaId: string | undefined;
699
717
  classesViewParentId: import("../../commonStateTypes/classesView/nestedClassID").ClassesViewParentID | undefined;
718
+ projectsViewParentId: import("../../commonStateTypes/projectView/projectViewParentID").ProjectsViewParentID | undefined;
700
719
  accountsViewParentId: import("../../commonStateTypes/accountView/nestedAccountID").AccountsViewParentID | undefined;
701
720
  labels: ("prepaid_expenses" | "fixed_assets" | "uncategorized_income" | "uncategorized_expense" | "bank_charges_and_fees" | "travel_transportation" | "accrued_expenses")[];
702
721
  isBillEditableCoaAccountType: boolean;
@@ -733,6 +752,7 @@ export declare const getAccountGroupsOrdered: (filter: COABalancesFilter, accoun
733
752
  qboId: string | undefined;
734
753
  coaId: string | undefined;
735
754
  classesViewParentId: import("../../commonStateTypes/classesView/nestedClassID").ClassesViewParentID | undefined;
755
+ projectsViewParentId: import("../../commonStateTypes/projectView/projectViewParentID").ProjectsViewParentID | undefined;
736
756
  accountsViewParentId: import("../../commonStateTypes/accountView/nestedAccountID").AccountsViewParentID | undefined;
737
757
  labels: ("prepaid_expenses" | "fixed_assets" | "uncategorized_income" | "uncategorized_expense" | "bank_charges_and_fees" | "travel_transportation" | "accrued_expenses")[];
738
758
  isBillEditableCoaAccountType: boolean;
@@ -769,6 +789,7 @@ export declare const getAccountGroupsOrdered: (filter: COABalancesFilter, accoun
769
789
  qboId: string | undefined;
770
790
  coaId: string | undefined;
771
791
  classesViewParentId: import("../../commonStateTypes/classesView/nestedClassID").ClassesViewParentID | undefined;
792
+ projectsViewParentId: import("../../commonStateTypes/projectView/projectViewParentID").ProjectsViewParentID | undefined;
772
793
  accountsViewParentId: import("../../commonStateTypes/accountView/nestedAccountID").AccountsViewParentID | undefined;
773
794
  labels: ("prepaid_expenses" | "fixed_assets" | "uncategorized_income" | "uncategorized_expense" | "bank_charges_and_fees" | "travel_transportation" | "accrued_expenses")[];
774
795
  isBillEditableCoaAccountType: boolean;
@@ -805,6 +826,7 @@ export declare const getAccountGroupsOrdered: (filter: COABalancesFilter, accoun
805
826
  qboId: string | undefined;
806
827
  coaId: string | undefined;
807
828
  classesViewParentId: import("../../commonStateTypes/classesView/nestedClassID").ClassesViewParentID | undefined;
829
+ projectsViewParentId: import("../../commonStateTypes/projectView/projectViewParentID").ProjectsViewParentID | undefined;
808
830
  accountsViewParentId: import("../../commonStateTypes/accountView/nestedAccountID").AccountsViewParentID | undefined;
809
831
  labels: ("prepaid_expenses" | "fixed_assets" | "uncategorized_income" | "uncategorized_expense" | "bank_charges_and_fees" | "travel_transportation" | "accrued_expenses")[];
810
832
  isBillEditableCoaAccountType: boolean;