@paro.io/expert-shared-components 1.14.78 → 1.14.80

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.
@@ -1,3 +1,3 @@
1
1
  import type { TaxAxisShellProps } from './types';
2
- export declare const TaxAxisShell: ({ taxAxisApi, userContext, initialSessionId, initialProfile, onSessionChange, documentUploadUrl, uploadBucketName, sessionDefaults, qboAuthorizeUrl, qboRedirectUri, expertId, qboConnected, qboCompanyName, }: TaxAxisShellProps) => JSX.Element;
2
+ export declare const TaxAxisShell: ({ taxAxisApi, userContext, initialSessionId, initialProfile, onSessionChange, documentUploadUrl, uploadBucketName, sessionDefaults, qboAuthorizeUrl, qboRedirectUri, onQboDisconnect, expertId, qboConnected, qboCompanyName, }: TaxAxisShellProps) => JSX.Element;
3
3
  export default TaxAxisShell;
@@ -148,7 +148,7 @@ function ShellContainer({ children, fullWidth = false, }) {
148
148
  return (react_1.default.createElement("div", { className: 'min-h-screen bg-tax-axis-navy text-white font-tax-axis-body' },
149
149
  react_1.default.createElement("div", { className: 'max-w-[960px] mx-auto px-5 py-7' }, children)));
150
150
  }
151
- const TaxAxisShell = ({ taxAxisApi, userContext = 'expert', initialSessionId, initialProfile, onSessionChange, documentUploadUrl, uploadBucketName, sessionDefaults, qboAuthorizeUrl, qboRedirectUri, expertId, qboConnected, qboCompanyName, }) => {
151
+ const TaxAxisShell = ({ taxAxisApi, userContext = 'expert', initialSessionId, initialProfile, onSessionChange, documentUploadUrl, uploadBucketName, sessionDefaults, qboAuthorizeUrl, qboRedirectUri, onQboDisconnect, expertId, qboConnected, qboCompanyName, }) => {
152
152
  const [step, setStep] = (0, react_1.useState)('SESSION_SETUP');
153
153
  const [profile, setProfile] = (0, react_1.useState)(initialProfile ? Object.assign({}, initialProfile) : null);
154
154
  const [sessionId, setSessionId] = (0, react_1.useState)(initialSessionId || null);
@@ -559,10 +559,12 @@ const TaxAxisShell = ({ taxAxisApi, userContext = 'expert', initialSessionId, in
559
559
  }), onContinue: handleAnalyzeDocuments, onBack: () => isProspectFlow ? setStep('PROSPECT_REPORT') : setStep('SESSION_SETUP'), qboConnected: qboConnectedState, qboCompanyName: qboCompanyNameState, qboAuthorizeUrl: qboAuthorizeUrl, qboRedirectUri: qboRedirectUri, qboClientConfirmed: qboConnectedState, onImportQboReport: taxAxisApi.importQboReport ? handleImportQboReport : undefined, onQboConnected: (companyName) => {
560
560
  setQboConnectedState(true);
561
561
  setQboCompanyNameState(companyName);
562
- }, onQboDisconnected: () => {
562
+ }, onQboDisconnected: () => __awaiter(void 0, void 0, void 0, function* () {
563
+ if (onQboDisconnect)
564
+ yield onQboDisconnect();
563
565
  setQboConnectedState(false);
564
566
  setQboCompanyNameState(null);
565
- } })));
567
+ }) })));
566
568
  case 'PROCESSING':
567
569
  return (react_1.default.createElement(ShellContainer, null,
568
570
  react_1.default.createElement(TaxAxisProcessing_1.TaxAxisProcessing, { profile: profile, userContext: userContext, reportReady: reportReady, onComplete: () => setStep('DASHBOARD') })));
@@ -16,6 +16,7 @@ export type TaxAxisShellProps = {
16
16
  qboAuthorizeUrl?: string;
17
17
  qboGetClientsUrl?: string;
18
18
  qboRedirectUri?: string;
19
+ onQboDisconnect?: () => Promise<void>;
19
20
  expertId?: string;
20
21
  qboConnected?: boolean;
21
22
  qboCompanyName?: string | null;
@@ -14,6 +14,6 @@ export declare function useQboFlow({ qboConnected, qboCompanyName, qboAuthorizeU
14
14
  handleCompanySelected: (company: QboCompany) => void;
15
15
  handleReportsConfirmed: (reportIds: string[]) => Promise<void>;
16
16
  handleMappingConfirm: () => Promise<void>;
17
- handleDisconnect: () => void;
17
+ handleDisconnect: () => Promise<void>;
18
18
  closeModal: () => void;
19
19
  };
@@ -166,14 +166,16 @@ function useQboFlow({ qboConnected, qboCompanyName, qboAuthorizeUrl, qboRedirect
166
166
  const handleMappingConfirm = (0, react_1.useCallback)(() => __awaiter(this, void 0, void 0, function* () {
167
167
  yield handleReportsConfirmed(selectedReports);
168
168
  }), [handleReportsConfirmed, selectedReports]);
169
- const handleDisconnect = (0, react_1.useCallback)(() => {
169
+ const handleDisconnect = (0, react_1.useCallback)(() => __awaiter(this, void 0, void 0, function* () {
170
+ if (!window.confirm("Are you sure you want to disconnect QuickBooks? This will stop data imports for this account."))
171
+ return;
170
172
  setSelectedCompany(null);
171
173
  setSelectedReports([]);
172
174
  setImportStepIndex(0);
173
175
  setModalStep("closed");
174
176
  if (onQboDisconnected)
175
- onQboDisconnected();
176
- }, [onQboDisconnected]);
177
+ yield onQboDisconnected();
178
+ }), [onQboDisconnected]);
177
179
  const closeModal = (0, react_1.useCallback)(() => {
178
180
  setModalStep("closed");
179
181
  setError(null);
@@ -14,6 +14,29 @@ export interface BackendComputePayload {
14
14
  eligibleCount: number;
15
15
  highPriorityCount: number;
16
16
  quickWinCount: number;
17
+ top3?: Array<{
18
+ rank: number;
19
+ name: string;
20
+ code: string;
21
+ savingsLo: number;
22
+ savingsHi: number;
23
+ score: number;
24
+ priority: string;
25
+ timeline: string;
26
+ authority: string;
27
+ forms: string;
28
+ narrative: {
29
+ whyItMatters: string;
30
+ whatWeDo: string;
31
+ };
32
+ }>;
33
+ allEligible?: Array<{
34
+ rank: number;
35
+ name: string;
36
+ savingsLo: number;
37
+ savingsHi: number;
38
+ score: number;
39
+ }>;
17
40
  gapBlock: {
18
41
  currentTax: number;
19
42
  optimizedTax: number;
@@ -44,7 +44,20 @@ function TaxAxisProspectReport({ profile, backendComputePayload, outputPayload,
44
44
  const eligible = (0, react_1.useMemo)(() => (0, compute_1.filterEligibleStrategies)(profile), [profile]);
45
45
  const high = eligible.filter(s => s.priority === "HIGH");
46
46
  const quick = eligible.filter(s => s.priority === "QUICK WIN");
47
- const top3 = (0, react_1.useMemo)(() => [...eligible].sort((a, b) => b.score - a.score).slice(0, 3), [eligible]);
47
+ const top3 = (0, react_1.useMemo)(() => {
48
+ var _a;
49
+ // Prefer backend-determined top 3 order when available
50
+ if ((_a = backendComputePayload === null || backendComputePayload === void 0 ? void 0 : backendComputePayload.top3) === null || _a === void 0 ? void 0 : _a.length) {
51
+ const backendRanks = backendComputePayload.top3.map(s => s.rank);
52
+ const matched = backendRanks
53
+ .map(rank => eligible.find(s => s.rank === rank))
54
+ .filter((s) => !!s);
55
+ if (matched.length >= 3)
56
+ return matched;
57
+ }
58
+ // Fallback: client-side sort by static score (no backend data available)
59
+ return [...eligible].sort((a, b) => b.score - a.score).slice(0, 3);
60
+ }, [backendComputePayload, eligible]);
48
61
  const remaining = eligible.length - top3.length;
49
62
  const remainingNames = eligible.filter(s => !top3.includes(s)).slice(0, 4).map(s => s.name);
50
63
  // ═══ SAVINGS RANGE — backend-authoritative when available ═══
@@ -1,13 +1,18 @@
1
- export interface FieldDef {
2
- label: string;
1
+ export interface CatalogFieldDef {
2
+ label?: string;
3
3
  sourceRef?: string;
4
4
  }
5
5
  export interface CatalogSection {
6
6
  head: string;
7
7
  fields: string[];
8
8
  }
9
- export interface DocumentCatalogEntry {
9
+ export interface CatalogEntry {
10
10
  sections: CatalogSection[];
11
- fields: Record<string, FieldDef>;
11
+ fields: Record<string, CatalogFieldDef>;
12
12
  }
13
- export declare const DOCUMENT_FIELD_CATALOG: Record<string, DocumentCatalogEntry>;
13
+ /**
14
+ * Keyed by documentType string returned by the backend in parsedData.documentType.
15
+ * When DocumentReviewModal receives parsedData, it looks up the documentType here
16
+ * to get section groupings and field labels. Falls back to flat rendering if no entry.
17
+ */
18
+ export declare const DOCUMENT_FIELD_CATALOG: Record<string, CatalogEntry>;
@@ -1,245 +1,410 @@
1
1
  "use strict";
2
- // Catalog that maps canonical documentType keys to their review sections and field metadata.
3
- // Used by DocumentReviewModal to render structured field review UI from parsedData.
2
+ // documentFieldCatalog per-documentType section/field metadata for the Review modal.
3
+ // Sections group extracted fields into labeled categories (Revenue, Expenses, etc.).
4
+ // Field defs provide human-readable labels and source line references.
5
+ // Built from backend extraction schemas in paro-graphql-api/src/tax-axis/catalog/documentCatalog.ts.
4
6
  Object.defineProperty(exports, "__esModule", { value: true });
5
7
  exports.DOCUMENT_FIELD_CATALOG = void 0;
8
+ /**
9
+ * Keyed by documentType string returned by the backend in parsedData.documentType.
10
+ * When DocumentReviewModal receives parsedData, it looks up the documentType here
11
+ * to get section groupings and field labels. Falls back to flat rendering if no entry.
12
+ */
6
13
  exports.DOCUMENT_FIELD_CATALOG = {
7
- federal_tax_return: {
14
+ // ── Profit & Loss ──
15
+ profit_loss: {
8
16
  sections: [
17
+ { head: "Revenue", fields: ["total_revenue", "cost_of_goods_sold", "gross_profit"] },
9
18
  {
10
- head: "Income",
11
- fields: ["total_income", "wages", "business_income", "capital_gains", "other_income"],
12
- },
13
- {
14
- head: "Deductions",
15
- fields: ["total_deductions", "qbi_deduction", "standard_deduction", "itemized_deductions"],
16
- },
17
- {
18
- head: "Tax",
19
- fields: ["taxable_income", "total_tax", "self_employment_tax", "effective_rate"],
19
+ head: "Operating Expenses",
20
+ fields: [
21
+ "officer_compensation", "salaries_wages_staff", "employee_benefits",
22
+ "payroll_taxes_employer", "employer_retirement_contribution",
23
+ "rent_expense", "utilities", "software_subscriptions",
24
+ "professional_fees", "advertising_marketing", "travel",
25
+ "business_meals", "office_supplies", "insurance_nonhealth",
26
+ "repairs_maintenance", "bank_fees", "contract_labor",
27
+ "mortgage_interest", "business_interest_nonmortgage",
28
+ "depreciation_expense", "amortization_expense", "other_expenses",
29
+ "total_operating_expenses",
30
+ ],
20
31
  },
32
+ { head: "Net Income", fields: ["net_operating_income", "income_tax_provision", "net_income"] },
21
33
  ],
22
34
  fields: {
23
- total_income: { label: "Total Income", sourceRef: "Form 1040 Line 9" },
24
- wages: { label: "Wages & Salary", sourceRef: "Form 1040 Line 1a" },
25
- business_income: { label: "Business Income (Schedule C)", sourceRef: "Form 1040 Line 8" },
26
- capital_gains: { label: "Capital Gains", sourceRef: "Form 1040 Line 7" },
27
- other_income: { label: "Other Income", sourceRef: "Form 1040 Line 8z" },
28
- total_deductions: { label: "Total Deductions", sourceRef: "Form 1040 Line 12" },
29
- qbi_deduction: { label: "QBI Deduction (§199A)", sourceRef: "Form 1040 Line 13" },
30
- standard_deduction: { label: "Standard Deduction", sourceRef: "Form 1040 Line 12a" },
31
- itemized_deductions: { label: "Itemized Deductions", sourceRef: "Schedule A Total" },
32
- taxable_income: { label: "Taxable Income", sourceRef: "Form 1040 Line 15" },
33
- total_tax: { label: "Total Tax", sourceRef: "Form 1040 Line 24" },
34
- self_employment_tax: { label: "Self-Employment Tax", sourceRef: "Schedule SE" },
35
- effective_rate: { label: "Effective Tax Rate" },
35
+ total_revenue: { label: "Total Revenue", sourceRef: "Line 1a" },
36
+ cost_of_goods_sold: { label: "Cost of Goods Sold", sourceRef: "Line 2" },
37
+ gross_profit: { label: "Gross Profit", sourceRef: "Computed" },
38
+ officer_compensation: { label: "Officer Compensation", sourceRef: "Line 7" },
39
+ salaries_wages_staff: { label: "Wages & Salaries", sourceRef: "Line 13" },
40
+ employee_benefits: { label: "Employee Benefits", sourceRef: "" },
41
+ payroll_taxes_employer: { label: "Payroll Taxes", sourceRef: "" },
42
+ employer_retirement_contribution: { label: "Retirement Contributions", sourceRef: "" },
43
+ rent_expense: { label: "Rent / Lease", sourceRef: "Line 15" },
44
+ utilities: { label: "Utilities", sourceRef: "" },
45
+ software_subscriptions: { label: "Software & Subscriptions", sourceRef: "" },
46
+ professional_fees: { label: "Professional Fees", sourceRef: "Line 17" },
47
+ advertising_marketing: { label: "Advertising & Marketing", sourceRef: "" },
48
+ travel: { label: "Travel", sourceRef: "" },
49
+ business_meals: { label: "Meals & Entertainment", sourceRef: "Line 19" },
50
+ office_supplies: { label: "Office Supplies", sourceRef: "" },
51
+ insurance_nonhealth: { label: "Insurance (Non-Health)", sourceRef: "" },
52
+ repairs_maintenance: { label: "Repairs & Maintenance", sourceRef: "" },
53
+ bank_fees: { label: "Bank Fees", sourceRef: "" },
54
+ contract_labor: { label: "Contract Labor", sourceRef: "" },
55
+ mortgage_interest: { label: "Mortgage Interest", sourceRef: "" },
56
+ business_interest_nonmortgage: { label: "Business Interest", sourceRef: "" },
57
+ depreciation_expense: { label: "Depreciation", sourceRef: "Line 14" },
58
+ amortization_expense: { label: "Amortization", sourceRef: "" },
59
+ other_expenses: { label: "Other Expenses", sourceRef: "" },
60
+ total_operating_expenses: { label: "Total Operating Expenses", sourceRef: "" },
61
+ net_operating_income: { label: "Net Operating Income", sourceRef: "Line 21" },
62
+ income_tax_provision: { label: "Income Tax Provision", sourceRef: "" },
63
+ net_income: { label: "Net Income", sourceRef: "Line 30" },
36
64
  },
37
65
  },
38
- profit_loss: {
66
+ // ── Balance Sheet ──
67
+ balance_sheet: {
39
68
  sections: [
40
69
  {
41
- head: "Revenue",
42
- fields: ["total_revenue", "cost_of_goods_sold", "gross_profit"],
70
+ head: "Assets",
71
+ fields: [
72
+ "cash_and_equivalents", "accounts_receivable",
73
+ "allowance_for_doubtful_accounts", "prepaid_expenses", "inventory",
74
+ "total_current_assets", "property_equipment_gross",
75
+ "accumulated_depreciation", "property_equipment_net",
76
+ "intangible_assets_gross", "accumulated_amortization",
77
+ "intangible_assets_net", "security_deposits_held_as_asset", "total_assets",
78
+ ],
43
79
  },
44
80
  {
45
- head: "Operating Expenses",
81
+ head: "Liabilities",
46
82
  fields: [
47
- "total_operating_expenses",
48
- "salaries_wages_staff",
49
- "rent_expense",
50
- "depreciation_expense",
51
- "amortization_expense",
52
- "advertising_marketing",
53
- "professional_fees",
54
- "insurance_nonhealth",
55
- "business_meals",
56
- "other_expenses",
83
+ "accounts_payable", "accrued_liabilities", "deferred_revenue",
84
+ "short_term_debt", "long_term_debt_current_portion",
85
+ "total_current_liabilities", "long_term_debt", "total_liabilities",
57
86
  ],
58
87
  },
59
88
  {
60
- head: "Net Income",
61
- fields: ["net_operating_income", "net_income"],
89
+ head: "Equity",
90
+ fields: [
91
+ "common_stock_par_value", "additional_paid_in_capital",
92
+ "retained_earnings", "aaa_balance", "owners_equity",
93
+ "total_equity", "total_liabilities_and_equity",
94
+ ],
62
95
  },
63
96
  ],
64
97
  fields: {
65
- total_revenue: { label: "Total Revenue" },
66
- cost_of_goods_sold: { label: "Cost of Goods Sold (COGS)" },
67
- gross_profit: { label: "Gross Profit" },
68
- total_operating_expenses: { label: "Total Operating Expenses" },
69
- salaries_wages_staff: { label: "Salaries & Wages" },
70
- rent_expense: { label: "Rent / Lease" },
71
- depreciation_expense: { label: "Depreciation" },
72
- amortization_expense: { label: "Amortization" },
73
- advertising_marketing: { label: "Advertising & Marketing" },
74
- professional_fees: { label: "Professional Fees" },
75
- insurance_nonhealth: { label: "Insurance" },
76
- business_meals: { label: "Meals & Entertainment" },
77
- other_expenses: { label: "Other Expenses" },
78
- net_operating_income: { label: "Net Operating Income" },
79
- net_income: { label: "Net Income" },
98
+ cash_and_equivalents: { label: "Cash & Equivalents", sourceRef: "Line 1" },
99
+ accounts_receivable: { label: "Accounts Receivable", sourceRef: "Line 2" },
100
+ allowance_for_doubtful_accounts: { label: "Allowance for Doubtful Accts", sourceRef: "" },
101
+ prepaid_expenses: { label: "Prepaid Expenses", sourceRef: "" },
102
+ inventory: { label: "Inventory", sourceRef: "Line 3" },
103
+ total_current_assets: { label: "Total Current Assets", sourceRef: "" },
104
+ property_equipment_gross: { label: "Property & Equipment (Gross)", sourceRef: "" },
105
+ accumulated_depreciation: { label: "Accumulated Depreciation", sourceRef: "" },
106
+ property_equipment_net: { label: "Property & Equipment (Net)", sourceRef: "" },
107
+ intangible_assets_gross: { label: "Intangible Assets (Gross)", sourceRef: "" },
108
+ accumulated_amortization: { label: "Accumulated Amortization", sourceRef: "" },
109
+ intangible_assets_net: { label: "Intangible Assets (Net)", sourceRef: "" },
110
+ security_deposits_held_as_asset: { label: "Security Deposits", sourceRef: "" },
111
+ total_assets: { label: "Total Assets", sourceRef: "Line 11" },
112
+ accounts_payable: { label: "Accounts Payable", sourceRef: "Line 15" },
113
+ accrued_liabilities: { label: "Accrued Liabilities", sourceRef: "" },
114
+ deferred_revenue: { label: "Deferred Revenue", sourceRef: "" },
115
+ short_term_debt: { label: "Short-Term Debt", sourceRef: "" },
116
+ long_term_debt_current_portion: { label: "Current Portion of LT Debt", sourceRef: "" },
117
+ total_current_liabilities: { label: "Total Current Liabilities", sourceRef: "" },
118
+ long_term_debt: { label: "Long-Term Debt", sourceRef: "Line 17" },
119
+ total_liabilities: { label: "Total Liabilities", sourceRef: "Line 22" },
120
+ common_stock_par_value: { label: "Common Stock", sourceRef: "" },
121
+ additional_paid_in_capital: { label: "Additional Paid-in Capital", sourceRef: "" },
122
+ retained_earnings: { label: "Retained Earnings", sourceRef: "Line 24" },
123
+ aaa_balance: { label: "AAA Balance", sourceRef: "" },
124
+ owners_equity: { label: "Owner's Equity", sourceRef: "" },
125
+ total_equity: { label: "Total Equity", sourceRef: "Line 27" },
126
+ total_liabilities_and_equity: { label: "Total Liabilities & Equity", sourceRef: "" },
80
127
  },
81
128
  },
82
- balance_sheet: {
129
+ // ── Federal Tax Return (1120S, 1120, 1065, Schedule C) ──
130
+ federal_tax_return: {
83
131
  sections: [
84
132
  {
85
- head: "Assets",
133
+ head: "Entity & Filing",
86
134
  fields: [
87
- "total_current_assets",
88
- "total_assets",
89
- "cash_and_equivalents",
90
- "accounts_receivable",
91
- "inventory",
92
- "prepaid_expenses",
93
- "property_equipment_net",
94
- "accumulated_depreciation",
135
+ "entity_tax_classification", "ein", "date_incorporated",
136
+ "accounting_method_box", "industry_naics",
137
+ "amended_return_flag", "initial_return_flag", "final_return_flag",
95
138
  ],
96
139
  },
97
140
  {
98
- head: "Liabilities",
141
+ head: "Income",
99
142
  fields: [
100
- "total_current_liabilities",
101
- "total_liabilities",
102
- "accounts_payable",
103
- "accrued_liabilities",
104
- "deferred_revenue",
105
- "short_term_debt",
106
- "long_term_debt",
107
- "total_liabilities_and_equity",
143
+ "gross_receipts_L1a", "returns_and_allowances_L1b", "revenue",
144
+ "cost_of_goods_sold", "gross_profit", "total_income",
108
145
  ],
109
146
  },
110
147
  {
111
- head: "Equity",
148
+ head: "Deductions",
112
149
  fields: [
113
- "total_equity",
114
- "retained_earnings",
115
- "owners_equity",
116
- "common_stock_par_value",
117
- "additional_paid_in_capital",
150
+ "compensation_of_officers_line", "salaries_wages_line",
151
+ "repairs_maintenance", "rent_expense_line",
152
+ "taxes_and_licenses_line", "interest_expense_line",
153
+ "charitable_contributions", "depreciation_line",
154
+ "advertising_expense", "pension_profit_sharing",
155
+ "employee_benefit_programs", "other_deductions_line",
156
+ "total_deductions",
157
+ ],
158
+ },
159
+ {
160
+ head: "Tax Computation",
161
+ fields: [
162
+ "net_income", "nol_deduction", "total_tax",
163
+ "estimated_tax_payments", "tax_due_or_overpayment",
164
+ "self_emp_hi",
118
165
  ],
119
166
  },
120
167
  ],
121
168
  fields: {
122
- total_current_assets: { label: "Total Current Assets" },
123
- total_assets: { label: "Total Assets" },
124
- cash_and_equivalents: { label: "Cash & Equivalents" },
125
- accounts_receivable: { label: "Accounts Receivable" },
126
- inventory: { label: "Inventory" },
127
- prepaid_expenses: { label: "Prepaid Expenses" },
128
- property_equipment_net: { label: "Fixed Assets (Net)" },
129
- accumulated_depreciation: { label: "Accumulated Depreciation" },
130
- total_current_liabilities: { label: "Total Current Liabilities" },
131
- total_liabilities: { label: "Total Liabilities" },
132
- accounts_payable: { label: "Accounts Payable" },
133
- accrued_liabilities: { label: "Accrued Liabilities" },
134
- deferred_revenue: { label: "Deferred Revenue" },
135
- short_term_debt: { label: "Short-Term Debt" },
136
- long_term_debt: { label: "Long-Term Debt" },
137
- total_liabilities_and_equity: { label: "Total Liabilities & Equity" },
138
- total_equity: { label: "Total Equity" },
139
- retained_earnings: { label: "Retained Earnings" },
140
- owners_equity: { label: "Owner's Equity" },
141
- common_stock_par_value: { label: "Common Stock" },
142
- additional_paid_in_capital: { label: "Opening Balance Equity" },
169
+ entity_tax_classification: { label: "Entity Classification", sourceRef: "Form Title" },
170
+ ein: { label: "EIN", sourceRef: "Box B" },
171
+ date_incorporated: { label: "Date Incorporated", sourceRef: "Box E" },
172
+ accounting_method_box: { label: "Accounting Method", sourceRef: "Sch B Q1" },
173
+ industry_naics: { label: "NAICS Code", sourceRef: "Box A" },
174
+ amended_return_flag: { label: "Amended Return", sourceRef: "Header" },
175
+ initial_return_flag: { label: "Initial Return", sourceRef: "Header" },
176
+ final_return_flag: { label: "Final Return", sourceRef: "Header" },
177
+ gross_receipts_L1a: { label: "Gross Receipts", sourceRef: "Line 1a" },
178
+ returns_and_allowances_L1b: { label: "Returns & Allowances", sourceRef: "Line 1b" },
179
+ revenue: { label: "Revenue", sourceRef: "Line 1c" },
180
+ cost_of_goods_sold: { label: "Cost of Goods Sold", sourceRef: "Line 2" },
181
+ gross_profit: { label: "Gross Profit", sourceRef: "Line 3" },
182
+ total_income: { label: "Total Income", sourceRef: "Line 6" },
183
+ compensation_of_officers_line: { label: "Officer Compensation", sourceRef: "Line 7" },
184
+ salaries_wages_line: { label: "Salaries & Wages", sourceRef: "Line 8" },
185
+ repairs_maintenance: { label: "Repairs & Maintenance", sourceRef: "Line 9" },
186
+ rent_expense_line: { label: "Rent Expense", sourceRef: "Line 11" },
187
+ taxes_and_licenses_line: { label: "Taxes & Licenses", sourceRef: "Line 12" },
188
+ interest_expense_line: { label: "Interest Expense", sourceRef: "Line 13" },
189
+ charitable_contributions: { label: "Charitable Contributions", sourceRef: "Line 19" },
190
+ depreciation_line: { label: "Depreciation", sourceRef: "Line 14" },
191
+ advertising_expense: { label: "Advertising", sourceRef: "Line 16" },
192
+ pension_profit_sharing: { label: "Pension & Profit Sharing", sourceRef: "Line 17" },
193
+ employee_benefit_programs: { label: "Employee Benefits", sourceRef: "Line 18" },
194
+ other_deductions_line: { label: "Other Deductions", sourceRef: "Line 19" },
195
+ total_deductions: { label: "Total Deductions", sourceRef: "Line 20" },
196
+ net_income: { label: "Net Income", sourceRef: "Line 21" },
197
+ nol_deduction: { label: "NOL Deduction", sourceRef: "Line 29a" },
198
+ total_tax: { label: "Total Tax", sourceRef: "Line 31" },
199
+ estimated_tax_payments: { label: "Estimated Tax Payments", sourceRef: "Line 32b" },
200
+ tax_due_or_overpayment: { label: "Tax Due / Overpayment", sourceRef: "" },
201
+ self_emp_hi: { label: "Self-Employed Health Insurance", sourceRef: "Sch 1 L17" },
143
202
  },
144
203
  },
145
- schedule_k1_s_corp: {
204
+ // ── W-3 (Payroll Summary) ──
205
+ w3: {
146
206
  sections: [
147
207
  {
148
- head: "Ordinary Income",
149
- fields: ["ordinary_income", "net_rental_income", "interest_income", "dividend_income"],
208
+ head: "Wages & Withholding",
209
+ fields: [
210
+ "wages_tips_other_compensation_box1", "federal_income_tax_withheld_box2",
211
+ "social_security_wages_box3", "social_security_tax_withheld_box4",
212
+ "medicare_wages_box5", "medicare_tax_withheld_box6",
213
+ "social_security_tips_box7", "allocated_tips_box8",
214
+ ],
150
215
  },
151
216
  {
152
- head: "Deductions & Credits",
153
- fields: ["section_179_deduction", "charitable_contributions", "credits"],
217
+ head: "Benefits & Other",
218
+ fields: [
219
+ "dependent_care_benefits_box10", "nonqualified_plans_box11",
220
+ "owner_w2_comp", "employees",
221
+ ],
154
222
  },
155
223
  ],
156
224
  fields: {
157
- ordinary_income: { label: "Ordinary Business Income (Loss)", sourceRef: "K-1 Box 1" },
158
- net_rental_income: { label: "Net Rental Real Estate Income", sourceRef: "K-1 Box 2" },
159
- interest_income: { label: "Interest Income", sourceRef: "K-1 Box 4" },
160
- dividend_income: { label: "Ordinary Dividends", sourceRef: "K-1 Box 5a" },
161
- section_179_deduction: { label: "Section 179 Deduction", sourceRef: "K-1 Box 11" },
162
- charitable_contributions: { label: "Charitable Contributions", sourceRef: "K-1 Box 12" },
163
- credits: { label: "Credits", sourceRef: "K-1 Box 13" },
225
+ wages_tips_other_compensation_box1: { label: "Wages, Tips & Compensation", sourceRef: "Box 1" },
226
+ federal_income_tax_withheld_box2: { label: "Federal Income Tax Withheld", sourceRef: "Box 2" },
227
+ social_security_wages_box3: { label: "Social Security Wages", sourceRef: "Box 3" },
228
+ social_security_tax_withheld_box4: { label: "SS Tax Withheld", sourceRef: "Box 4" },
229
+ medicare_wages_box5: { label: "Medicare Wages", sourceRef: "Box 5" },
230
+ medicare_tax_withheld_box6: { label: "Medicare Tax Withheld", sourceRef: "Box 6" },
231
+ social_security_tips_box7: { label: "Social Security Tips", sourceRef: "Box 7" },
232
+ allocated_tips_box8: { label: "Allocated Tips", sourceRef: "Box 8" },
233
+ dependent_care_benefits_box10: { label: "Dependent Care Benefits", sourceRef: "Box 10" },
234
+ nonqualified_plans_box11: { label: "Nonqualified Plans", sourceRef: "Box 11" },
235
+ owner_w2_comp: { label: "Owner W-2 Compensation", sourceRef: "Box 1 (Officer)" },
236
+ employees: { label: "Number of Employees", sourceRef: "Box d" },
164
237
  },
165
238
  },
166
- schedule_k1_partnership: {
239
+ // ── Payroll Records ──
240
+ payroll_records: {
167
241
  sections: [
168
242
  {
169
- head: "Ordinary Income",
170
- fields: ["ordinary_income", "net_rental_income", "guaranteed_payments", "interest_income"],
243
+ head: "Totals",
244
+ fields: [
245
+ "employees", "w2_wages_paid_total",
246
+ "total_federal_withholding", "total_ss_withholding",
247
+ "total_medicare_withholding",
248
+ ],
171
249
  },
172
250
  {
173
- head: "Deductions & Credits",
174
- fields: ["section_179_deduction", "charitable_contributions", "self_employment_earnings"],
251
+ head: "Employer Costs",
252
+ fields: [
253
+ "employer_fica_match", "employer_futa_paid",
254
+ "employer_401k_match_total", "bonuses_paid_total",
255
+ "commissions_paid_total", "overtime_pay_total",
256
+ "tip_income_reported",
257
+ ],
175
258
  },
176
259
  ],
177
260
  fields: {
178
- ordinary_income: { label: "Ordinary Business Income (Loss)", sourceRef: "K-1 Box 1" },
179
- net_rental_income: { label: "Net Rental Real Estate Income", sourceRef: "K-1 Box 2" },
180
- guaranteed_payments: { label: "Guaranteed Payments", sourceRef: "K-1 Box 4" },
181
- interest_income: { label: "Interest Income", sourceRef: "K-1 Box 5" },
182
- section_179_deduction: { label: "Section 179 Deduction", sourceRef: "K-1 Box 12" },
183
- charitable_contributions: { label: "Charitable Contributions", sourceRef: "K-1 Box 13" },
184
- self_employment_earnings: { label: "Self-Employment Earnings", sourceRef: "K-1 Box 14" },
261
+ employees: { label: "Number of Employees", sourceRef: "" },
262
+ w2_wages_paid_total: { label: "Total W-2 Wages Paid", sourceRef: "" },
263
+ total_federal_withholding: { label: "Federal Withholding", sourceRef: "" },
264
+ total_ss_withholding: { label: "Social Security Withholding", sourceRef: "" },
265
+ total_medicare_withholding: { label: "Medicare Withholding", sourceRef: "" },
266
+ employer_fica_match: { label: "Employer FICA Match", sourceRef: "" },
267
+ employer_futa_paid: { label: "FUTA Paid", sourceRef: "" },
268
+ employer_401k_match_total: { label: "401(k) Match Total", sourceRef: "" },
269
+ bonuses_paid_total: { label: "Bonuses Paid", sourceRef: "" },
270
+ commissions_paid_total: { label: "Commissions Paid", sourceRef: "" },
271
+ overtime_pay_total: { label: "Overtime Pay", sourceRef: "" },
272
+ tip_income_reported: { label: "Tip Income Reported", sourceRef: "" },
185
273
  },
186
274
  },
275
+ // ── Fixed Asset Schedule ──
187
276
  fixed_asset_schedule: {
188
277
  sections: [
189
278
  {
190
- head: "Asset Summary",
191
- fields: ["total_asset_cost", "total_accumulated_depreciation", "total_net_book_value", "bonus_depreciation_taken", "section_179_taken"],
279
+ head: "Summary",
280
+ fields: [
281
+ "total_original_cost", "total_accumulated_depreciation",
282
+ "total_net_book_value", "fixed_asset_additions_current_year",
283
+ "qualifying_asset_cost",
284
+ ],
285
+ },
286
+ {
287
+ head: "Depreciation & Amortization",
288
+ fields: [
289
+ "total_section_179_claimed", "total_bonus_depreciation_claimed",
290
+ "qip_value", "ubia_total",
291
+ ],
192
292
  },
193
293
  ],
194
294
  fields: {
195
- total_asset_cost: { label: "Total Asset Cost Basis" },
196
- total_accumulated_depreciation: { label: "Total Accumulated Depreciation" },
197
- total_net_book_value: { label: "Total Net Book Value" },
198
- bonus_depreciation_taken: { label: "Bonus Depreciation Taken" },
199
- section_179_taken: { label: "Section 179 Deduction Taken" },
295
+ total_original_cost: { label: "Total Original Cost", sourceRef: "" },
296
+ total_accumulated_depreciation: { label: "Accumulated Depreciation", sourceRef: "" },
297
+ total_net_book_value: { label: "Net Book Value", sourceRef: "" },
298
+ fixed_asset_additions_current_year: { label: "Current Year Additions", sourceRef: "" },
299
+ qualifying_asset_cost: { label: "Qualifying Asset Cost", sourceRef: "≤20yr life" },
300
+ total_section_179_claimed: { label: "Section 179 Claimed", sourceRef: "" },
301
+ total_bonus_depreciation_claimed: { label: "Bonus Depreciation Claimed", sourceRef: "" },
302
+ qip_value: { label: "QIP Value", sourceRef: "" },
303
+ ubia_total: { label: "UBIA Total", sourceRef: "" },
200
304
  },
201
305
  },
202
- payroll_records: {
306
+ // ── State Tax Return ──
307
+ state_tax_return: {
203
308
  sections: [
204
309
  {
205
- head: "Payroll Summary",
206
- fields: ["total_payroll", "owner_compensation", "employee_count", "total_wages", "employer_taxes"],
310
+ head: "Filing Summary",
311
+ fields: ["tax_type_by_state", "state_nexus_type", "state_apportionment_method"],
312
+ },
313
+ {
314
+ head: "Tax Computation",
315
+ fields: [
316
+ "apportionment_factor", "state_taxable_income", "state_tax_paid",
317
+ "state_estimated_payments_made", "pte_election_status", "pte_tax_paid",
318
+ "il_replacement_tax",
319
+ ],
207
320
  },
208
321
  ],
209
322
  fields: {
210
- total_payroll: { label: "Total Payroll Cost" },
211
- owner_compensation: { label: "Owner / Officer Compensation" },
212
- employee_count: { label: "Employee Count" },
213
- total_wages: { label: "Total Wages Paid" },
214
- employer_taxes: { label: "Employer Payroll Taxes" },
323
+ tax_type_by_state: { label: "Tax Type", sourceRef: "" },
324
+ state_nexus_type: { label: "Nexus Type", sourceRef: "" },
325
+ state_apportionment_method: { label: "Apportionment Method", sourceRef: "" },
326
+ apportionment_factor: { label: "Apportionment Factor", sourceRef: "" },
327
+ state_taxable_income: { label: "State Taxable Income", sourceRef: "" },
328
+ state_tax_paid: { label: "State Tax Paid", sourceRef: "Total" },
329
+ state_estimated_payments_made: { label: "Estimated Payments Made", sourceRef: "" },
330
+ pte_election_status: { label: "PTE Election Status", sourceRef: "" },
331
+ pte_tax_paid: { label: "PTE Tax Paid", sourceRef: "" },
332
+ il_replacement_tax: { label: "IL Replacement Tax", sourceRef: "" },
215
333
  },
216
334
  },
217
- form_1099_nec_summary: {
335
+ // ── Form 4562 (Depreciation & Amortization) ──
336
+ form_4562: {
218
337
  sections: [
219
338
  {
220
- head: "1099-NEC Summary",
221
- fields: ["total_nec_payments", "contractor_count", "largest_single_payment"],
339
+ head: "Section 179",
340
+ fields: [
341
+ "section_179_max_amount_L1", "section_179_cost_placed_L2",
342
+ "dollar_limitation_L5", "section_179_expense_L12",
343
+ "section_179_carryover_to_next_year_L13",
344
+ ],
345
+ },
346
+ {
347
+ head: "MACRS & Bonus",
348
+ fields: [
349
+ "bonus_depreciation_claimed_L14", "bonus_elected_out_flag",
350
+ "macrs_prior_year_assets_L17", "macrs_current_year_gds",
351
+ "macrs_current_year_ads",
352
+ ],
353
+ },
354
+ {
355
+ head: "Totals",
356
+ fields: [
357
+ "total_depreciation_L22", "fixed_asset_additions",
358
+ "qualifying_asset_cost", "qip_present",
359
+ ],
222
360
  },
223
361
  ],
224
362
  fields: {
225
- total_nec_payments: { label: "Total NEC Payments" },
226
- contractor_count: { label: "Contractor Count" },
227
- largest_single_payment: { label: "Largest Single Payment" },
363
+ section_179_max_amount_L1: { label: "§179 Maximum Amount", sourceRef: "Line 1" },
364
+ section_179_cost_placed_L2: { label: "§179 Cost of Property", sourceRef: "Line 2" },
365
+ dollar_limitation_L5: { label: "Dollar Limitation", sourceRef: "Line 5" },
366
+ section_179_expense_L12: { label: "§179 Expense Deduction", sourceRef: "Line 12" },
367
+ section_179_carryover_to_next_year_L13: { label: "§179 Carryover", sourceRef: "Line 13" },
368
+ bonus_depreciation_claimed_L14: { label: "Bonus Depreciation", sourceRef: "Line 14" },
369
+ bonus_elected_out_flag: { label: "Bonus Elected Out", sourceRef: "Election" },
370
+ macrs_prior_year_assets_L17: { label: "MACRS Prior Year Assets", sourceRef: "Line 17" },
371
+ macrs_current_year_gds: { label: "MACRS Current Year (GDS)", sourceRef: "Section B" },
372
+ macrs_current_year_ads: { label: "MACRS Current Year (ADS)", sourceRef: "Section C" },
373
+ total_depreciation_L22: { label: "Total Depreciation", sourceRef: "Line 22" },
374
+ fixed_asset_additions: { label: "Fixed Asset Additions", sourceRef: "" },
375
+ qualifying_asset_cost: { label: "Qualifying Asset Cost", sourceRef: "≤20yr" },
376
+ qip_present: { label: "QIP Present", sourceRef: "" },
228
377
  },
229
378
  },
230
- state_tax_return: {
379
+ // ── Form 8889 (HSA) ──
380
+ form_8889: {
231
381
  sections: [
232
382
  {
233
- head: "State Tax",
234
- fields: ["state", "state_taxable_income", "state_tax_owed", "state_effective_rate", "state_credits"],
383
+ head: "Coverage & Contributions",
384
+ fields: [
385
+ "hdhp_coverage_L1", "hsa_contributions_L2",
386
+ "age_55_catchup_contribution_L3", "employer_contributions_L9",
387
+ "deductible_hsa_contributions_L13",
388
+ ],
389
+ },
390
+ {
391
+ head: "Distributions",
392
+ fields: [
393
+ "total_distributions_L14a", "qualified_medical_expenses_L15",
394
+ "taxable_hsa_distributions_L16", "additional_20pct_tax_L17b",
395
+ ],
235
396
  },
236
397
  ],
237
398
  fields: {
238
- state: { label: "State" },
239
- state_taxable_income: { label: "State Taxable Income" },
240
- state_tax_owed: { label: "State Tax Owed" },
241
- state_effective_rate: { label: "State Effective Rate" },
242
- state_credits: { label: "State Credits Applied" },
399
+ hdhp_coverage_L1: { label: "HDHP Coverage", sourceRef: "Line 1" },
400
+ hsa_contributions_L2: { label: "HSA Contributions", sourceRef: "Line 2" },
401
+ age_55_catchup_contribution_L3: { label: "Age 55+ Catch-Up", sourceRef: "Line 3" },
402
+ employer_contributions_L9: { label: "Employer Contributions", sourceRef: "Line 9" },
403
+ deductible_hsa_contributions_L13: { label: "Deductible HSA Contributions", sourceRef: "Line 13" },
404
+ total_distributions_L14a: { label: "Total Distributions", sourceRef: "Line 14a" },
405
+ qualified_medical_expenses_L15: { label: "Qualified Medical Expenses", sourceRef: "Line 15" },
406
+ taxable_hsa_distributions_L16: { label: "Taxable HSA Distributions", sourceRef: "Line 16" },
407
+ additional_20pct_tax_L17b: { label: "Additional 20% Tax", sourceRef: "Line 17b" },
243
408
  },
244
409
  },
245
410
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paro.io/expert-shared-components",
3
- "version": "1.14.78",
3
+ "version": "1.14.80",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {