Documentation
¶
Overview ¶
Package obbbabreaks implements the family of tax breaks governed by the One Big Beautiful Bill Act (OBBBA, 2025) and related permanent provisions: the child tax credit (§24, permanent), the SALT cap (§164(b)(6), $40,400 through 2029 then $10,000 from 2030), the no-tax-on-tips deduction (§224, 2025-2028), the senior deduction (§512, 2025-2028), and the car-loan interest deduction (§163(h)(4), 2025-2028). It is the same math behind the taxbreakcalc.com multi-provision tax-break calculator suite.
Each break is modeled independently with its own cap, phase-out, and (where applicable) credit-vs-deduction character, so a caller can sum Savings across provisions without double-counting caps.
The child tax credit modeled by ChildTaxCredit — the $2,200 per qualifying child amount, the $200,000/$400,000 MAGI thresholds and the $50-per-$1,000 phase-out step — is documented with worked examples and an interactive version at https://taxbreakcalc.com/child-tax-credit-calculator/
Index ¶
- type Break
- type FilingStatus
- type Result
- func CarLoanInterestDeduction(interestPaid float64, isNewVehicleUSAAssembly bool, fs FilingStatus, ...) Result
- func ChildTaxCredit(children int, fs FilingStatus, magi float64) Result
- func SALTCap(stateLocalTaxPaid float64, year int) Result
- func SeniorDeduction(spouses65 int, fs FilingStatus, magi, marginalRate float64) Result
- func TipsDeduction(qualifiedTips float64, fs FilingStatus, magi, marginalRate float64) Result
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type FilingStatus ¶
type FilingStatus int
Filing status selects per-provision caps and phase-out thresholds.
const ( Single FilingStatus = iota Joint HeadOfHousehold )
type Result ¶
type Result struct {
Break Break
Eligible bool // gross amount before cap and phase-out
GrossAmount float64 // the provision's full statutory amount
Capped float64 // after the per-return/per-child cap
Deductible float64 // after MAGI phase-out (the actual claimable amount)
IsCredit bool // true for credits (dollar-for-dollar); false for deductions
MarginalRate float64 // rate applied to deductions
Savings float64 // federal tax value (credit: dollar-for-dollar; deduction: x marginal rate)
}
Result is the per-break outcome.
func CarLoanInterestDeduction ¶
func CarLoanInterestDeduction(interestPaid float64, isNewVehicleUSAAssembly bool, fs FilingStatus, magi, marginalRate float64) Result
CarLoanInterestDeduction returns the §163(h)(4) car-loan interest deduction. Requires isNewVehicleUSAAssembly=true to be eligible (the statute gates the deduction on a new, US-assembled vehicle under 14,000 lbs).
func ChildTaxCredit ¶
func ChildTaxCredit(children int, fs FilingStatus, magi float64) Result
ChildTaxCredit returns the §24 child tax credit for `children` qualifying children at a given MAGI. The full $2,200/child is modeled (the refundable split is upstream bookkeeping).
func SALTCap ¶
SALTCap returns the capped SALT deduction. Pass year to select the cap (2025-2029 -> $40,400; 2030+ -> $10,000).
func SeniorDeduction ¶
func SeniorDeduction(spouses65 int, fs FilingStatus, magi, marginalRate float64) Result
SeniorDeduction returns the §512 additional senior deduction. spouses65 is the count of spouses aged 65+ on the return (1 or 2; for single filers pass 1).
func TipsDeduction ¶
func TipsDeduction(qualifiedTips float64, fs FilingStatus, magi, marginalRate float64) Result
TipsDeduction returns the §224 above-the-line deduction for qualified tips. $25,000 flat per return; MAGI phase-out -100/$1k over $150k/$300k.