@paro.io/expert-shared-components 1.14.43 → 1.14.45
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.
- package/LICENSE +21 -21
- package/README.md +2 -2
- package/lib/README.md +2 -0
- package/lib/components/ClientReferencesSection/DeleteButton.js +11 -11
- package/lib/components/ClientReferencesSection/ParoError.js +10 -10
- package/lib/components/ClientReferencesSection/TagsSection.js +2 -2
- package/lib/components/ClientReferencesSection/styles/BrandedTypography.js +2 -2
- package/lib/components/ClientReferencesSection/styles/Buttons.js +15 -15
- package/lib/components/ClientReferencesSection/styles/Name.js +5 -5
- package/lib/components/ClientReferencesSection/styles/NullContentConditionalColor.js +4 -4
- package/lib/components/ClientReferencesSection/styles/SectionBody.js +11 -11
- package/lib/components/ClientReferencesSection/styles/SectionTitle.js +6 -6
- package/lib/components/ClientReferencesSection/styles/Tags.js +2 -2
- package/lib/components/DiscussionThread/DiscussionThread.d.ts +25 -25
- package/lib/components/DiscussionThread/DiscussionThread.js +137 -137
- package/lib/components/DiscussionThread/chat.d.ts +22 -22
- package/lib/components/DiscussionThread/chat.js +106 -106
- package/lib/components/DiscussionThread/index.d.ts +1 -1
- package/lib/components/DiscussionThread/index.js +5 -5
- package/lib/components/DocumentCenter/DocumentTable.d.ts +15 -15
- package/lib/components/DocumentCenter/DocumentTable.js +350 -350
- package/lib/components/DocumentCenter/DragDropUpload.js +4 -4
- package/lib/components/DocumentCenter/UploadFilesButton.d.ts +6 -6
- package/lib/components/DocumentCenter/UploadFilesButton.js +29 -29
- package/lib/components/EarningsTracker/ActiveProjectCard.d.ts +52 -52
- package/lib/components/EarningsTracker/ActiveProjectCard.js +161 -161
- package/lib/components/EarningsTracker/CenterCardUI.d.ts +13 -13
- package/lib/components/EarningsTracker/CenterCardUI.js +134 -134
- package/lib/components/EarningsTracker/EarningsTracker.d.ts +52 -52
- package/lib/components/EarningsTracker/EarningsTracker.js +508 -508
- package/lib/components/EarningsTracker/EditDateModal.d.ts +22 -22
- package/lib/components/EarningsTracker/EditDateModal.js +149 -149
- package/lib/components/EarningsTracker/EmailModal.d.ts +14 -14
- package/lib/components/EarningsTracker/EmailModal.js +79 -79
- package/lib/components/EarningsTracker/EndProjectModal.d.ts +56 -56
- package/lib/components/EarningsTracker/EndProjectModal.js +221 -221
- package/lib/components/EarningsTracker/LeftCardUI.d.ts +18 -18
- package/lib/components/EarningsTracker/LeftCardUI.js +189 -189
- package/lib/components/EarningsTracker/LogTimeModalAuthenticated.d.ts +52 -52
- package/lib/components/EarningsTracker/LogTimeModalAuthenticated.js +358 -358
- package/lib/components/EarningsTracker/ProgressBar.d.ts +4 -4
- package/lib/components/EarningsTracker/ProgressBar.js +66 -66
- package/lib/components/EarningsTracker/ReviewRequestModal.d.ts +17 -17
- package/lib/components/EarningsTracker/ReviewRequestModal.js +135 -135
- package/lib/components/EarningsTracker/RightCardUI.d.ts +46 -46
- package/lib/components/EarningsTracker/RightCardUI.js +231 -231
- package/lib/components/EarningsTracker/index.d.ts +1 -1
- package/lib/components/EarningsTracker/index.js +5 -5
- package/lib/components/Escalations/CustomTag.d.ts +3 -3
- package/lib/components/Escalations/CustomTag.js +25 -25
- package/lib/components/Escalations/ViewReponseModal.d.ts +8 -8
- package/lib/components/Escalations/ViewReponseModal.js +27 -27
- package/lib/components/ExpertProfileHeader/ActionButtonSection.js +6 -6
- package/lib/components/ExpertProfileHeader/ProfileSection.js +7 -7
- package/lib/components/Invoices/TestDecisionSection.d.ts +1 -1
- package/lib/components/Invoices/TestDecisionSection.js +126 -126
- package/lib/components/OrganizationChart/OrganizationChart.d.ts +15 -15
- package/lib/components/OrganizationChart/OrganizationChart.js +312 -312
- package/lib/components/OrganizationChart/PersonCard.js +5 -5
- package/lib/components/OrganizationChart/utils.js +79 -79
- package/lib/components/ProjectCard/ProgressBar.js +4 -4
- package/lib/components/ProjectCard/ReviewRequestModal.js +5 -5
- package/lib/components/ProjectIntelligence/MissingInformation/index.js +1 -1
- package/lib/components/Reviews/Pagination.js +6 -6
- package/lib/components/ReviewsTab/RatingHeader.js +6 -6
- package/lib/components/ReviewsTab/expert-shared-components.code-workspace +20 -20
- package/lib/components/ReviewsTab/reviewRequestModal.js +5 -5
- package/lib/components/shared/Image.js +13 -13
- package/lib/components/shared/ProfileTextField.d.ts +18 -18
- package/lib/components/shared/ProfileTextField.js +16 -16
- package/lib/components/shared/StyledActionButtons.d.ts +7 -7
- package/lib/components/shared/StyledActionButtons.js +15 -15
- package/lib/components/shared/ToastNotification.d.ts +10 -10
- package/lib/components/shared/ToastNotification.js +63 -63
- package/lib/index.d.ts +13 -0
- package/lib/index.js +27 -1
- package/lib/package.json +68 -0
- package/lib/tax-axis/components/clientReport/ClientReportCover.d.ts +9 -0
- package/lib/tax-axis/components/clientReport/ClientReportCover.js +39 -0
- package/lib/tax-axis/components/clientReport/ClientReportTOC.d.ts +8 -0
- package/lib/tax-axis/components/clientReport/ClientReportTOC.js +24 -0
- package/lib/tax-axis/components/clientReport/ClientReportToolbar.d.ts +2 -0
- package/lib/tax-axis/components/clientReport/ClientReportToolbar.js +6 -0
- package/lib/tax-axis/components/clientReport/ETRChart.d.ts +10 -0
- package/lib/tax-axis/components/clientReport/ETRChart.js +50 -0
- package/lib/tax-axis/components/clientReport/ExecutiveSummary.d.ts +15 -0
- package/lib/tax-axis/components/clientReport/ExecutiveSummary.js +73 -0
- package/lib/tax-axis/components/clientReport/FootnoteBlock.d.ts +11 -0
- package/lib/tax-axis/components/clientReport/FootnoteBlock.js +34 -0
- package/lib/tax-axis/components/clientReport/ImplementationRoadmap.d.ts +26 -0
- package/lib/tax-axis/components/clientReport/ImplementationRoadmap.js +51 -0
- package/lib/tax-axis/components/clientReport/ImplementationTimelineChart.d.ts +10 -0
- package/lib/tax-axis/components/clientReport/ImplementationTimelineChart.js +49 -0
- package/lib/tax-axis/components/clientReport/Methodology.d.ts +10 -0
- package/lib/tax-axis/components/clientReport/Methodology.js +40 -0
- package/lib/tax-axis/components/clientReport/QuarterlyCashChart.d.ts +10 -0
- package/lib/tax-axis/components/clientReport/QuarterlyCashChart.js +56 -0
- package/lib/tax-axis/components/clientReport/RecommendedStrategies.d.ts +13 -0
- package/lib/tax-axis/components/clientReport/RecommendedStrategies.js +51 -0
- package/lib/tax-axis/components/clientReport/SavingsStackChart.d.ts +10 -0
- package/lib/tax-axis/components/clientReport/SavingsStackChart.js +66 -0
- package/lib/tax-axis/components/clientReport/SectionOpener.d.ts +11 -0
- package/lib/tax-axis/components/clientReport/SectionOpener.js +20 -0
- package/lib/tax-axis/components/clientReport/Sidebar.d.ts +8 -0
- package/lib/tax-axis/components/clientReport/Sidebar.js +37 -0
- package/lib/tax-axis/components/clientReport/StrategyCard.d.ts +16 -0
- package/lib/tax-axis/components/clientReport/StrategyCard.js +63 -0
- package/lib/tax-axis/components/clientReport/TaxAxisClientReport.d.ts +9 -0
- package/lib/tax-axis/components/clientReport/TaxAxisClientReport.js +125 -0
- package/lib/tax-axis/components/clientReport/applyFootnotes.d.ts +12 -0
- package/lib/tax-axis/components/clientReport/applyFootnotes.js +43 -0
- package/lib/tax-axis/components/clientReport/palette.d.ts +28 -0
- package/lib/tax-axis/components/clientReport/palette.js +34 -0
- package/lib/tax-axis/components/dashboard/ConfidenceArc.d.ts +7 -0
- package/lib/tax-axis/components/dashboard/ConfidenceArc.js +20 -0
- package/lib/tax-axis/components/dashboard/DashboardActions.d.ts +13 -0
- package/lib/tax-axis/components/dashboard/DashboardActions.js +96 -0
- package/lib/tax-axis/components/dashboard/DashboardSummary.d.ts +11 -0
- package/lib/tax-axis/components/dashboard/DashboardSummary.js +98 -0
- package/lib/tax-axis/components/dashboard/DashboardTopBar.d.ts +10 -0
- package/lib/tax-axis/components/dashboard/DashboardTopBar.js +48 -0
- package/lib/tax-axis/components/dashboard/StrategyDetailPanel.d.ts +10 -0
- package/lib/tax-axis/components/dashboard/StrategyDetailPanel.js +139 -0
- package/lib/tax-axis/components/dashboard/StrategyTile.d.ts +10 -0
- package/lib/tax-axis/components/dashboard/StrategyTile.js +82 -0
- package/lib/tax-axis/components/dashboard/TaxAxisDashboard.d.ts +12 -0
- package/lib/tax-axis/components/dashboard/TaxAxisDashboard.js +284 -0
- package/lib/tax-axis/components/dashboard/useCountUp.d.ts +1 -0
- package/lib/tax-axis/components/dashboard/useCountUp.js +25 -0
- package/lib/tax-axis/components/documents/DocumentCard.d.ts +18 -0
- package/lib/tax-axis/components/documents/DocumentCard.js +61 -0
- package/lib/tax-axis/components/documents/DocumentTier.d.ts +21 -0
- package/lib/tax-axis/components/documents/DocumentTier.js +23 -0
- package/lib/tax-axis/components/documents/TaxAxisDocuments.d.ts +8 -0
- package/lib/tax-axis/components/documents/TaxAxisDocuments.js +157 -0
- package/lib/tax-axis/components/extractionReview/DocumentCard.d.ts +17 -0
- package/lib/tax-axis/components/extractionReview/DocumentCard.js +105 -0
- package/lib/tax-axis/components/extractionReview/FieldRow.d.ts +17 -0
- package/lib/tax-axis/components/extractionReview/FieldRow.js +137 -0
- package/lib/tax-axis/components/extractionReview/PurposeBlock.d.ts +7 -0
- package/lib/tax-axis/components/extractionReview/PurposeBlock.js +18 -0
- package/lib/tax-axis/components/extractionReview/RerunFooter.d.ts +8 -0
- package/lib/tax-axis/components/extractionReview/RerunFooter.js +60 -0
- package/lib/tax-axis/components/extractionReview/TaxAxisExtractionReview.d.ts +11 -0
- package/lib/tax-axis/components/extractionReview/TaxAxisExtractionReview.js +186 -0
- package/lib/tax-axis/components/intake/ClientParametersSection.d.ts +7 -0
- package/lib/tax-axis/components/intake/ClientParametersSection.js +146 -0
- package/lib/tax-axis/components/intake/CpaIntakeQuestionsSection.d.ts +7 -0
- package/lib/tax-axis/components/intake/CpaIntakeQuestionsSection.js +93 -0
- package/lib/tax-axis/components/intake/IntakeCtaCards.d.ts +9 -0
- package/lib/tax-axis/components/intake/IntakeCtaCards.js +30 -0
- package/lib/tax-axis/components/intake/RefineAnalysisSection.d.ts +7 -0
- package/lib/tax-axis/components/intake/RefineAnalysisSection.js +151 -0
- package/lib/tax-axis/components/intake/StateMultiSelect.d.ts +7 -0
- package/lib/tax-axis/components/intake/StateMultiSelect.js +90 -0
- package/lib/tax-axis/components/intake/StrategyRadar.d.ts +7 -0
- package/lib/tax-axis/components/intake/StrategyRadar.js +240 -0
- package/lib/tax-axis/components/intake/TaxAxisIntake.d.ts +8 -0
- package/lib/tax-axis/components/intake/TaxAxisIntake.js +38 -0
- package/lib/tax-axis/components/intake/intakeSchema.d.ts +97 -0
- package/lib/tax-axis/components/intake/intakeSchema.js +91 -0
- package/lib/tax-axis/components/preparerWorkpaper/CalculationTraceAccordion.d.ts +9 -0
- package/lib/tax-axis/components/preparerWorkpaper/CalculationTraceAccordion.js +19 -0
- package/lib/tax-axis/components/preparerWorkpaper/EngagementHeader.d.ts +9 -0
- package/lib/tax-axis/components/preparerWorkpaper/EngagementHeader.js +43 -0
- package/lib/tax-axis/components/preparerWorkpaper/Position6694Accordion.d.ts +9 -0
- package/lib/tax-axis/components/preparerWorkpaper/Position6694Accordion.js +25 -0
- package/lib/tax-axis/components/preparerWorkpaper/PriorityGroup.d.ts +14 -0
- package/lib/tax-axis/components/preparerWorkpaper/PriorityGroup.js +20 -0
- package/lib/tax-axis/components/preparerWorkpaper/Section6694Summary.d.ts +9 -0
- package/lib/tax-axis/components/preparerWorkpaper/Section6694Summary.js +36 -0
- package/lib/tax-axis/components/preparerWorkpaper/SourceDocumentsAccordion.d.ts +9 -0
- package/lib/tax-axis/components/preparerWorkpaper/SourceDocumentsAccordion.js +20 -0
- package/lib/tax-axis/components/preparerWorkpaper/StrategyWorkpaperCard.d.ts +14 -0
- package/lib/tax-axis/components/preparerWorkpaper/StrategyWorkpaperCard.js +53 -0
- package/lib/tax-axis/components/preparerWorkpaper/TaxAxisPreparerWorkpaper.d.ts +9 -0
- package/lib/tax-axis/components/preparerWorkpaper/TaxAxisPreparerWorkpaper.js +175 -0
- package/lib/tax-axis/components/presentationMode/TaxAxisPresentationMode.d.ts +7 -0
- package/lib/tax-axis/components/presentationMode/TaxAxisPresentationMode.js +245 -0
- package/lib/tax-axis/components/processing/ProcessingStages.d.ts +7 -0
- package/lib/tax-axis/components/processing/ProcessingStages.js +17 -0
- package/lib/tax-axis/components/processing/TaxAxisProcessing.d.ts +7 -0
- package/lib/tax-axis/components/processing/TaxAxisProcessing.js +105 -0
- package/lib/tax-axis/components/prospectReport/ProspectCover.d.ts +10 -0
- package/lib/tax-axis/components/prospectReport/ProspectCover.js +47 -0
- package/lib/tax-axis/components/prospectReport/ProspectDocuments.d.ts +9 -0
- package/lib/tax-axis/components/prospectReport/ProspectDocuments.js +31 -0
- package/lib/tax-axis/components/prospectReport/ProspectNextSteps.d.ts +13 -0
- package/lib/tax-axis/components/prospectReport/ProspectNextSteps.js +37 -0
- package/lib/tax-axis/components/prospectReport/ProspectPrintView.d.ts +26 -0
- package/lib/tax-axis/components/prospectReport/ProspectPrintView.js +183 -0
- package/lib/tax-axis/components/prospectReport/ProspectStrategyCard.d.ts +10 -0
- package/lib/tax-axis/components/prospectReport/ProspectStrategyCard.js +52 -0
- package/lib/tax-axis/components/prospectReport/SampleAnalysisPreview.d.ts +7 -0
- package/lib/tax-axis/components/prospectReport/SampleAnalysisPreview.js +120 -0
- package/lib/tax-axis/components/prospectReport/TaxAxisProspectReport.d.ts +9 -0
- package/lib/tax-axis/components/prospectReport/TaxAxisProspectReport.js +173 -0
- package/lib/tax-axis/components/prospectReport/TaxPositionGap.d.ts +15 -0
- package/lib/tax-axis/components/prospectReport/TaxPositionGap.js +45 -0
- package/lib/tax-axis/components/prospectReport/theme.d.ts +26 -0
- package/lib/tax-axis/components/prospectReport/theme.js +33 -0
- package/lib/tax-axis/components/shared/ReportToolbar.d.ts +12 -0
- package/lib/tax-axis/components/shared/ReportToolbar.js +81 -0
- package/lib/tax-axis/components/shared/SectionHeader.d.ts +8 -0
- package/lib/tax-axis/components/shared/SectionHeader.js +15 -0
- package/lib/tax-axis/components/shared/TaxAxisBadge.d.ts +12 -0
- package/lib/tax-axis/components/shared/TaxAxisBadge.js +34 -0
- package/lib/tax-axis/components/shared/TaxAxisButton.d.ts +12 -0
- package/lib/tax-axis/components/shared/TaxAxisButton.js +17 -0
- package/lib/tax-axis/components/shared/TaxAxisCard.d.ts +9 -0
- package/lib/tax-axis/components/shared/TaxAxisCard.js +13 -0
- package/lib/tax-axis/index.d.ts +25 -0
- package/lib/tax-axis/index.js +51 -0
- package/lib/tax-axis/lib/compute/index.d.ts +8 -0
- package/lib/tax-axis/lib/compute/index.js +163 -0
- package/lib/tax-axis/lib/data/documents.d.ts +3 -0
- package/lib/tax-axis/lib/data/documents.js +33 -0
- package/lib/tax-axis/lib/data/extractedData.d.ts +2 -0
- package/lib/tax-axis/lib/data/extractedData.js +47 -0
- package/lib/tax-axis/lib/data/footnoteData.d.ts +2 -0
- package/lib/tax-axis/lib/data/footnoteData.js +48 -0
- package/lib/tax-axis/lib/data/index.d.ts +11 -0
- package/lib/tax-axis/lib/data/index.js +31 -0
- package/lib/tax-axis/lib/data/nextSteps.d.ts +2 -0
- package/lib/tax-axis/lib/data/nextSteps.js +35 -0
- package/lib/tax-axis/lib/data/sidebarLookup.d.ts +2 -0
- package/lib/tax-axis/lib/data/sidebarLookup.js +90 -0
- package/lib/tax-axis/lib/data/sourceDescriptions.d.ts +1 -0
- package/lib/tax-axis/lib/data/sourceDescriptions.js +32 -0
- package/lib/tax-axis/lib/data/states.d.ts +6 -0
- package/lib/tax-axis/lib/data/states.js +25 -0
- package/lib/tax-axis/lib/data/strategies.d.ts +8 -0
- package/lib/tax-axis/lib/data/strategies.js +166 -0
- package/lib/tax-axis/lib/data/strategyNarrative.d.ts +3 -0
- package/lib/tax-axis/lib/data/strategyNarrative.js +170 -0
- package/lib/tax-axis/lib/data/strategyProspect.d.ts +2 -0
- package/lib/tax-axis/lib/data/strategyProspect.js +66 -0
- package/lib/tax-axis/lib/data/workpaperInteractions.d.ts +1 -0
- package/lib/tax-axis/lib/data/workpaperInteractions.js +15 -0
- package/lib/tax-axis/lib/types/index.d.ts +183 -0
- package/lib/tax-axis/lib/types/index.js +7 -0
- package/package.json +68 -67
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ═══════════════════════════════════════════════════════════════════
|
|
3
|
+
// TaxAxis — 25 federal strategies (ranked)
|
|
4
|
+
// Verbatim from the mock (App.jsx:76-227).
|
|
5
|
+
// ═══════════════════════════════════════════════════════════════════
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.ADDITIONAL = exports.STRATEGIES = void 0;
|
|
8
|
+
/* ═══ 25 FEDERAL STRATEGIES (L2-1, OBBBA-Updated) ═══ */
|
|
9
|
+
exports.STRATEGIES = [
|
|
10
|
+
{ rank: 1, name: "Business Entity Structure", code: "§3121", cat: "entity", needsOwnerComp: true, lo: 8400, hi: 12100, score: 72, priority: "HIGH", timeline: "30 days", timelineBucket: "30d",
|
|
11
|
+
authority: "IRC §3121 · Rev. Rul. 74-44", forms: "BLS comp memo", warning: "Salary below 50%-of-profit threshold. BLS memo required.", entities: ["S-Corporation"],
|
|
12
|
+
abstract: "S-Corporation distributions above a 'reasonable salary' bypass 15.3% self-employment tax. Salary benchmarked against BLS industry reference ranges — NOT a 40% heuristic.",
|
|
13
|
+
sources: [{ doc: "Form W-3", line: "Box 1", value: "$65,000", field: "Officer W-2 Salary" }, { doc: "Form 1120S", line: "Line 1", value: "$142,000", field: "Net Profit" }, { doc: "BLS OES 2025", line: "NAICS 54", value: "$58.2K–$112.6K", field: "Industry Range" }],
|
|
14
|
+
trace: [{ n: 1, step: "Current salary", formula: "Form W-3", result: "$65,000", src: "W-3" }, { n: 2, step: "BLS benchmark", formula: "25th pctl", result: "$58,200", src: "BLS" }, { n: 3, step: "50% threshold", formula: "50% × $142K", result: "$71,000", src: "Rev. Rul. 74-44" }, { n: 4, step: "SE tax avoided", formula: "$77K × 14.13%", result: "$10,881/yr", src: "IRC §3111" }],
|
|
15
|
+
clientBrief: "Your S-Corp structure saves significant employment taxes. We document why your salary is reasonable.", action: "Prepare BLS documentation memo before next payroll cycle", cost: "$300–$500" },
|
|
16
|
+
{ rank: 2, name: "Section 179 Expensing", code: "§179", cat: "depreciation", lo: 4200, hi: 18500, score: 88, priority: "HIGH", timeline: "File now", timelineBucket: "now",
|
|
17
|
+
authority: "IRC §179 · Rev. Proc. 2025-32", forms: "Form 4562", warning: null, entities: ["S-Corporation", "C-Corporation", "Partnership/LLC", "Sole Proprietorship"],
|
|
18
|
+
abstract: "Immediately expense qualifying equipment and software up to $1,250,000 for 2026. Phase-out begins at $3,130,000.",
|
|
19
|
+
sources: [{ doc: "Fixed Asset Schedule", line: "2026 additions", value: "$87,000", field: "Equipment Purchases" }, { doc: "Rev. Proc. 2025-32", line: "Table 4", value: "$1,250,000", field: "2026 §179 Limit" }],
|
|
20
|
+
trace: [{ n: 1, step: "Qualifying purchases", formula: "Fixed asset schedule", result: "$87,000", src: "Asset Sched." }, { n: 2, step: "Phase-out check", formula: "$87K << $3.13M", result: "Full deduction", src: "Rev. Proc." }, { n: 3, step: "Immediate deduction", formula: "$87,000 × 100%", result: "$87,000", src: "IRC §179" }],
|
|
21
|
+
clientBrief: "All qualifying equipment purchases can be fully expensed this year instead of depreciated over time.", action: "Claim on return — confirm asset list with preparer", cost: "$0" },
|
|
22
|
+
{ rank: 3, name: "Bonus Depreciation §168(k)", code: "§168(k)", cat: "depreciation", lo: 6800, hi: 32000, score: 90, priority: "HIGH", timeline: "File now", timelineBucket: "now",
|
|
23
|
+
authority: "IRC §168(k) · OBBBA §70301", forms: "Form 4562", warning: null, entities: ["S-Corporation", "C-Corporation", "Partnership/LLC", "Sole Proprietorship"],
|
|
24
|
+
abstract: "OBBBA made 100% bonus depreciation PERMANENT for property placed in service after Jan 19, 2025. No more phase-down.",
|
|
25
|
+
sources: [{ doc: "Fixed Asset Schedule", line: "2026 additions", value: "$87,000", field: "Qualifying Property" }, { doc: "OBBBA §70301", line: "Sec. 1", value: "100%", field: "Permanent Rate" }],
|
|
26
|
+
trace: [{ n: 1, step: "Qualifying property", formula: "Recovery period ≤ 20 yrs", result: "$87,000", src: "Asset Sched." }, { n: 2, step: "Bonus rate", formula: "OBBBA permanent 100%", result: "100%", src: "OBBBA §70301" }],
|
|
27
|
+
clientBrief: "100% bonus depreciation is now permanent under OBBBA. All qualifying assets get full first-year write-off.", action: "Review fixed asset schedule for qualifying additions", cost: "$0" },
|
|
28
|
+
{ rank: 4, name: "QBI Deduction §199A", code: "§199A", cat: "income", lo: 18200, hi: 24700, score: 87, priority: "HIGH", timeline: "File now", timelineBucket: "now",
|
|
29
|
+
authority: "IRC §199A · OBBBA §70105 · Rev. Proc. 2025-32", forms: "Form 8995", warning: null, entities: ["S-Corporation", "Partnership/LLC", "Sole Proprietorship"],
|
|
30
|
+
abstract: "OBBBA-updated §199A: 23% rate, three-branch formula based on entity type, SSTB status, and W-2 wages or property basis.",
|
|
31
|
+
sources: [{ doc: "Form 1120S", line: "Line 1", value: "$142,000", field: "QBI Base" }, { doc: "Form W-3", line: "Box 1", value: "$48,000", field: "W-2 Wages" }, { doc: "Rev. Proc. 2025-32", line: "Table 3", value: "$191,950", field: "Phase-Out" }],
|
|
32
|
+
trace: [{ n: 1, step: "QBI", formula: "Net income from 1120S", result: "$142,000", src: "1120S" }, { n: 2, step: "Branch selection", formula: "$184K < $191,950 → Branch 1", result: "Branch 1", src: "Rev. Proc." }, { n: 3, step: "Tentative deduction", formula: "$142,000 × 23%", result: "$32,660", src: "OBBBA §70105" }, { n: 4, step: "W-2 wage cap", formula: "50% × $48,000", result: "$24,000 ← binding", src: "W-3" }, { n: 5, step: "Net savings", formula: "$24,000 × rate", result: "$21,276", src: "Eff. rate" }],
|
|
33
|
+
clientBrief: "The QBI deduction shelters up to 23% of your business income. Nothing changes about how you run your business.", action: "Claim on return — no client action required", cost: "$0" },
|
|
34
|
+
{ rank: 5, name: "R&D Credit §41", code: "§41", cat: "credits", excludeIndustry: ["Restaurant / Hospitality", "Education", "Agriculture", "Retail / E-Commerce"], lo: 8500, hi: 45000, score: 82, priority: "HIGH", timeline: "90 days", timelineBucket: "90d",
|
|
35
|
+
authority: "IRC §41 · OBBBA §174A", forms: "Form 6765", warning: "R&D documentation required.", entities: ["S-Corporation", "C-Corporation", "Partnership/LLC"],
|
|
36
|
+
abstract: "OBBBA restored immediate expensing for domestic R&E. The R&D credit provides dollar-for-dollar reduction. Small businesses can offset payroll taxes.",
|
|
37
|
+
sources: [{ doc: "Client intake", line: "R&D activities", value: "Yes", field: "R&D Eligible" }, { doc: "Expense Report", line: "R&D categories", value: "$120,000", field: "Qualified Research Expenses" }],
|
|
38
|
+
trace: [{ n: 1, step: "Qualified expenses", formula: "Wages + supplies + contract", result: "$120,000", src: "Expense Rpt" }, { n: 2, step: "Credit rate", formula: "20% ASC method", result: "$24,000", src: "IRC §41(c)" }],
|
|
39
|
+
clientBrief: "Your development activities qualify for the R&D tax credit. OBBBA restored immediate expensing for domestic research.", action: "Compile project descriptions, time records, expense allocation", cost: "$2,000–$5,000" },
|
|
40
|
+
{ rank: 6, name: "WOTC", code: "§51", cat: "credits", minEmployees: 1, lo: 1200, hi: 9600, score: 65, priority: "MEDIUM", timeline: "90 days", timelineBucket: "90d",
|
|
41
|
+
authority: "IRC §51", forms: "Form 5884", warning: null, entities: ["S-Corporation", "C-Corporation", "Partnership/LLC", "Sole Proprietorship"],
|
|
42
|
+
abstract: "Credit of $1,200–$9,600 per qualifying hire from targeted groups. Must certify within 28 days of start date.",
|
|
43
|
+
sources: [{ doc: "Payroll", line: "New hires", value: "3", field: "2026 Hires" }, { doc: "DOL", line: "Target groups", value: "2 qualifying", field: "Eligible" }],
|
|
44
|
+
trace: [{ n: 1, step: "Qualifying hires", formula: "Screening", result: "2 employees", src: "Payroll" }, { n: 2, step: "Credit", formula: "40% × qualifying wages", result: "$4,800", src: "§51(a)" }],
|
|
45
|
+
clientBrief: "Two recent hires may qualify for the Work Opportunity Tax Credit worth up to $9,600.", action: "Submit Form 8850 within 28 days of hire", cost: "$200–$500" },
|
|
46
|
+
{ rank: 7, name: "Retirement Plan Upgrade", code: "§401(k)", cat: "retirement", lo: 12500, hi: 16800, score: 91, priority: "HIGH", timeline: "90 days", timelineBucket: "90d",
|
|
47
|
+
authority: "IRC §401(k) · SECURE 2.0 · Rev. Proc. 2025-32", forms: "Solo 401(k) · Form 5500-EZ", warning: null, entities: ["S-Corporation", "Partnership/LLC", "Sole Proprietorship"],
|
|
48
|
+
abstract: "Solo 401(k) unlocks $23,500 employee deferral + 25% employer match. SECURE 2.0 adds startup credit up to $5,000/yr for 3 years.",
|
|
49
|
+
sources: [{ doc: "K-1", line: "Line 13", value: "$14,500", field: "Current SEP-IRA" }, { doc: "W-3", line: "Box 1", value: "$65,000", field: "W-2 Comp" }, { doc: "Rev. Proc.", line: "Table 1", value: "$23,500", field: "2026 Deferral" }],
|
|
50
|
+
trace: [{ n: 1, step: "Current SEP", formula: "K-1 Line 13", result: "$14,500", src: "K-1" }, { n: 2, step: "Solo 401(k) EE", formula: "2026 deferral", result: "$23,500", src: "Rev. Proc." }, { n: 3, step: "Solo 401(k) ER", formula: "25% × $65K", result: "$16,250", src: "§415(c)" }, { n: 4, step: "Incremental", formula: "$39,750 − $14,500", result: "$25,250", src: "Calc." }],
|
|
51
|
+
clientBrief: "Switching retirement account type shelters an extra $25,000.", action: "Open Solo 401(k) by Dec 31, 2026", cost: "$200–$400" },
|
|
52
|
+
{ rank: 8, name: "Cost Segregation", code: "§168", cat: "depreciation", preferIndustry: ["Real Estate", "Construction"], lo: 15000, hi: 85000, score: 89, priority: "HIGH", timeline: "90 days", timelineBucket: "90d",
|
|
53
|
+
authority: "IRC §168 · OBBBA §70301", forms: "Form 4562 · Engineering Study", warning: "Property ≥ $500K. Combined with 100% bonus depreciation.", entities: ["S-Corporation", "C-Corporation", "Partnership/LLC"],
|
|
54
|
+
abstract: "Reclassifies building components from 39-year to 5/7/15-year recovery. Massive first-year deductions with permanent 100% bonus depreciation.",
|
|
55
|
+
sources: [{ doc: "Intake", line: "Property value", value: "$1,200,000", field: "Commercial RE" }, { doc: "Intake", line: "Year acquired", value: "2024", field: "Acquisition Year" }],
|
|
56
|
+
trace: [{ n: 1, step: "Eligible property", formula: "Value ≥ $500K", result: "$1.2M", src: "Intake" }, { n: 2, step: "Reclassifiable", formula: "20–40% typical", result: "$300,000", src: "Industry avg" }, { n: 3, step: "Bonus depreciation", formula: "100% permanent", result: "$300K yr 1", src: "OBBBA" }],
|
|
57
|
+
clientBrief: "A cost segregation study on your commercial property could accelerate $300K+ in deductions to this year.", action: "Engage cost segregation engineer. 4–8 weeks.", cost: "$5,000–$15,000" },
|
|
58
|
+
{ rank: 9, name: "HSA Maximization", code: "§223", cat: "benefits", lo: 1800, hi: 2400, score: 94, priority: "QUICK WIN", timeline: "This week", timelineBucket: "now",
|
|
59
|
+
authority: "IRC §223 · Rev. Proc. 2025-32", forms: "Form 8889", warning: null, entities: ["S-Corporation", "C-Corporation", "Partnership/LLC", "Sole Proprietorship"],
|
|
60
|
+
abstract: "HSA contributions are triple-tax-advantaged. $4,350 remaining below the 2026 family limit of $8,550.",
|
|
61
|
+
sources: [{ doc: "Payroll", line: "HSA election", value: "$4,200", field: "Current YTD" }, { doc: "Benefits", line: "Plan type", value: "HDHP", field: "Family" }, { doc: "Rev. Proc.", line: "Table 2", value: "$8,550", field: "2026 Limit" }],
|
|
62
|
+
trace: [{ n: 1, step: "Eligibility", formula: "HDHP confirmed", result: "Eligible", src: "Benefits" }, { n: 2, step: "Gap", formula: "$8,550 − $4,200", result: "$4,350", src: "Payroll" }],
|
|
63
|
+
clientBrief: "You're leaving $4,350 in tax-free savings on the table. One payroll change fixes it.", action: "Increase payroll HSA deduction this pay period", cost: "$0" },
|
|
64
|
+
{ rank: 10, name: "Business Meal Deductions", code: "§274", cat: "deductions", lo: 800, hi: 2200, score: 68, priority: "QUICK WIN", timeline: "This week", timelineBucket: "now",
|
|
65
|
+
authority: "IRC §274 · OBBBA §70305", forms: "Expense documentation", warning: "Employer convenience meals NO LONGER deductible from 2026.", entities: ["S-Corporation", "C-Corporation", "Partnership/LLC", "Sole Proprietorship"],
|
|
66
|
+
abstract: "Client/prospect meals 50% deductible. OBBBA: employer convenience meals no longer deductible starting 2026.",
|
|
67
|
+
sources: [{ doc: "QBO", line: "Meals", value: "$8,400", field: "Annual Meals" }],
|
|
68
|
+
trace: [{ n: 1, step: "Total meals", formula: "QBO", result: "$8,400", src: "QBO" }, { n: 2, step: "Business meals", formula: "Estimated", result: "$6,200", src: "Review" }, { n: 3, step: "Deduction", formula: "$6,200 × 50%", result: "$3,100", src: "§274" }],
|
|
69
|
+
clientBrief: "Properly documenting business meals recovers $800–$2,200 in tax savings.", action: "Implement meal documentation protocol", cost: "$0" },
|
|
70
|
+
{ rank: 11, name: "Professional Services Deductions", code: "§162", cat: "deductions", lo: 500, hi: 3500, score: 75, priority: "MEDIUM", timeline: "File now", timelineBucket: "now",
|
|
71
|
+
authority: "IRC §162", forms: "Schedule C / 1120S", warning: null, entities: ["S-Corporation", "C-Corporation", "Partnership/LLC", "Sole Proprietorship"],
|
|
72
|
+
abstract: "Legal, accounting, consulting fees are fully deductible as ordinary and necessary business expenses.",
|
|
73
|
+
sources: [{ doc: "QBO", line: "Professional fees", value: "$24,000", field: "Annual Fees" }],
|
|
74
|
+
trace: [{ n: 1, step: "Total fees", formula: "QBO + invoices", result: "$24,000", src: "QBO" }, { n: 2, step: "Business allocation", formula: "Categorization review", result: "$22,500", src: "Review" }],
|
|
75
|
+
clientBrief: "Ensure all professional service fees are properly categorized and deducted.", action: "Review and categorize all professional service invoices", cost: "$0" },
|
|
76
|
+
{ rank: 12, name: "Home Office Deduction", code: "§280A", cat: "deductions", excludeIndustry: ["Construction", "Manufacturing", "Restaurant / Hospitality"], lo: 2100, hi: 3200, score: 80, priority: "QUICK WIN", timeline: "This week", timelineBucket: "now",
|
|
77
|
+
authority: "IRC §280A(c)(1) · Rev. Proc. 2013-13", forms: "Form 8829", warning: null, entities: ["S-Corporation", "Partnership/LLC", "Sole Proprietorship"],
|
|
78
|
+
abstract: "Actual expense method produces higher deduction than the $5/sqft simplified method for dedicated workspace.",
|
|
79
|
+
sources: [{ doc: "Intake", line: "Office sqft", value: "280 sqft", field: "Workspace" }, { doc: "Intake", line: "Total", value: "2,100 sqft", field: "Home" }, { doc: "QBO", line: "Home costs", value: "$43,200", field: "Mortgage + Utils" }],
|
|
80
|
+
trace: [{ n: 1, step: "Business use %", formula: "280 ÷ 2,100", result: "13.33%", src: "Intake" }, { n: 2, step: "Simplified", formula: "280 × $5", result: "$1,400", src: "Rev. Proc." }, { n: 3, step: "Actual", formula: "13.33% × $43,200", result: "$5,747", src: "QBO" }],
|
|
81
|
+
clientBrief: "Your home office qualifies for a $5,700 deduction using the actual expense method.", action: "Photograph workspace. Collect mortgage + utility bills.", cost: "$0" },
|
|
82
|
+
{ rank: 13, name: "Employee Benefit Credits", code: "§45R", cat: "benefits", minEmployees: 1, lo: 2000, hi: 12000, score: 70, priority: "MEDIUM", timeline: "30 days", timelineBucket: "30d",
|
|
83
|
+
authority: "IRC §45R", forms: "Form 8941", warning: null, entities: ["S-Corporation", "C-Corporation", "Partnership/LLC"],
|
|
84
|
+
abstract: "Small Business Health Care Tax Credit: up to 50% of employer-paid premiums (≤25 FTEs, avg salary ≤$58K).",
|
|
85
|
+
sources: [{ doc: "Payroll", line: "Health premiums", value: "$36,000", field: "Employer Costs" }, { doc: "Payroll", line: "FTEs", value: "4", field: "FTE Count" }],
|
|
86
|
+
trace: [{ n: 1, step: "FTE count", formula: "Payroll", result: "4", src: "Payroll" }, { n: 2, step: "Credit", formula: "50% × $36,000", result: "Up to $18,000", src: "§45R" }],
|
|
87
|
+
clientBrief: "Your small business may qualify for a credit covering up to 50% of employee health insurance premiums.", action: "Verify SHOP enrollment and FTE calculations", cost: "$0" },
|
|
88
|
+
{ rank: 14, name: "Charitable Contribution Strategies", code: "§170", cat: "deductions", lo: 500, hi: 4000, score: 60, priority: "LOW", timeline: "Year-end", timelineBucket: "90d",
|
|
89
|
+
authority: "IRC §170", forms: "Schedule A · Form 8283", warning: null, entities: ["S-Corporation", "C-Corporation", "Partnership/LLC", "Sole Proprietorship"],
|
|
90
|
+
abstract: "Appreciated asset donations avoid capital gains. Bunching strategy concentrates deductions into alternating years.",
|
|
91
|
+
sources: [{ doc: "Brokerage", line: "Appreciated stock", value: "$15,000", field: "Holdings" }],
|
|
92
|
+
trace: [{ n: 1, step: "Current giving", formula: "Annual pattern", result: "$3,000/yr", src: "Intake" }, { n: 2, step: "Bunching", formula: "2 years → 1", result: "$6,000", src: "Strategy" }],
|
|
93
|
+
clientBrief: "Donating appreciated stock and bunching contributions maximizes your deduction.", action: "Identify appreciated long-term holdings", cost: "$0" },
|
|
94
|
+
{ rank: 15, name: "SALT / PTE Optimization", code: "OBBBA §70109", cat: "state", lo: 3200, hi: 5800, score: 92, priority: "HIGH", timeline: "File now", timelineBucket: "now", needsPTE: true,
|
|
95
|
+
authority: "OBBBA §70109 · IRC §164 · IRS Notice 2020-75", forms: "Schedule A · State PTE Election", warning: null, entities: ["S-Corporation", "Partnership/LLC"],
|
|
96
|
+
abstract: "OBBBA raised SALT cap to $40,400 for 2026. PTE elections convert entity-level state tax into an unlimited federal business deduction. 30% phase-out above $500K MAGI (MFJ).",
|
|
97
|
+
sources: [{ doc: "State Return", line: "Tax paid", value: "$9,108", field: "State Tax" }, { doc: "OBBBA §70109", line: "Table 1", value: "$40,400", field: "SALT Cap" }, { doc: "Intake", line: "Property tax", value: "$9,200", field: "Property Tax" }],
|
|
98
|
+
trace: [{ n: 1, step: "PTE election", formula: "Entity-level state tax", result: "$7,029", src: "Notice 2020-75" }, { n: 2, step: "PTET bypasses cap", formula: "Entity-level deduction", result: "$7,029", src: "Notice" }, { n: 3, step: "Remaining SALT", formula: "$9,200 property tax", result: "$9,200", src: "Intake" }, { n: 4, step: "New regime", formula: "All deducted", result: "$0 lost", src: "OBBBA + PTE" }],
|
|
99
|
+
clientBrief: "New federal law raised your SALT cap, and your state's PTE workaround bypasses it entirely for business income.", action: "Elect PTE for 2026. Claim full SALT cap.", cost: "$0" },
|
|
100
|
+
{ rank: 16, name: "Business Interest §163(j)", code: "§163(j)", cat: "deductions", lo: 2000, hi: 15000, score: 73, priority: "MEDIUM", timeline: "File now", timelineBucket: "now",
|
|
101
|
+
authority: "IRC §163(j) · OBBBA §70306", forms: "Form 8990", warning: null, entities: ["S-Corporation", "C-Corporation", "Partnership/LLC"],
|
|
102
|
+
abstract: "OBBBA restored EBITDA computation. Full deduction if gross receipts ≤$27M.",
|
|
103
|
+
sources: [{ doc: "1120S", line: "Interest", value: "$18,000", field: "Business Interest" }, { doc: "1120S", line: "3-yr avg", value: "$480,000", field: "Gross Receipts" }],
|
|
104
|
+
trace: [{ n: 1, step: "Gross receipts test", formula: "$480K ≤ $27M", result: "Exempt", src: "§163(j)(3)" }, { n: 2, step: "Full deduction", formula: "All interest deductible", result: "$18,000", src: "§163(j)" }],
|
|
105
|
+
clientBrief: "Your business qualifies for full interest deduction under the small business exception.", action: "No additional action — claim full deduction", cost: "$0" },
|
|
106
|
+
{ rank: 17, name: "Income Deferral & Timing", code: "§451", cat: "income", lo: 1500, hi: 8000, score: 66, priority: "MEDIUM", timeline: "Year-end", timelineBucket: "90d",
|
|
107
|
+
authority: "IRC §451 · IRC §448", forms: "Form 3115", warning: null, entities: ["S-Corporation", "C-Corporation", "Partnership/LLC", "Sole Proprietorship"],
|
|
108
|
+
abstract: "Cash method taxpayers (≤$27M) defer income through billing timing. §451 advance payment deferral allows one-year deferral on prepaid income.",
|
|
109
|
+
sources: [{ doc: "1120S", line: "Revenue", value: "$500,000", field: "Revenue" }, { doc: "QBO", line: "AR aging", value: "$42,000", field: "Receivables" }],
|
|
110
|
+
trace: [{ n: 1, step: "Cash method", formula: "Revenue ≤ $27M", result: "Eligible", src: "§448" }, { n: 2, step: "Deferral", formula: "Q4 timing", result: "$20K–$40K", src: "QBO" }],
|
|
111
|
+
clientBrief: "Strategic timing of invoicing can defer $20K–$40K of income to next year.", action: "Review Q4 billing schedule", cost: "$0" },
|
|
112
|
+
{ rank: 18, name: "Opportunity Zone §1400Z", code: "§1400Z", cat: "investment", lo: 5000, hi: 25000, score: 55, priority: "LOW", timeline: "Year-end", timelineBucket: "90d",
|
|
113
|
+
authority: "IRC §1400Z · OBBBA transition rules", forms: "Form 8996 · Form 8997", warning: "Confirm deferred gain recognition under OBBBA transition rules.", entities: ["S-Corporation", "C-Corporation", "Partnership/LLC", "Sole Proprietorship"],
|
|
114
|
+
abstract: "Rural QOZ improvement threshold reduced to 50%. QOF investments defer and potentially eliminate capital gains.",
|
|
115
|
+
sources: [{ doc: "Brokerage", line: "Gains", value: "$85,000", field: "Cap Gains" }],
|
|
116
|
+
trace: [{ n: 1, step: "Cap gains", formula: "Brokerage + sales", result: "$85,000", src: "Brokerage" }, { n: 2, step: "QOF window", formula: "180 days", result: "Up to $85K", src: "§1400Z" }],
|
|
117
|
+
clientBrief: "Investing capital gains into an Opportunity Zone fund defers taxes and potentially eliminates gains on the new investment.", action: "Identify QOF within 180 days of gain", cost: "$1,000–$3,000" },
|
|
118
|
+
{ rank: 19, name: "Energy Credits §179D", code: "§179D", cat: "credits", preferIndustry: ["Real Estate", "Construction"], lo: 2500, hi: 25000, score: 58, priority: "MEDIUM", timeline: "90 days", timelineBucket: "90d",
|
|
119
|
+
authority: "IRC §179D · OBBBA §70507", forms: "Form 7205", warning: "ELIMINATED for construction after June 30, 2026.", entities: ["S-Corporation", "C-Corporation", "Partnership/LLC"],
|
|
120
|
+
abstract: "$0.50–$5.00/sqft for energy-efficient improvements. Eliminated for new construction after June 30, 2026.",
|
|
121
|
+
sources: [{ doc: "Intake", line: "Sqft", value: "8,000", field: "Commercial Sqft" }],
|
|
122
|
+
trace: [{ n: 1, step: "Rate", formula: "$0.50–$5.00/sqft", result: "$2.50 est.", src: "Prevailing wage" }, { n: 2, step: "Credit", formula: "8,000 × $2.50", result: "$20,000", src: "Calc." }],
|
|
123
|
+
clientBrief: "Energy-efficient improvements qualify for up to $5.00/sqft. This credit is being eliminated — act before June 30, 2026.", action: "Commission energy study", cost: "$3,000–$8,000" },
|
|
124
|
+
{ rank: 20, name: "Tax Method Elections", code: "§446", cat: "accounting", lo: 1000, hi: 6000, score: 62, priority: "MEDIUM", timeline: "File now", timelineBucket: "now",
|
|
125
|
+
authority: "IRC §446 · IRC §448", forms: "Form 3115", warning: null, entities: ["S-Corporation", "C-Corporation", "Partnership/LLC", "Sole Proprietorship"],
|
|
126
|
+
abstract: "Evaluate cash vs. accrual, LIFO/FIFO, §263A UNICAP exemption for businesses under $27M.",
|
|
127
|
+
sources: [{ doc: "1120S", line: "Method", value: "Cash", field: "Current" }, { doc: "QBO", line: "Inventory", value: "$45,000", field: "Inventory" }],
|
|
128
|
+
trace: [{ n: 1, step: "Current method", formula: "Cash basis", result: "Cash", src: "1120S" }, { n: 2, step: "UNICAP exempt", formula: "Under $27M", result: "Exempt", src: "§263A" }],
|
|
129
|
+
clientBrief: "Your business qualifies for simplified accounting methods that can defer income.", action: "Review accounting method elections with preparer", cost: "$500–$1,500" },
|
|
130
|
+
{ rank: 21, name: "Qualified Tips Deduction", code: "OBBBA", cat: "obbba_new", onlyIndustry: ["Restaurant / Hospitality"], lo: 3000, hi: 25000, score: 78, priority: "HIGH", timeline: "File now", timelineBucket: "now",
|
|
131
|
+
authority: "OBBBA Qualified Tips Provision", forms: "Form 1040 / Schedule C", warning: "Tipping occupations only. Max $25K. Effective 2025–2028.", entities: ["Sole Proprietorship", "Partnership/LLC"],
|
|
132
|
+
abstract: "New OBBBA deduction up to $25,000 for qualifying tip income. Tipping occupations only. Effective 2025–2028.",
|
|
133
|
+
sources: [{ doc: "Payroll", line: "Tips", value: "$32,000", field: "Annual Tips" }, { doc: "OBBBA", line: "Cap", value: "$25,000", field: "Max" }],
|
|
134
|
+
trace: [{ n: 1, step: "Tip income", formula: "Payroll", result: "$32,000", src: "Payroll" }, { n: 2, step: "Cap", formula: "Lesser of tips or $25K", result: "$25,000", src: "OBBBA" }],
|
|
135
|
+
clientBrief: "New OBBBA provision lets you deduct up to $25,000 of tip income through 2028.", action: "Document and categorize all tip income", cost: "$0" },
|
|
136
|
+
{ rank: 22, name: "Overtime Pay Deduction", code: "OBBBA", cat: "obbba_new", minEmployees: 1, lo: 2000, hi: 12500, score: 74, priority: "HIGH", timeline: "File now", timelineBucket: "now",
|
|
137
|
+
authority: "OBBBA Overtime Provision", forms: "Form 1040", warning: "MAGI phase-out: $150K/$300K. Effective 2025–2028.", entities: ["S-Corporation", "C-Corporation", "Partnership/LLC", "Sole Proprietorship"],
|
|
138
|
+
abstract: "New OBBBA deduction for overtime: $12,500 single / $25,000 MFJ. Phase-out at $150K/$300K MAGI.",
|
|
139
|
+
sources: [{ doc: "Payroll", line: "OT hours", value: "320 hrs", field: "Overtime" }, { doc: "W-2", line: "OT comp", value: "$18,000", field: "OT Pay" }],
|
|
140
|
+
trace: [{ n: 1, step: "OT compensation", formula: "W-2 overtime", result: "$18,000", src: "W-2" }, { n: 2, step: "Cap", formula: "$12,500 / $25K MFJ", result: "$12,500", src: "OBBBA" }],
|
|
141
|
+
clientBrief: "New OBBBA provision provides a deduction for overtime pay — up to $12,500 per filer.", action: "Review payroll for overtime classification", cost: "$0" },
|
|
142
|
+
{ rank: 23, name: "R&E Catch-Up §174A", code: "§174A", cat: "obbba_new", excludeIndustry: ["Restaurant / Hospitality", "Education", "Agriculture", "Retail / E-Commerce"], lo: 5000, hi: 35000, score: 83, priority: "HIGH", timeline: "90 days", timelineBucket: "90d",
|
|
143
|
+
authority: "IRC §174A · OBBBA", forms: "Amended returns (2022–2024)", warning: "Requires amending 2022–2024 returns.", entities: ["S-Corporation", "C-Corporation", "Partnership/LLC"],
|
|
144
|
+
abstract: "OBBBA catch-up: recover domestic R&E amortized 2022–2024. File amended returns for immediate deduction.",
|
|
145
|
+
sources: [{ doc: "Prior returns", line: "§174", value: "$95,000", field: "Amortized R&E" }, { doc: "OBBBA", line: "Formula", value: "Net formula", field: "Recovery" }],
|
|
146
|
+
trace: [{ n: 1, step: "Amortized R&E", formula: "2022–2024", result: "$95,000", src: "Returns" }, { n: 2, step: "Deducted to date", formula: "Schedules", result: "$38,000", src: "Returns" }, { n: 3, step: "Catch-up", formula: "$95K − $38K", result: "$57,000", src: "§174A" }],
|
|
147
|
+
clientBrief: "OBBBA lets you recover R&E expenses you were forced to amortize from 2022–2024.", action: "Compile R&E records. File amended returns.", cost: "$2,000–$5,000" },
|
|
148
|
+
{ rank: 24, name: "Employer Childcare Credit", code: "§45F", cat: "obbba_new", minEmployees: 1, lo: 3000, hi: 50000, score: 76, priority: "MEDIUM", timeline: "30 days", timelineBucket: "30d",
|
|
149
|
+
authority: "IRC §45F · OBBBA enhanced", forms: "Form 8882", warning: null, entities: ["S-Corporation", "C-Corporation", "Partnership/LLC"],
|
|
150
|
+
abstract: "Enhanced to 40% of qualifying costs, max $500K ($600K small biz). Covers employer childcare facilities and services. Starting 2026.",
|
|
151
|
+
sources: [{ doc: "Expenses", line: "Childcare", value: "$24,000", field: "Annual" }, { doc: "OBBBA", line: "Rate", value: "40%", field: "Enhanced" }],
|
|
152
|
+
trace: [{ n: 1, step: "Qualifying costs", formula: "Childcare", result: "$24,000", src: "Expenses" }, { n: 2, step: "Credit", formula: "$24,000 × 40%", result: "$9,600", src: "§45F" }],
|
|
153
|
+
clientBrief: "OBBBA enhanced the childcare credit to 40% of qualifying costs.", action: "Document all employer childcare expenditures", cost: "$500–$1,000" },
|
|
154
|
+
{ rank: 25, name: "Trump Accounts", code: "OBBBA", cat: "obbba_new", minEmployees: 1, lo: 500, hi: 5000, score: 52, priority: "LOW", timeline: "Year-end", timelineBucket: "90d",
|
|
155
|
+
authority: "OBBBA Trump Accounts Provision", forms: "TBD — IRS guidance pending", warning: "IRS implementing regulations expected. Starting 2026.", entities: ["S-Corporation", "C-Corporation", "Partnership/LLC"],
|
|
156
|
+
abstract: "Employer contributions up to $2,500/employee/year into child savings accounts. Deductible by employer, tax-free to employee.",
|
|
157
|
+
sources: [{ doc: "OBBBA", line: "Limit", value: "$2,500/ee/yr", field: "Cap" }, { doc: "Payroll", line: "Eligible", value: "3", field: "Employees" }],
|
|
158
|
+
trace: [{ n: 1, step: "Max contribution", formula: "$2,500 × 3", result: "$7,500", src: "OBBBA" }, { n: 2, step: "Deduction", formula: "Ordinary expense", result: "$7,500", src: "§162" }],
|
|
159
|
+
clientBrief: "New provision allows tax-deductible contributions to employee child savings accounts.", action: "Monitor IRS guidance. Plan contributions.", cost: "$200–$500" },
|
|
160
|
+
];
|
|
161
|
+
exports.ADDITIONAL = [
|
|
162
|
+
{ name: "Accountable Plan", savings: "$1,200–$3,500", priority: "MEDIUM" },
|
|
163
|
+
{ name: "Estimated Tax Timing", savings: "$200–$800", priority: "LOW" },
|
|
164
|
+
{ name: "Business Insurance Review", savings: "$400–$2,000", priority: "LOW" },
|
|
165
|
+
{ name: "Vehicle Expense Optimization", savings: "$800–$3,200", priority: "MEDIUM" },
|
|
166
|
+
];
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ═══════════════════════════════════════════════════════════════════
|
|
3
|
+
// TaxAxis — Strategy narratives + generic fallback
|
|
4
|
+
// Verbatim from the mock (App.jsx:232-395).
|
|
5
|
+
// ═══════════════════════════════════════════════════════════════════
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.NARRATIVE_FALLBACK = exports.STRATEGY_NARRATIVE = void 0;
|
|
8
|
+
exports.STRATEGY_NARRATIVE = {
|
|
9
|
+
1: {
|
|
10
|
+
whyMatters: (p) => `As an ${p.entity || "S-Corp"} owner taking $${(parseFloat((p.ownerComp || "65,000").replace(/,/g, "")) / 1000).toFixed(0)}K in W-2 wages on $${(parseFloat((p.revenue || "500,000").replace(/,/g, "")) / 1000).toFixed(0)}K of revenue, the gap between your salary and business profit is generating unnecessary self-employment tax. Industry benchmarking data from the Bureau of Labor Statistics shows a defensible salary range that could be meaningfully lower than your current compensation, freeing up the difference for distribution-based savings.`,
|
|
11
|
+
breakdown: (p, c) => { const lo = (c === null || c === void 0 ? void 0 : c.lo) || 8400; const hi = (c === null || c === void 0 ? void 0 : c.hi) || 12100; return `Your current W-2 salary of $${(parseFloat((p.ownerComp || "65,000").replace(/,/g, "")) / 1000).toFixed(0)}K is ${Math.round(parseFloat((p.ownerComp || "65,000").replace(/,/g, "")) / parseFloat((p.netIncome || "142,000").replace(/,/g, "")) * 100)}% of net income. BLS data for ${p.industry || "your industry"} supports a reasonable salary that is lower. The difference \u2014 taxed as distributions rather than wages \u2014 avoids the 15.3% self-employment tax, saving an estimated $${(lo / 1000).toFixed(1)}K\u2013$${(hi / 1000).toFixed(1)}K annually.`; },
|
|
12
|
+
whySpecialist: "Reasonable compensation is where S-Corps get audited. The IRS has successfully recharacterized distributions as wages in dozens of published cases, and the defense hinges on contemporaneous BLS benchmarking, not a back-of-envelope percentage. Your preparer maintains the salary memo in your file so that if examiners ever ask, the answer is already documented with the citations they expect to see.",
|
|
13
|
+
nextSteps: "Your preparer will prepare a BLS-backed salary benchmarking memo documenting the reasonable compensation analysis. One payroll adjustment implements this strategy \u2014 no structural changes required.",
|
|
14
|
+
},
|
|
15
|
+
2: {
|
|
16
|
+
whyMatters: () => "Section 179 allows your business to immediately expense qualifying equipment and software purchases rather than depreciating them over multiple years. For businesses making capital investments, this front-loads the tax benefit into the current year, improving cash flow and reducing your effective tax rate.",
|
|
17
|
+
breakdown: (p, c) => { const lo = (c === null || c === void 0 ? void 0 : c.lo) || 4200; const hi = (c === null || c === void 0 ? void 0 : c.hi) || 18500; const equip = parseFloat((p.equipmentPurchased || "0").replace(/,/g, "")) || 87000; return `Your qualifying equipment purchases of $${(equip / 1000).toFixed(0)}K are well within the 2026 limit of $1.25M. At your combined federal and state rate, immediately expensing these assets generates $${(lo / 1000).toFixed(1)}K\u2013$${(hi / 1000).toFixed(1)}K in first-year tax savings versus standard depreciation schedules.`; },
|
|
18
|
+
whySpecialist: "\u00A7179 looks simple until you hit the phase-out, the taxable income limitation, or property that is partially business-use. Getting any of those wrong turns a deduction into an audit flag. Your preparer runs the election against your full asset schedule, confirms each purchase qualifies under the placed-in-service rules, and orders \u00A7179 against bonus depreciation to optimize the sequence \u2014 a calculation off-the-shelf software routinely gets wrong when multiple asset classes are involved.",
|
|
19
|
+
nextSteps: "No action required from you. Your preparer will confirm each asset qualifies under \u00A7179, ensure the phase-out threshold is not triggered, and claim the deduction on your return.",
|
|
20
|
+
},
|
|
21
|
+
3: {
|
|
22
|
+
whyMatters: () => "OBBBA made 100% bonus depreciation permanent for property placed in service after January 19, 2025. There is no more phase-down, no more gaming the timing against a scheduled reduction. Every dollar of qualifying property you put into service this year gets fully deducted this year.",
|
|
23
|
+
breakdown: (p, c) => { const lo = (c === null || c === void 0 ? void 0 : c.lo) || 6800; const hi = (c === null || c === void 0 ? void 0 : c.hi) || 32000; const equip = parseFloat((p.equipmentPurchased || "0").replace(/,/g, "")) || 87000; return `Your qualifying property of $${(equip / 1000).toFixed(0)}K is eligible for 100% first-year deduction under the permanent OBBBA rate. Combined with your Section 179 election, the ordering of deductions determines your final position, producing $${(lo / 1000).toFixed(1)}K\u2013$${(hi / 1000).toFixed(1)}K in additional first-year savings beyond what standard depreciation would allow.`; },
|
|
24
|
+
whySpecialist: "Section 179 and bonus depreciation interact in ways that matter. \u00A7179 has a taxable income limitation, bonus does not; bonus applies automatically unless you elect out, \u00A7179 requires election. Getting the ordering wrong can create a net operating loss that has to be carried forward instead of used this year. Your preparer models the sequence so the deductions land against the income that benefits from them most.",
|
|
25
|
+
nextSteps: "Your preparer will review your fixed asset schedule, confirm the service dates, and order the \u00A7179 and \u00A7168(k) elections for optimal placement against current-year income.",
|
|
26
|
+
},
|
|
27
|
+
4: {
|
|
28
|
+
whyMatters: (p) => `The Qualified Business Income deduction under \u00A7199A \u2014 enhanced to 23% by OBBBA \u2014 shelters a significant portion of your pass-through income from federal tax. As a${p.sstb === "Yes" ? " specified service trade or business (SSTB)" : "n eligible"} entity, the calculation depends on your W-2 wages, property basis, and taxable income level.`,
|
|
29
|
+
breakdown: (p, c) => { const lo = (c === null || c === void 0 ? void 0 : c.lo) || 18200; const hi = (c === null || c === void 0 ? void 0 : c.hi) || 24700; return `Your net business income of $${(parseFloat((p.netIncome || "142,000").replace(/,/g, "")) / 1000).toFixed(0)}K qualifies for the QBI deduction. The tentative deduction is 23% of QBI, but may be limited by the W-2 wage cap (50% of wages) or the alternative cap (25% of wages plus 2.5% of qualified property). The binding constraint for your profile produces savings of $${(lo / 1000).toFixed(1)}K\u2013$${(hi / 1000).toFixed(1)}K.`; },
|
|
30
|
+
whySpecialist: "The W-2 wage limitation under \u00A7199A is where most preparers leave money on the table. Optimizing the QBI deduction means balancing the Treasury \u00A71.199A-2 wage requirements against \u00A73121 payroll tax exposure, and the calculation has to be rerun every time your revenue or owner compensation shifts. Your preparer monitors the interaction quarterly and adjusts before year-end closes the window \u2014 something automated tax software does not do.",
|
|
31
|
+
nextSteps: "No action required from you. Your preparer claims this deduction when filing your return. The only consideration is how salary optimization (Strategy #1) may interact with the QBI wage cap.",
|
|
32
|
+
},
|
|
33
|
+
5: {
|
|
34
|
+
whyMatters: (p) => `Your ${p.industry || "business"} activities may qualify for the R&D credit under \u00A741. OBBBA restored immediate expensing for domestic research under \u00A7174A and kept the credit intact, so qualifying development work generates both a deduction and a dollar-for-dollar credit against tax liability.`,
|
|
35
|
+
breakdown: (p, c) => { const lo = (c === null || c === void 0 ? void 0 : c.lo) || 8500; const hi = (c === null || c === void 0 ? void 0 : c.hi) || 45000; return `Qualified research expenses \u2014 wages for technical staff, supplies consumed in development, and contract research \u2014 feed into the credit calculation. At the Alternative Simplified Credit rate of 14% on qualified expenses above the base, your profile generates $${(lo / 1000).toFixed(1)}K\u2013$${(hi / 1000).toFixed(1)}K in credit value. Small businesses can apply up to $500K of the credit against payroll taxes instead of income tax.`; },
|
|
36
|
+
whySpecialist: "The R&D credit is among the most audited provisions in the code. The four-part test under \u00A741(d) \u2014 technological in nature, elimination of uncertainty, process of experimentation, permitted purpose \u2014 requires contemporaneous documentation that most businesses do not keep. Your preparer works with you to identify qualifying activities, document the nexus between expenses and research, and file the credit with the supporting memorandum an examiner would want to see.",
|
|
37
|
+
nextSteps: "Provide project descriptions, time records showing hours spent on qualifying activities, and the expense breakdown (wages, supplies, contractors). Your preparer will compile the substantiation package and file Form 6765.",
|
|
38
|
+
},
|
|
39
|
+
6: {
|
|
40
|
+
whyMatters: () => "The Work Opportunity Tax Credit rewards hiring from targeted groups: veterans, long-term unemployed, SNAP recipients, ex-felons, designated community residents, and several others. The credit ranges from $1,200 to $9,600 per qualifying hire depending on the target group and hours worked.",
|
|
41
|
+
breakdown: (p, c) => { const lo = (c === null || c === void 0 ? void 0 : c.lo) || 1200; const hi = (c === null || c === void 0 ? void 0 : c.hi) || 9600; const emp = parseInt(p.employees || "0") || 3; return `Based on your profile of ${emp} employees, if a subset of your recent hires qualify under WOTC target groups, the credit generates $${(lo / 1000).toFixed(1)}K\u2013$${(hi / 1000).toFixed(1)}K against your tax liability. The credit equals 40% of first-year wages up to the group-specific cap.`; },
|
|
42
|
+
whySpecialist: "WOTC has a 28-day certification window that starts on the new hire's first day of work. Miss the window, and the credit is gone for that hire, permanently. Your preparer sets up a compliant pre-screening process (Form 8850), submits the ETA 9061 to your state workforce agency, and tracks certifications so the credit can be claimed when eligible hires come on board.",
|
|
43
|
+
nextSteps: "Submit Form 8850 within 28 days of each qualifying hire. Your preparer will coordinate with your HR process to identify target-group candidates and handle the state certification.",
|
|
44
|
+
},
|
|
45
|
+
7: {
|
|
46
|
+
whyMatters: (p) => { const age = parseInt(p.age || "45") || 45; return `At age ${age}, you have ${age >= 50 ? "access to catch-up contributions that significantly increase" : "substantial room to increase"} your tax-deferred retirement savings. Most business owners under-contribute relative to what the tax code allows, leaving tens of thousands of deductible dollars on the table each year.`; },
|
|
47
|
+
// TODO(post-BDO): 2026 401(k) employee deferral limit per IRS Notice 2025-67 is $24,500. Stale value also in tax_axis_spec/prompt.md tax_parameters block (retirement_401k_limit). See tax_axis_spec#2095.
|
|
48
|
+
breakdown: (p, c) => { const lo = (c === null || c === void 0 ? void 0 : c.lo) || 12500; const hi = (c === null || c === void 0 ? void 0 : c.hi) || 16800; const age = parseInt(p.age || "45") || 45; const catchUp = age >= 50 ? 7500 : 0; return `A Solo 401(k) allows $24,500 in employee deferrals${catchUp > 0 ? ` plus $${(catchUp / 1000).toFixed(1)}K in catch-up contributions` : ""}, plus up to 25% of W-2 compensation as an employer match. Compared to your current retirement contributions, this upgrade shelters an additional $${(lo / 1000).toFixed(1)}K\u2013$${(hi / 1000).toFixed(1)}K from taxes annually. SECURE 2.0 also provides a startup credit up to $5,000/yr for 3 years.`; },
|
|
49
|
+
whySpecialist: "Choosing between a Solo 401(k), SEP-IRA, Defined Benefit, or Cash Balance plan is a cash-flow modeling problem, not a checklist. Each plan has different contribution ceilings, administrative costs, and coverage rules, and the wrong choice locks you in for years. Your preparer models the plausible plans against your projected five-year income, accounts for SECURE 2.0 startup credits, and coordinates the setup deadline so the election does not get missed.",
|
|
50
|
+
nextSteps: "Open or upgrade your retirement plan before December 31, 2026. Your preparer will recommend the optimal plan type (Solo 401k vs. SEP-IRA vs. Defined Benefit) and contribution level based on your cash flow.",
|
|
51
|
+
},
|
|
52
|
+
8: {
|
|
53
|
+
whyMatters: () => "A cost segregation study reclassifies building components \u2014 wiring, plumbing, flooring, specialized fixtures \u2014 from 39-year property to 5, 7, or 15-year recovery periods. With OBBBA making 100% bonus depreciation permanent, these reclassified components can be fully deducted in year one rather than over decades.",
|
|
54
|
+
breakdown: (p, c) => { const lo = (c === null || c === void 0 ? void 0 : c.lo) || 15000; const hi = (c === null || c === void 0 ? void 0 : c.hi) || 85000; const reVal = parseFloat((p.realEstateValue || "0").replace(/,/g, "")) || 1200000; return `Your commercial property valued at $${(reVal / 1000).toFixed(0)}K typically yields 20\u201340% reclassifiable components. At the midpoint, approximately $${(reVal * 0.3 / 1000).toFixed(0)}K in assets can be reclassified and immediately expensed under permanent bonus depreciation, generating $${(lo / 1000).toFixed(1)}K\u2013$${(hi / 1000).toFixed(1)}K in first-year tax savings.`; },
|
|
55
|
+
whySpecialist: "Cost segregation requires an engineering study that holds up to IRS review, not a spreadsheet estimate. The reclassification has to identify specific building components, document their recovery period under \u00A7168, and pair with permanent bonus depreciation under OBBBA \u00A770301. Your preparer coordinates a qualified engineering firm, reviews the study before filing, and handles the \u00A7481(a) adjustment if the property was previously depreciated on a straight-line schedule.",
|
|
56
|
+
nextSteps: "Provide your property appraisal or purchase records. A qualified engineering firm will conduct the cost segregation study (4\u20138 weeks). Your preparer files the reclassification on Form 4562.",
|
|
57
|
+
},
|
|
58
|
+
9: {
|
|
59
|
+
whyMatters: () => "Health Savings Accounts are the only triple-tax-advantaged vehicle in the tax code: contributions are deductible, growth is tax-free, and qualified distributions are tax-free. If you have a High Deductible Health Plan, maximizing your HSA is one of the highest-return, lowest-effort tax strategies available.",
|
|
60
|
+
// TODO(post-BDO): 2026 family HSA limit per Rev. Proc. 2025-19 is $8,750. Stale value also in tax_axis_spec/prompt.md tax_parameters block (hsa_family). See tax_axis_spec#2095.
|
|
61
|
+
breakdown: (p, c) => { const lo = (c === null || c === void 0 ? void 0 : c.lo) || 1800; const hi = (c === null || c === void 0 ? void 0 : c.hi) || 2400; return `The 2026 family HSA limit is $8,750. Based on your current contributions, you have capacity to contribute an additional $${(lo / 1000).toFixed(1)}K\u2013$${(hi / 1000).toFixed(1)}K, generating immediate tax savings at your combined marginal rate. Unlike retirement accounts, HSA funds can be used for medical expenses at any age without penalty.`; },
|
|
62
|
+
whySpecialist: "HSA rules sound simple but get complicated fast when family coverage, mid-year HDHP enrollment, or spousal accounts are involved. Exceeding the contribution limit triggers a 6% excise tax every year until the excess is withdrawn. Your preparer confirms eligibility month-by-month, tracks contribution room across multiple accounts, and catches the edge cases \u2014 like the last-month rule testing period \u2014 that automated payroll systems miss.",
|
|
63
|
+
nextSteps: "Increase your payroll HSA deduction this pay period. Your preparer will confirm your remaining contribution room and ensure you do not exceed the annual limit.",
|
|
64
|
+
},
|
|
65
|
+
10: {
|
|
66
|
+
whyMatters: () => "Business meals with clients, prospects, and employees remain 50% deductible under \u00A7274 when the meal is ordinary and necessary for your business and the taxpayer (or an employee) is present. For active business owners, the running total over a year is usually larger than expected.",
|
|
67
|
+
breakdown: (p, c) => { const lo = (c === null || c === void 0 ? void 0 : c.lo) || 800; const hi = (c === null || c === void 0 ? void 0 : c.hi) || 2200; return `Based on typical meal spending patterns for a ${p.industry || "professional services"} business, the deductible portion generates $${(lo / 1000).toFixed(1)}K\u2013$${(hi / 1000).toFixed(1)}K in tax savings. The 50% rule applies; entertainment is not deductible at all since TCJA.`; },
|
|
68
|
+
whySpecialist: "The 50% rule sounds simple, but \u00A7274 has exceptions that most software misses. Meals at company-wide events are 100% deductible, meals provided to employees at work are 50%, and client meals require contemporaneous documentation of attendees and business purpose. Your preparer reviews the meal ledger, applies the correct rate per category, and maintains the substantiation file in case of inquiry.",
|
|
69
|
+
nextSteps: "Start logging business meals with date, attendees, and business purpose. Your preparer will review the categorization at year-end and apply the correct deduction percentage.",
|
|
70
|
+
},
|
|
71
|
+
11: {
|
|
72
|
+
whyMatters: () => "Ordinary and necessary professional service fees \u2014 legal, accounting, consulting, IT, bookkeeping \u2014 are fully deductible under \u00A7162. Most businesses capture the obvious ones and miss the rest, especially when fees are embedded in personal statements or split between personal and business purposes.",
|
|
73
|
+
breakdown: (p, c) => { const lo = (c === null || c === void 0 ? void 0 : c.lo) || 500; const hi = (c === null || c === void 0 ? void 0 : c.hi) || 3500; return `A review of your expense ledger against a complete \u00A7162 checklist typically surfaces an additional $${(lo / 1000).toFixed(1)}K\u2013$${(hi / 1000).toFixed(1)}K in deductible professional fees that were either miscategorized or absorbed into personal accounts.`; },
|
|
74
|
+
whySpecialist: "The line between personal and business deductions under \u00A7162 is where most audits go sideways. Fees for tax planning are deductible; fees for personal tax return prep are not. Legal fees for a business contract are deductible; legal fees for a personal dispute are not. Your preparer walks the full expense ledger and applies the bright-line rules, documenting the business purpose where it might be questioned.",
|
|
75
|
+
nextSteps: "Your preparer will review your expense categorization against a complete \u00A7162 checklist and identify any reclassifications before filing.",
|
|
76
|
+
},
|
|
77
|
+
12: {
|
|
78
|
+
whyMatters: () => "The home office deduction under \u00A7280A is available to business owners who use a portion of their home regularly and exclusively for business. For an S-Corporation owner, the deduction typically runs through an accountable-plan reimbursement from the corporation to the shareholder, which moves cash to the owner tax-free while generating a corporate deduction.",
|
|
79
|
+
breakdown: (p, c) => { const lo = (c === null || c === void 0 ? void 0 : c.lo) || 2100; const hi = (c === null || c === void 0 ? void 0 : c.hi) || 3200; return `Based on a typical home office percentage of 10\u201315% of total home square footage, your allocable mortgage interest, utilities, insurance, and depreciation generate an estimated $${(lo / 1000).toFixed(1)}K\u2013$${(hi / 1000).toFixed(1)}K in deductible expenses per year.`; },
|
|
80
|
+
whySpecialist: "\u00A7280A has two methods \u2014 simplified ($5/sq ft capped at 300 sq ft) and actual-expense \u2014 and the right choice depends on the size of the office and the cost of the home. For S-Corporation owners, the accountable plan route avoids the depreciation recapture trap when the home is eventually sold, but only if the plan is set up correctly before the expenses are incurred. Your preparer chooses the method, sets up the accountable plan, and keeps the substantiation file.",
|
|
81
|
+
nextSteps: "Photograph your dedicated workspace, measure the square footage, and collect current mortgage interest, property tax, utilities, and insurance statements. Your preparer will set up the accountable plan reimbursement process.",
|
|
82
|
+
},
|
|
83
|
+
13: {
|
|
84
|
+
whyMatters: () => "The Small Business Health Care Tax Credit under \u00A745R provides up to 50% of employer-paid health insurance premiums for businesses with fewer than 25 full-time equivalent employees and average wages under roughly $58,000. This is a dollar-for-dollar credit, not a deduction.",
|
|
85
|
+
breakdown: (p, c) => { const lo = (c === null || c === void 0 ? void 0 : c.lo) || 2000; const hi = (c === null || c === void 0 ? void 0 : c.hi) || 12000; const emp = parseInt(p.employees || "0") || 4; return `With ${emp} employees and health insurance premiums in a qualifying range, the credit generates $${(lo / 1000).toFixed(1)}K\u2013$${(hi / 1000).toFixed(1)}K against your tax liability. The credit phases out as FTEs exceed 10 and as average wages rise above the threshold.`; },
|
|
86
|
+
whySpecialist: "\u00A745R has an FTE calculation that is not the same as head count, a wage calculation that excludes owner compensation in most cases, and a SHOP marketplace enrollment requirement in many situations. Your preparer runs the computation, verifies marketplace eligibility, and confirms the credit holds up under the owner-exclusion rules before claiming it.",
|
|
87
|
+
nextSteps: "Provide your payroll summary and health insurance premium invoices. Your preparer will run the \u00A745R computation and confirm marketplace enrollment eligibility.",
|
|
88
|
+
},
|
|
89
|
+
14: {
|
|
90
|
+
whyMatters: () => "Charitable contributions under \u00A7170 are deductible, but the value depends on timing, asset type, and vehicle. Bunching two years of contributions into a single year can push you above the standard deduction threshold. Donating appreciated securities instead of cash avoids capital gain on the appreciation while still generating the full fair-market deduction.",
|
|
91
|
+
breakdown: (p, c) => { const lo = (c === null || c === void 0 ? void 0 : c.lo) || 500; const hi = (c === null || c === void 0 ? void 0 : c.hi) || 4000; return `Optimizing the timing and form of your charitable giving \u2014 bunching into alternating years, donating appreciated stock held more than one year, or using a donor-advised fund \u2014 generates an incremental $${(lo / 1000).toFixed(1)}K\u2013$${(hi / 1000).toFixed(1)}K in tax value beyond what default cash-every-year giving produces.`; },
|
|
92
|
+
whySpecialist: "\u00A7170 has percentage-of-AGI limits that vary by donation type (60% for cash, 30% for appreciated stock, 50% for certain organizations), carryforward rules for amounts exceeding the limit, and substantiation requirements for gifts over $250 and $5,000 thresholds. Your preparer models the timing, picks the optimal vehicle, and handles the substantiation letters so the deduction is not disallowed on audit.",
|
|
93
|
+
nextSteps: "Share your giving plan for the next two years. Your preparer will model bunching scenarios and recommend the timing and vehicle that maximizes tax value.",
|
|
94
|
+
},
|
|
95
|
+
15: {
|
|
96
|
+
whyMatters: (p) => { const stateList = (p.states || ["IL"]).join(", "); return `Your state${(p.states || []).length > 1 ? "s" : ""} (${stateList}) offer${(p.states || []).length > 1 ? "" : "s"} a Pass-Through Entity tax election that converts entity-level state tax into an unlimited federal business deduction \u2014 effectively bypassing the $10,000 SALT cap (raised to $40,400 by OBBBA for 2026). This is one of the most impactful state-level strategies available to pass-through entities.`; },
|
|
97
|
+
breakdown: (p, c) => { const lo = (c === null || c === void 0 ? void 0 : c.lo) || 3200; const hi = (c === null || c === void 0 ? void 0 : c.hi) || 5800; return `By electing PTE treatment, your state income tax is paid at the entity level and deducted as a business expense \u2014 not subject to the individual SALT cap. Combined with OBBBA's increased SALT cap of $40,400, this produces $${(lo / 1000).toFixed(1)}K\u2013$${(hi / 1000).toFixed(1)}K in additional federal deductions that would otherwise be lost.`; },
|
|
98
|
+
whySpecialist: "The PTE election is irrevocable in most states and has to be filed on a state-specific form before a state-specific deadline \u2014 miss it by a day and the benefit is gone for the year. The interaction with your individual return also matters: some states require a proportional K-1 adjustment, others do not, and the OBBBA-raised SALT cap changes whether the election is even beneficial at certain income levels. Your preparer runs the math both ways, files the election, and coordinates the federal and state returns so nothing contradicts.",
|
|
99
|
+
nextSteps: "Your preparer will file the PTE election with your state. Deadline varies by state. No changes to your business operations are required.",
|
|
100
|
+
},
|
|
101
|
+
16: {
|
|
102
|
+
whyMatters: () => "The \u00A7163(j) business interest limitation caps deductible interest expense at 30% of adjusted taxable income for businesses above the $30M average gross receipts threshold. For businesses at or near the threshold, the election in and out of the limitation (and the use of the real property trade or business election) can meaningfully change the current-year deduction.",
|
|
103
|
+
breakdown: (p, c) => { const lo = (c === null || c === void 0 ? void 0 : c.lo) || 2000; const hi = (c === null || c === void 0 ? void 0 : c.hi) || 15000; return `Based on your interest expense profile, the analysis produces $${(lo / 1000).toFixed(1)}K\u2013$${(hi / 1000).toFixed(1)}K in additional deductible interest through strategic use of the small business exemption, the real property election, or the ATI add-back provisions.`; },
|
|
104
|
+
whySpecialist: "\u00A7163(j) has multiple moving parts: the $30M small business exemption (which uses a three-year average), the real property trade or business election (irrevocable), the controlled group aggregation rules, and the carryforward mechanics. Getting any one of them wrong either forfeits a deduction or creates an election that cannot be undone. Your preparer runs the full computation and makes the election decision with a complete view of the downstream consequences.",
|
|
105
|
+
nextSteps: "Your preparer will review your interest expense, gross receipts history, and business mix to determine whether a \u00A7163(j) election is beneficial.",
|
|
106
|
+
},
|
|
107
|
+
17: {
|
|
108
|
+
whyMatters: () => "Strategic timing of when income is recognized and when expenses are paid can shift tax liability from a high-rate year into a lower-rate one. For a cash-basis business, this means accelerating deductible expenses into the current year and deferring invoices until the following year, subject to the \u00A7451 economic performance rules.",
|
|
109
|
+
breakdown: (p, c) => { const lo = (c === null || c === void 0 ? void 0 : c.lo) || 1500; const hi = (c === null || c === void 0 ? void 0 : c.hi) || 8000; return `A year-end review of your billing pipeline and accrued expenses typically identifies $${(lo / 1000).toFixed(1)}K\u2013$${(hi / 1000).toFixed(1)}K in tax value through timing shifts that do not change the economics of your business.`; },
|
|
110
|
+
whySpecialist: "Income deferral only works if you stay cash-basis and do not trigger constructive receipt. Prepaying expenses only works if the prepaid period is 12 months or less under the 12-month rule. Both are areas where a well-intentioned shift becomes a failed election because the timing was wrong by a week. Your preparer plans the year-end moves with a calendar view and confirms each deferral holds up to the timing rules.",
|
|
111
|
+
nextSteps: "Your preparer will conduct a year-end planning session in November to identify timing shifts that benefit your specific tax position.",
|
|
112
|
+
},
|
|
113
|
+
18: {
|
|
114
|
+
whyMatters: () => "The Opportunity Zone program under \u00A71400Z lets you defer federal capital gains tax by rolling eligible gain into a Qualified Opportunity Fund within 180 days of realization. If the QOF investment is held for 10 years, any appreciation on the new investment is tax-free at exit.",
|
|
115
|
+
breakdown: (p, c) => { const lo = (c === null || c === void 0 ? void 0 : c.lo) || 5000; const hi = (c === null || c === void 0 ? void 0 : c.hi) || 25000; return `For eligible capital gains rolled into a Qualified Opportunity Fund, the deferral and eventual step-up generate $${(lo / 1000).toFixed(1)}K\u2013$${(hi / 1000).toFixed(1)}K in present-value tax savings, depending on holding period and the QOF's performance.`; },
|
|
116
|
+
whySpecialist: "The 180-day rollover window is firm. Missing it by one day kills the deferral entirely. The QOF has to meet the 90% qualified-property test semiannually, or the investment itself becomes disqualified. Your preparer confirms the gain type is eligible, tracks the rollover window, and diligences the QOF structure before you wire funds \u2014 because the penalty for a disqualified fund is larger than the benefit of the deferral.",
|
|
117
|
+
nextSteps: "If you have a realized capital gain in the current year, your preparer will evaluate whether a Qualified Opportunity Fund rollover fits your tax profile and investment timeline.",
|
|
118
|
+
},
|
|
119
|
+
19: {
|
|
120
|
+
whyMatters: () => "The \u00A7179D energy-efficient commercial building deduction rewards improvements to HVAC, interior lighting, and building envelope that meet ASHRAE efficiency standards. Under IRA, the deduction scales up to $5 per square foot for buildings that also meet prevailing wage and apprenticeship requirements.",
|
|
121
|
+
breakdown: (p, c) => { const lo = (c === null || c === void 0 ? void 0 : c.lo) || 2500; const hi = (c === null || c === void 0 ? void 0 : c.hi) || 25000; return `For a commercial property that has undergone or is planning energy improvements, the \u00A7179D deduction generates $${(lo / 1000).toFixed(1)}K\u2013$${(hi / 1000).toFixed(1)}K in current-year tax value, depending on square footage and the energy-reduction percentage achieved.`; },
|
|
122
|
+
whySpecialist: "\u00A7179D requires certification by a qualified third-party engineer or contractor who is not otherwise involved with the project. The energy modeling software has to be IRS-approved, and the certification letter has to match the exact asset list on the return. Your preparer coordinates the certification process, reviews the engineer's report, and files the deduction with the supporting documentation intact.",
|
|
123
|
+
nextSteps: "Provide records of any HVAC, lighting, or building envelope improvements on your commercial property. Your preparer will arrange the \u00A7179D certification.",
|
|
124
|
+
},
|
|
125
|
+
20: {
|
|
126
|
+
whyMatters: () => "Your choice of accounting method \u2014 cash versus accrual \u2014 determines when income and expenses hit the return. Businesses under the $30M gross receipts threshold can elect cash method, which generally accelerates deductions and defers income versus accrual. The election and any later change run through Form 3115 under the \u00A7446 rules.",
|
|
127
|
+
breakdown: (p, c) => { const lo = (c === null || c === void 0 ? void 0 : c.lo) || 1000; const hi = (c === null || c === void 0 ? void 0 : c.hi) || 6000; return `Switching from accrual to cash (or optimizing the timing rules within your current method) typically generates $${(lo / 1000).toFixed(1)}K\u2013$${(hi / 1000).toFixed(1)}K in first-year tax value via the \u00A7481(a) adjustment, plus ongoing annual benefit.`; },
|
|
128
|
+
whySpecialist: "A change of accounting method requires Form 3115 and a \u00A7481(a) catch-up adjustment that spreads the change over up to four years. Filing the wrong type of change, or filing without the correct consent procedure, can disqualify the election and trigger penalties. Your preparer evaluates the method options, prepares Form 3115, and computes the \u00A7481(a) adjustment so the transition is clean.",
|
|
129
|
+
nextSteps: "Your preparer will review your current accounting method against your business's cash flow and revenue recognition patterns, then recommend whether a method change is beneficial.",
|
|
130
|
+
},
|
|
131
|
+
21: {
|
|
132
|
+
whyMatters: () => "The OBBBA Qualified Tips Deduction allows employees in tipped occupations to deduct reported tip income from taxable income \u2014 a rare above-the-line deduction on wage-form compensation. For restaurant and hospitality operators, this makes tipped employment relatively more attractive from a total-compensation standpoint.",
|
|
133
|
+
breakdown: (p, c) => { const lo = (c === null || c === void 0 ? void 0 : c.lo) || 3000; const hi = (c === null || c === void 0 ? void 0 : c.hi) || 25000; return `The deduction applies to tips reported through Form 4137 and W-2 Box 7 or 8. Based on a typical tipped-employee payroll structure, the aggregate deduction at the employee level generates $${(lo / 1000).toFixed(1)}K\u2013$${(hi / 1000).toFixed(1)}K in tax value across the workforce, which translates into reduced effective labor costs.`; },
|
|
134
|
+
whySpecialist: "The OBBBA tips deduction is new and IRS guidance is still being issued. The definition of a qualifying tipped occupation, the interaction with the \u00A745B FICA tip credit, and the payroll reporting requirements are all moving targets. Your preparer tracks the guidance, confirms your POS and payroll records separate tip income correctly, and claims the deduction only where the documentation supports it.",
|
|
135
|
+
nextSteps: "Provide POS tip reports and payroll records showing reported tip income by employee. Your preparer will calculate the deduction and coordinate the W-2 reporting.",
|
|
136
|
+
},
|
|
137
|
+
22: {
|
|
138
|
+
whyMatters: () => "The OBBBA Overtime Pay Deduction is a new provision effective 2025\u20132028 that allows employees to deduct overtime compensation from taxable income \u2014 up to $12,500 for single filers or $25,000 for married filing jointly. This is a rare above-the-line deduction for wage income.",
|
|
139
|
+
breakdown: (p, c) => { const lo = (c === null || c === void 0 ? void 0 : c.lo) || 2000; const hi = (c === null || c === void 0 ? void 0 : c.hi) || 12500; return `Based on your payroll data, qualifying overtime compensation generates a deduction of $${(lo / 1000).toFixed(1)}K\u2013$${(hi / 1000).toFixed(1)}K. The deduction phases out at $150K MAGI (single) or $300K MAGI (MFJ). This is a direct reduction in taxable income with no implementation cost.`; },
|
|
140
|
+
whySpecialist: "The OBBBA Overtime Deduction is new as of 2025 and IRS guidance is still being finalized \u2014 which means the definition of qualifying overtime, the phase-out interaction with other deductions, and the W-2 reporting requirements are all moving targets. Your preparer tracks the guidance as it is released, confirms your payroll records separate regular wages from qualifying overtime correctly, and claims the deduction only when the documentation supports it. Reasonable Basis is the current standard, and that requires contemporaneous records, not retrospective reconstruction.",
|
|
141
|
+
nextSteps: "Provide your payroll overtime summary. Your preparer will calculate the OBBBA deduction and claim it on your return. Ensure overtime hours are properly classified in payroll records.",
|
|
142
|
+
},
|
|
143
|
+
23: {
|
|
144
|
+
whyMatters: () => "OBBBA \u00A7174A restored immediate expensing for domestic research and experimentation costs, and it also provided a catch-up mechanism for R&E amortized under the prior TCJA rules from 2022 through 2024. If you capitalized and amortized R&E during that period, amended returns can recover the remaining unamortized balance.",
|
|
145
|
+
breakdown: (p, c) => { const lo = (c === null || c === void 0 ? void 0 : c.lo) || 5000; const hi = (c === null || c === void 0 ? void 0 : c.hi) || 35000; return `For businesses that amortized domestic R&E over 2022\u20132024 under the prior rules, the catch-up deduction equals the remaining unamortized balance. Based on typical R&E spending patterns, the recovery generates $${(lo / 1000).toFixed(1)}K\u2013$${(hi / 1000).toFixed(1)}K in current-year tax value via amended returns.`; },
|
|
146
|
+
whySpecialist: "This is a retrospective strategy: it requires amending 2022, 2023, and 2024 returns and filing a Form 3115 method change in the current year. The computation has to match the original amortization schedule exactly, and the amended returns have to flow through any downstream impacts on QBI, NOLs, and tax credits. Your preparer handles the amendment sequence and the method-change filing as a coordinated package.",
|
|
147
|
+
nextSteps: "Provide your 2022\u20132024 tax returns showing \u00A7174 amortization schedules. Your preparer will compute the catch-up deduction and file amended returns plus Form 3115.",
|
|
148
|
+
},
|
|
149
|
+
24: {
|
|
150
|
+
whyMatters: () => "OBBBA enhanced the \u00A745F employer-provided childcare credit from 25% to 40% of qualifying expenses, with a cap of $500,000 (raised to $600,000 for small businesses). The credit applies to costs of operating an on-site childcare facility, contracting with an outside facility, or providing childcare referral services.",
|
|
151
|
+
breakdown: (p, c) => { const lo = (c === null || c === void 0 ? void 0 : c.lo) || 3000; const hi = (c === null || c === void 0 ? void 0 : c.hi) || 50000; return `For businesses providing childcare benefits to employees, the enhanced 40% credit rate generates $${(lo / 1000).toFixed(1)}K\u2013$${(hi / 1000).toFixed(1)}K against tax liability, scaling with the amount of qualifying expenditure.`; },
|
|
152
|
+
whySpecialist: "\u00A745F distinguishes between operating expenses and qualified resource-and-referral expenses, with different inclusion rules and recapture triggers for each. The credit is subject to recapture if the facility ceases to operate as a childcare facility within 10 years. Your preparer categorizes expenses correctly, documents the facility's continued operation, and handles the Form 8882 filing.",
|
|
153
|
+
nextSteps: "Document your employer-provided childcare expenses. Your preparer will categorize them under \u00A745F, compute the credit, and file Form 8882.",
|
|
154
|
+
},
|
|
155
|
+
25: {
|
|
156
|
+
whyMatters: () => "OBBBA created a new provision allowing employer contributions of up to $2,500 per employee per year into child savings accounts (commonly called Trump Accounts). The contribution is deductible to the employer and tax-free to the employee, making it a rare double-sided benefit.",
|
|
157
|
+
breakdown: (p, c) => { const lo = (c === null || c === void 0 ? void 0 : c.lo) || 500; const hi = (c === null || c === void 0 ? void 0 : c.hi) || 5000; const emp = parseInt(p.employees || "0") || 3; return `With ${emp} eligible employees, maximum annual contributions of $2,500 each generate an employer deduction range of $${(lo / 1000).toFixed(1)}K\u2013$${(hi / 1000).toFixed(1)}K at your marginal rate, while providing a tax-free benefit to the employees' families.`; },
|
|
158
|
+
whySpecialist: "Trump Accounts are new as of 2026 and the implementing regulations are still being written. The account custodian rules, the employee eligibility definitions, and the W-2 reporting mechanics are all pending IRS guidance. Your preparer monitors the guidance, sets up a compliant contribution process once the rules are finalized, and confirms the benefit holds up as an ordinary-and-necessary business expense under \u00A7162.",
|
|
159
|
+
nextSteps: "Monitor IRS guidance on Trump Account implementation. Your preparer will set up the contribution process once the rules are finalized and confirm eligibility before the first contribution.",
|
|
160
|
+
},
|
|
161
|
+
};
|
|
162
|
+
// Generic fallback narrative for non-computed strategies.
|
|
163
|
+
// All 25 strategies have hand-written four-block narratives in STRATEGY_NARRATIVE.
|
|
164
|
+
// This fallback is defensive only and should not fire in normal operation.
|
|
165
|
+
exports.NARRATIVE_FALLBACK = {
|
|
166
|
+
whyMatters: (s) => `${s.abstract}`,
|
|
167
|
+
breakdown: (s, c) => { const lo = (c === null || c === void 0 ? void 0 : c.lo) || s.lo; const hi = (c === null || c === void 0 ? void 0 : c.hi) || s.hi; return `Based on your financial profile, this strategy could generate $${(lo / 1000).toFixed(1)}K\u2013$${(hi / 1000).toFixed(1)}K in estimated annual tax savings.`; },
|
|
168
|
+
whySpecialist: (s) => `This strategy requires more than software can provide. Your preparer confirms eligibility against your specific facts, documents the position under ${s.authority || "the relevant authority"} in case of IRS inquiry, and coordinates the implementation with the rest of your return so nothing conflicts \u2014 which is where most do-it-yourself attempts break down.`,
|
|
169
|
+
nextSteps: (s, ns) => ns || "Discuss implementation timing and requirements with your preparer.",
|
|
170
|
+
};
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ═══════════════════════════════════════════════════════════════════
|
|
3
|
+
// TaxAxis — Prospect report metadata (docs needed + typical ranges)
|
|
4
|
+
// Verbatim from the mock (App.jsx:516-573).
|
|
5
|
+
// ═══════════════════════════════════════════════════════════════════
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.STRATEGY_PROSPECT = void 0;
|
|
8
|
+
const strategies_1 = require("./strategies");
|
|
9
|
+
/* ═══ PROSPECT REPORT — docs needed per strategy + typical ranges ═══ */
|
|
10
|
+
exports.STRATEGY_PROSPECT = Object.fromEntries(strategies_1.STRATEGIES.map((s) => [s.rank, {
|
|
11
|
+
docsNeeded: ({
|
|
12
|
+
1: ["Form W-2/W-3", "Form 1120S", "BLS salary data"],
|
|
13
|
+
2: ["Fixed asset schedule"],
|
|
14
|
+
3: ["Fixed asset schedule"],
|
|
15
|
+
4: ["Form 1120S or Schedule C", "W-2 wages summary"],
|
|
16
|
+
5: ["R&D activity documentation", "Expense records for wages, supplies, contractors"],
|
|
17
|
+
6: ["Payroll records", "Form 8850 certifications"],
|
|
18
|
+
7: ["Current retirement plan statements", "W-2 Box 12"],
|
|
19
|
+
8: ["Property appraisal or purchase records", "Fixed asset schedule"],
|
|
20
|
+
9: ["W-2 Box 12 Code W", "HDHP enrollment confirmation"],
|
|
21
|
+
10: ["QBO/Xero meal expense report"],
|
|
22
|
+
11: ["QBO/Xero professional fees report"],
|
|
23
|
+
12: ["Home office measurements", "Mortgage + utility bills"],
|
|
24
|
+
13: ["Payroll records", "Health insurance premium invoices"],
|
|
25
|
+
14: ["Brokerage statements", "Donation records"],
|
|
26
|
+
15: ["State tax returns", "Property tax bills"],
|
|
27
|
+
16: ["QBO/Xero interest expense detail"],
|
|
28
|
+
17: ["QBO/Xero A/R aging report", "Revenue timing records"],
|
|
29
|
+
18: ["Brokerage statements showing capital gains"],
|
|
30
|
+
19: ["Commercial property square footage", "Energy certification"],
|
|
31
|
+
20: ["QBO/Xero chart of accounts", "Inventory records"],
|
|
32
|
+
21: ["POS system tip reports", "Payroll tip income records"],
|
|
33
|
+
22: ["Payroll overtime detail report"],
|
|
34
|
+
23: ["2022\u20132024 tax returns showing \u00A7174 amortization"],
|
|
35
|
+
24: ["Childcare facility costs", "Referral service invoices"],
|
|
36
|
+
25: ["Payroll records for eligible employees"],
|
|
37
|
+
})[s.rank] || ["Client financial documents"],
|
|
38
|
+
typicalRange: s.lo < 2000 ? "$500\u2013$3K" : s.lo < 8000 ? `$${Math.round(s.lo * .6 / 1000)}K\u2013$${Math.round(s.hi * .7 / 1000)}K` : `$${Math.round(s.lo * .7 / 1000)}K\u2013$${Math.round(s.hi * .8 / 1000)}K`,
|
|
39
|
+
prospectNote: ({
|
|
40
|
+
1: "Potentially significant if officer salary has not been benchmarked against industry data",
|
|
41
|
+
2: "Applies if qualifying equipment or software was purchased this tax year",
|
|
42
|
+
3: "Applies to all qualifying property placed in service \u2014 now permanent under OBBBA",
|
|
43
|
+
4: "Most pass-through entities qualify. Savings depend on income level and W-2 wages paid",
|
|
44
|
+
5: "Potentially applicable if your business develops new products, processes, or software",
|
|
45
|
+
6: "Applies if you hired from qualifying target groups and filed Form 8850",
|
|
46
|
+
7: "Worth investigating if current retirement contributions are below the Solo 401(k) limit",
|
|
47
|
+
8: "Potentially significant for commercial property valued above $500K",
|
|
48
|
+
9: "Quick win if enrolled in a High-Deductible Health Plan with room under the HSA limit",
|
|
49
|
+
10: "Low-effort documentation improvement that most businesses can implement immediately",
|
|
50
|
+
11: "Review existing professional fee categorization for missed deductions",
|
|
51
|
+
12: "Applies if you have a dedicated home workspace used regularly and exclusively for business",
|
|
52
|
+
13: "Applies to employers with fewer than 25 FTEs paying health insurance premiums",
|
|
53
|
+
14: "Most impactful if you have appreciated long-term holdings to donate",
|
|
54
|
+
15: "Potentially significant \u2014 OBBBA raised SALT cap and PTE elections bypass it entirely",
|
|
55
|
+
16: "Your business likely qualifies for full deduction under the small business exception",
|
|
56
|
+
17: "Strategic invoice timing can defer meaningful income to the following tax year",
|
|
57
|
+
18: "Applies if you have recognized capital gains that could be invested in a Qualified Opportunity Zone",
|
|
58
|
+
19: "Applies to commercial buildings with energy-efficient improvements \u2014 expires June 30, 2026 for new construction",
|
|
59
|
+
20: "Worth reviewing if accounting method hasn't been optimized for tax purposes",
|
|
60
|
+
21: "Applies to tipping occupations only \u2014 new OBBBA provision through 2028",
|
|
61
|
+
22: "New OBBBA provision \u2014 applies to employee overtime compensation",
|
|
62
|
+
23: "Recover R&E expenses forced into amortization from 2022\u20132024 via amended returns",
|
|
63
|
+
24: "Applies if your business provides employer-funded childcare \u2014 enhanced under OBBBA",
|
|
64
|
+
25: "New provision for employer contributions to child savings accounts \u2014 IRS guidance pending",
|
|
65
|
+
})[s.rank] || s.clientBrief,
|
|
66
|
+
}]));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const WORKPAPER_INTERACTION_PAIRS: [number, number, string][];
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ═══════════════════════════════════════════════════════════════════
|
|
3
|
+
// TaxAxis — Workpaper-specific interaction pairs (5 tuples)
|
|
4
|
+
// Verbatim from the mock (App.jsx:2314). Richer than the client
|
|
5
|
+
// report INTERACTION_PAIRS which is a subset of 3 pairs.
|
|
6
|
+
// ═══════════════════════════════════════════════════════════════════
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.WORKPAPER_INTERACTION_PAIRS = void 0;
|
|
9
|
+
exports.WORKPAPER_INTERACTION_PAIRS = [
|
|
10
|
+
[1, 4, "Increasing salary reduces QBI. Net effect: combined savings may be less than sum of individual estimates."],
|
|
11
|
+
[1, 7, "Salary level determines employer contribution ceiling for retirement plans."],
|
|
12
|
+
[2, 3, "Same asset cannot use both §179 and bonus depreciation. §179 takes priority up to limit."],
|
|
13
|
+
[4, 7, "Retirement contributions reduce QBI but generate separate deduction."],
|
|
14
|
+
[1, 15, "PTE election interacts with entity-level salary optimization."],
|
|
15
|
+
];
|