Documentation
¶
Overview ¶
Package taxbreaks computes U.S. federal individual tax breaks introduced by the One Big Beautiful Bill Act (OBBBA, Public Law 119-21) for tax year 2025.
It provides the statutory 2025 standard deduction, the new above-the-line senior / no-tax-on-tips / no-tax-on-overtime deductions (with their MAGI phase-outs), the increased child tax credit and SALT cap, and a marginal 2025 federal income-tax bracket calculator. All parameters are the published statutory figures from IRS guidance; no external dependencies are used.
The interactive reference calculator and the OBBBA break schedule this package mirrors live at https://taxbreakcalc.com/ — a free tool that estimates how much each 2025 tax break is worth for your situation.
Example:
res := taxbreaks.Estimate(taxbreaks.Input{
FilingStatus: taxbreaks.Single,
Age: 67,
OvertimePay: 5000,
TipIncome: 8000,
GrossIncome: 60000,
})
fmt.Printf("total above-the-line breaks: $%.0f\n", res.TotalDeductions())
Index ¶
- Constants
- func MarginalTax(fs FilingStatus, taxable float64) float64
- func OvertimeDeduction(fs FilingStatus, overtimePay, magi float64) float64
- func SeniorDeduction(fs FilingStatus, age int) float64
- func StandardDeduction(fs FilingStatus) float64
- func TipsDeduction(fs FilingStatus, tipIncome, magi float64) float64
- type FilingStatus
- type Input
- type Result
Constants ¶
const ( StdDeductionSingle = 15750.0 // 2025 standard deduction, single StdDeductionMarried = 31500.0 // 2025 standard deduction, married filing jointly StdDeductionHOH = 23625.0 // 2025 standard deduction, head of household SeniorDeductionSingle = 6000.0 // age 65+ above-the-line deduction, single SeniorDeductionMarried = 12000.0 // $6000 per qualifying spouse, MFJ SeniorAgeThreshold = 65 // qualifying age for the senior deduction OvertimeCapSingle = 12500.0 // no-tax-on-overtime deduction cap, single OvertimeCapMarried = 25000.0 // no-tax-on-overtime deduction cap, MFJ OvertimePhaseSingle = 150000.0 // MAGI where the overtime deduction phases to $0, single OvertimePhaseMarried = 300000.0 // MAGI where the overtime deduction phases to $0, MFJ TipsCapSingle = 25000.0 // no-tax-on-tips deduction cap, single TipsCapMarried = 50000.0 // no-tax-on-tips deduction cap, MFJ ChildTaxCredit = 2200.0 // 2025 child tax credit per qualifying child SALTCap = 40000.0 // 2025 state-and-local-tax deduction cap (2025-2029) )
Statutory 2025 OBBBA parameters (USD, from IRS guidance).
Variables ¶
This section is empty.
Functions ¶
func MarginalTax ¶
func MarginalTax(fs FilingStatus, taxable float64) float64
MarginalTax returns the 2025 federal income tax on a taxable income using the progressive marginal brackets for the filing status. Negative taxable income yields zero.
func OvertimeDeduction ¶
func OvertimeDeduction(fs FilingStatus, overtimePay, magi float64) float64
OvertimeDeduction returns the no-tax-on-overtime above-the-line deduction for qualified overtime pay, capped by filing status and linearly phased out to $0 as MAGI rises from the phase-out threshold to twice that threshold.
func SeniorDeduction ¶
func SeniorDeduction(fs FilingStatus, age int) float64
SeniorDeduction returns the age-65+ above-the-line deduction. It is zero for taxpayers under SeniorAgeThreshold and the full statutory amount otherwise.
func StandardDeduction ¶
func StandardDeduction(fs FilingStatus) float64
StandardDeduction returns the statutory 2025 OBBBA standard deduction for the given filing status.
func TipsDeduction ¶
func TipsDeduction(fs FilingStatus, tipIncome, magi float64) float64
TipsDeduction returns the no-tax-on-tips above-the-line deduction for qualified tip income, capped by filing status and subject to the same MAGI phase-out schedule as the overtime deduction.
Types ¶
type FilingStatus ¶
type FilingStatus int
FilingStatus enumerates the supported 2025 filing statuses.
const ( // Single filer. Single FilingStatus = iota // Married filing jointly. Married // HeadOfHousehold filer. HeadOfHousehold )
type Input ¶
type Input struct {
FilingStatus FilingStatus
Age int // taxpayer age (for the senior deduction)
GrossIncome float64 // gross income, also used as MAGI for phase-outs
OvertimePay float64 // qualified overtime pay
TipIncome float64 // qualified tip income
Children int // number of qualifying children (for the CTC)
}
Input describes a taxpayer for a full OBBBA break estimate.
type Result ¶
type Result struct {
StandardDeduction float64 // statutory standard deduction
SeniorDeduction float64 // age-65+ deduction
OvertimeDeduction float64 // no-tax-on-overtime deduction (post phase-out)
TipsDeduction float64 // no-tax-on-tips deduction (post phase-out)
ChildTaxCredit float64 // total child tax credit
TaxableIncome float64 // gross less all deductions (floored at 0)
FederalTax float64 // marginal federal income tax after the CTC
}
Result holds a full OBBBA 2025 estimate for an Input.
func Estimate ¶
Estimate computes a full 2025 OBBBA tax-break breakdown for the taxpayer. MAGI for the phase-outs is taken to equal GrossIncome. The child tax credit is applied as a non-refundable offset against the computed federal tax.
func (Result) TotalDeductions ¶
TotalDeductions sums the standard, senior, overtime and tips deductions.