@paro.io/expert-shared-components 1.14.79 → 1.14.81

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,10 +1,30 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
4
24
  };
5
25
  Object.defineProperty(exports, "__esModule", { value: true });
6
26
  exports.TaxAxisIntake = TaxAxisIntake;
7
- const react_1 = __importDefault(require("react"));
27
+ const react_1 = __importStar(require("react"));
8
28
  const react_hook_form_1 = require("react-hook-form");
9
29
  const yup_1 = require("@hookform/resolvers/yup");
10
30
  const intakeSchema_1 = require("./intakeSchema");
@@ -13,6 +33,10 @@ const RefineAnalysisSection_1 = require("./RefineAnalysisSection");
13
33
  const CpaIntakeQuestionsSection_1 = require("./CpaIntakeQuestionsSection");
14
34
  const StrategyRadar_1 = require("./StrategyRadar");
15
35
  const IntakeCtaCards_1 = require("./IntakeCtaCards");
36
+ /* Dev-only scenario selector: visible on localhost and parodev hostnames */
37
+ const isDev = typeof window !== "undefined" &&
38
+ (window.location.hostname === "localhost" ||
39
+ window.location.hostname.includes("parodev"));
16
40
  function TaxAxisIntake({ userContext = "expert", onProspect, onFullAnalysis, initialProfile, }) {
17
41
  const methods = (0, react_hook_form_1.useForm)({
18
42
  resolver: (0, yup_1.yupResolver)(intakeSchema_1.intakeSchema), // yupResolver generic incompatibility with RHF v7 — cast is intentional
@@ -20,6 +44,19 @@ function TaxAxisIntake({ userContext = "expert", onProspect, onFullAnalysis, ini
20
44
  mode: "onChange",
21
45
  });
22
46
  const profile = methods.watch();
47
+ const [selectedScenario, setSelectedScenario] = (0, react_1.useState)("");
48
+ const handleLoadScenario = (key) => {
49
+ setSelectedScenario(key);
50
+ if (!key) {
51
+ // "Clear form" — reset to blank defaults
52
+ methods.reset(Object.assign(Object.assign({}, intakeSchema_1.intakeDefaultValues), initialProfile));
53
+ return;
54
+ }
55
+ const scenario = intakeSchema_1.TEST_SCENARIOS[key];
56
+ if (scenario) {
57
+ methods.reset(Object.assign(Object.assign({}, intakeSchema_1.intakeDefaultValues), scenario.values));
58
+ }
59
+ };
23
60
  const handleProspect = () => {
24
61
  methods.handleSubmit((valid) => onProspect(valid), () => { })();
25
62
  };
@@ -27,6 +64,15 @@ function TaxAxisIntake({ userContext = "expert", onProspect, onFullAnalysis, ini
27
64
  methods.handleSubmit((valid) => onFullAnalysis(valid), () => { })();
28
65
  };
29
66
  return (react_1.default.createElement(react_hook_form_1.FormProvider, Object.assign({}, methods),
67
+ isDev && (react_1.default.createElement("div", { className: "mb-4 rounded-lg border border-amber-500/40 bg-amber-950/30 p-3" },
68
+ react_1.default.createElement("label", { className: "block text-[11px] font-semibold tracking-wide text-amber-400 mb-1" }, "DEV: Load Test Scenario"),
69
+ react_1.default.createElement("div", { className: "relative" },
70
+ react_1.default.createElement("select", { value: selectedScenario, onChange: (e) => handleLoadScenario(e.target.value), className: "w-full appearance-none rounded-md border border-amber-500/30 bg-tax-axis-surface px-3 py-2 pr-8 text-sm text-white focus:border-amber-400 focus:outline-none focus:ring-1 focus:ring-amber-400/50" },
71
+ react_1.default.createElement("option", { value: "" }, "\u2014 Clear / blank form \u2014"),
72
+ Object.entries(intakeSchema_1.TEST_SCENARIOS).map(([key, { label }]) => (react_1.default.createElement("option", { key: key, value: key }, label)))),
73
+ react_1.default.createElement("svg", { className: "pointer-events-none absolute right-2.5 top-1/2 -translate-y-1/2 h-4 w-4 text-amber-400/60", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" },
74
+ react_1.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M19 9l-7 7-7-7" }))),
75
+ react_1.default.createElement("p", { className: "mt-1.5 text-[10px] text-amber-400/50" }, "Pre-fills all fields for testing. Not visible in production."))),
30
76
  react_1.default.createElement("div", { className: "grid grid-cols-1 sm:grid-cols-2 gap-5" },
31
77
  react_1.default.createElement("div", { className: "flex flex-col gap-4" },
32
78
  react_1.default.createElement(ClientParametersSection_1.ClientParametersSection, { userContext: userContext }),
@@ -148,4 +148,8 @@ export declare const intakeSchema: Yup.ObjectSchema<import("yup/lib/object").Ass
148
148
  familyEmployed: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
149
149
  period: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
150
150
  }>>>;
151
+ export declare const TEST_SCENARIOS: Record<string, {
152
+ label: string;
153
+ values: Partial<ClientProfile>;
154
+ }>;
151
155
  export declare const intakeDefaultValues: Partial<ClientProfile>;
@@ -23,7 +23,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.intakeDefaultValues = exports.intakeSchema = void 0;
26
+ exports.intakeDefaultValues = exports.TEST_SCENARIOS = exports.intakeSchema = void 0;
27
27
  const Yup = __importStar(require("yup"));
28
28
  exports.intakeSchema = Yup.object().shape({
29
29
  bizName: Yup.string().required("Business name required").ensure(),
@@ -138,4 +138,116 @@ const _BLACKRIDGE_FIXTURE = {
138
138
  familyEmployed: "No",
139
139
  period: "Full Year",
140
140
  };
141
- exports.intakeDefaultValues = _BLACKRIDGE_FIXTURE;
141
+ /* ── Ironclad Systems, Inc. C-Corp Test Fixture ── */
142
+ const _IRONCLAD_FIXTURE = {
143
+ bizName: "Ironclad Systems, Inc.",
144
+ cpaName: "Amar",
145
+ entity: "C-Corporation",
146
+ industry: "Technology",
147
+ revenue: "1850000",
148
+ netIncome: "420000",
149
+ ownerComp: "185000",
150
+ employees: "12",
151
+ year: "2023",
152
+ states: ["GA"],
153
+ filingStatus: "MFJ",
154
+ age: "48",
155
+ sstb: "No",
156
+ ownsRealEstate: "No",
157
+ itemizesDeductions: "No",
158
+ singleOwner: "Yes",
159
+ partners: [],
160
+ equipmentPurchased: "85000",
161
+ realEstateValue: "0",
162
+ capitalGains: "0",
163
+ federalRate: "21%",
164
+ stateRate: "5.39",
165
+ taxDataYears: "3 years",
166
+ riskTolerance: "3",
167
+ overtimePremium: "0",
168
+ tipIncomePct: "0",
169
+ retirementContributions: "0",
170
+ hdhpEnrolled: "No",
171
+ hsaContributions: "0",
172
+ wotcHires: "No",
173
+ familyEmployed: "No",
174
+ period: "Full Year",
175
+ };
176
+ /* ── Meridian Consulting Group, Inc. — S-Corp Test Fixture ── */
177
+ const _MERIDIAN_FIXTURE = {
178
+ bizName: "Meridian Consulting Group, Inc.",
179
+ cpaName: "Amar",
180
+ entity: "S-Corporation",
181
+ industry: "Professional Services",
182
+ revenue: "1240000",
183
+ netIncome: "310000",
184
+ ownerComp: "150000",
185
+ employees: "8",
186
+ year: "2023",
187
+ states: ["IL"],
188
+ filingStatus: "MFJ",
189
+ age: "52",
190
+ sstb: "Yes",
191
+ ownsRealEstate: "No",
192
+ itemizesDeductions: "No",
193
+ singleOwner: "Yes",
194
+ partners: [],
195
+ equipmentPurchased: "35000",
196
+ realEstateValue: "0",
197
+ capitalGains: "0",
198
+ federalRate: "32%",
199
+ stateRate: "4.95",
200
+ taxDataYears: "3 years",
201
+ riskTolerance: "3",
202
+ overtimePremium: "0",
203
+ tipIncomePct: "0",
204
+ retirementContributions: "0",
205
+ hdhpEnrolled: "No",
206
+ hsaContributions: "0",
207
+ wotcHires: "No",
208
+ familyEmployed: "No",
209
+ period: "Full Year",
210
+ };
211
+ /* ── Riverstone Creative Studio — Sole Prop Test Fixture ── */
212
+ const _RIVERSTONE_FIXTURE = {
213
+ bizName: "Riverstone Creative Studio",
214
+ cpaName: "Amar",
215
+ entity: "Sole Proprietor",
216
+ industry: "Professional Services",
217
+ revenue: "270400",
218
+ netIncome: "159457",
219
+ ownerComp: "0",
220
+ employees: "0",
221
+ year: "2023",
222
+ states: ["CO"],
223
+ filingStatus: "Single",
224
+ age: "38",
225
+ sstb: "No",
226
+ ownsRealEstate: "No",
227
+ itemizesDeductions: "No",
228
+ singleOwner: "Yes",
229
+ partners: [],
230
+ equipmentPurchased: "2900",
231
+ realEstateValue: "0",
232
+ capitalGains: "0",
233
+ federalRate: "24%",
234
+ stateRate: "4.40",
235
+ taxDataYears: "3 years",
236
+ riskTolerance: "3",
237
+ overtimePremium: "0",
238
+ tipIncomePct: "0",
239
+ retirementContributions: "0",
240
+ hdhpEnrolled: "No",
241
+ hsaContributions: "0",
242
+ wotcHires: "No",
243
+ familyEmployed: "No",
244
+ period: "Full Year",
245
+ };
246
+ exports.TEST_SCENARIOS = {
247
+ blackridge: { label: "Blackridge (Partnership, TX+CA)", values: _BLACKRIDGE_FIXTURE },
248
+ ironclad: { label: "Ironclad (C-Corp, GA)", values: _IRONCLAD_FIXTURE },
249
+ meridian: { label: "Meridian (S-Corp, IL)", values: _MERIDIAN_FIXTURE },
250
+ riverstone: { label: "Riverstone (Sole Prop, CO)", values: _RIVERSTONE_FIXTURE },
251
+ };
252
+ // Default to empty form — use TEST_SCENARIOS to load fixtures on demand
253
+ exports.intakeDefaultValues = _EMPTY_DEFAULTS;
@@ -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 ═══
@@ -82,8 +95,21 @@ function TaxAxisProspectReport({ profile, backendComputePayload, outputPayload,
82
95
  const maxMid = Math.max(...barData.map(b => b.mid), 1);
83
96
  // ═══ DOCUMENT GROUPING ═══
84
97
  const allDocsNeeded = [...new Set(eligible.flatMap(s => { var _a; return ((_a = strategyProspect_1.STRATEGY_PROSPECT[s.rank]) === null || _a === void 0 ? void 0 : _a.docsNeeded) || []; }))];
85
- const requiredDocs = ["Profit & Loss Statement (current year)", "Balance Sheet (current year)"];
86
- const recommendedDocs = ["Federal Tax Return (most recent)", "W-2 / Officer Compensation records"];
98
+ // Entity-specific document names
99
+ const entityType = profile.entity || 'Sole Proprietor';
100
+ const isPartnership = entityType === 'Partnership';
101
+ const isSCorp = entityType === 'S-Corporation';
102
+ const isCCorp = entityType === 'C-Corporation';
103
+ const requiredDocs = isPartnership
104
+ ? ["Form 1065 (Partnership Tax Return)", "Balance Sheet (current year)"]
105
+ : isSCorp
106
+ ? ["Form 1120-S (S-Corp Tax Return)", "Balance Sheet (current year)"]
107
+ : isCCorp
108
+ ? ["Form 1120 (C-Corp Tax Return)", "Balance Sheet (current year)"]
109
+ : ["Schedule C (Profit & Loss)", "Balance Sheet (current year)"];
110
+ const recommendedDocs = isPartnership
111
+ ? ["Schedule K-1 (Partner's Share)", "Partnership Agreement"]
112
+ : ["Federal Tax Return (most recent)", "W-2 / Officer Compensation records"];
87
113
  const conditionalDocs = allDocsNeeded.filter(d => !requiredDocs.includes(d) && !recommendedDocs.includes(d)).slice(0, 5);
88
114
  const sectionNums = remaining > 0
89
115
  ? { recommended: "02", additional: "03", sample: "04", documents: "05", nextSteps: "06" }
@@ -72,8 +72,8 @@ exports.SIDEBAR_LOOKUP = {
72
72
  body: "HSA contributions are deductible above the line and reduce AGI directly, regardless of whether the taxpayer itemizes. Eligibility is determined month-by-month based on HDHP coverage. The last-month rule allows full-year contributions if HDHP coverage is in place on December 1, subject to a 13-month testing period \u2014 coverage must continue through December 31 of the following year or contributions are recaptured plus a 10% additional tax."
73
73
  },
74
74
  "\u00A7401(k)": {
75
- title: "Solo 401(k) deadlines",
76
- body: "Plan documents must generally be signed by December 31 of the contribution year. SECURE 2.0 \u00A7317 lets sole proprietors with no common-law employees adopt a Solo 401(k) and make first-year employee deferrals as late as the personal tax filing deadline (without extensions). Employer contributions can be made up to the extended filing deadline for all entity types."
75
+ title: "Solo 401(k) — sole proprietors & single-owner entities only",
76
+ body: "Solo 401(k) plans are available only to sole proprietors and single-member LLCs with no common-law employees. Plan documents must be signed by December 31 of the contribution year. SECURE 2.0 \u00A7317 allows first-year employee deferrals to be made as late as the personal tax filing deadline (without extensions). Employer contributions can be made until the extended filing deadline. Partnerships, multi-member LLCs, S-Corps, and C-Corps must use other qualified retirement plans (SEP-IRA, SIMPLE IRA, 401(k))."
77
77
  },
78
78
  "\u00A71400Z": {
79
79
  title: "Opportunity Zone timing",
@@ -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.79",
3
+ "version": "1.14.81",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {