State tax docs / States / Pennsylvania
Pennsylvania state income tax: engine rules, 2026
Does Pennsylvania tax Roth conversions? A traditional-to-Roth conversion is not taxed at any age (2025 Pennsylvania Personal Income Tax Return Instructions (PA-40 IN)). Pennsylvania does not tax Social Security benefits (2025 Pennsylvania Personal Income Tax Return Instructions (PA-40 IN)). Other taxable income is taxed at a flat 3.07% (Personal Income Tax).
How the QuantCalc engine computes Pennsylvania tax for tax year 2026, rule by rule, with the official source for each rule. Verification status: Worksheet-tested (what this means).
On this page: How the tax is computed · Rate schedule · Deductions, exemptions and credits · Social Security · IRA, 401(k) and private pensions · Public pensions · Military retirement pay · Roth conversions · Capital gains · Interest on state, local and U.S. obligations · Part-year and nonresident returns · Worked examples · After 2026 · Not calculated ·
Verification. Machine-readable: this state's entry in the
engine config and the provenance file
(key PA).
How the tax is computed
Every step the engine takes for Pennsylvania, in the order it takes them. Steps marked with a filing status or household type apply only there. Each step links the section below that carries Pennsylvania's figures and the official sources for it; the calculation order page describes every step for all jurisdictions.
What each filing status gets, read back from the engine for a household with $1 of income (so below every phase-out and income test):
| Single | Married filing jointly | Married filing separately | Head of household | |
|---|---|---|---|---|
| Rate schedule used | single schedule | joint schedule | joint schedule, thresholds halved | single schedule |
| Top rate | 3.07% flat | 3.07% flat | 3.07% flat | 3.07% flat |
| Standard deduction, under 65 | none | none | none | none |
| Standard deduction at 70 (joint: both 70) | none | none | none | none |
| Personal exemption | none | none | none | none |
| Age subtractions at 70 (joint: both 70) | none | none | none | none |
- Net profits without the half self-employment tax Where the state's net profits allow no deduction for half the self-employment tax (PA Schedule C: "You may not deduct ... the one-half of self-employment taxes the IRS allows"), that half, which federal AGI and so the earned income in the request took from the profit, goes back into the base. Each spouse's profit is the caller's own and never below zero, so no loss crosses a class or a spouse.
engine step (st_compute). Sources (Deductions, exemptions and credits): Personal Income Tax (checked 2026-11-02); 2025 Pennsylvania Personal Income Tax Return Instructions (PA-40 IN) (checked 2026-11-02); 2025 PA-40 Instructions (checked 2026-11-02); Working Pennsylvanians Tax Credit (checked 2026-11-02); PA-40 Schedule C, Profit or Loss From Business or Profession (2025) and instructions (checked 2026-11-02); 2025 PA-40 instructions (checked 2026-11-02) - Per-person mode joint returns with the spouse's age given On a joint return with the spouse's age given, every age test the state applies per taxpayer is evaluated for each spouse at their own age. Without it one household age applies to both.
engine step (compute_state_tax_detail). Engine convention, no external source: The engine cannot know the second spouse's age unless told. - Blindness and disability, per person only when the caller says a person is blind or disabled The filer is person one; the spouse counts only on a joint return and only when the caller says so (there is no household convention as for age). Where a state lets a disabled person (and, where it says so, a blind one, or one whose spouse is disabled) qualify for its general retirement exclusion before the age, that person is treated as having reached the age for that exclusion only. Of the 42 taxing jurisdictions, these have a blind amount: Arizona, Arkansas, California, Colorado, Delaware, the District of Columbia, Hawaii, Idaho, Illinois, Indiana, Iowa, Kansas, Kentucky, Maine, Maryland, Massachusetts, Michigan, Minnesota, Mississippi, Missouri, Montana, Nebraska, New Jersey, New Mexico, North Dakota, Oklahoma, Oregon, Utah, Vermont and Virginia; these have none: Alabama, Connecticut, Georgia, Louisiana, New York, North Carolina, Ohio, Pennsylvania, Rhode Island, South Carolina, West Virginia and Wisconsin. A disability route is calculated in Arkansas, the District of Columbia, Georgia, Hawaii, Idaho, Iowa, Maryland, Michigan, New Jersey, Oregon and West Virginia.
engine step (compute_state_tax_detail). Engine convention, no external source: Who is blind or disabled is the caller's statement; the engine has no household convention for it. - Rate schedule and standard deduction by filing status Single uses the single schedule and deduction; married filing jointly the joint ones. Head of household and married filing separately follow the two steps below.
Pennsylvania's values · engine step (select_brackets). Sources (Rate schedule): Personal Income Tax (checked 2026-11-02); 2025 Pennsylvania Personal Income Tax Return Instructions (PA-40 IN) (checked 2026-11-02) - Married filing separately Where the state publishes its own separate schedule, that one (with half the joint deduction unless a separate deduction is set). Where one schedule applies to every status, that schedule unscaled with the single deduction. Otherwise the joint schedule with every threshold and the deduction halved (computed as the joint tax on twice the income, halved).
Pennsylvania's values · engine step (select_brackets). Sources (Rate schedule): Personal Income Tax (checked 2026-11-02); 2025 Pennsylvania Personal Income Tax Return Instructions (PA-40 IN) (checked 2026-11-02) - Head of household The state's head-of-household schedule where it has one, else the single schedule; the head-of-household deduction where set, else the single deduction.
Pennsylvania's values · engine step (select_brackets). Sources (Rate schedule): Personal Income Tax (checked 2026-11-02); 2025 Pennsylvania Personal Income Tax Return Instructions (PA-40 IN) (checked 2026-11-02) - The income total every income test uses Other ordinary income + retirement distributions (before any exclusion) + conversion + federally taxable Social Security + long-term gains + Railroad Retirement Tier 2. It stands in for federal adjusted gross income in every threshold, cliff and phase-out below; state subtractions do not reduce it. Each income line a threshold reads (this total and the states' own AGI lines) is rounded to cents first, as the form's line is, so a sum of cent amounts that a binary double holds a hair under a threshold tests as the amount it is.
engine step (compute_state_tax_detail). Engine convention, no external source: The inputs are the federal AGI components, so their sum is federal AGI for these income types. - Interest on state, local and U.S. obligations The state's own treatment of interest: the federally tax-exempt interest on other states' obligations (outOfStateMunicipalInterest) is added where the state taxes it, and its own (inStateMunicipalInterest) where it taxes that too; the interest on U.S. obligations (usObligationInterest, a part of ordinaryIncome) is taken out (31 U.S.C. 3124). Both change the state's income, its own income tests and its base, never the federal income total above. Each state's rule is on its page (interest). Illinois adds all of the federal 2a interest (IL-1040 line 2), so the part of taxExemptInterest not split into the two municipal parts is added too.
Pennsylvania's values · engine step (compute_state_tax_detail). Sources (Interest on state, local and U.S. obligations): 2025 Pennsylvania Personal Income Tax Return Instructions (PA-40 IN) (checked 2026-11-02) - Attributing income to each spouse joint returns with each spouse's own amounts given With a caller's split (the API's
spouseobject), each spouse's own distributions (employer-plan money included), pension, public pension, conversion, wages and military pay; spouse 2's shares are clamped into the household totals and spouse 1 gets the rest. Without a split, in per-person mode, every item is divided 50/50. Social Security is divided by each spouse's own gross benefits where the caller givesspouse.socialSecurityGross, else 50/50; other ordinary income and gains are always divided 50/50 where a rule needs a per-person amount. The split is used only where a state's rule is per taxpayer; household totals stay authoritative for the base and the income tests.
engine step (compute_state_tax_detail). Engine convention, no external source: Equal attribution is the neutral split when the owner of a dollar is not known. - Early IRA distributions The IRA and employer-plan dollars each person took before 59½: the amount the caller gave, else every such dollar of a person under 59 at the end of the year (none of an older person, or when the age is not given). Where the state keeps its retirement break only for some federal early-withdrawal exceptions, the other early dollars leave the retirement pool and are taxed as ordinary income; the exception is the caller's, else death for a survivor's benefits, disability for a disabled person, else none. Where the state taxes only the part over the IRA basis, the part within it is left out altogether. A kept exception passes the state's IRA age gate. The additional state tax on the early dollars with no exception is added before the credits, or after them where the state says so (next steps). Where the caller's early dollars decide (MS), only they are taxed and the rest of that person's distributions pass the exclusion's age gate (not said: the age gate alone). The early dollars with no exception are also counted for the federal §72(t) additional tax that MO adds to the federal tax it deducts and that OK takes back out of federalTaxBeforeCredits for the federal child credit limit.
Pennsylvania's values · engine step (compute_state_tax_detail). Sources (IRA, 401(k) and private pensions): 2025 Pennsylvania Personal Income Tax Return Instructions (PA-40 IN) (checked 2026-11-02); Pennsylvania Department of Revenue: 2025_pa-40sp.pdf (checked 2026-11-02) - Keeping the per-spouse shares inside the household joint returns with each spouse's own amounts given After the public-pension and employer-pension carve-outs, if the two spouses' remaining shares add up to more than the household's exclusion-eligible distributions (an inconsistent split), spouse 1's share is reduced so they do not.
engine step (compute_state_tax_detail). Engine convention, no external source: Input normalisation. - Military retirement pay The state's military rule runs first, on military pay alone, per taxpayer: each spouse's own pay at their own age when attributed, otherwise half each at the household age on a joint return. Exempt dollars leave the base; the rest become pension dollars for the general retirement rules. Where the state lets a disabled retiree qualify at any age, a disabled person is treated as having reached the rule's age.
Pennsylvania's values · engine step (compute_state_tax_detail). Sources (Military retirement pay): Gross compensation (checked 2026-11-02) - One taxpayer's military exemption Exempt: all of it (below the age split, up to the younger cap). Capped: up to the cap for the age tier, plus the earned-income bonus below the age split when the taxpayer's own wages exceed the threshold, less the taxpayer's own Social Security where the rule says so. Percentage: the percentage (below the age split, up to the younger cap). Then the income limit: above it the exemption is lost, or phased out over the range where one is set.
Pennsylvania's values · engine step (military_exempt_one). Sources (Military retirement pay): Gross compensation (checked 2026-11-02) - Social Security exempt None of the federally taxable benefit enters the base.
Pennsylvania's values · engine step (ss_amount_in_state_base). Sources (Social Security): 2025 Pennsylvania Personal Income Tax Return Instructions (PA-40 IN) (checked 2026-11-02) - Retirement exclusion per spouse (both ages known) joint returns with the spouse's age given Full-exclusion states exclude each qualifying spouse's own dollars. Capped states give each spouse the single cap for their own age against their own eligible dollars (pension dollars only where the exclusion is pension-only; employer dollars only below the IRA age), less their military exclusion and their own Social Security offset (by the spouse's stated gross benefits, else half). Per-return states (and the pooled-if-both-qualify rule when both qualify) apply the joint cap to the couple's pooled eligible dollars when either spouse qualifies. The income tests then apply once to the summed deduction.
Pennsylvania's values · engine step (compute_state_tax_detail). Sources (IRA, 401(k) and private pensions): 2025 Pennsylvania Personal Income Tax Return Instructions (PA-40 IN) (checked 2026-11-02); Pennsylvania Department of Revenue: 2025_pa-40sp.pdf (checked 2026-11-02) - Retirement exclusion (household) The distributions eligible for the exclusion go through the exclusion below. Taxable public-pension dollars left by a cap are not eligible; below the IRA age only employer-plan dollars are.
Pennsylvania's values · engine step (compute_state_tax_detail). Sources (IRA, 401(k) and private pensions): 2025 Pennsylvania Personal Income Tax Return Instructions (PA-40 IN) (checked 2026-11-02); Pennsylvania Department of Revenue: 2025_pa-40sp.pdf (checked 2026-11-02) - Conversion taxed or exempt In full-exclusion states a conversion is exempt at the qualifying age (at any age where the state says so). Elsewhere, unless pooled above, it is ordinary income taxed in full.
Pennsylvania's values · engine step (compute_state_tax_detail). Sources (Roth conversions): 2025 Pennsylvania Personal Income Tax Return Instructions (PA-40 IN) (checked 2026-11-02) - Full exclusion All distributions are excluded at or above the exclusion age; below it they are taxed.
Pennsylvania's values · engine step (retirement_distributions_in_state_base). Sources (IRA, 401(k) and private pensions): 2025 Pennsylvania Personal Income Tax Return Instructions (PA-40 IN) (checked 2026-11-02); Pennsylvania Department of Revenue: 2025_pa-40sp.pdf (checked 2026-11-02) - Long-term gains in the base Where gains are taxed as ordinary income: net long-term gain less the flat exclusion (never below zero), times the inclusion share. Elsewhere none enters.
Pennsylvania's values · engine step (compute_state_tax_detail). Sources (Capital gains): Personal Income Tax (checked 2026-11-02); 2025 Pennsylvania Personal Income Tax Return Instructions (PA-40 IN) (checked 2026-11-02); 2025 PA-40 Instructions (checked 2026-11-02) - The federal below-the-line deductions The amounts the federal return deducts below AGI, which a state that allows them takes as they are (26 U.S.C. 224, 225, 163(h)(4) and 170(p), the federal caps and phase-outs as the statutes print them): the Schedule 1-A qualified tips deduction (the employee tips up to the per-return cap, less the statute's step for each whole thousand dollars of modified AGI over its single or joint start; none on a separate return), the qualified overtime deduction (its cap, doubled on a joint return, the same reduction; none on a separate return), the qualified passenger vehicle loan interest deduction (its cap, less the statute's step for each thousand dollars, or part, over its start) and the non-itemizer charitable deduction (cash gifts to public charities other than donor-advised funds, up to its cap, doubled on a joint return, and the 60 percent of AGI limit). Modified AGI is the engine's federal AGI. With computeFederal the federal return's own tips, overtime and 170(p) amounts are used.
Pennsylvania's values · engine step (state_tax_federal_bl_deductions). Sources (Deductions, exemptions and credits): Personal Income Tax (checked 2026-11-02); 2025 Pennsylvania Personal Income Tax Return Instructions (PA-40 IN) (checked 2026-11-02); 2025 PA-40 Instructions (checked 2026-11-02); Working Pennsylvanians Tax Credit (checked 2026-11-02); PA-40 Schedule C, Profit or Loss From Business or Profession (2025) and instructions (checked 2026-11-02); 2025 PA-40 instructions (checked 2026-11-02) - State taxable income Other ordinary income + Social Security, retirement income, conversion and gains left in the base − standard deduction − personal exemption − age subtractions.
engine step (compute_state_tax_detail). Engine convention, no external source: The order of subtraction follows the state forms; each amount is sourced at its own step. - 2025 tax line rounded to the whole dollar (VA, MO, WV, DE, CA, OR, GA, ME, VT, MT, PA, MI, IL, OH, AZ, ID, UT, LA, NE, IN, MS, NC, CT, AR, MN, CO, KS, NY, NM, WI, HI, MA, AL, OK, SC, KY, DC) Engine 1.20.0, a 2025 return in a state whose 2025 instructions say the tax line is a whole-dollar line (VA Form 760 line 16, MO-1040 lines 30Y/30S for each spouse, WV IT-140 line 8, DE PIT-RES line 24, CA Form 540 line 31, OR-40 line 20, GA Form 500 line 16; engine 1.21.0 adds ME Form 1040ME line 20 and VT IN-111 line 8 where the rate schedule gives them, MT Form 2 page 2 lines 8, 10 and 12, PA-40 line 12, MI-1040 line 17 and IL-1040 line 12, each rounded; engine 1.24.0 adds AZ Form 140 line 46, ID Form 40 line 20, UT TC-40 line 10, LA IT-540 line 11, NE Form 1040N line 15, IN IT-40 line 8 and MS Form 80-105 line 15, and OH IT 1040 line 8a with its schedule base amounts, ty25-oh-whole-dollar-tax): the rate-schedule tax is rounded to the nearest dollar, half a dollar up: since engine 1.24.0 from the exact amount (ty25-round-exact), except California and West Virginia, whose rate-schedule worksheets write the product to the cent first. Table rows are whole dollars already. The instructions' own worked examples are quoted at the marker and pinned in the printed-answer fixtures. Golden round 10 adds NC (D-400 line 15), CT (Tax Calculation Schedule line 4), AR (AR1000F line 29, and each column of filing status 4), MN (M1 line 10), CO (DR 0104 line 13 and its worksheet above the table), KS (K-40 line 8; above the table the Tax Computation Worksheet with its printed whole-dollar subtraction amounts, not the exact bracket sums), NY (IT-201 line 39 and each line of the tax computation worksheets), NM (PIT-1 line 18 and its schedule above the table) and WI (Form 1 line 12): these nine round half a dollar up from the exact amount, with no cents step (st25_dollar6), so a product whose cents are 49.73 is rounded down (CT Table B, golden round 10 CT-09). Golden round 10, group C adds HI (N-11), MA (Form 1 line 22, line 24 apart), AL (Form 40 line 17), OK (Form 511 / 511-NR), SC (SC1040 line 6, the printed schedule above the table), KY (Form 740 line 12, each status-2 column) and DC (D-40 line 20), in both the tax-table and the rate-schedule mode (ty25-whole-dollar-c).
engine step (st25_whole_dollar_tax). Engine convention, no external source: The 2025 instructions' whole-dollar rule and worked examples, quoted at CALC-STEP ty25-whole-dollar-tax (ME, VT and MT at st25_whole_lines: ME 'Use whole dollar amounts.' (https://www.maine.gov/revenue/sites/maine.gov.revenue/files/inline-files/25_1040me_gen_instr_w_cover_pg.pdf); VT 'Use Whole Dollars. Round entries to the nearest whole dollar.' (https://tax.vermont.gov/sites/tax/files/documents/IN-111-Instr-2025.pdf); MT: every money line of the 2025 Form 2 prints the cents as '00'). PA: 'On the PA-40 form and schedules, show money amounts in whole-dollars.' (https://www.pa.gov/content/dam/copapwp-pagov/en/revenue/documents/formsandpublications/formsforindividuals/pit/documents/2025/2025_pa-40in.pdf); MI: 'Report all amounts in whole dollars.' (https://www.michigan.gov/taxes/-/media/Project/Websites/taxes/Forms/IIT/TY2025/MI-1040-Book.pdf); IL: 'You must round cents to whole dollars on Form IL-1040 and most schedules, as directed.' (https://tax.illinois.gov/content/dam/soi/en/web/tax/forms/incometax/documents/currentyear/individual/il-1040-instr.pdf). NJ's rounding is optional and stays in cents. Engine 1.24.0 (golden round 10): AZ 'You must round dollar amounts to the nearest whole dollar. If 50 cents or more, round up to the next dollar. If less than 50 cents, round down. Do not enter cents.' (https://azdor.gov/sites/default/files/document/FORMS_INDIVIDUAL_2025_140i.pdf); ID 'Round the amounts on your return to the nearest whole dollar. Round down if under 50 cents, round up if 50 cents or more.' (2025 Idaho individual income tax instructions); UT 'Round off cents to the nearest whole dollar. Round down if under 50 cents; round up if 50 cents and above. Do not enter cents on the return.' (https://files.tax.utah.gov/tax/forms/current/tc-40inst.pdf); LA 'All numbers should be rounded to the nearest dollar.' and 'Line 11 - Multiply Line 10 by .03. Round to the nearest dollar.' (2025 IT-540 instructions); NE 'Enter All Amounts as Whole Dollars. Do not include cents on the return or schedules.' (2025 Form 1040N booklet); IN 'You must round your amounts to the nearest whole dollar.' (2025 IT-40 booklet p.5); MS 'All dollar amounts should be rounded to the nearest whole dollar (no pennies).' (2025 Form 80-100 instructions); OH 'Round all figures to the nearest dollar.' (https://dam.assets.ohio.gov/image/upload/tax.ohio.gov/forms/ohio_individual/individual/2025/it1040-booklet.pdf). Golden round 10: NC 'Round off to the nearest whole dollar. Drop amounts under 50 cents and increase amounts from 50 cents to 99 cents to the next whole dollar.' (2025 D-401 instructions); CT-1040 'Whole Dollars Only'; AR 'ROUND ALL AMOUNTS TO WHOLE DOLLARS' (2025 AR1000F); MN 'Round the dollar amounts to the nearest dollar. For example: 129.49 becomes 129, and 129.50 becomes 130.' (2025 M1 instructions); CO 'Round all dollar amounts to the nearest whole dollar.' (2025 DR 0104 booklet); KS 'ENTER AMOUNTS IN WHOLE DOLLARS ONLY' (2025 K-40) and the 2025 Tax Computation Worksheet (IP25 p.34); NY 'enter whole dollar amounts only. This includes amounts on any credit forms, schedules, or other forms you submit with your New York State return.' (2025 IT-201-I); NM 'Round all numbers and enter only whole dollar amounts.' (2025 PIT-1 instructions); WI 'All amounts filled in on the form should be rounded to the nearest dollar.' (2025 Form 1 and Form 1NPR instructions). - 2025 whole-dollar returns, line by line (ME, VT, MT, VA, OR, MO, DE, GA, WV, CA, PA, MI, IL, OH, AZ, ID, UT, LA, NE, IN, MS, NC, CT, AR, MN, CO, KS, NY, NM, WI, HI, MA, AL, OK, SC, KY, DC); RI, MD, ND and IA lines to the cent Engine 1.21.0, a 2025 return in a state whose 2025 instructions say every amount on the return is a whole-dollar amount (ME "Use whole dollar amounts", VT "Round entries to the nearest whole dollar", MT Form 2 "00" cents, VA, OR, MO, DE, GA, WV, CA, PA, MI, IL): a worksheet's or a credit's product is rounded where the form writes it (half a dollar up from the exact amount since engine 1.24.0, ty25-round-exact; California and West Virginia to the cent first): ME standard/itemized deduction and exemption phase-out line 7, pension deduction, property tax fairness credit lines; VT Social Security / military / non-covered pension partial exemptions, the IN-153 cap on federal taxable income, the minimum tax, the IN-119 early-distribution tax, the charitable credit; MT Schedule II, 2EC and the itemized add-back; VA Form 763 lines 17-18 and the itemized total; OR-40-N line 42 (the deduction plus the federal tax subtraction prorated as one product); MO-1040 line 33 per spouse and the federal tax deduction; GA's part-year retirement exclusion and Schedule 3 line 13 of a separate return; WV Schedule M line 34; CA FTB 3805P line 4 and Form 540NR lines 35/37/39; PA Schedule SP line 16; MI-1040CR lines 12, 34 and 38/41, Worksheet 5 and Form 4884 Worksheet 3.3 line 4; IL Schedule ICR line 4g and the child tax credit on the rounded IL EITC. Engine 1.24.0 adds OH (Schedule of Credits line 12, the joint filing credit; IT NRC line 20; line 13, the share of the federal EIC), UT (TC-40 lines 16 and 19, the AH, AJ, code 18 and AT credit worksheets: ty25-ut-whole-dollar-credits), AZ (the reduced dependent tax credit), ID (Form 43 line 63, the part-year food tax credit), IN (CT-40 line 3, the county tax: ty25-whole-dollar-local) and the prorated deduction and exemption lines of AZ, ID, MS and IN part-year and nonresident returns (ty25-py-whole-lines); LA, NE and MS lines the engine computes are the tax line and the ratio products. The eight states of engine 1.24.0 round from the exact amount, with no cent step (st25_dollar6). Golden round 10 adds NC, CT, AR, MN, CO, KS, NY, NM and WI, rounded half a dollar up from the exact amount (st25_dollar6): NC D-400 line 14 (Schedule PN: line 12b x the line 24 decimal) and line 15; CT Tax Calculation Schedule line 9 (line 7 x the Table E decimal) and CT-1040NR/PY line 10; AR1000NR line 38D and AR line 32 (the early-distribution tax); MN M1NR line 32 and Worksheet A for line 4 steps 3, 5 and 8; CO DR 0104PN line 36; KS K-40 line 10; NY IT-203 line 46, the NYC and Yonkers lines and the household and school credits; NM PIT-B line 14 and the low- and middle-income exemption worksheet line 5; WI Form 1NPR line 39, the married couple credit and the line 25 early-distribution tax. RI-1040 lines keep the cents ("must include cents"). The sources are quoted at st25_whole_lines and st25_cents_lines; the printed-answer fixtures pin the forms' examples. Golden round 10, group C adds HI, MA, AL, OK, SC, KY and DC to the whole-dollar returns and MD to the cents returns ("State calculations are rounded to the nearest cent"); their own lines are at ty25-whole-dollar-c.
engine step (st25_in). Engine convention, no external source: The 2025 instructions' whole-dollar (and RI cents) rules, quoted at st25_whole_lines / st25_cents_lines and CALC-STEP ty25-whole-dollar-lines. - 2025 whole-dollar lines: one rounding, from the exact amount (CA and WV to the cent first) Engine 1.24.0 (golden round 10): every whole-dollar line of a 2025 return (ty25-whole-dollar-tax, ty25-whole-dollar-lines, ty25-whole-dollar-c and the state lines that cite them) is rounded by one function (st25_dollar6) on the one list of 2025 whole-dollar returns: half a dollar up from the exact amount, with no step to the cent first, as each state's form says (Virginia: "Amounts less than 50 cents should be rounded down while all amounts of 50 cents - 99 cents should be rounded up"). An amount whose cents are at least 49.5 but under 50 is rounded down: a Connecticut Table B product with 49.73 cents is entered a dollar lower than engines 1.20.0-1.23.0 entered it (they rounded it to the cent first, golden round 10 CT-09). California and West Virginia keep the step to the cent: their rate-schedule worksheets write the product to the cent before the total is rounded (California's Step 4, "round the amount from Step 3 to two decimals"; West Virginia's Rate Schedule example). 2026 answers are unchanged.
engine step (st25_dollar6). Engine convention, no external source: VA: 'All amounts entered on your return must be rounded to the nearest dollar. Amounts less than 50 cents should be rounded down while all amounts of 50 cents - 99 cents should be rounded up.' (2025 Form 760 instructions, https://www.tax.virginia.gov/sites/default/files/vatax-pdf/2025-760-instructions.pdf); MO: 'For 1 cent through 49 cents, round down to the previous whole dollar amount. For 50 cents through 99 cents, round up to the next whole dollar amount.' (2025 MO-1040 instructions); DE: 'amounts from 50 to 99 cents are increased to the next dollar' (2025 PIT-RES instructions); OR: '$99.49 becomes $99, and $99.50 becomes $100' (2025 OR-40 instructions); MI: 'Round down amounts of 49 cents or less. Round up amounts of 50 cents or more.' (2025 MI-1040 book); ME: 'Round down to the next lower dollar any amount less than 50 cents.' (2025 Form 1040ME instructions); IL: 'drop amounts under 50 cents and increase amounts of 50 to 99 cents to the next dollar' (2025 IL-1040 instructions). CA: 'They round the amount from Step 3 to two decimals (if necessary) and add it to the tax amount for their income range. After rounding the result, they will enter $4,768' (2025 Form 540 booklet, How to Figure Tax Using the 2025 California Tax Rate Schedules); WV: '$ 2,778.01 Tax on excess of $57,635 ... $ 4,831.51 Total Tax on $117,635 (Round to nearest whole dollar)' (2025 IT-140 booklet, Rate Schedule I). - 2025 whole-dollar returns: the amounts you enter are whole dollars too (37 jurisdictions); ND and IA lines to the cent Golden round 11: on a 2025 return in one of the 37 whole-dollar jurisdictions every amount the form makes you enter is a whole dollar, not only the lines it computes: each income amount of the request (one entry of the form: a person's wages, the household's interest, a part-year return's state-source amounts), each federal-return line the state return copies (with computeFederal: the taxable Social Security, the federal tax lines, Form 1040 lines 12e and 13b one by one, so Montana's line 3 is the entered federal AGI less each entered deduction line) and a credit's facts (the property tax paid) are entered rounded, half a dollar up, and a figure the form reads from its own charts by income (a standard deduction or child deduction table, an exemption tier, a tax-table row) is read on the entered amount. The request is validated on the amounts as sent (a negative cent is still refused); input shows the amounts as entered and yearNotes says so. North Dakota's and Iowa's 2025 lines are written to the cent, as Rhode Island's and Maryland's (Iowa's whole-dollar rounding is optional). 2026 answers are unchanged.
engine step (state_tax_ty25_whole_entries). Engine convention, no external source: PA: 'On the PA-40 form and schedules, show money amounts in whole-dollars. Eliminate any amount less than $0.50 and increase any amount that is $0.50 or more to the next highest dollar.' (2025 PA-40 instructions p.4, https://www.pa.gov/content/dam/copapwp-pagov/en/revenue/documents/formsandpublications/formsforindividuals/pit/documents/2025/2025_pa-40in.pdf); VA: 'All amounts entered on your return must be rounded to the nearest dollar.' (2025 Form 760 instructions); IA: 'You can round off cents to whole dollars on your return and schedules. If you do round to whole dollars, you must round all amounts.' (2025 IA 1040 expanded instructions, What's New). - 2025 whole-dollar returns: the request validated as sent, evaluated as entered Golden round 11: a 2025 request for one of the 37 whole-dollar jurisdictions is validated on the caller's own amounts, then evaluated on each amount rounded to the dollar as the form enters it (ty25-whole-entries); a part of two amounts (early distributions of the IRA and employer-plan money, the out-of-state part of the tax-exempt interest) stays within their entered sum. Should the entered amounts break a rule the caller's own met, the caller's amounts are evaluated as given.
engine step (stj_ty25_enter). Engine convention, no external source: The forms' whole-dollar rules quoted at ty25-whole-entries and ty25-whole-dollar-lines. - 2025 refundable credit lines in whole dollars (ME, VT, MT, VA, OR, MO, DE, GA, WV, CA, PA, MI, IL, OH, AZ, ID, UT, LA, NE, IN, MS, NC, CT, AR, MN, CO, KS, NY, NM, WI) Engine 1.21.0, a 2025 return of a whole-dollar state (ty25-whole-dollar-lines): each refundable credit line is entered in whole dollars (ME earned income credit worksheet line 3, VT IN-112 Part II, OR Kids Credit, VA Form 760 line 23's refundable share of the federal EIC, ...); a line that rounds to nothing drops out of refundableCredits. Golden round 10 adds NC, CT, AR, MN, CO, KS, NY, NM and WI (CT EITC, CO, MN, NM, NY and NYC credit lines).
engine step (state_tax_refundable_credits). Engine convention, no external source: The 2025 instructions' whole-dollar rules, quoted at st25_whole_lines and CALC-STEP ty25-whole-dollar-credits. - No tax at or below zero State taxable income at or below zero returns a tax of 0 (credits are not refundable), unless the state has a tax computed apart from taxable income that still applies (next step).
engine step (compute_state_tax_detail). Engine convention, no external source: Every credit the engine carries is nonrefundable, so nothing below can make a zero tax negative; each credit is sourced at its own step. - Separate-return scaling married filing separately For the halved-joint rule, taxable income is doubled before the schedule and the result halved.
Pennsylvania's values · engine step (compute_state_tax_detail). Sources (Rate schedule): Personal Income Tax (checked 2026-11-02); 2025 Pennsylvania Personal Income Tax Return Instructions (PA-40 IN) (checked 2026-11-02) - The rate schedule Each bracket's rate on the part of taxable income inside it, summed. No rounding: the result is carried in full precision.
Pennsylvania's values · engine step (apply_state_brackets). Sources (Rate schedule): Personal Income Tax (checked 2026-11-02); 2025 Pennsylvania Personal Income Tax Return Instructions (PA-40 IN) (checked 2026-11-02) - Tax forgiveness Eligibility income (the state's taxable income; twice the filer's own on a separate return, since the table uses joint income) at or below the base forgives the whole tax after the other credits; each step (or part) above it forgives the step share less. Each dependent child (a dependent under 19, a full-time student under 24, or a disabled dependent) raises the base by the per-dependent amount. State engine 1.16: the eligibility income adds back the nontaxable interest of Schedule A lines 6 and 7 (inStateMunicipalInterest and usObligationInterest) when the interest split gives it.
Pennsylvania's values · engine step (compute_state_tax_detail). Sources (Deductions, exemptions and credits): Personal Income Tax (checked 2026-11-02); 2025 Pennsylvania Personal Income Tax Return Instructions (PA-40 IN) (checked 2026-11-02); 2025 PA-40 Instructions (checked 2026-11-02); Working Pennsylvanians Tax Credit (checked 2026-11-02); PA-40 Schedule C, Profit or Loss From Business or Profession (2025) and instructions (checked 2026-11-02); 2025 PA-40 instructions (checked 2026-11-02) - Credits cannot make the tax negative The credits are subtracted and the result floored at zero.
engine step (compute_state_tax_detail). Engine convention, no external source: Every credit the engine carries is nonrefundable; each credit is sourced at its own step. - Qualifying surviving spouse qualifying surviving spouse returns A qualifying surviving spouse (
filingStatusqss) is one person on the return, taxed from the single figures with the state's own treatment of the status laid over them: where the state says so, the joint rate schedule, the joint standard deduction, the joint personal exemption, the joint income limits and phase-outs (only those the state sets for joint returns), the married 65+ and blindness amounts, or the head-of-household return; where the state gives the status nothing of its own, the single return. The federal figures the engine derives for the status are the federal qualifying-surviving-spouse ones (the joint standard deduction, the married 65+ amount).
Pennsylvania's values · engine step (state_tax_effective_config). Sources (Rate schedule): Personal Income Tax (checked 2026-11-02); 2025 Pennsylvania Personal Income Tax Return Instructions (PA-40 IN) (checked 2026-11-02) - Railroad Retirement benefits only when the caller gives Railroad Retirement benefits Railroad Retirement benefits are never taxed by a state (45 U.S.C. §231m). Tier 2 (
railroadRetirementTier2) is in the income total the tests use but never in the base. Tier 1 (railroadRetirementTier1) is a part of the gross benefits (socialSecurityGross); its share of the taxable benefits is taken out of the Social Security every state rule sees, so a state that taxes Social Security never reaches it. Where a state's worksheet says so, the benefits reduce a retirement cap or subtraction (ID, IN, MD, ME, MN: both tiers; MI: the taxable railroad benefits); Minnesota's and Utah's Social Security rules test an income without them, Minnesota's, New Jersey's and California's retirement income tests an income without Tier 2; Ohio and Delaware test their own AGI everywhere, which never holds the benefits.
Pennsylvania's values · engine step (compute_state_tax_detail). Sources (Social Security): 2025 Pennsylvania Personal Income Tax Return Instructions (PA-40 IN) (checked 2026-11-02) - Each spouse's own Social Security joint returns On a joint return, each spouse's own Social Security is the spouse's share of the benefits by
spouse.socialSecurityGrosswhen the caller gives it (Tier 1 railroad benefits left out), else half each. It is what the per-spouse rules read: Colorado's per-spouse subtraction, Rhode Island's per-spouse modification, and the Maine, Maryland and other retirement caps reduced by the benefits each spouse received (with each spouse's own railroad benefits where the state counts them).
Pennsylvania's values · engine step (compute_state_tax_detail). Sources (Social Security): 2025 Pennsylvania Personal Income Tax Return Instructions (PA-40 IN) (checked 2026-11-02) - Refundable state credits The credits paid beyond the tax (reported in refundableCredits; netTax = totalTax less them): earned income credits as a share of the federal EIC with each state's own age band (OK on the 2020 federal credit, DC's own childless schedule, the CalEITC table, MN's Working Family Credit; PA's Working Pennsylvanians Tax Credit, a tenth of the federal EIC, from 2025), New York's Empire State child credit (IT-213; state engine 1.16), the refundable child and dependent credits figured from the dependents' ages (MA Form 1 line 46, ME DETC, NJ line 65, NM PIT-RC line 25, OR Kids Credit, VT IN-112, CO DR 0104CN with 2025's Family Affordability Tax Credit, IL Schedule IL-E/EITC Step 5, MD Worksheet 21C, CA's young child tax credit, and MN's child tax credit with the Working Family Credit on Schedule M1CWFC), the NYC EIC and school tax credits, and the property-tax, renter, grocery and senior credits of MA, MI, NJ, ID, HI, NM, OK, AZ, NY, RI, WV, ME, DC, MN, MO, WI, IN and MT, each on its own income measure. Engine 1.13.1: a part-year NYC resident's school tax credits (the Table 2 proration chart and the rate-reduction amount on IT-360.1 line 47; IT-203 lines 60 / 60a for a part-year state resident). Golden round 3: Hawaii's food/excise bands are "under" their upper amounts, read on the N-11's whole-dollar AGI. Engine 1.19.0 (tax year 2025, the printed charts): the MO-PTS Property Tax Credit Chart, Oklahoma's 511-EIC 2020 EIC Table and Colorado's TABOR State Sales Tax Refund (DR 0104 line 38).
Pennsylvania's values · engine step (state_tax_refundable_credits). Sources (Deductions, exemptions and credits): Personal Income Tax (checked 2026-11-02); 2025 Pennsylvania Personal Income Tax Return Instructions (PA-40 IN) (checked 2026-11-02); 2025 PA-40 Instructions (checked 2026-11-02); Working Pennsylvanians Tax Credit (checked 2026-11-02); PA-40 Schedule C, Profit or Loss From Business or Profession (2025) and instructions (checked 2026-11-02); 2025 PA-40 instructions (checked 2026-11-02)
Rate schedule
A flat 3.07% on state taxable income.
- Personal Income Tax, Pennsylvania Department of Revenue. Pennsylvania taxes resident individuals at a single flat rate of 3.07% on taxable income, the same for every filing status. Checked 2026-11-02.
- 2025 Pennsylvania Personal Income Tax Return Instructions (PA-40 IN), Pennsylvania Department of Revenue. The PA-40 instructions state the 3.07% flat rate applied to taxable income. Checked 2026-11-02.
Deductions, exemptions and credits
- No standard deduction.
- Personal Income Tax, Pennsylvania Department of Revenue. Pennsylvania has no standard deduction and no personal exemption, so the engine applies the 3.07% rate to income from the first dollar. Checked 2026-11-02.
- 2025 Pennsylvania Personal Income Tax Return Instructions (PA-40 IN), Pennsylvania Department of Revenue. PA law allows no standard deduction, personal-exemption deduction or itemized deductions. Engine 1.7.0: Schedule SP: + $9,500 per dependent child to the eligibility limit; IRA distributions before 59½ are taxable to the extent they exceed the contributions (cost recovery) unless paid on death or disability — equal periodic payments included. Checked 2026-11-02.
- 2025 PA-40 Schedule SP, Pennsylvania Department of Revenue. Tax Forgiveness: eligibility income starts from PA taxable income (PA-40 line 9); the credit is the net PA tax times the forgiveness percentage from the Eligibility Income Table. Engine 1.7.0: Schedule SP: + $9,500 per dependent child to the eligibility limit; IRA distributions before 59½ are taxable to the extent they exceed the contributions (cost recovery) unless paid on death or disability — equal periodic payments included. Checked 2026-11-02.
- 2025 PA-40 Instructions, Pennsylvania Department of Revenue. Eligibility Income Table 1 (unmarried) forgives 100% at or below $6,500 and 10 points less per $250 to 10% at $8,750; Table 2 (married, even if filing separately) starts at $13,000. Married claimants filing separately combine their eligibility incomes. Checked 2026-11-02.
- Working Pennsylvanians Tax Credit, Pennsylvania Department of Revenue. The Working Pennsylvanians Tax Credit (2025-26 budget, from tax year 2025): 10% of the federal earned income credit, refundable (refundableCredits). The enacting act's text was not reachable from this host. Checked 2026-11-02.
- PA-40 Schedule C, Profit or Loss From Business or Profession (2025) and instructions, Pennsylvania Department of Revenue. Net profits (PA-40 line 4) allow no deduction for half the self-employment tax (state engine 1.16: se_profit_no_se_deduction); each spouse's own profit, no loss across classes or spouses. Checked 2026-11-02.
- 2025 PA-40 instructions, Pennsylvania Department of Revenue. Spouses offset no income or loss between them, even in the same class. Checked 2026-11-02.
IRA, 401(k) and private pensions
- Pension, annuity and IRA/401(k) distributions are fully excluded at any age except IRA and 401(k) dollars taken before 59½ (other than on death or disability), which are taxed above the contributions not yet recovered (
iraBasis; see early distributions). No dollar cap and no income limit.
- 2025 Pennsylvania Personal Income Tax Return Instructions (PA-40 IN), Pennsylvania Department of Revenue. IRA distributions received on or after age 59 1/2 and retirement benefits from eligible employer plans paid after the taxpayer is eligible to retire and retires are not taxable in Pennsylvania; distributions before 59 1/2 are taxable only to the extent they exceed prior (already PA-taxed) contributions. Engine 1.7.0: Schedule SP: + $9,500 per dependent child to the eligibility limit; IRA distributions before 59½ are taxable to the extent they exceed the contributions (cost recovery) unless paid on death or disability — equal periodic payments included. Checked 2026-11-02.
- Pennsylvania Department of Revenue: 2025_pa-40sp.pdf, Pennsylvania Department of Revenue. Engine 1.7.0: Schedule SP: + $9,500 per dependent child to the eligibility limit; IRA distributions before 59½ are taxable to the extent they exceed the contributions (cost recovery) unless paid on death or disability — equal periodic payments included. Checked 2026-11-02.
Public pensions
No separate treatment: public pensions follow the rules for other retirement income above.
- 2025 Pennsylvania Personal Income Tax Return Instructions (PA-40 IN), Pennsylvania Department of Revenue. Pensions paid after retirement, including military pensions and federal Civil Service annuities, are not taxable in Pennsylvania; public-employer pensions are treated like other eligible-plan retirement benefits. Checked 2026-11-02.
Military retirement pay
- Military retirement pay is fully exempt, at any age.
- Rules are applied per taxpayer at that person's own age when the spouse's age is given. API value:
rules.militaryRetirement.treatment: "exempt".
- Gross compensation, Pennsylvania Department of Revenue. Retired or retainer pay of a uniformed service member is not taxable compensation. Checked 2026-11-02.
Roth conversions
A traditional-to-Roth conversion is not taxed at any age.
Source review notes (what the sources do not state outright, or what the engine does not carry):
- Amounts withheld for federal tax and not deposited into the Roth are PA-taxable (per the same instructions' CAUTION); the engine treats the whole conversion as nontaxable.
- 2025 Pennsylvania Personal Income Tax Return Instructions (PA-40 IN), Pennsylvania Department of Revenue. A traditional-to-Roth IRA conversion moved in full (trustee-to-trustee, or reinvested within 60 days) is not taxable in Pennsylvania at any age. Checked 2026-11-02.
Capital gains
- Net long-term gain is taxed as ordinary income.
- Short-term gains are ordinary income.
- Personal Income Tax, Pennsylvania Department of Revenue. Net gains from the disposition of property are one of Pennsylvania's eight classes of taxable income, taxed at the flat 3.07%. Checked 2026-11-02.
- 2025 Pennsylvania Personal Income Tax Return Instructions (PA-40 IN), Pennsylvania Department of Revenue. Pennsylvania makes no distinction between long-term and short-term gains, so long-term gains are taxed as ordinary income at 3.07%. Checked 2026-11-02.
- 2025 PA-40 Instructions, Pennsylvania Department of Revenue. Pennsylvania allows no offset of a loss in one income class against another class and no carryover, so a net capital loss reduces no other income (engine 1.9.0: no deduction). Checked 2026-11-02.
Interest on state, local and U.S. obligations
- Interest on obligations of other states and their local governments, though exempt from federal tax, is added to Pennsylvania income (
outOfStateMunicipalInterest); interest on Pennsylvania's own obligations (inStateMunicipalInterest) stays exempt. - Interest on U.S. obligations (
usObligationInterest: Treasury bills, notes and bonds and U.S. savings bonds, a part ofordinaryIncome) is taken out of Pennsylvania income, as 31 U.S.C. 3124 requires. - Without the split the engine adds and subtracts nothing (
taxExemptInterestalone is read only by the credits' household income);inputsNotSuppliedthen shows what the split could change.
- 2025 Pennsylvania Personal Income Tax Return Instructions (PA-40 IN), Pennsylvania Department of Revenue. State engine 1.16 (st116), interest: other states' obligation interest is added; interest on U.S. obligations is taken out. Checked 2026-11-02.
Part-year and nonresident returns
- Part-year resident (PA-40 (part-year)): the tax on the state's own income, nothing prorated.
- Nonresident (PA-40 (nonresident)): the tax on the state's own income, nothing prorated.
- Pennsylvania taxes the state's own income at its flat rate; nothing is prorated.
- A nonresident's retirement income is not taxable by the state (4 U.S.C. §114); the API refuses it in
residency.stateIncome. The credit for tax paid to another state and the earned income credits on these returns are not computed.
Married couples whose residency differs (engine 1.13.0)
With residency.spouse on a joint request, each allowed treatment is calculated and reported in residency.couple; tax is the required one, else the state's default, else the couple's residency.election, else the joint return the request's mfj names. Each rule is quoted from the state's instructions (engine 1.14.0: and its statutes, regulations, bulletins and other official guidance) in the sources below.
| Spouses | Pennsylvania's rule |
|---|---|
| One spouse a full-year resident, the other a part-year resident | separate returns, unless the couple elects a joint resident return (both taxed as full-year residents). |
| One spouse a full-year resident, the other a nonresident | separate returns, unless the couple elects a joint resident return (both taxed as full-year residents). |
| One spouse a part-year resident, the other a nonresident | separate returns, unless the couple elects a joint resident return (both taxed as full-year residents). |
| Both part-year residents, different resident periods | separate returns, unless the couple elects a joint part-year / nonresident return; the joint return is not calculated: Pennsylvania's joint return of two part-year residents uses one elected residency period (the earliest start to the latest end), so each spouse's income in that common period, which the request does not carry. |
| Both nonresidents, only one with income from the state | the couple's choice: a joint part-year / nonresident return or separate returns. |
- 2025 Pennsylvania Personal Income Tax Return Instructions (PA-40 IN), Pennsylvania Department of Revenue. Part-year / nonresident return (engine 1.12.0, residency): Checked 2026-11-02.
- 2025 Pennsylvania Personal Income Tax Return Instructions (PA-40 IN), Pennsylvania Department of Revenue. Married couples whose residency differs (engine 1.13.0): Checked 2026-11-02.
Worked examples
Computed by the engine for the fixed households below (the same ones for every state, so states compare directly). Federal tax is not supplied, so a federal-tax deduction is not taken; the income tests use the sum of the components as income.
| Household (engine inputs) | State tax |
|---|---|
| Single, 67: $30,000 private pension, $20,000 IRA, $10,000 interest, $24,000 Social Security ($17,000 federally taxable), $5,000 long-term gain | $460.50 |
| Married filing jointly, 70: $40,000 public pension, $40,000 IRA, $20,000 interest, $40,000 Social Security ($34,000 federally taxable), $10,000 long-term gain | $921 |
| Single, 60: $60,000 other ordinary income and a $50,000 Roth conversion | $1,842 |
| Married filing jointly, 66: $30,000 IRA, a $40,000 Roth conversion, $30,000 Social Security ($25,500 federally taxable) | $0 |
| Single, 58: $36,000 military retirement pay and $30,000 wages | $921 |
| Married filing jointly, ages 67 and 61: $50,000 IRA, $10,000 interest, $30,000 Social Security ($25,500 federally taxable), each spouse's age given | $0 |
Line by line
The intermediate lines the engine records while it computes each example (its detail record, printed as it comes out; lines that are zero are left out). The engine's documentation build checks that the lines add up to the taxable income and the tax, for every state, filing status and a grid of households. Each line links the engine step that produces it.
Single, 67: $30,000 private pension, $20,000 IRA, $10,000 interest, $24,000 Social Security ($17,000 federally taxable), $5,000 long-term gain: $460.50
| Line | Amount |
|---|---|
| Income total used by the income tests | $82,000 |
| Retirement income and conversions excluded (not in the base) | $50,000 |
| + Other ordinary income in the base | $10,000 |
| + Long-term gain in the base | $5,000 |
| = State taxable income | $15,000 |
| Tax from the rate schedule | $460.50 |
| = Tax before credits | $460.50 |
| = Tax | $460.50 |
Married filing jointly, 70: $40,000 public pension, $40,000 IRA, $20,000 interest, $40,000 Social Security ($34,000 federally taxable), $10,000 long-term gain: $921
| Line | Amount |
|---|---|
| Income total used by the income tests | $144,000 |
| Retirement income and conversions excluded (not in the base) | $80,000 |
| + Other ordinary income in the base | $20,000 |
| + Long-term gain in the base | $10,000 |
| = State taxable income | $30,000 |
| Tax from the rate schedule | $921 |
| = Tax before credits | $921 |
| = Tax | $921 |
Single, 60: $60,000 other ordinary income and a $50,000 Roth conversion: $1,842
| Line | Amount |
|---|---|
| Income total used by the income tests | $110,000 |
| Retirement income and conversions excluded (not in the base) | $50,000 |
| + Other ordinary income in the base | $60,000 |
| = State taxable income | $60,000 |
| Tax from the rate schedule | $1,842 |
| = Tax before credits | $1,842 |
| = Tax | $1,842 |
Married filing jointly, 66: $30,000 IRA, a $40,000 Roth conversion, $30,000 Social Security ($25,500 federally taxable): $0
Single, 58: $36,000 military retirement pay and $30,000 wages: $921
| Line | Amount |
|---|---|
| Income total used by the income tests | $66,000 |
| Military pay excluded (not in the base) | $36,000 |
| + Other ordinary income in the base | $30,000 |
| = State taxable income | $30,000 |
| Tax from the rate schedule | $921 |
| = Tax before credits | $921 |
| = Tax | $921 |
Married filing jointly, ages 67 and 61: $50,000 IRA, $10,000 interest, $30,000 Social Security ($25,500 federally taxable), each spouse's age given: $0
| Line | Amount |
|---|---|
| Income total used by the income tests | $85,500 |
| Retirement income and conversions excluded (not in the base) | $50,000 |
| + Other ordinary income in the base | $10,000 |
| = State taxable income | $10,000 |
| Tax from the rate schedule | $307 |
| = Tax before credits | $307 |
| Tax forgiveness | $307 |
| − Credits used (never more than the tax) | $307 |
| = Tax | $0 |
After 2026: how the amounts move
A request with projection (API) estimates a later tax year from these rules: every
dollar amount and age test below moves the way Pennsylvania's law moves it. Rates and the rules themselves stay the 2026 ones
(how projection works).
| Amounts (engine fields) | After 2026 | What the law says, and the source |
|---|---|---|
tax_forgiveness_base_single, tax_forgiveness_base_married, tax_forgiveness_step, tax_forgiveness_per_dependent | Fixed in law: held at the rules-year amount in every later year. | Tax forgiveness (72 P.S. 7304): 100% forgiveness at eligibility income up to $6,500 unmarried / $13,000 married plus $9,500 per dependent child, decreasing 10 points per $250 above; the Department describes these as statutory income limitations and the 2025 tables print the same nominal amounts used for two decades. (The statute text at palegis.us was unreachable, so the absence of an indexing clause rests on the Department's publications.)
|
Enacted for later years, not applied by the projection
None found: the research found no change enacted for years after 2026 beyond the schedules above.
What the engine does not calculate, and known approximations
- An early IRA distribution is taxed above the iraBasis given (cost recovery), with none when iraBasis is not given, the conservative reading (engine 1.7.0).
- Schedule SP Tax Forgiveness takes eligibility income as PA taxable income plus the nontaxable interest of Schedule A lines 6 and 7 when the interest split gives it (gifts and the other Section III additions are not inputs), and for married filing separately assumes the spouse's eligibility income equals the filer's. Each dependent child (under 19, a student under 24, or disabled) adds $9,500 to the eligibility limit (engine 1.7.0).
- A dependent aged 19 or over who is neither a student nor disabled is not counted as a Schedule SP dependent child: the dependents input does not say whether a dependent is the filer's child, and the schedule counts any child claimed as a dependent, adult children included. Sources: Personal Income Tax (checked 2026-11-02); 2025 Pennsylvania Personal Income Tax Return Instructions (PA-40 IN) (checked 2026-11-02); 2025 PA-40 Instructions (checked 2026-11-02); Working Pennsylvanians Tax Credit (checked 2026-11-02); PA-40 Schedule C, Profit or Loss From Business or Profession (2025) and instructions (checked 2026-11-02); 2025 PA-40 instructions (checked 2026-11-02).
- The part of a Roth conversion that federal tax was withheld from and that was not redeposited is taxable in Pennsylvania (above the IRA basis); federal tax withheld from a Roth conversion and not redeposited is not calculated: the engine treats the whole conversion as nontaxable. Sources: 2025 Pennsylvania Personal Income Tax Return Instructions (PA-40 IN) (checked 2026-11-02).
- Philadelphia's income-based Wage Tax rate (a reduced rate for residents eligible for Pennsylvania tax forgiveness, claimed by refund petition) is not applied; 2026 wages are taxed at the average of the rates before and after July 1. Sources: Local Tax Enabling Act, Act of Dec. 31, 1965, P.L. 1257, No. 511, Cl. 53 (as amended incl. Act 32 of 2008) - unofficial purdon-style compilation PDF from palegis.us (Wayback copy captured 2026-09-27; palegis.us unreachable directly) (checked 2026-11-02); CLGS-32-1 (04/2024) Taxpayer Annual Local Earned Income Tax Return and instructions (checked 2026-11-02); Wage Tax (employers) (checked 2026-11-02); Earnings Tax (employees) (checked 2026-11-02); Tax Rate History - City of Philadelphia and School District of Philadelphia (Revised June 11, 2026) (checked 2026-11-02); CLGS-32-1 Taxpayer Annual Local Earned Income Tax Return (rev. 04-2024) (checked 2026-11-02); School Income Tax (SIT) Regulations (checked 2026-10-06); City of Philadelphia Income Tax Regulations (compiled January 2020) (checked 2026-11-02); Annual Reconciliation of 2025 Employee Earnings Tax (return) (checked 2026-11-02); 2025 Wage Tax Refund Petition - Salary/Hourly Employees, form and instructions (checked 2026-11-02); General information for 2025 School Income Tax (SIT) (checked 2026-11-02); 2025 Net Profits Tax return (checked 2026-11-02).
- Married couples whose residency differs (engine 1.13.0): when both spouses are part-year residents with different resident periods, the joint return is not calculated: Pennsylvania's joint return of two part-year residents uses one elected residency period (the earliest start to the latest end), so each spouse's income in that common period, which the request does not carry. Sources: 2025 Pennsylvania Personal Income Tax Return Instructions (PA-40 IN) (checked 2026-11-02); 2025 Pennsylvania Personal Income Tax Return Instructions (PA-40 IN) (checked 2026-11-02).
- The Child and Dependent Care Enhancement Tax Credit (PA Schedule DC, which requires the expenses claimed for the federal credit, so figured on care expenses limited to earned income) is not calculated: the inputs carry no care expenses. Sources: Personal Income Tax (checked 2026-11-02); 2025 Pennsylvania Personal Income Tax Return Instructions (PA-40 IN) (checked 2026-11-02); 2025 PA-40 Instructions (checked 2026-11-02); Working Pennsylvanians Tax Credit (checked 2026-11-02); PA-40 Schedule C, Profit or Loss From Business or Profession (2025) and instructions (checked 2026-11-02); 2025 PA-40 instructions (checked 2026-11-02).
- Schedule O deductions are not calculated: contributions to medical savings, health savings, 529 tuition and ABLE accounts; the inputs carry no contributions. Sources: Personal Income Tax (checked 2026-11-02); 2025 Pennsylvania Personal Income Tax Return Instructions (PA-40 IN) (checked 2026-11-02); 2025 PA-40 Instructions (checked 2026-11-02); Working Pennsylvanians Tax Credit (checked 2026-11-02); PA-40 Schedule C, Profit or Loss From Business or Profession (2025) and instructions (checked 2026-11-02); 2025 PA-40 instructions (checked 2026-11-02).
- On a joint return Pennsylvania figures each income class for each spouse apart (a spouse's net loss in a class does not reduce the other spouse's net income or gain, and a class with a net loss counts as zero); this is not calculated for the capital gains and rental classes: the inputs carry capital gains, capital losses and rental income as the couple's totals, so one spouse's loss nets against the other's gain. Sources: Personal Income Tax (checked 2026-11-02); 2025 Pennsylvania Personal Income Tax Return Instructions (PA-40 IN) (checked 2026-11-02); 2025 PA-40 Instructions (checked 2026-11-02).
What the engine does not calculate for any state (credits beyond those each page lists, credits for tax paid to other states, state alternative minimum taxes, and more) is listed on the calculation order page.
Verification
Worksheet-tested Scenarios replay the 2025 PA-40 (lines 1a, 5, 9, 11, 12), its IRA, pension and Social Security instructions and Schedule SP.
- Golden scenarios (hand-computed expected tax, asserted to within $1):
S16,GPA-LTCG1. - State-specific unit tests:
test_ss_exempt_states_dont_tax_ss,test_full_exclusion_states_exempt_pension_and_ira,test_full_exclusion_states_also_exempt_roth_conversion,test_v3_folds_v2,test_localities_endpoint,test_pa_nj_no_offset,test_prop_l3_1140,test_absent_is_unchanged,test_pa_nj_nothing,test_rules_match_research,test_applied,test_pa_early_distributions,test_prop_l3,test_s_states,test_engine_paths,test_pa_tax_forgiveness,test_st116_branches,test_not_covered,test_pa_mi_il_whole_dollar,test_2025_round_exact. - Structural tests covering every state: 10.
- State forms and worksheets followed in the test derivations: PA-40 lines 1a, 5, 9, 11, 12 (3.07% of adjusted PA taxable income); PA-40 instructions: IRA, eligible-plan pension, military and Roth-conversion treatment; PA-40 Schedule SP Eligibility Income Tables 1 and 2 (100%, 70% and cliff-edge rows).
Social Security
Social Security benefits are fully exempt: none of the federally taxable amount enters the state base.
API value:
socialSecurityRule: "exempt". The engine's input is the federally taxable amount; income tests use the sum of the income components as the adjusted-gross-income proxy.