Extraction schema:
{"$defs": {"Dependent": {"type": "object", "title": "Dependent row", "properties": {"first_last_name": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Columns '(1) First name' and 'Last name' of the 'Dependents' table on Form 1040 page 1, combined as printed (first name, space, last name). On these public-release scans this value is usually masked/redacted: transcribe exactly the characters that are legible; null if fully redacted or blank.", "title": "Dependent first and last name"}, "ssn": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Column '(2) Social security' number of the 'Dependents' table. On these public-release scans this value is usually masked/redacted: transcribe exactly the characters that are legible; null if fully redacted or blank. Use this as the dependent row identity when legible; if fully redacted, keep dependent rows in print order.", "title": "Dependent social security number"}, "relationship": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Column '(3) Relationship' to you of the 'Dependents' table (e.g. Son, Daughter). On these public-release scans this value is usually masked/redacted: transcribe exactly the characters that are legible; null if fully redacted or blank.", "title": "Relationship to you"}, "child_tax_credit_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "description": "Column '(4) Check the box if qualifies for (see instructions)', first checkbox. True if the 'Child tax credit' box is checked; false if the box is printed but left unchecked;. Two-state policy: true ONLY if this box is marked; false otherwise (unmarked, or not printed on this rendering). Return null only if this page is not present.", "title": "Child tax credit box"}, "credit_for_other_dependents_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "description": "Column '(4) Check the box if qualifies for (see instructions)', second checkbox. True if the 'Credit for other dependents' box is checked; false if the box is printed but left unchecked;. Two-state policy: true ONLY if this box is marked; false otherwise (unmarked, or not printed on this rendering). Return null only if this page is not present.", "title": "Credit for other dependents box"}}}, "Sch1OtherAdjustmentRow": {"type": "object", "title": "Schedule 1 line 24 other-adjustment subline", "properties": {"subline": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Schedule 1 Part II line 24 'Other adjustments:' — the subline letter/number as printed at the right of the row, e.g. '24a', '24d', or '24z'. Extract the string verbatim as printed; null if blank. This value identifies the row (which lettered subline it is).", "title": "Line 24 subline id"}, "adjustment_type": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Schedule 1 Part II line 24 'Other adjustments:' — the printed subline label (e.g. 'Jury duty pay', 'Reforestation amortization and expenses') or, for subline '24z' 'Other adjustments. List type and amount', the write-in type text. Extract the string verbatim as printed; null if blank.", "title": "Line 24 adjustment type/label"}, "amount": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule 1 Part II line 24 'Other adjustments:' — the amount entered in this subline's entry box. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 24 subline amount"}}}, "Sch2OtherTaxRow": {"type": "object", "title": "Schedule 2 line 17 other-additional-tax row", "properties": {"line_label": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Printed subline label that identifies the row within the 'Other additional taxes:' (Schedule 2 Part II line 17) grid, e.g. '17a', '17c', '17z'. Extract exactly as printed (letter suffix included).", "title": "Line label"}, "description": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Write-in type text on the subline, e.g. the text entered after 'List type and amount' on line '17z'. Null for pre-printed named sublines with no write-in text and for blank write-in lines.", "title": "Type / description write-in"}, "amount": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Dollar amount entered in the subline entry box of the 'Other additional taxes:' (Schedule 2 Part II line 17) grid. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Amount"}}}, "Sch3OtherCreditRow": {"type": "object", "title": "Schedule 3 line 6 other nonrefundable credit row", "properties": {"subline": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Subline identifier within the Schedule 3 line 6 'Other nonrefundable credits:' grid, e.g. '6a' or '6z'. Extract the printed subline letter/code verbatim; null if not legible.", "title": "Line 6 subline id"}, "credit_type": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Printed or write-in credit name for this Schedule 3 line 6 subline, e.g. 'General business credit' or 'Adoption credit'. Extract the string verbatim as printed; null if blank.", "title": "Line 6 credit type"}, "amount": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Dollar amount entered for this Schedule 3 line 6 subline (e.g. '6a'). Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 6 amount"}}}, "Schedule1": {"type": "object", "title": "Schedule 1 (Form 1040) 2021 — Additional Income and Adjustments to Income", "properties": {"names_shown": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Schedule 1 header field 'Name(s) shown on Form 1040, 1040-SR, or 1040-NR' — the filer name(s) as printed on this schedule (often a single combined string, e.g. first-and-last for both spouses joined by an ampersand). Extract the string verbatim as printed; null if blank.", "title": "Name(s) shown on return (Schedule 1)"}, "ssn": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Schedule 1 header field 'Your social security number'. On these public-release scans this value is usually masked/redacted: transcribe exactly the characters that are legible; null if fully redacted or blank.", "title": "Your social security number (Schedule 1)"}, "line_1_taxable_refunds": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule 1 Part I line 1 'Taxable refunds, credits, or offsets of state and local income taxes'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 1 taxable refunds"}, "line_2a_alimony_received": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule 1 Part I line '2a' 'Alimony received'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 2a alimony received"}, "line_2b_divorce_agreement_date": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Schedule 1 Part I line 2b 'Date of original divorce or separation agreement' (sub-line of 2a). Date as printed. Extract the string verbatim as printed; null if blank.", "title": "Line 2b date of divorce/separation agreement"}, "line_3_business_income": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule 1 Part I line 3 'Business income or (loss)'. Attach Schedule C. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 3 business income or (loss)"}, "line_4_other_gains": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule 1 Part I line 4 'Other gains or (losses)'. Attach Form 4797. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 4 other gains or (losses)"}, "line_5_rental_royalties_partnerships": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule 1 Part I line 5 'Rental real estate, royalties, partnerships, S corporations, trusts, etc.' Attach Schedule E. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 5 rental/royalties/partnerships/S corps/trusts"}, "line_6_farm_income": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule 1 Part I line 6 'Farm income or (loss)'. Attach Schedule F. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 6 farm income or (loss)"}, "line_7_unemployment_compensation": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule 1 Part I line 7 'Unemployment compensation'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 7 unemployment compensation"}, "line_8a_net_operating_loss": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule 1 line '8a' 'Net operating loss' (under '8' 'Other income:'). Printed in parentheses on the form — a filled 8a is a negative number. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 8a net operating loss"}, "line_8b_gambling": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule 1 line '8b' 'Gambling income'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 8b gambling income"}, "line_8c_cancellation_of_debt": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule 1 line '8c' 'Cancellation of debt'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 8c cancellation of debt"}, "line_8d_foreign_earned_income_exclusion": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule 1 line '8d' 'Foreign earned income exclusion from Form 2555' (printed in parentheses — negative when filled). Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 8d foreign earned income exclusion"}, "line_8e_taxable_hsa_distribution": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule 1 line '8e' 'Taxable Health Savings Account distribution'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 8e taxable Health Savings Account distribution"}, "line_8f_alaska_permanent_fund": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule 1 line '8f' 'Alaska Permanent Fund dividends'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 8f Alaska Permanent Fund dividends"}, "line_8g_jury_duty_pay": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule 1 line '8g' 'Jury duty pay'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 8g jury duty pay"}, "line_8h_prizes_awards": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule 1 line '8h' 'Prizes and awards'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 8h prizes and awards"}, "line_8i_activity_not_for_profit": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule 1 line '8i' 'Activity not engaged in for profit income'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 8i activity not engaged in for profit income"}, "line_8j_stock_options": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule 1 line '8j' 'Stock options'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 8j stock options"}, "line_8k_personal_property_rental": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule 1 line '8k' 'Income from the rental of personal property if you engaged in the rental for profit but were not in the business of renting such property'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 8k income from rental of personal property"}, "line_8l_olympic_medals": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule 1 line '8l' 'Olympic and Paralympic medals and USOC prize money' (see instructions). Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 8l Olympic/Paralympic medals and USOC prize money"}, "line_8m_section_951a_inclusion": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule 1 line '8m' 'Section 951(a) inclusion' (see instructions). Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 8m section 951(a) inclusion"}, "line_8n_section_951aa_inclusion": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule 1 line '8n' 'Section 951A(a) inclusion' (see instructions). Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 8n section 951A(a) inclusion"}, "line_8o_section_461l_adjustment": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule 1 line '8o' 'Section 461(l) excess business loss adjustment'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 8o section 461(l) excess business loss adjustment"}, "line_8p_able_distributions": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule 1 line '8p' 'Taxable distributions from an ABLE account' (see instructions). Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 8p taxable ABLE distributions"}, "line_8z_other_income_type": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Schedule 1 line '8z' 'Other income. List type and amount' — the write-in TYPE text on the dotted line (not the amount). Extract the string verbatim as printed; null if blank.", "title": "Line 8z other income type"}, "line_8z_other_income_amount": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule 1 line '8z' 'Other income. List type and amount' — the amount in the 8z entry box. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 8z other income amount"}, "line_9_total_other_income": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule 1 Part I line 9 'Total other income. Add lines 8a through 8z'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 9 total other income"}, "line_10_additional_income": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule 1 Part I line 10 'Combine lines 1 through 7 and 9'. This is the 'additional income' carried to Form 1040 line 8. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank. Take the amount printed ON line 10 itself — do NOT confuse it with the adjacent 'line 9' total directly above it.", "title": "Line 10 additional income"}, "line_11_educator_expenses": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule 1 Part II line 11 'Educator expenses'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 11 educator expenses"}, "line_12_reservist_artist_official_expenses": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule 1 Part II line 12 'Certain business expenses of reservists, performing artists', and fee-basis government officials. Attach Form 2106. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 12 certain business expenses (Form 2106)"}, "line_13_hsa_deduction": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule 1 Part II line 13 'Health savings account deduction'. Attach Form 8889. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 13 HSA deduction"}, "line_14_moving_expenses_armed_forces": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule 1 Part II line 14 'Moving expenses for members of the Armed Forces'. Attach Form 3903. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 14 moving expenses (Armed Forces)"}, "line_15_deductible_se_tax": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule 1 Part II line 15 'Deductible part of self-employment tax'. Attach Schedule SE. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 15 deductible part of self-employment tax"}, "line_16_sep_simple_qualified_plans": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule 1 Part II line 16 'Self-employed SEP, SIMPLE, and qualified plans'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 16 self-employed SEP/SIMPLE/qualified plans"}, "line_17_se_health_insurance": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule 1 Part II line 17 'Self-employed health insurance deduction'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 17 self-employed health insurance deduction"}, "line_18_early_withdrawal_penalty": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule 1 Part II line 18 'Penalty on early withdrawal of savings'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 18 penalty on early withdrawal of savings"}, "line_19a_alimony_paid": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule 1 Part II line '19a' 'Alimony paid'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 19a alimony paid"}, "line_19b_recipient_ssn": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Schedule 1 Part II line 19b \"Recipient’s SSN\" (sub-line of 19a). On these public-release scans this value is usually masked/redacted: transcribe exactly the characters that are legible; null if fully redacted or blank.", "title": "Line 19b recipient's SSN"}, "line_19c_divorce_agreement_date": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Schedule 1 Part II line 19c 'Date of original divorce or separation agreement' (sub-line of 19a). Date as printed. Extract the string verbatim as printed; null if blank.", "title": "Line 19c date of divorce/separation agreement"}, "line_20_ira_deduction": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule 1 Part II line 20 'IRA deduction'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 20 IRA deduction"}, "line_21_student_loan_interest": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule 1 Part II line 21 'Student loan interest deduction'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 21 student loan interest deduction"}, "line_23_archer_msa_deduction": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule 1 Part II line 23 'Archer MSA deduction'. (Line 22 'Reserved for future use' is not modeled.) Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 23 Archer MSA deduction"}, "other_adjustments": {"anyOf": [{"items": {"$ref": "#/$defs/Sch1OtherAdjustmentRow"}, "type": "array"}, {"type": "null"}], "default": null, "description": "Schedule 1 Part II line 24 'Other adjustments:' write-in grid, sublines '24a' through '24z' ('Jury duty pay', 'Reforestation amortization and expenses', etc.). One row per subline with a nonblank write-in or amount; empty grid (all sublines blank) → null.", "title": "Line 24 other adjustments (24a-24z)"}, "line_25_total_other_adjustments": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule 1 Part II line 25 'Total other adjustments. Add lines 24a through 24z'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 25 total other adjustments"}, "line_26_total_adjustments": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule 1 Part II line 26 'Add lines 11 through 23 and 25'. These are the 'adjustments to income' carried to Form 1040 line 10. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 26 adjustments to income"}}}, "Schedule2": {"type": "object", "title": "Schedule 2 (Form 1040) 2021 — Additional Taxes", "properties": {"names_shown": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Schedule 2 header field 'Name(s) shown on Form 1040, 1040-SR, or 1040-NR'. Extract the string verbatim as printed; null if blank.", "title": "Name(s) shown on return (Schedule 2)"}, "ssn": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Schedule 2 header field 'Your social security number'. On these public-release scans this value is usually masked/redacted: transcribe exactly the characters that are legible; null if fully redacted or blank.", "title": "Your social security number (Schedule 2)"}, "line_1_amt": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule 2 Part I line 1 'Alternative minimum tax'. Attach Form 6251. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 1 alternative minimum tax"}, "line_2_excess_aptc_repayment": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule 2 Part I line 2 'Excess advance premium tax credit repayment'. Attach Form 8962. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 2 excess advance premium tax credit repayment"}, "line_3_part1_total": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule 2 Part I line 3 'Add lines 1 and 2'. Carried to Form 1040 line 17. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 3 Part I total"}, "line_4_se_tax": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule 2 Part II line 4 'Self-employment tax'. Attach Schedule SE. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 4 self-employment tax"}, "line_5_unreported_tip_tax": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule 2 Part II line 5 'Social security and Medicare tax on unreported tip income'. Attach Form 4137. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 5 social security and Medicare tax on unreported tips"}, "line_6_uncollected_ss_medicare_wages": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule 2 Part II line 6 'Uncollected social security and Medicare tax on wages'. Attach Form 8919. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 6 uncollected social security and Medicare tax on wages"}, "line_7_total_lines_5_6": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule 2 Part II line 7 'Total additional social security and Medicare tax. Add lines 5 and 6'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 7 total additional social security and Medicare tax"}, "line_8_additional_tax_tax_favored_accounts": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule 2 Part II line 8 'Additional tax on IRAs or other tax-favored accounts'. Attach Form 5329 if required. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 8 additional tax on IRAs or other tax-favored accounts"}, "line_8_form_5329_not_required_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "description": "Schedule 2 Part II line 8 checkbox 'If not required, check here'. True if the line-8 'If not required, check here' box is checked; false if the box is printed but left unchecked;. Two-state policy: true ONLY if this box is marked; false otherwise (unmarked, or not printed on this rendering). Return null only if this page is not present.", "title": "Line 8 Form 5329 not required box"}, "line_9_household_employment_taxes": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule 2 Part II line 9 'Household employment taxes'. Attach Schedule H. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 9 household employment taxes"}, "line_10_homebuyer_credit_repayment": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule 2 Part II line 10 'Repayment of first-time homebuyer credit'. Attach Form 5405 if required. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 10 repayment of first-time homebuyer credit"}, "line_11_additional_medicare_tax": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule 2 Part II line 11 'Additional Medicare Tax'. Attach Form 8959. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 11 Additional Medicare Tax"}, "line_12_net_investment_income_tax": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule 2 Part II line 12 'Net investment income tax'. Attach Form 8960. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 12 net investment income tax"}, "line_13_uncollected_ss_rrta_w2_box12": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule 2 Part II line 13 'Uncollected social security and Medicare or RRTA tax' on tips or group-term life insurance from Form W-2, box 12. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 13 uncollected social security/Medicare/RRTA tax from W-2 box 12"}, "line_14_installment_interest_residential_lots": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule 2 Part II line 14 'Interest on tax due on installment income' from the sale of certain residential lots and timeshares. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 14 interest on tax due on installment income (lots/timeshares)"}, "line_15_installment_interest_over_150k": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule 2 Part II line 15 'Interest on the deferred tax on gain' from certain installment sales with a sales price over $150,000. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 15 interest on deferred tax (installment sales over $150,000)"}, "line_16_low_income_housing_recapture": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule 2 Part II line 16 'Recapture of low-income housing credit'. Attach Form 8611. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 16 recapture of low-income housing credit"}, "other_additional_taxes": {"anyOf": [{"items": {"$ref": "#/$defs/Sch2OtherTaxRow"}, "type": "array"}, {"type": "null"}], "default": null, "description": "Schedule 2 Part II line 17 'Other additional taxes:' write-in grid on page 2, sublines '17a' through '17z' ('Recapture of other credits', 'Golden parachute payments', etc.). One row per subline with a nonblank write-in or amount; empty grid → null.", "title": "Line 17 other additional taxes (17a-17z)"}, "line_18_total_additional_taxes": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule 2 Part II line 18 'Total additional taxes. Add lines 17a through 17z'. (Line 19 Reserved for future use is not modeled.) Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 18 total additional taxes"}, "line_20_section_965_installment": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule 2 Part II line 20 'Section 965 net tax liability installment from Form 965-A'. Not included in the line 21 sum. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 20 section 965 net tax liability installment"}, "line_21_total_other_taxes": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule 2 Part II line 21 'Add lines 4, 7 through 16, and 18'. These are the 'total other taxes' carried to Form 1040 line 23. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 21 total other taxes"}}}, "Schedule3": {"type": "object", "title": "Schedule 3 (Form 1040) 2021 — Additional Credits and Payments", "properties": {"names_shown": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Schedule 3 header field 'Name(s) shown on Form 1040, 1040-SR, or 1040-NR'. Extract the string verbatim as printed; null if blank.", "title": "Name(s) shown on return (Schedule 3)"}, "ssn": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Schedule 3 header field 'Your social security number'. On these public-release scans this value is usually masked/redacted: transcribe exactly the characters that are legible; null if fully redacted or blank.", "title": "Your social security number (Schedule 3)"}, "line_1_foreign_tax_credit": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule 3 Part I line 1 'Foreign tax credit'. Attach Form 1116 if required. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 1 foreign tax credit"}, "line_2_dependent_care_credit": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule 3 Part I line 2 'Credit for child and dependent care expenses from Form 2441, line 11'. Attach Form 2441. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 2 credit for child and dependent care expenses"}, "line_3_education_credits": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule 3 Part I line 3 'Education credits from Form 8863, line 19'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 3 education credits"}, "line_4_retirement_savings_credit": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule 3 Part I line 4 'Retirement savings contributions credit'. Attach Form 8880. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 4 retirement savings contributions credit"}, "line_5_residential_energy_credits": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule 3 Part I line 5 'Residential energy credits'. Attach Form 5695. In the 2021 revision this is a single line (not split into 5a/5b). Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 5 residential energy credits"}, "other_nonrefundable_credits": {"anyOf": [{"items": {"$ref": "#/$defs/Sch3OtherCreditRow"}, "type": "array"}, {"type": "null"}], "default": null, "description": "Schedule 3 Part I line 6 'Other nonrefundable credits:' write-in grid, sublines '6a' through '6z' ('General business credit', 'Credit for prior year minimum tax', 'Adoption credit', etc.). One row per subline with a nonblank write-in or amount; empty grid → null.", "title": "Line 6 other nonrefundable credits (6a-6z)"}, "line_7_total_other_nonrefundable_credits": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule 3 Part I line 7 'Total other nonrefundable credits. Add lines 6a through 6z'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 7 total other nonrefundable credits"}, "line_8_part1_total": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule 3 Part I line 8 'Add lines 1 through 5 and 7'. Enter here and on Form 1040, 1040-SR, or 1040-NR, line 20. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 8 Part I total"}, "line_9_net_premium_tax_credit": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule 3 Part II line 9 'Net premium tax credit'. Attach Form 8962. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 9 net premium tax credit"}, "line_10_extension_payment": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule 3 Part II line 10 'Amount paid with request for extension to file' (see instructions). Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 10 amount paid with extension request"}, "line_11_excess_ss_rrta_withheld": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule 3 Part II line 11 'Excess social security and tier 1 RRTA tax withheld'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 11 excess social security and tier 1 RRTA tax withheld"}, "line_12_fuel_tax_credit": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule 3 Part II line 12 'Credit for federal tax on fuels'. Attach Form 4136. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 12 credit for federal tax on fuels"}, "line_13a_form_2439": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule 3 Part II line '13a' 'Form 2439' (under line 13 'Other payments or refundable credits:'). Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 13a Form 2439"}, "line_13b_sick_family_leave_before_apr1": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule 3 Part II line '13b' 'Qualified sick and family leave credits' from Schedule(s) H and Form(s) 7202 for leave taken before April 1, 2021. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 13b sick/family leave credits (leave before Apr 1, 2021)"}, "line_13c_health_coverage_tax_credit": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule 3 Part II line '13c' 'Health coverage tax credit from Form 8885'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 13c health coverage tax credit"}, "line_13d_repayment_credit": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule 3 Part II line '13d' 'Credit for repayment of amounts included in income' from earlier years. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 13d credit for repayment of amounts included in income"}, "line_13e_reserved": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule 3 Part II line '13e' 'Reserved for future use'. This line is reserved and normally has no entry; capture any printed value if present. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 13e reserved for future use"}, "line_13f_deferred_965_liability": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule 3 Part II line '13f' 'Deferred amount of net 965 tax liability' (see instructions). Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 13f deferred amount of net 965 tax liability"}, "line_13g_child_dependent_care_credit": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule 3 Part II line '13g' 'Credit for child and dependent care expenses' from Form 2441, line 10. Attach Form 2441. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 13g credit for child and dependent care expenses"}, "line_13h_sick_family_leave_after_mar31": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule 3 Part II line '13h' 'Qualified sick and family leave credits' from Schedule(s) H and Form(s) 7202 for leave taken after March 31, 2021. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 13h sick/family leave credits (leave after Mar 31, 2021)"}, "line_13z_other_type": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Schedule 3 Part II line '13z' 'Other payments or refundable credits. List type and amount' — the write-in TYPE text (not the amount). Extract the string verbatim as printed; null if blank.", "title": "Line 13z other payments/credits type"}, "line_13z_other_amount": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule 3 Part II line '13z' 'Other payments or refundable credits. List type and amount' — the amount in the 13z entry box. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 13z other payments/credits amount"}, "line_14_total_other_payments_credits": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule 3 Part II line 14 'Total other payments or refundable credits. Add lines 13a through 13z'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 14 total other payments or refundable credits"}, "line_15_part2_total": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule 3 Part II line 15 'Add lines 9 through 12 and 14'. Enter here and on Form 1040, 1040-SR, or 1040-NR, line 31. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 15 Part II total"}}}, "Form1116CountryColumn": {"type": "object", "title": "Form 1116 Part I foreign country/possession column (A/B/C)", "properties": {"column_label": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Column letter", "description": "Column letter printed in the Part I grid header 'Foreign Country or U.S. Possession', i.e. 'A', 'B', or 'C'. Extract exactly as printed; null if the column is entirely blank."}, "country_name": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Line i country or U.S. possession name", "description": "Line 'i' 'Enter the name of the foreign country or U.S. possession' for this column. Extract the string verbatim as printed; null if blank. Identifies the country column when populated; if blank, keep columns in print order (A, B, C)."}, "line_1a_income_description": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Line 1a income type description (write-in)", "description": "Line '1a' write-in description on the dotted lines under the Gross income from sources within country shown above heading. Extract the string verbatim as printed; null if blank."}, "line_1a_gross_income": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 1a gross income from sources within country", "description": "Line '1a' boxed amount cell for this column: gross income from sources within the country shown above and of the type checked above. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_2_expenses_definitely_related": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 2 expenses definitely related to line 1a income", "description": "Line 2 'Expenses definitely related to the income on line 1a (attach statement)' for this column. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_3a_itemized_or_standard_deduction": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 3a certain itemized/standard deduction", "description": "Line '3a' 'Certain itemized deductions or standard deduction' under 'Pro rata share of other deductions not definitely related' for this column. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_3b_other_deductions": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 3b other deductions", "description": "Line '3b' 'Other deductions (attach statement)' for this column. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_3c_add_3a_3b": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 3c add lines 3a and 3b", "description": "Line '3c' 'Add lines 3a and 3b' for this column. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_3d_gross_foreign_source_income": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 3d gross foreign source income", "description": "Line '3d' 'Gross foreign source income' for this column. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_3e_gross_income_all_sources": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 3e gross income from all sources", "description": "Line '3e' 'Gross income from all sources' for this column. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_3f_divide_3d_by_3e": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 3f divide line 3d by line 3e", "description": "Line '3f' 'Divide line 3d by line 3e'. Decimal ratio as a JSON number (not whole-dollar); null if the entry box is blank."}, "line_3g_multiply_3c_by_3f": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 3g multiply line 3c by line 3f", "description": "Line '3g' 'Multiply line 3c by line 3f' for this column. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_4a_home_mortgage_interest": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 4a home mortgage interest", "description": "Line '4a' 'Home mortgage interest' under 'Pro rata share of interest expense', computed using the Worksheet for Home Mortgage Interest in the instructions, for this column. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_4b_other_interest_expense": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 4b other interest expense", "description": "Line '4b' 'Other interest expense' for this column. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_5_losses_from_foreign_sources": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 5 losses from foreign sources", "description": "Line 5 'Losses from foreign sources' for this column. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_6_add_2_3g_4a_4b_5": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 6 add lines 2, 3g, 4a, 4b, and 5", "description": "Line 6 'Add lines 2, 3g, 4a, 4b, and 5' for this column. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_7_subtract_6_from_1a": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 7 subtract line 6 from line 1a", "description": "Line 7 'Subtract line 6 from line 1a'. Enter the result here and on line 15, page 2, for this column. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}}}, "Form1116ForeignTaxRow": {"type": "object", "title": "Form 1116 Part II foreign taxes paid or accrued row (A/B/C)", "properties": {"row_label": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Row letter", "description": "Row letter printed in the left margin 'Country' column of the Part II grid, i.e. 'A', 'B', or 'C'. Extract exactly as printed; null if the row is entirely blank."}, "country_name": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Country (Part II row)", "description": "Country or U.S. possession name written in the leftmost 'Country' column for this Part II row. Extract the string verbatim as printed; null if blank. Identifies the row when populated; if blank, keep rows in print order (A, B, C) and correlated with the same-lettered Part I column."}, "credit_claimed_paid_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Column (j) Paid box", "description": "Column '(j)' 'Paid' checkbox under \"Credit is claimed for taxes (you must check one)\" for this row. True if the box is checked; false if the box is printed but left unchecked (including when 'Accrued' is checked instead). Two-state policy: true ONLY if this box is marked; false otherwise. Return null only if this page is not present."}, "credit_claimed_accrued_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Column (k) Accrued box", "description": "Column '(k)' 'Accrued' checkbox under \"Credit is claimed for taxes (you must check one)\" for this row. True if the box is checked; false if the box is printed but left unchecked (including when 'Paid' is checked instead). Two-state policy: true ONLY if this box is marked; false otherwise. Return null only if this page is not present."}, "date_paid_or_accrued": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Column (l) date paid or accrued", "description": "Column '(l) Date paid or accrued' for this row. Extract the string verbatim as printed (do not reformat); null if blank."}, "foreign_currency_dividends": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Column (m) dividends withheld, in foreign currency", "description": "Column '(m) Dividends' under \"Taxes withheld at source on:\" 'In foreign currency' for this row. Amount as a JSON number in the foreign currency as printed (not U.S. dollars); an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "foreign_currency_rents_and_royalties": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Column (n) rents and royalties withheld, in foreign currency", "description": "Column '(n) Rents and royalties' under \"Taxes withheld at source on:\" 'In foreign currency' for this row. Amount as a JSON number in the foreign currency as printed; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "foreign_currency_interest": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Column (o) interest withheld, in foreign currency", "description": "Column '(o) Interest' under \"Taxes withheld at source on:\" 'In foreign currency' for this row. Amount as a JSON number in the foreign currency as printed; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "foreign_currency_other_taxes": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Column (p) other foreign taxes paid or accrued, in foreign currency", "description": "Column '(p) Other foreign taxes paid or accrued' 'In foreign currency' for this row. Amount as a JSON number in the foreign currency as printed; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "usd_dividends": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Column (q) dividends withheld, in U.S. dollars", "description": "Column '(q) Dividends' under \"Taxes withheld at source on:\" 'In U.S. dollars' for this row. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "usd_rents_and_royalties": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Column (r) rents and royalties withheld, in U.S. dollars", "description": "Column '(r) Rents and royalties' under \"Taxes withheld at source on:\" 'In U.S. dollars' for this row. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "usd_interest": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Column (s) interest withheld, in U.S. dollars", "description": "Column '(s) Interest' under \"Taxes withheld at source on:\" 'In U.S. dollars' for this row. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "usd_other_taxes": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Column (t) other foreign taxes paid or accrued, in U.S. dollars", "description": "Column '(t) Other foreign taxes paid or accrued' 'In U.S. dollars' for this row. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "usd_total_foreign_taxes": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Column (u) total foreign taxes paid or accrued", "description": "Column '(u) Total foreign taxes paid or accrued', computed as \"add cols. (q) through (t)\", for this row. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}}}, "Form1116": {"type": "object", "title": "Form 1116 (2021) — Foreign Tax Credit (Individual, Estate, or Trust)", "properties": {"name": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Name", "description": "Form 1116 header field 'Name'. Extract the string verbatim as printed; null if blank."}, "identifying_number": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Identifying number", "description": "Form 1116 header field \"Identifying number as shown on page 1 of your tax return\". On these public-release scans this value is usually masked/redacted: transcribe exactly the characters that are legible; null if fully redacted or blank."}, "category_section_951a_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Box a: Section 951A category income", "description": "Category-of-income checkbox 'a' 'Section 951A category income'. True if checked; false if printed but left unchecked. Only one of the eight category-of-income boxes (a-g, plus h is a text field) should be true for a given Form 1116. Two-state policy: true ONLY if this box is marked; false otherwise. Return null only if this page is not present."}, "category_foreign_branch_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Box b: Foreign branch category income", "description": "Category-of-income checkbox 'b' 'Foreign branch category income'. True if checked; false if printed but left unchecked. Two-state policy: true ONLY if this box is marked; false otherwise. Return null only if this page is not present."}, "category_passive_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Box c: Passive category income", "description": "Category-of-income checkbox 'c' 'Passive category income'. True if checked; false if printed but left unchecked. Two-state policy: true ONLY if this box is marked; false otherwise. Return null only if this page is not present."}, "category_general_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Box d: General category income", "description": "Category-of-income checkbox 'd' 'General category income'. True if checked; false if printed but left unchecked. Two-state policy: true ONLY if this box is marked; false otherwise. Return null only if this page is not present."}, "category_section_901j_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Box e: Section 901(j) income", "description": "Category-of-income checkbox 'e' 'Section 901(j) income'. True if checked; false if printed but left unchecked. Two-state policy: true ONLY if this box is marked; false otherwise. Return null only if this page is not present."}, "category_resourced_by_treaty_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Box f: Certain income re-sourced by treaty", "description": "Category-of-income checkbox 'f' 'Certain income re-sourced by treaty'. True if checked; false if printed but left unchecked. Two-state policy: true ONLY if this box is marked; false otherwise. Return null only if this page is not present."}, "category_lump_sum_distributions_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Box g: Lump-sum distributions", "description": "Category-of-income checkbox 'g' 'Lump-sum distributions'. True if checked; false if printed but left unchecked. Two-state policy: true ONLY if this box is marked; false otherwise. Return null only if this page is not present."}, "resident_of_country": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Line h: Resident of (name of country)", "description": "Line 'h' \"Resident of (name of country)\" write-in text (not a checkbox). Extract the string verbatim as printed; null if blank."}, "countries": {"anyOf": [{"items": {"$ref": "#/$defs/Form1116CountryColumn"}, "type": "array"}, {"type": "null"}], "default": null, "title": "Part I foreign country/possession columns A/B/C (lines i, 1a-7)", "description": "Part I 'Taxable Income or Loss From Sources Outside the United States' grid, columns 'A', 'B', 'C' under \"Foreign Country or U.S. Possession\", spanning line 'i' \"Enter the name of the foreign country or U.S. possession\" through line 7 'Subtract line 6 from line 1a'. One column per listed country/possession (up to 3, per the form note: use column A alone if only one foreign country or U.S. possession, else a separate column for each); empty grid → null."}, "line_1b_compensation_alternative_basis_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Line 1b check if line 1a is compensation with alternative basis", "description": "Line '1b' 'Check if line 1a is compensation for personal services as an employee' where total compensation from all sources is $250,000 or more and an alternative basis was used to determine its source. This single checkbox is printed once (to the left of the A/B/C grid), not per country column. True if checked; false if printed but left unchecked. Two-state policy: true ONLY if this box is marked; false otherwise. Return null only if this page is not present."}, "line_1a_total_gross_income": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 1a Total column (add cols. A, B, and C)", "description": "Part I line '1a' 'Total' column value, computed as \"Add cols. A, B, and C\". Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_6_total": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 6 Total column (add cols. A, B, and C)", "description": "Part I line 6 'Total' column value for \"Add lines 2, 3g, 4a, 4b, and 5\", computed as add cols. A, B, and C. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_7_total": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 7 Total column (add cols. A, B, and C)", "description": "Part I line 7 'Total' column value for 'Subtract line 6 from line 1a', computed as add cols. A, B, and C. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "foreign_taxes": {"anyOf": [{"items": {"$ref": "#/$defs/Form1116ForeignTaxRow"}, "type": "array"}, {"type": "null"}], "default": null, "title": "Part II foreign taxes paid or accrued rows A/B/C", "description": "Part II 'Foreign Taxes Paid or Accrued' grid, rows 'A', 'B', 'C' in the left 'Country' column, spanning column (j) 'Paid' through column (u) 'Total foreign taxes paid or accrued'. One row per listed country (up to 3, correlated with the same-lettered Part I column); empty grid → null. Does not include the '8 Add lines A through C' summary row, which is modeled as a fixed field."}, "line_8_total_foreign_taxes": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 8 total foreign taxes paid or accrued (all rows)", "description": "Part II line 8 \"Add lines A through C, column (u).\" Enter the total here and on line 9, page 2. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_9_total_foreign_taxes_from_line_8": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 9 total foreign taxes paid or accrued (from line 8)", "description": "Part III line 9 'Enter the amount from line 8'. These are the total foreign taxes paid or accrued for the category of income checked above Part I. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_10_carryover_and_carrybacks": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 10 carryover and carrybacks of foreign taxes", "description": "Part III line 10 'Enter the sum of any carryover of foreign taxes' (from Schedule B, line 3, column (xiv)) plus any carrybacks to the current tax year. Leave blank if income is section 951A category income (box a). Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_11_add_9_10": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 11 add lines 9 and 10", "description": "Part III line 11 'Add lines 9 and 10'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_12_reduction_in_foreign_taxes": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 12 reduction in foreign taxes", "description": "Part III line 12 'Reduction in foreign taxes'. Printed inside parentheses on the form (a filled entry is a reduction, i.e. negative). Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_13_taxes_reclassified_high_tax_kickout": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 13 taxes reclassified under high tax kickout", "description": "Part III line 13 'Taxes reclassified under high tax kickout'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_14_total_foreign_taxes_available": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 14 combine lines 11-13, total foreign taxes available for credit", "description": "Part III line 14 'Combine lines 11, 12, and 13'. This is the total amount of foreign taxes available for credit. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_15_taxable_income_from_line_7": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 15 taxable income or (loss) from line 7", "description": "Part III line 15 'Enter the amount from line 7'. This is the taxable income or (loss) from sources outside the United States (before adjustments) for the category of income checked above Part I. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_16_adjustments_to_line_15": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 16 adjustments to line 15", "description": "Part III line 16 'Adjustments to line 15'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_17_net_foreign_source_taxable_income": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 17 combine lines 15 and 16, net foreign source taxable income", "description": "Part III line 17 'Combine the amounts on lines 15 and 16'. This is the net foreign source taxable income; if zero or less, no foreign tax credit applies for this category and lines 18-24 are skipped (line 20 must still be completed if filing more than one Form 1116). Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_18_taxable_income_before_exemption": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 18 taxable income (individuals: Form 1040 line 15; estates/trusts: without exemption deduction)", "description": "Part III line 18 'Individuals'. Individuals enter the amount from line 15 of Form 1040, 1040-SR, or 1040-NR; estates and trusts enter taxable income without the deduction for the exemption. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_19_divide_17_by_18": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 19 divide line 17 by line 18", "description": "Part III line 19 'Divide line 17 by line 18'. If line 17 is more than line 18, enter '1'. Decimal ratio as a JSON number (not whole-dollar); null if the entry box is blank."}, "line_20_tax_totals": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 20 tax totals (individuals: Form 1040 line 16 + Schedule 2 line 2; estates/trusts per instructions)", "description": "Part III line 20 'Individuals'. Individuals enter the total of Form 1040, 1040-SR, or 1040-NR, line 16, and Schedule 2 (Form 1040), line 2; estates and trusts enter the amount from Form 1041, Schedule G, line 1a, or the total of Form 990-T, Part II, lines 2, 3, 4, and 6; foreign estates and trusts enter the amount from Form 1040-NR, line 16. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_21_multiply_20_by_19": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 21 multiply line 20 by line 19 (maximum amount of credit)", "description": "Part III line 21 'Multiply line 20 by line 19 (maximum amount of credit)'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_22_increase_in_limitation": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 22 increase in limitation (section 960(c))", "description": "Part III line 22 'Increase in limitation (section 960(c))'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_23_add_21_22": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 23 add lines 21 and 22", "description": "Part III line 23 'Add lines 21 and 22'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_24_smaller_of_14_or_23": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 24 smaller of line 14 or line 23", "description": "Part III line 24 'Enter the smaller of line 14 or line 23'. If this is the only Form 1116 filed, lines 25-32 are skipped and this amount goes directly to line 33; otherwise complete the appropriate line in Part IV. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_25_credit_section_951a": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 25 credit for taxes on section 951A category income", "description": "Part IV line 25 'Credit for taxes on section 951A category income'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_26_credit_foreign_branch": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 26 credit for taxes on foreign branch category income", "description": "Part IV line 26 'Credit for taxes on foreign branch category income'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_27_credit_passive": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 27 credit for taxes on passive category income", "description": "Part IV line 27 'Credit for taxes on passive category income'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_28_credit_general": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 28 credit for taxes on general category income", "description": "Part IV line 28 'Credit for taxes on general category income'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_29_credit_section_901j": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 29 credit for taxes on section 901(j) income", "description": "Part IV line 29 'Credit for taxes on section 901(j) income'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_30_credit_resourced_by_treaty": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 30 credit for taxes on certain income re-sourced by treaty", "description": "Part IV line 30 'Credit for taxes on certain income re-sourced by treaty'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_31_credit_lump_sum_distributions": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 31 credit for taxes on lump-sum distributions", "description": "Part IV line 31 'Credit for taxes on lump-sum distributions'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_32_add_25_through_31": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 32 add lines 25 through 31", "description": "Part IV line 32 'Add lines 25 through 31'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_33_smaller_of_20_or_32": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 33 smaller of line 20 or line 32", "description": "Part IV line 33 'Enter the smaller of line 20 or line 32'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_34_reduction_boycott_operations": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 34 reduction of credit for international boycott operations", "description": "Part IV line 34 'Reduction of credit for international boycott operations'. See instructions for line 12. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_35_foreign_tax_credit": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 35 foreign tax credit (subtract line 34 from line 33)", "description": "Part IV line 35 'Subtract line 34 from line 33'. This is the foreign tax credit; enter here and on Schedule 3 (Form 1040), line 1, Form 1041 Schedule G line 2a, or Form 990-T Part III line 1a. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}}}, "Form2106": {"type": "object", "title": "Form 2106 (2021) — Employee Business Expenses", "properties": {"your_name": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Your name", "description": "Form 2106 header field 'Your name'. Extract the string verbatim as printed; null if blank."}, "occupation_in_which_expenses_incurred": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Occupation in which you incurred expenses", "description": "Form 2106 header field 'Occupation in which you incurred expenses'. Extract the string verbatim as printed; null if blank."}, "social_security_number": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Social security number", "description": "Form 2106 header field 'Social security number'. On these public-release scans this value is usually masked/redacted: transcribe exactly the characters that are legible; null if fully redacted or blank."}, "line_1_vehicle_expense_col_a": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 1 vehicle expense — Column A (Other Than Meals)", "description": "Part I Step 1 line 1 'Vehicle expense from line 22 or line 29' (Rural mail carriers: see instructions), Column A 'Other Than Meals'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank. Column B is shaded/not applicable on this line."}, "line_2_parking_tolls_transportation_col_a": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 2 parking, tolls, transportation — Column A", "description": "Part I Step 1 line 2 'Parking fees, tolls, and transportation' — including trains, buses, etc., that didn't involve overnight travel or commuting to and from work — Column A 'Other Than Meals'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank. Column B is shaded/not applicable on this line."}, "line_3_travel_expense_away_from_home_col_a": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 3 travel expense away from home overnight — Column A", "description": "Part I Step 1 line 3 'Travel expense while away from home overnight' — including lodging, airfare, car rental, etc.; don't include meals. Column A 'Other Than Meals'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank. Column B is shaded/not applicable on this line."}, "line_4_business_expenses_not_included_col_a": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 4 business expenses not included on lines 1-3 — Column A", "description": "Part I Step 1 line 4 'Business expenses not included on lines 1 through 3'. Don't include meals. Column A 'Other Than Meals'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank. Column B is shaded/not applicable on this line."}, "line_5_meals_expenses_col_b": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 5 meals expenses — Column B", "description": "Part I Step 1 line 5 'Meals expenses' (see instructions), Column B 'Meals'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank. Column A is shaded/not applicable on this line."}, "line_6_total_expenses_col_a": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 6 total expenses — Column A", "description": "Part I Step 1 line 6 'Total expenses': in Column A, add lines 1 through 4 and enter the result. Column A 'Other Than Meals'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_6_total_expenses_col_b": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 6 total expenses — Column B", "description": "Part I Step 1 line 6 'Total expenses': in Column B, enter the amount from line 5. Column B 'Meals'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_7_employer_reimbursements_col_a": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 7 employer reimbursements not in box 1 of W-2 — Column A", "description": "Part I Step 2 line 7 'Enter reimbursements received from your employer that weren't reported to you in box 1 of Form W-2', including any reimbursements reported under code 'L' in box 12 of Form W-2 (see instructions). Column A 'Other Than Meals'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_7_employer_reimbursements_col_b": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 7 employer reimbursements not in box 1 of W-2 — Column B", "description": "Part I Step 2 line 7 'Enter reimbursements received from your employer that weren't reported to you in box 1 of Form W-2', Column B 'Meals'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_8_subtract_7_from_6_col_a": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 8 subtract line 7 from line 6 — Column A", "description": "Part I Step 3 line 8 'Subtract line 7 from line 6. If zero or less, enter -0-.' If line 7 is greater than line 6 in Column A, report the excess as income on Form 1040 or 1040-SR, line 1 (or Form 1040-NR, line 1a). Column A 'Other Than Meals'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_8_subtract_7_from_6_col_b": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 8 subtract line 7 from line 6 — Column B", "description": "Part I Step 3 line 8 'Subtract line 7 from line 6. If zero or less, enter -0-.' Column B 'Meals'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_9_col_b": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 9 amount from line 8 (Column B per instructions)", "description": "Part I Step 3 line 9 — in Column A, enter the amount from line 8; in Column B, see the instructions for the amount to enter. This is the Column B 'Meals' entry (Column A is shaded/not applicable on this line since it is a straight carryover of line 8 Column A, modeled via line_8_subtract_7_from_6_col_a). Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_10_total_col_a": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 10 total — Column A", "description": "Part I Step 3 line 10 'Add the amounts on line 9 for both columns and enter the total here'. Also entered on Schedule 1 (Form 1040), line 12. Column A 'Other Than Meals'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_10_total_col_b": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 10 total — Column B", "description": "Part I Step 3 line 10 'Add the amounts on line 9 for both columns and enter the total here'. Column B 'Meals'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_11_vehicle_1_date_placed_in_service": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Line 11 Vehicle 1 date placed in service", "description": "Part II Section A line 11 'Enter the date the vehicle was placed in service', column '(a) Vehicle 1'. Extract exactly as printed (Mo./day/yr. slashes on the form); null if blank."}, "line_11_vehicle_2_date_placed_in_service": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Line 11 Vehicle 2 date placed in service", "description": "Part II Section A line 11 'Enter the date the vehicle was placed in service', column '(b) Vehicle 2'. Extract exactly as printed; null if blank."}, "line_12_vehicle_1_total_miles": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 12 Vehicle 1 total miles driven during 2021", "description": "Part II Section A line 12 'Total miles the vehicle was driven during 2021', column '(a) Vehicle 1'. Whole-number mileage as a JSON number (the printed 'miles' unit label is not part of the entry); null if the entry box is blank."}, "line_12_vehicle_2_total_miles": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 12 Vehicle 2 total miles driven during 2021", "description": "Part II Section A line 12 'Total miles the vehicle was driven during 2021', column '(b) Vehicle 2'. Whole-number mileage as a JSON number; null if the entry box is blank."}, "line_13_vehicle_1_business_miles": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 13 Vehicle 1 business miles included on line 12", "description": "Part II Section A line 13 'Business miles included on line 12', column '(a) Vehicle 1'. Whole-number mileage as a JSON number; null if the entry box is blank."}, "line_13_vehicle_2_business_miles": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 13 Vehicle 2 business miles included on line 12", "description": "Part II Section A line 13 'Business miles included on line 12', column '(b) Vehicle 2'. Whole-number mileage as a JSON number; null if the entry box is blank."}, "line_14_vehicle_1_percent_business_use": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 14 Vehicle 1 percent of business use", "description": "Part II Section A line 14 'Percent of business use. Divide line 13 by line 12', column '(a) Vehicle 1'. Numeric percentage as printed before the percent sign, as a JSON number (e.g. 62.5 for 62.5%); null if the entry box is blank."}, "line_14_vehicle_2_percent_business_use": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 14 Vehicle 2 percent of business use", "description": "Part II Section A line 14 'Percent of business use. Divide line 13 by line 12', column '(b) Vehicle 2'. Numeric percentage as printed before the percent sign, as a JSON number; null if the entry box is blank."}, "line_15_vehicle_1_avg_daily_commute": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 15 Vehicle 1 average daily roundtrip commuting distance", "description": "Part II Section A line 15 'Average daily roundtrip commuting distance', column '(a) Vehicle 1'. Whole-number mileage as a JSON number; null if the entry box is blank."}, "line_15_vehicle_2_avg_daily_commute": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 15 Vehicle 2 average daily roundtrip commuting distance", "description": "Part II Section A line 15 'Average daily roundtrip commuting distance', column '(b) Vehicle 2'. Whole-number mileage as a JSON number; null if the entry box is blank."}, "line_16_vehicle_1_commuting_miles": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 16 Vehicle 1 commuting miles included on line 12", "description": "Part II Section A line 16 'Commuting miles included on line 12', column '(a) Vehicle 1'. Whole-number mileage as a JSON number; null if the entry box is blank."}, "line_16_vehicle_2_commuting_miles": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 16 Vehicle 2 commuting miles included on line 12", "description": "Part II Section A line 16 'Commuting miles included on line 12', column '(b) Vehicle 2'. Whole-number mileage as a JSON number; null if the entry box is blank."}, "line_17_vehicle_1_other_miles": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 17 Vehicle 1 other miles", "description": "Part II Section A line 17 'Other miles. Add lines 13 and 16 and subtract the total from line 12', column '(a) Vehicle 1'. Whole-number mileage as a JSON number; null if the entry box is blank."}, "line_17_vehicle_2_other_miles": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 17 Vehicle 2 other miles", "description": "Part II Section A line 17 'Other miles. Add lines 13 and 16 and subtract the total from line 12', column '(b) Vehicle 2'. Whole-number mileage as a JSON number; null if the entry box is blank."}, "line_18_vehicle_available_personal_use": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Line 18 vehicle available for personal use during off-duty hours", "description": "Part II Section A line 18 'Was your vehicle available for personal use during off-duty hours?' Single Yes/No question printed once for the section (not repeated per vehicle column). True if 'Yes' is checked, false if 'No' is checked. Return null only if this page is not present or Part II Section A is not completed."}, "line_19_spouse_other_vehicle_available": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Line 19 spouse has another vehicle available for personal use", "description": "Part II Section A line 19 'Do you (or your spouse) have another vehicle available for personal use?' Single Yes/No question printed once for the section. True if 'Yes' is checked, false if 'No' is checked. Return null only if this page is not present or Part II Section A is not completed."}, "line_20_evidence_to_support_deduction": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Line 20 evidence to support the deduction", "description": "Part II Section A line 20 'Do you have evidence to support your deduction?' Single Yes/No question printed once for the section. True if 'Yes' is checked, false if 'No' is checked. Return null only if this page is not present or Part II Section A is not completed."}, "line_21_evidence_written": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Line 21 is the evidence written", "description": "Part II Section A line 21 'If \"Yes,\" is the evidence written?' Single Yes/No question printed once for the section, applicable only if line 20 is true. True if 'Yes' is checked, false if 'No' is checked (including when line 20 is false and line 21 is left blank on the printed form but a false default applies). Return null only if this page is not present or Part II Section A is not completed."}, "line_22_standard_mileage_rate_total": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 22 standard mileage rate amount", "description": "Part II Section B line 22 'Standard Mileage Rate' — multiply line 13 by 56¢ (0.56), enter the result here and on line 1. This is a single combined entry box spanning both vehicle columns (not split into separate Vehicle 1 / Vehicle 2 cells like Section A). Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_23_vehicle_1_gas_oil_repairs_insurance": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 23 Vehicle 1 gasoline, oil, repairs, insurance", "description": "Part II Section C line 23 'Gasoline, oil, repairs, vehicle insurance, etc.', column '(a) Vehicle 1'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_23_vehicle_2_gas_oil_repairs_insurance": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 23 Vehicle 2 gasoline, oil, repairs, insurance", "description": "Part II Section C line 23 'Gasoline, oil, repairs, vehicle insurance, etc.', column '(b) Vehicle 2'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_24a_vehicle_1_rentals": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 24a Vehicle 1 vehicle rentals", "description": "Part II Section C line 24a 'Vehicle rentals', column '(a) Vehicle 1'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_24a_vehicle_2_rentals": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 24a Vehicle 2 vehicle rentals", "description": "Part II Section C line 24a 'Vehicle rentals', column '(b) Vehicle 2'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_24b_vehicle_1_inclusion_amount": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 24b Vehicle 1 inclusion amount", "description": "Part II Section C line 24b 'Inclusion amount' (see instructions), column '(a) Vehicle 1'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_24b_vehicle_2_inclusion_amount": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 24b Vehicle 2 inclusion amount", "description": "Part II Section C line 24b 'Inclusion amount' (see instructions), column '(b) Vehicle 2'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_24c_vehicle_1_subtract_24b_from_24a": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 24c Vehicle 1 subtract line 24b from line 24a", "description": "Part II Section C line 24c 'Subtract line 24b from line 24a', column '(a) Vehicle 1'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_24c_vehicle_2_subtract_24b_from_24a": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 24c Vehicle 2 subtract line 24b from line 24a", "description": "Part II Section C line 24c 'Subtract line 24b from line 24a', column '(b) Vehicle 2'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_25_vehicle_1_employer_provided_vehicle_value": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 25 Vehicle 1 value of employer-provided vehicle", "description": "Part II Section C line 25 'Value of employer-provided vehicle' (applies only if 100% of annual lease value was included on Form W-2 — see instructions), column '(a) Vehicle 1'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_25_vehicle_2_employer_provided_vehicle_value": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 25 Vehicle 2 value of employer-provided vehicle", "description": "Part II Section C line 25 'Value of employer-provided vehicle', column '(b) Vehicle 2'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_26_vehicle_1_add_23_24c_25": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 26 Vehicle 1 add lines 23, 24c, and 25", "description": "Part II Section C line 26 'Add lines 23, 24c, and 25', column '(a) Vehicle 1'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_26_vehicle_2_add_23_24c_25": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 26 Vehicle 2 add lines 23, 24c, and 25", "description": "Part II Section C line 26 'Add lines 23, 24c, and 25', column '(b) Vehicle 2'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_27_vehicle_1_multiply_26_by_line_14_pct": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 27 Vehicle 1 multiply line 26 by the percentage on line 14", "description": "Part II Section C line 27 'Multiply line 26 by the percentage on line 14', column '(a) Vehicle 1'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_27_vehicle_2_multiply_26_by_line_14_pct": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 27 Vehicle 2 multiply line 26 by the percentage on line 14", "description": "Part II Section C line 27 'Multiply line 26 by the percentage on line 14', column '(b) Vehicle 2'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_28_vehicle_1_depreciation": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 28 Vehicle 1 depreciation", "description": "Part II Section C line 28 'Depreciation' (see instructions), column '(a) Vehicle 1'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_28_vehicle_2_depreciation": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 28 Vehicle 2 depreciation", "description": "Part II Section C line 28 'Depreciation' (see instructions), column '(b) Vehicle 2'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_29_vehicle_1_add_27_28": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 29 Vehicle 1 add lines 27 and 28", "description": "Part II Section C line 29 'Add lines 27 and 28. Enter total here and on line 1', column '(a) Vehicle 1'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_29_vehicle_2_add_27_28": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 29 Vehicle 2 add lines 27 and 28", "description": "Part II Section C line 29 'Add lines 27 and 28. Enter total here and on line 1', column '(b) Vehicle 2'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_30_vehicle_1_cost_or_other_basis": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 30 Vehicle 1 cost or other basis", "description": "Part II Section D line 30 'Enter cost or other basis' (see instructions), column '(a) Vehicle 1'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_30_vehicle_2_cost_or_other_basis": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 30 Vehicle 2 cost or other basis", "description": "Part II Section D line 30 'Enter cost or other basis' (see instructions), column '(b) Vehicle 2'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_31_vehicle_1_section_179_and_special_allowance": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 31 Vehicle 1 section 179 deduction and special allowance", "description": "Part II Section D line 31 'Enter section 179 deduction and special allowance' (see instructions), column '(a) Vehicle 1'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_31_vehicle_2_section_179_and_special_allowance": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 31 Vehicle 2 section 179 deduction and special allowance", "description": "Part II Section D line 31 'Enter section 179 deduction and special allowance', column '(b) Vehicle 2'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_32_vehicle_1_multiply_30_by_14": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 32 Vehicle 1 multiply line 30 by line 14", "description": "Part II Section D line 32 'Multiply line 30 by line 14' (see instructions if you claimed the section 179 deduction or special allowance), column '(a) Vehicle 1'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_32_vehicle_2_multiply_30_by_14": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 32 Vehicle 2 multiply line 30 by line 14", "description": "Part II Section D line 32 'Multiply line 30 by line 14', column '(b) Vehicle 2'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_33_vehicle_1_depreciation_method_and_percentage": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Line 33 Vehicle 1 depreciation method and percentage", "description": "Part II Section D line 33 'Enter depreciation method and percentage' (see instructions), column '(a) Vehicle 1'. Extract the string verbatim as printed (e.g. a method abbreviation and a percentage together); null if blank."}, "line_33_vehicle_2_depreciation_method_and_percentage": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Line 33 Vehicle 2 depreciation method and percentage", "description": "Part II Section D line 33 'Enter depreciation method and percentage', column '(b) Vehicle 2'. Extract the string verbatim as printed; null if blank."}, "line_34_vehicle_1_multiply_32_by_33": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 34 Vehicle 1 multiply line 32 by the percentage on line 33", "description": "Part II Section D line 34 'Multiply line 32 by the percentage on line 33' (see instructions), column '(a) Vehicle 1'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_34_vehicle_2_multiply_32_by_33": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 34 Vehicle 2 multiply line 32 by the percentage on line 33", "description": "Part II Section D line 34 'Multiply line 32 by the percentage on line 33', column '(b) Vehicle 2'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_35_vehicle_1_add_31_34": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 35 Vehicle 1 add lines 31 and 34", "description": "Part II Section D line 35 'Add lines 31 and 34', column '(a) Vehicle 1'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_35_vehicle_2_add_31_34": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 35 Vehicle 2 add lines 31 and 34", "description": "Part II Section D line 35 'Add lines 31 and 34', column '(b) Vehicle 2'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_36_vehicle_1_applicable_limit": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 36 Vehicle 1 applicable limit", "description": "Part II Section D line 36 'Enter the applicable limit explained in the line 36 instructions', column '(a) Vehicle 1'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_36_vehicle_2_applicable_limit": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 36 Vehicle 2 applicable limit", "description": "Part II Section D line 36 'Enter the applicable limit explained in the line 36 instructions', column '(b) Vehicle 2'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_37_vehicle_1_multiply_36_by_line_14_pct": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 37 Vehicle 1 multiply line 36 by the percentage on line 14", "description": "Part II Section D line 37 'Multiply line 36 by the percentage on line 14', column '(a) Vehicle 1'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_37_vehicle_2_multiply_36_by_line_14_pct": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 37 Vehicle 2 multiply line 36 by the percentage on line 14", "description": "Part II Section D line 37 'Multiply line 36 by the percentage on line 14', column '(b) Vehicle 2'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_38_vehicle_1_smaller_of_35_or_37": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 38 Vehicle 1 smaller of line 35 or line 37", "description": "Part II Section D line 38 'Enter the smaller of line 35 or line 37' — if you skipped lines 36 and 37, enter the amount from line 35; also enter this amount on line 28 above. Column '(a) Vehicle 1'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_38_vehicle_2_smaller_of_35_or_37": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 38 Vehicle 2 smaller of line 35 or line 37", "description": "Part II Section D line 38 'Enter the smaller of line 35 or line 37', column '(b) Vehicle 2'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}}}, "Form4562Sec179PropertyRow": {"type": "object", "title": "Form 4562 Part I line 6 section 179 property row", "properties": {"description": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Column (a) description of property", "description": "Line 6 column '(a) Description of property' for this listed section 179 asset. Extract the string verbatim as printed; null if blank. Identifies the row when populated; if blank, keep rows in print order."}, "cost_business_use_only": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Column (b) cost (business use only)", "description": "Line 6 column '(b) Cost (business use only)' for this row. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "elected_cost": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Column (c) elected cost", "description": "Line 6 column '(c) Elected cost' for this row. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}}}, "Form4562Line26PropertyRow": {"type": "object", "title": "Form 4562 Part V line 26 listed-property row (>50% business use)", "properties": {"type_of_property": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Column (a) type of property", "description": "Line 26 column \"(a) Type of property (list vehicles first)\" for this row, under 'Property used more than 50% in a qualified business use'. Extract the string verbatim as printed; null if blank. Identifies the row when populated; if blank, keep rows in print order."}, "date_placed_in_service": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Column (b) date placed in service", "description": "Line 26 column '(b) Date placed in service' for this row. Extract the string verbatim as printed (e.g. month/day/year); null if blank."}, "business_investment_use_pct": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Column (c) business/investment use percentage", "description": "Line 26 column '(c) Business/investment use percentage' for this row. Numeric percentage as printed (e.g. 80 for 80%) as a JSON number; null if the entry box is blank."}, "cost_or_other_basis": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Column (d) cost or other basis", "description": "Line 26 column '(d) Cost or other basis' for this row. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "basis_for_depreciation": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Column (e) basis for depreciation", "description": "Line 26 column '(e) Basis for depreciation (business/investment use only)' for this row. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "recovery_period": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Column (f) recovery period", "description": "Line 26 column '(f) Recovery period' for this row. Extract the string verbatim as printed (e.g. '5 yrs.'); null if blank."}, "method_convention": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Column (g) method/convention", "description": "Line 26 column '(g) Method/Convention' for this row. Extract the string verbatim as printed; null if blank."}, "depreciation_deduction": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Column (h) depreciation deduction", "description": "Line 26 column '(h) Depreciation deduction' for this row. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "elected_section_179_cost": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Column (i) elected section 179 cost", "description": "Line 26 column '(i) Elected section 179 cost' for this row. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}}}, "Form4562Line27PropertyRow": {"type": "object", "title": "Form 4562 Part V line 27 listed-property row (<=50% business use)", "properties": {"type_of_property": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Column (a) type of property", "description": "Line 27 column \"(a) Type of property (list vehicles first)\" for this row, under 'Property used 50% or less in a qualified business use'. Extract the string verbatim as printed; null if blank. Identifies the row when populated; if blank, keep rows in print order."}, "date_placed_in_service": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Column (b) date placed in service", "description": "Line 27 column '(b) Date placed in service' for this row. Extract the string verbatim as printed (e.g. month/day/year); null if blank."}, "business_investment_use_pct": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Column (c) business/investment use percentage", "description": "Line 27 column '(c) Business/investment use percentage' for this row. Numeric percentage as printed (e.g. 40 for 40%) as a JSON number; null if the entry box is blank."}, "cost_or_other_basis": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Column (d) cost or other basis", "description": "Line 27 column '(d) Cost or other basis' for this row. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "basis_for_depreciation": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Column (e) basis for depreciation", "description": "Line 27 column '(e) Basis for depreciation (business/investment use only)' for this row. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "recovery_period": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Column (f) recovery period", "description": "Line 27 column '(f) Recovery period' for this row. The form pre-prints the method as 'S/L –' in this column; the filer writes only the recovery-period number after the dash. Extract the full string verbatim as printed; null if blank."}, "depreciation_deduction": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Column (h) depreciation deduction", "description": "Line 27 column '(h) Depreciation deduction' for this row. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}}}, "Form4562VehicleRow": {"type": "object", "title": "Form 4562 Part V Section B vehicle column (1-6)", "properties": {"vehicle_label": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Vehicle column label", "description": "Column header printed above this vehicle's data, i.e. one of 'Vehicle 1' through 'Vehicle 6'. Extract exactly as printed; identifies this vehicle's column when populated; null only if the entire vehicle column is unused and unlabeled."}, "line_30_business_investment_miles": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 30 total business/investment miles driven", "description": "Line 30 'Total business/investment miles driven during the year' for this vehicle column; instructions specify not to include commuting miles. Whole-number mileage as a JSON number; null if the entry box is blank."}, "line_31_total_commuting_miles": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 31 total commuting miles driven", "description": "Line 31 'Total commuting miles driven during the year' for this vehicle column. Whole-number mileage as a JSON number; null if the entry box is blank."}, "line_32_total_other_personal_miles": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 32 total other personal (noncommuting) miles driven", "description": "Line 32 'Total other personal (noncommuting) miles driven' for this vehicle column. Whole-number mileage as a JSON number; null if the entry box is blank."}, "line_33_total_miles_driven": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 33 total miles driven during the year", "description": "Line 33 'Total miles driven during the year'. Add lines 30 through 32, for this vehicle column. Whole-number mileage as a JSON number; null if the entry box is blank."}, "line_34_available_for_personal_use_yes": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Line 34 available for personal use during off-duty hours (Yes)", "description": "Line 34 \"Was the vehicle available for personal use during off-duty hours?\" 'Yes' box for this vehicle column. True if the 'Yes' box is checked; false if the box is printed but left unchecked (including when 'No' is checked instead). Two-state policy: true ONLY if this box is marked; false otherwise. Return null only if this page is not present."}, "line_34_available_for_personal_use_no": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Line 34 available for personal use during off-duty hours (No)", "description": "Line 34 \"Was the vehicle available for personal use during off-duty hours?\" 'No' box for this vehicle column. True if the 'No' box is checked; false if the box is printed but left unchecked (including when 'Yes' is checked instead). Two-state policy: true ONLY if this box is marked; false otherwise. Return null only if this page is not present."}, "line_35_used_by_more_than_5pct_owner_yes": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Line 35 used primarily by more-than-5% owner (Yes)", "description": "Line 35 \"Was the vehicle used primarily by a more than 5% owner or related person?\" 'Yes' box for this vehicle column. True if the 'Yes' box is checked; false if the box is printed but left unchecked (including when 'No' is checked instead). Two-state policy: true ONLY if this box is marked; false otherwise. Return null only if this page is not present."}, "line_35_used_by_more_than_5pct_owner_no": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Line 35 used primarily by more-than-5% owner (No)", "description": "Line 35 \"Was the vehicle used primarily by a more than 5% owner or related person?\" 'No' box for this vehicle column. True if the 'No' box is checked; false if the box is printed but left unchecked (including when 'Yes' is checked instead). Two-state policy: true ONLY if this box is marked; false otherwise. Return null only if this page is not present."}, "line_36_another_vehicle_available_yes": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Line 36 another vehicle available for personal use (Yes)", "description": "Line 36 'Is another vehicle available for personal use?' 'Yes' box for this vehicle column. True if the 'Yes' box is checked; false if the box is printed but left unchecked (including when 'No' is checked instead). Two-state policy: true ONLY if this box is marked; false otherwise. Return null only if this page is not present."}, "line_36_another_vehicle_available_no": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Line 36 another vehicle available for personal use (No)", "description": "Line 36 'Is another vehicle available for personal use?' 'No' box for this vehicle column. True if the 'No' box is checked; false if the box is printed but left unchecked (including when 'Yes' is checked instead). Two-state policy: true ONLY if this box is marked; false otherwise. Return null only if this page is not present."}}}, "Form4562AmortizationRow": {"type": "object", "title": "Form 4562 Part VI line 42 amortization row", "properties": {"description_of_costs": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Column (a) description of costs", "description": "Line 42 column '(a) Description of costs' for this amortized-cost row, under 'Amortization of costs that begins during your 2021 tax year'. Extract the string verbatim as printed; null if blank. Identifies the row when populated; if blank, keep rows in print order."}, "date_amortization_begins": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Column (b) date amortization begins", "description": "Line 42 column '(b) Date amortization begins' for this row. Extract the string verbatim as printed (e.g. month/day/year); null if blank."}, "amortizable_amount": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Column (c) amortizable amount", "description": "Line 42 column '(c) Amortizable amount' for this row. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "code_section": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Column (d) code section", "description": "Line 42 column '(d) Code section' for this row. Extract the string verbatim as printed; null if blank."}, "amortization_period_or_pct": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Column (e) amortization period or percentage", "description": "Line 42 column '(e) Amortization period or percentage' for this row. Extract the string verbatim as printed (number of years or a percentage); null if blank."}, "amortization_for_this_year": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Column (f) amortization for this year", "description": "Line 42 column '(f) Amortization for this year' for this row. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}}}, "Form4562": {"type": "object", "title": "Form 4562 (2021) — Depreciation and Amortization", "properties": {"names_shown": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Name(s) shown on return", "description": "Form 4562 header field 'Name(s) shown on return'. Extract the string verbatim as printed; null if blank."}, "business_or_activity": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Business or activity to which this form relates", "description": "Form 4562 header field 'Business or activity to which this form relates'. Extract the string verbatim as printed; null if blank."}, "identifying_number": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Identifying number", "description": "Form 4562 header field 'Identifying number'. On these public-release scans this value may be masked/redacted: transcribe exactly the characters that are legible; null if fully redacted or blank."}, "line_1_maximum_amount": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 1 maximum amount", "description": "Part I line 1 'Maximum amount' (see instructions for the current-year section 179 dollar limit). Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_2_total_cost_sec179_property": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 2 total cost of section 179 property placed in service", "description": "Part I line 2 'Total cost of section 179 property placed in service'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_3_threshold_cost": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 3 threshold cost of section 179 property before reduction in limitation", "description": "Part I line 3 'Threshold cost of section 179 property before reduction in limitation'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_4_reduction_in_limitation": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 4 reduction in limitation", "description": "Part I line 4 'Reduction in limitation'. Subtract line 3 from line 2; if zero or less, enter -0-. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_5_dollar_limitation": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 5 dollar limitation for tax year", "description": "Part I line 5 'Dollar limitation for tax year'. Subtract line 4 from line 1; if zero or less, enter -0-; special rule if married filing separately (see instructions). Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_6_sec179_property_rows": {"anyOf": [{"items": {"$ref": "#/$defs/Form4562Sec179PropertyRow"}, "type": "array"}, {"type": "null"}], "default": null, "title": "Line 6 section 179 property listing", "description": "Part I line 6 listing of individual section 179 property, columns '(a) Description of property', '(b) Cost (business use only)', '(c) Elected cost'. One row per listed asset; empty grid (no assets listed) → null."}, "line_7_listed_property": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 7 listed property (from line 29)", "description": "Part I line 7 'Listed property'. Enter the amount from line 29. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_8_total_elected_cost": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 8 total elected cost of section 179 property", "description": "Part I line 8 'Total elected cost of section 179 property'. Add amounts in column (c), lines 6 and 7. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_9_tentative_deduction": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 9 tentative deduction", "description": "Part I line 9 'Tentative deduction'. Enter the smaller of line 5 or line 8. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_10_carryover_disallowed_deduction": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 10 carryover of disallowed deduction from 2021", "description": "Part I line 10 'Carryover of disallowed deduction from line 13 of your 2020 Form 4562'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_11_business_income_limitation": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 11 business income limitation", "description": "Part I line 11 'Business income limitation'. Enter the smaller of business income (not less than zero) or line 5; see instructions. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_12_sec179_expense_deduction": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 12 section 179 expense deduction", "description": "Part I line 12 'Section 179 expense deduction'. Add lines 9 and 10, but don't enter more than line 11. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_13_carryover_disallowed_deduction_to_2022": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 13 carryover of disallowed deduction to 2023", "description": "Part I line 13 'Carryover of disallowed deduction to 2022'. Add lines 9 and 10, less line 12. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_14_special_depreciation_allowance": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 14 special depreciation allowance (non-listed property)", "description": "Part II line 14 'Special depreciation allowance' for qualified property (other than listed property) placed in service during the tax year. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_15_property_sec168f1_election": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 15 property subject to section 168(f)(1) election", "description": "Part II line 15 'Property subject to section 168(f)(1) election'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_16_other_depreciation": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 16 other depreciation (including ACRS)", "description": "Part II line 16 'Other depreciation (including ACRS)'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_17_macrs_deductions_pre2022": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 17 MACRS deductions for assets placed in service before 2021", "description": "Part III Section A line 17 'MACRS deductions for assets placed in service in tax years beginning before 2021'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_18_general_asset_account_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Line 18 general asset account election checkbox", "description": "Part III Section A line 18 'general asset accounts' checkbox: if you are electing to group any assets placed in service during the tax year into one or more general asset accounts, check here. True if checked; false if printed but left unchecked. Return null only if this page is not present."}, "line_19a_3yr_month_year_placed": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Line 19a 3-year property — (b) month and year placed in service", "description": "Part III Section B line '19a' '3-year property' row, column '(b) Month and year placed in service'. The (b) column is grayed out/blocked on the official form for this row (not filer-enterable); extract the string verbatim as printed if present, else null."}, "line_19a_3yr_basis_for_depreciation": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 19a 3-year property — (c) basis for depreciation", "description": "Part III Section B line '19a' '3-year property' row, column '(c) Basis for depreciation (business/investment use only)'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_19a_3yr_recovery_period": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Line 19a 3-year property — (d) recovery period", "description": "Part III Section B line '19a' '3-year property' row, column '(d) Recovery period'. Extract the string verbatim as printed; null if blank."}, "line_19a_3yr_convention": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Line 19a 3-year property — (e) convention", "description": "Part III Section B line '19a' '3-year property' row, column '(e) Convention'. Extract the string verbatim as printed; null if blank."}, "line_19a_3yr_method": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Line 19a 3-year property — (f) method", "description": "Part III Section B line '19a' '3-year property' row, column '(f) Method'. Extract the string verbatim as printed; null if blank."}, "line_19a_3yr_depreciation_deduction": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 19a 3-year property — (g) depreciation deduction", "description": "Part III Section B line '19a' '3-year property' row, column '(g) Depreciation deduction'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_19b_5yr_month_year_placed": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Line 19b 5-year property — (b) month and year placed in service", "description": "Part III Section B line '19b' '5-year property' row, column '(b) Month and year placed in service'. The (b) column is grayed out/blocked on the official form for this row (not filer-enterable); extract the string verbatim as printed if present, else null."}, "line_19b_5yr_basis_for_depreciation": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 19b 5-year property — (c) basis for depreciation", "description": "Part III Section B line '19b' '5-year property' row, column '(c) Basis for depreciation (business/investment use only)'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_19b_5yr_recovery_period": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Line 19b 5-year property — (d) recovery period", "description": "Part III Section B line '19b' '5-year property' row, column '(d) Recovery period'. Extract the string verbatim as printed; null if blank."}, "line_19b_5yr_convention": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Line 19b 5-year property — (e) convention", "description": "Part III Section B line '19b' '5-year property' row, column '(e) Convention'. Extract the string verbatim as printed; null if blank."}, "line_19b_5yr_method": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Line 19b 5-year property — (f) method", "description": "Part III Section B line '19b' '5-year property' row, column '(f) Method'. Extract the string verbatim as printed; null if blank."}, "line_19b_5yr_depreciation_deduction": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 19b 5-year property — (g) depreciation deduction", "description": "Part III Section B line '19b' '5-year property' row, column '(g) Depreciation deduction'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_19c_7yr_month_year_placed": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Line 19c 7-year property — (b) month and year placed in service", "description": "Part III Section B line '19c' '7-year property' row, column '(b) Month and year placed in service'. The (b) column is grayed out/blocked on the official form for this row (not filer-enterable); extract the string verbatim as printed if present, else null."}, "line_19c_7yr_basis_for_depreciation": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 19c 7-year property — (c) basis for depreciation", "description": "Part III Section B line '19c' '7-year property' row, column '(c) Basis for depreciation (business/investment use only)'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_19c_7yr_recovery_period": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Line 19c 7-year property — (d) recovery period", "description": "Part III Section B line '19c' '7-year property' row, column '(d) Recovery period'. Extract the string verbatim as printed; null if blank."}, "line_19c_7yr_convention": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Line 19c 7-year property — (e) convention", "description": "Part III Section B line '19c' '7-year property' row, column '(e) Convention'. Extract the string verbatim as printed; null if blank."}, "line_19c_7yr_method": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Line 19c 7-year property — (f) method", "description": "Part III Section B line '19c' '7-year property' row, column '(f) Method'. Extract the string verbatim as printed; null if blank."}, "line_19c_7yr_depreciation_deduction": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 19c 7-year property — (g) depreciation deduction", "description": "Part III Section B line '19c' '7-year property' row, column '(g) Depreciation deduction'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_19d_10yr_month_year_placed": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Line 19d 10-year property — (b) month and year placed in service", "description": "Part III Section B line '19d' '10-year property' row, column '(b) Month and year placed in service'. The (b) column is grayed out/blocked on the official form for this row (not filer-enterable); extract the string verbatim as printed if present, else null."}, "line_19d_10yr_basis_for_depreciation": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 19d 10-year property — (c) basis for depreciation", "description": "Part III Section B line '19d' '10-year property' row, column '(c) Basis for depreciation (business/investment use only)'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_19d_10yr_recovery_period": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Line 19d 10-year property — (d) recovery period", "description": "Part III Section B line '19d' '10-year property' row, column '(d) Recovery period'. Extract the string verbatim as printed; null if blank."}, "line_19d_10yr_convention": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Line 19d 10-year property — (e) convention", "description": "Part III Section B line '19d' '10-year property' row, column '(e) Convention'. Extract the string verbatim as printed; null if blank."}, "line_19d_10yr_method": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Line 19d 10-year property — (f) method", "description": "Part III Section B line '19d' '10-year property' row, column '(f) Method'. Extract the string verbatim as printed; null if blank."}, "line_19d_10yr_depreciation_deduction": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 19d 10-year property — (g) depreciation deduction", "description": "Part III Section B line '19d' '10-year property' row, column '(g) Depreciation deduction'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_19e_15yr_month_year_placed": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Line 19e 15-year property — (b) month and year placed in service", "description": "Part III Section B line '19e' '15-year property' row, column '(b) Month and year placed in service'. The (b) column is grayed out/blocked on the official form for this row (not filer-enterable); extract the string verbatim as printed if present, else null."}, "line_19e_15yr_basis_for_depreciation": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 19e 15-year property — (c) basis for depreciation", "description": "Part III Section B line '19e' '15-year property' row, column '(c) Basis for depreciation (business/investment use only)'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_19e_15yr_recovery_period": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Line 19e 15-year property — (d) recovery period", "description": "Part III Section B line '19e' '15-year property' row, column '(d) Recovery period'. Extract the string verbatim as printed; null if blank."}, "line_19e_15yr_convention": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Line 19e 15-year property — (e) convention", "description": "Part III Section B line '19e' '15-year property' row, column '(e) Convention'. Extract the string verbatim as printed; null if blank."}, "line_19e_15yr_method": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Line 19e 15-year property — (f) method", "description": "Part III Section B line '19e' '15-year property' row, column '(f) Method'. Extract the string verbatim as printed; null if blank."}, "line_19e_15yr_depreciation_deduction": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 19e 15-year property — (g) depreciation deduction", "description": "Part III Section B line '19e' '15-year property' row, column '(g) Depreciation deduction'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_19f_20yr_month_year_placed": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Line 19f 20-year property — (b) month and year placed in service", "description": "Part III Section B line '19f' '20-year property' row, column '(b) Month and year placed in service'. The (b) column is grayed out/blocked on the official form for this row (not filer-enterable); extract the string verbatim as printed if present, else null."}, "line_19f_20yr_basis_for_depreciation": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 19f 20-year property — (c) basis for depreciation", "description": "Part III Section B line '19f' '20-year property' row, column '(c) Basis for depreciation (business/investment use only)'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_19f_20yr_recovery_period": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Line 19f 20-year property — (d) recovery period", "description": "Part III Section B line '19f' '20-year property' row, column '(d) Recovery period'. Extract the string verbatim as printed; null if blank."}, "line_19f_20yr_convention": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Line 19f 20-year property — (e) convention", "description": "Part III Section B line '19f' '20-year property' row, column '(e) Convention'. Extract the string verbatim as printed; null if blank."}, "line_19f_20yr_method": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Line 19f 20-year property — (f) method", "description": "Part III Section B line '19f' '20-year property' row, column '(f) Method'. Extract the string verbatim as printed; null if blank."}, "line_19f_20yr_depreciation_deduction": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 19f 20-year property — (g) depreciation deduction", "description": "Part III Section B line '19f' '20-year property' row, column '(g) Depreciation deduction'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_19g_25yr_month_year_placed": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Line 19g 25-year property — (b) month and year placed in service", "description": "Part III Section B line '19g' '25-year property' row, column '(b) Month and year placed in service'. The (b) column is grayed out/blocked on the official form for this row (not filer-enterable); extract the string verbatim as printed if present, else null."}, "line_19g_25yr_basis_for_depreciation": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 19g 25-year property — (c) basis for depreciation", "description": "Part III Section B line '19g' '25-year property' row, column '(c) Basis for depreciation (business/investment use only)'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_19g_25yr_depreciation_deduction": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 19g 25-year property — (g) depreciation deduction", "description": "Part III Section B line '19g' '25-year property' row, column '(g) Depreciation deduction'. The '(d) Recovery period' ('25 yrs.') and '(f) Method' ('S/L') are IRS-preprinted constants on this row, not filer fields. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_19h_row1_residential_rental_month_year_placed": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Line 19h Residential rental property (row 1) — (b) month/year placed in service", "description": "Part III Section B line '19h' 'Residential rental property' row, first printed line, column '(b) Month and year placed in service'. Extract the string verbatim as printed; the form pre-prints an 'MM' format hint in this column as a fill-in guide -- if no actual month/year digits were entered (only the 'MM' hint or a blank box), this is null, not the literal hint text."}, "line_19h_row1_residential_rental_basis_for_depreciation": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 19h Residential rental property (row 1) — (c) basis for depreciation", "description": "Part III Section B line '19h' 'Residential rental property' row, first printed line, column '(c) Basis for depreciation (business/investment use only)'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_19h_row1_residential_rental_depreciation_deduction": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 19h Residential rental property (row 1) — (g) depreciation deduction", "description": "Part III Section B line '19h' 'Residential rental property' row, first printed line, column '(g) Depreciation deduction'. The '(d) Recovery period' ('27.5 yrs.'), '(e) Convention' ('MM'), and '(f) Method' ('S/L') are IRS-preprinted constants on this row, not filer fields. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_19h_row2_residential_rental_month_year_placed": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Line 19h Residential rental property (row 2) — (b) month/year placed in service", "description": "Part III Section B line '19h' 'Residential rental property' row, second printed line (for an additional asset in this class), column '(b) Month and year placed in service'. Extract the string verbatim as printed; the form pre-prints an 'MM' format hint in this column as a fill-in guide -- if no actual month/year digits were entered (only the 'MM' hint or a blank box), this is null, not the literal hint text."}, "line_19h_row2_residential_rental_basis_for_depreciation": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 19h Residential rental property (row 2) — (c) basis for depreciation", "description": "Part III Section B line '19h' 'Residential rental property' row, second printed line, column '(c) Basis for depreciation (business/investment use only)'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_19h_row2_residential_rental_depreciation_deduction": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 19h Residential rental property (row 2) — (g) depreciation deduction", "description": "Part III Section B line '19h' 'Residential rental property' row, second printed line, column '(g) Depreciation deduction'. The '(d) Recovery period' ('27.5 yrs.'), '(e) Convention' ('MM'), and '(f) Method' ('S/L') are IRS-preprinted constants on this row, not filer fields. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_19i_row1_nonresidential_real_month_year_placed": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Line 19i Nonresidential real property (row 1) — (b) month/year placed in service", "description": "Part III Section B line '19i' 'Nonresidential real property' row, first printed line, column '(b) Month and year placed in service'. Extract the string verbatim as printed; the form pre-prints an 'MM' format hint in this column as a fill-in guide -- if no actual month/year digits were entered (only the 'MM' hint or a blank box), this is null, not the literal hint text."}, "line_19i_row1_nonresidential_real_basis_for_depreciation": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 19i Nonresidential real property (row 1) — (c) basis for depreciation", "description": "Part III Section B line '19i' 'Nonresidential real property' row, first printed line, column '(c) Basis for depreciation (business/investment use only)'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_19i_row1_nonresidential_real_depreciation_deduction": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 19i Nonresidential real property (row 1) — (g) depreciation deduction", "description": "Part III Section B line '19i' 'Nonresidential real property' row, first printed line, column '(g) Depreciation deduction'. The '(d) Recovery period' ('39 yrs.'), '(e) Convention' ('MM'), and '(f) Method' ('S/L') are IRS-preprinted constants on this row, not filer fields. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_19i_row2_nonresidential_real_month_year_placed": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Line 19i Nonresidential real property (row 2) — (b) month/year placed in service", "description": "Part III Section B line '19i' 'Nonresidential real property' row, second printed line (for an additional asset in this class), column '(b) Month and year placed in service'. Extract the string verbatim as printed; the form pre-prints an 'MM' format hint in this column as a fill-in guide -- if no actual month/year digits were entered (only the 'MM' hint or a blank box), this is null, not the literal hint text."}, "line_19i_row2_nonresidential_real_basis_for_depreciation": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 19i Nonresidential real property (row 2) — (c) basis for depreciation", "description": "Part III Section B line '19i' 'Nonresidential real property' row, second printed line, column '(c) Basis for depreciation (business/investment use only)'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_19i_row2_nonresidential_real_depreciation_deduction": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 19i Nonresidential real property (row 2) — (g) depreciation deduction", "description": "Part III Section B line '19i' 'Nonresidential real property' row, second printed line, column '(g) Depreciation deduction'. The '(d) Recovery period' ('39 yrs.'), '(e) Convention' ('MM'), and '(f) Method' ('S/L') are IRS-preprinted constants on this row, not filer fields. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_20a_class_life_basis_for_depreciation": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 20a Class life — (c) basis for depreciation", "description": "Part III Section C line '20a' 'Class life' row, column '(c) Basis for depreciation (business/investment use only)'. The '(f) Method' ('S/L') is an IRS-preprinted constant on this row, not a filer field. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_20a_class_life_recovery_period": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Line 20a Class life — (d) recovery period", "description": "Part III Section C line '20a' 'Class life' row, column '(d) Recovery period'. Extract the string verbatim as printed (filer-entered class-life years); null if blank."}, "line_20a_class_life_depreciation_deduction": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 20a Class life — (g) depreciation deduction", "description": "Part III Section C line '20a' 'Class life' row, column '(g) Depreciation deduction'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_20b_12yr_basis_for_depreciation": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 20b 12-year — (c) basis for depreciation", "description": "Part III Section C line '20b' '12-year' row, column '(c) Basis for depreciation (business/investment use only)'. The '(d) Recovery period' ('12 yrs.') and '(f) Method' ('S/L') are IRS-preprinted constants on this row, not filer fields. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_20b_12yr_depreciation_deduction": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 20b 12-year — (g) depreciation deduction", "description": "Part III Section C line '20b' '12-year' row, column '(g) Depreciation deduction'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_20c_30yr_basis_for_depreciation": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 20c 30-year — (c) basis for depreciation", "description": "Part III Section C line '20c' '30-year' row, column '(c) Basis for depreciation (business/investment use only)'. The '(d) Recovery period' ('30 yrs.'), '(e) Convention' ('MM'), and '(f) Method' ('S/L') are IRS-preprinted constants on this row, not filer fields. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_20c_30yr_depreciation_deduction": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 20c 30-year — (g) depreciation deduction", "description": "Part III Section C line '20c' '30-year' row, column '(g) Depreciation deduction'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_20d_40yr_basis_for_depreciation": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 20d 40-year — (c) basis for depreciation", "description": "Part III Section C line '20d' '40-year' row, column '(c) Basis for depreciation (business/investment use only)'. The '(d) Recovery period' ('40 yrs.'), '(e) Convention' ('MM'), and '(f) Method' ('S/L') are IRS-preprinted constants on this row, not filer fields. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_20d_40yr_depreciation_deduction": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 20d 40-year — (g) depreciation deduction", "description": "Part III Section C line '20d' '40-year' row, column '(g) Depreciation deduction'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_21_listed_property": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 21 listed property (from line 28)", "description": "Part IV line 21 'Listed property'. Enter amount from line 28. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_22_total": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 22 total", "description": "Part IV line 22 'Total'. Add amounts from line 12, lines 14 through 17, lines 19 and 20 in column (g), and line 21; special rule for partnerships and S corporations (see instructions). Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_23_sec263a_costs_portion": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 23 portion of basis attributable to section 263A costs", "description": "Part IV line 23 'section 263A costs' portion of basis: for assets shown above and placed in service during the current year, enter the portion of the basis attributable to section 263A costs. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_24a_evidence_to_support_use_yes": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Line 24a evidence to support business/investment use (Yes)", "description": "Part V Section A line '24a' \"Do you have evidence to support the business/investment use claimed?\" 'Yes' box. True if the 'Yes' box is checked; false if the box is printed but left unchecked (including when 'No' is checked instead). Two-state policy: true ONLY if this box is marked; false otherwise. Return null only if this page is not present."}, "line_24a_evidence_to_support_use_no": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Line 24a evidence to support business/investment use (No)", "description": "Part V Section A line '24a' \"Do you have evidence to support the business/investment use claimed?\" 'No' box. True if the 'No' box is checked; false if the box is printed but left unchecked (including when 'Yes' is checked instead). Two-state policy: true ONLY if this box is marked; false otherwise. Return null only if this page is not present."}, "line_24b_evidence_written_yes": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Line 24b if ‘Yes,’ is the evidence written (Yes)", "description": "Part V Section A line '24b' 'If “Yes,” is the evidence written?' 'Yes' box. True if the 'Yes' box is checked; false if the box is printed but left unchecked (including when 'No' is checked instead). Two-state policy: true ONLY if this box is marked; false otherwise. Return null only if this page is not present."}, "line_24b_evidence_written_no": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Line 24b if ‘Yes,’ is the evidence written (No)", "description": "Part V Section A line '24b' 'If “Yes,” is the evidence written?' 'No' box. True if the 'No' box is checked; false if the box is printed but left unchecked (including when 'Yes' is checked instead). Two-state policy: true ONLY if this box is marked; false otherwise. Return null only if this page is not present."}, "line_25_special_depreciation_allowance_listed": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 25 special depreciation allowance for qualified listed property", "description": "Part V Section A line 25 'Special depreciation allowance' for qualified listed property placed in service during the tax year and used more than 50% in a qualified business use. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_26_property_over_50pct_rows": {"anyOf": [{"items": {"$ref": "#/$defs/Form4562Line26PropertyRow"}, "type": "array"}, {"type": "null"}], "default": null, "title": "Line 26 property used more than 50% in a qualified business use", "description": "Part V Section A line 26 'Property used more than 50% in a qualified business use:' grid, columns (a) Type of property through (i) Elected section 179 cost. The official form prints 3 blank rows; one row per listed asset, empty grid → null."}, "line_27_property_50pct_or_less_rows": {"anyOf": [{"items": {"$ref": "#/$defs/Form4562Line27PropertyRow"}, "type": "array"}, {"type": "null"}], "default": null, "title": "Line 27 property used 50% or less in a qualified business use", "description": "Part V Section A line 27 'Property used 50% or less in a qualified business use:' grid, columns (a) Type of property through (h) Depreciation deduction (column (i) is not applicable/blocked for this line). The official form prints 3 blank rows; one row per listed asset, empty grid → null."}, "line_28_listed_property_total": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 28 total (column (h), lines 25-27)", "description": "Part V Section A line 28 'Add amounts in column (h), lines 25 through 27'. Enter here and on line 21, page 1. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_29_elected_sec179_cost_total": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 29 total elected section 179 cost (column (i), line 26)", "description": "Part V Section A line 29 'Add amounts in column (i), line 26'. Enter here and on line 7, page 1. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "vehicles": {"anyOf": [{"items": {"$ref": "#/$defs/Form4562VehicleRow"}, "type": "array"}, {"type": "null"}], "default": null, "title": "Section B vehicles 1-6 (lines 30-36)", "description": "Part V Section B 'Information on Use of Vehicles' grid, columns '(a) Vehicle 1' through '(f) Vehicle 6', rows for lines 30 'Total business/investment miles driven' through 36 'Is another vehicle available for personal use?'. One entry per vehicle column actually used (up to 6); empty grid (no vehicle data reported) → null."}, "line_37_written_policy_no_personal_use_yes": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Line 37 written policy prohibiting all personal use (Yes)", "description": "Part V Section C line 37 'written policy statement' question (prohibits all personal use of vehicles, including commuting, by your employees) — the 'Yes' box. True if the 'Yes' box is checked; false if the box is printed but left unchecked (including when 'No' is checked instead). Two-state policy: true ONLY if this box is marked; false otherwise. Return null only if this page is not present."}, "line_37_written_policy_no_personal_use_no": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Line 37 written policy prohibiting all personal use (No)", "description": "Part V Section C line 37 'written policy statement' question (prohibits all personal use of vehicles, including commuting, by your employees) — the 'No' box. True if the 'No' box is checked; false if the box is printed but left unchecked (including when 'Yes' is checked instead). Two-state policy: true ONLY if this box is marked; false otherwise. Return null only if this page is not present."}, "line_38_written_policy_no_personal_use_except_commuting_yes": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Line 38 written policy prohibiting personal use except commuting (Yes)", "description": "Part V Section C line 38 'written policy statement' question (prohibits personal use of vehicles, except commuting, by your employees) — the 'Yes' box; see the instructions for vehicles used by corporate officers, directors, or 1% or more owners. True if the 'Yes' box is checked; false if the box is printed but left unchecked (including when 'No' is checked instead). Two-state policy: true ONLY if this box is marked; false otherwise. Return null only if this page is not present."}, "line_38_written_policy_no_personal_use_except_commuting_no": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Line 38 written policy prohibiting personal use except commuting (No)", "description": "Part V Section C line 38 'written policy statement' question (prohibits personal use of vehicles, except commuting, by your employees) — the 'No' box; see the instructions for vehicles used by corporate officers, directors, or 1% or more owners. True if the 'No' box is checked; false if the box is printed but left unchecked (including when 'Yes' is checked instead). Two-state policy: true ONLY if this box is marked; false otherwise. Return null only if this page is not present."}, "line_39_treat_all_vehicle_use_as_personal_yes": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Line 39 treat all use of vehicles by employees as personal use (Yes)", "description": "Part V Section C line 39 'Do you treat all use of vehicles by employees as personal use?' 'Yes' box. True if the 'Yes' box is checked; false if the box is printed but left unchecked (including when 'No' is checked instead). Two-state policy: true ONLY if this box is marked; false otherwise. Return null only if this page is not present."}, "line_39_treat_all_vehicle_use_as_personal_no": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Line 39 treat all use of vehicles by employees as personal use (No)", "description": "Part V Section C line 39 'Do you treat all use of vehicles by employees as personal use?' 'No' box. True if the 'No' box is checked; false if the box is printed but left unchecked (including when 'Yes' is checked instead). Two-state policy: true ONLY if this box is marked; false otherwise. Return null only if this page is not present."}, "line_40_more_than_five_vehicles_yes": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Line 40 provide more than five vehicles, retain info (Yes)", "description": "Part V Section C line 40 'more than five vehicles' question (provide more than five vehicles to your employees, obtain information from your employees about the use of the vehicles, and retain the information received) — the 'Yes' box. True if the 'Yes' box is checked; false if the box is printed but left unchecked (including when 'No' is checked instead). Two-state policy: true ONLY if this box is marked; false otherwise. Return null only if this page is not present."}, "line_40_more_than_five_vehicles_no": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Line 40 provide more than five vehicles, retain info (No)", "description": "Part V Section C line 40 'more than five vehicles' question (provide more than five vehicles to your employees, obtain information from your employees about the use of the vehicles, and retain the information received) — the 'No' box. True if the 'No' box is checked; false if the box is printed but left unchecked (including when 'Yes' is checked instead). Two-state policy: true ONLY if this box is marked; false otherwise. Return null only if this page is not present."}, "line_41_qualified_auto_demonstration_use_yes": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Line 41 meet requirements for qualified automobile demonstration use (Yes)", "description": "Part V Section C line 41 'Do you meet the requirements concerning qualified automobile demonstration use?' 'Yes' box. True if the 'Yes' box is checked; false if the box is printed but left unchecked (including when 'No' is checked instead). Two-state policy: true ONLY if this box is marked; false otherwise. Return null only if this page is not present."}, "line_41_qualified_auto_demonstration_use_no": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Line 41 meet requirements for qualified automobile demonstration use (No)", "description": "Part V Section C line 41 'Do you meet the requirements concerning qualified automobile demonstration use?' 'No' box. True if the 'No' box is checked; false if the box is printed but left unchecked (including when 'Yes' is checked instead). Two-state policy: true ONLY if this box is marked; false otherwise. Return null only if this page is not present."}, "line_42_amortization_rows": {"anyOf": [{"items": {"$ref": "#/$defs/Form4562AmortizationRow"}, "type": "array"}, {"type": "null"}], "default": null, "title": "Line 42 amortization of costs beginning in 2021", "description": "Part VI line 42 'Amortization of costs that begins during your 2021 tax year' grid, columns (a) Description of costs through (f) Amortization for this year. The official form prints 2 blank rows; one row per listed cost, empty grid → null."}, "line_43_amortization_before_2022": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 43 amortization of costs that began before 2021", "description": "Part VI line 43 'Amortization of costs that began before your 2021 tax year'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_44_total_amortization": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 44 total amortization", "description": "Part VI line 44 'Total'. Add amounts in column (f); see the instructions for where to report. Whole-dollar amount as a JSON number; null if the entry box is blank."}}}, "Form4952": {"type": "object", "title": "Form 4952 (2021) — Investment Interest Expense Deduction", "properties": {"names_shown": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Name(s) shown on return", "description": "Form 4952 header field 'Name(s) shown on return'. Extract the string verbatim as printed; null if blank."}, "identifying_number": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Identifying number", "description": "Form 4952 header field 'Identifying number'. On public-release scans this value is often masked/redacted: transcribe exactly the characters that are legible; null if fully redacted or blank."}, "line_1_investment_interest_expense_paid": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 1 investment interest expense paid or accrued", "description": "Form 4952 Part I line 1 'Investment interest expense paid or accrued in 2021 (see instructions)'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_2_disallowed_carryover_prior_year": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 2 disallowed investment interest expense carried over from 2021", "description": "Form 4952 Part I line 2 'Disallowed investment interest expense from 2020 Form 4952, line 7'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_3_total_investment_interest_expense": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 3 total investment interest expense", "description": "Form 4952 Part I line 3 'Total investment interest expense. Add lines 1 and 2'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_4a_gross_income_from_investment_property": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 4a gross income from property held for investment", "description": "Form 4952 Part II line '4a' 'Gross income from property held for investment (excluding any net gain from the disposition of property held for investment)'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_4b_qualified_dividends_on_4a": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 4b qualified dividends included on line 4a", "description": "Form 4952 Part II line '4b' 'Qualified dividends included on line 4a'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_4c_subtract_4b_from_4a": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 4c (4a minus 4b)", "description": "Form 4952 Part II line '4c' 'Subtract line 4b from line 4a'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_4d_net_gain_disposition_investment_property": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 4d net gain from disposition of investment property", "description": "Form 4952 Part II line '4d' 'Net gain from the disposition of property held for investment'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_4d_elec_writein_amount": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 4d dotted-line 'Elec.' write-in amount", "description": "Form 4952 Part II dotted-line write-in beside line 4e: filer writes 'Elec.' on the dotted line and enters the part of line 4e elected as attributable to line 4g. Whole-dollar amount as a JSON number; null if the dotted line is blank."}, "line_4e_smaller_of_4d_or_net_capital_gain": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 4e smaller of line 4d or net capital gain", "description": "Form 4952 Part II line '4e' 'Enter the smaller of line 4d or your net capital gain from the disposition of property held for investment'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_4f_subtract_4e_from_4d": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 4f (4d minus 4e)", "description": "Form 4952 Part II line '4f' 'Subtract line 4e from line 4d'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_4g_elected_amount_included_in_investment_income": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 4g elected amount from lines 4b and 4e included in investment income", "description": "Form 4952 Part II line '4g' 'Enter the amount from lines 4b and 4e that you elect to include in investment income'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_4h_investment_income": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 4h investment income", "description": "Form 4952 Part II line '4h' 'Investment income. Add lines 4c, 4f, and 4g'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_5_investment_expenses": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 5 investment expenses", "description": "Form 4952 Part II line 5 'Investment expenses (see instructions)'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_6_net_investment_income": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 6 net investment income", "description": "Form 4952 Part II line 6 'Net investment income. Subtract line 5 from line 4h. If zero or less, enter -0-'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_7_disallowed_carryforward_to_2022": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 7 disallowed investment interest expense carried forward to 2023", "description": "Form 4952 Part III line 7 'Disallowed investment interest expense to be carried forward to 2022'. Subtract line 6 from line 3; if zero or less, enter -0-. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_8_investment_interest_expense_deduction": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 8 investment interest expense deduction", "description": "Form 4952 Part III line 8 'Investment interest expense deduction. Enter the smaller of line 3 or line 6'. Whole-dollar amount as a JSON number; null if the entry box is blank."}}}, "Form8995": {"type": "object", "title": "Form 8995 (2021) — QBI Deduction Simplified Computation", "properties": {"names_shown": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Name(s) shown on return", "description": "Form 8995 header field 'Name(s) shown on return'. Extract the string verbatim as printed; null if blank."}, "taxpayer_id_number": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Your taxpayer identification number", "description": "Form 8995 header field 'Your taxpayer identification number'. On public-release scans this value is often masked/redacted: transcribe exactly the characters that are legible; null if fully redacted or blank."}, "businesses": {"anyOf": [{"items": {"$ref": "#/$defs/Form8995BusinessRow"}, "type": "array"}, {"type": "null"}], "default": null, "title": "Line 1 trade/business QBI component table", "description": "Form 8995 Part I line 1 table listing each 'Trade, business, or aggregation name' (col a) with 'Taxpayer identification number' (col b) and 'Qualified business income or (loss)' (col c), on printed sub-rows i-v (up to 5 businesses). Null if the table is empty."}, "line_2_total_qbi": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 2 total qualified business income or (loss)", "description": "Form 8995 line 2 'Total qualified business income or (loss)'. Combine lines 1i through 1v, column (c). Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_3_qbi_loss_carryforward_prior_year": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 3 qualified business net (loss) carryforward from the prior year", "description": "Form 8995 line 3 'Qualified business net (loss) carryforward from the prior year'. Printed with parentheses (a filled entry is negative). Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_4_total_qbi_combined": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 4 total qualified business income", "description": "Form 8995 line 4 'Total qualified business income'. Combine lines 2 and 3; if zero or less, enter -0-. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_5_qbi_component": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 5 qualified business income component", "description": "Form 8995 line 5 'Qualified business income component. Multiply line 4 by 20% (0.20)'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_6_qualified_reit_ptp_income": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 6 qualified REIT dividends and PTP income or (loss)", "description": "Form 8995 line 6 'Qualified REIT dividends and publicly traded partnership (PTP) income or (loss)'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_7_reit_ptp_loss_carryforward_prior_year": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 7 qualified REIT/PTP (loss) carryforward from the prior year", "description": "Form 8995 line 7 'Qualified REIT dividends and qualified PTP (loss) carryforward' from the prior year. Printed with parentheses (a filled entry is negative). Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_8_total_reit_ptp_income": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 8 total qualified REIT dividends and PTP income", "description": "Form 8995 line 8 'Total qualified REIT dividends and PTP income'. Combine lines 6 and 7; if zero or less, enter -0-. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_9_reit_ptp_component": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 9 REIT and PTP component", "description": "Form 8995 line 9 'REIT and PTP component. Multiply line 8 by 20% (0.20)'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_10_qbi_deduction_before_income_limitation": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 10 QBI deduction before the income limitation", "description": "Form 8995 line 10 'Qualified business income deduction before the income limitation'. Add lines 5 and 9. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_11_taxable_income_before_qbi_deduction": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 11 taxable income before QBI deduction", "description": "Form 8995 line 11 'Taxable income before qualified business income deduction (see instructions)'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_12_net_capital_gain": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 12 net capital gain", "description": "Form 8995 line 12 'Net capital gain (see instructions)'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_13_subtract_12_from_11": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 13 (line 11 minus line 12)", "description": "Form 8995 line 13 'Subtract line 12 from line 11. If zero or less, enter -0-'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_14_income_limitation": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 14 income limitation", "description": "Form 8995 line 14 'Income limitation. Multiply line 13 by 20% (0.20)'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_15_qbi_deduction": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 15 qualified business income deduction", "description": "Form 8995 line 15 'Qualified business income deduction. Enter the smaller of line 10 or line 14'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_16_total_qbi_loss_carryforward": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 16 total qualified business (loss) carryforward", "description": "Form 8995 line 16 'Total qualified business (loss) carryforward'. Combine lines 2 and 3; if greater than zero, enter -0-. Printed with parentheses (a filled entry is negative). Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_17_total_reit_ptp_loss_carryforward": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 17 total qualified REIT dividends and PTP (loss) carryforward", "description": "Form 8995 line 17 'Total qualified REIT dividends and PTP (loss) carryforward'. Combine lines 6 and 7; if greater than zero, enter -0-. Printed with parentheses (a filled entry is negative). Whole-dollar amount as a JSON number; null if the entry box is blank."}}}, "Form8995BusinessRow": {"type": "object", "title": "Form 8995 line 1 trade/business QBI row", "properties": {"name_of_business": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Trade, business, or aggregation name", "description": "Column '(a) Trade, business, or aggregation name' of the Form 8995 line 1 table. Extract the string verbatim as printed; identifies this business's row when populated; null if blank."}, "taxpayer_id_number": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Taxpayer identification number", "description": "Column '(b) Taxpayer identification number' of the Form 8995 line 1 table. On public-release scans this value is often masked/redacted: transcribe exactly the characters that are legible; null if fully redacted or blank."}, "qbi_amount": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Qualified business income or (loss)", "description": "Column '(c) Qualified business income or (loss)' of the Form 8995 line 1 table. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}}}, "Form6251": {"type": "object", "title": "Form 6251 (2021) — Alternative Minimum Tax—Individuals", "properties": {"name_shown_on_form_1040": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Header field 'Name(s) shown on Form 1040, 1040-SR, or 1040-NR'. Extract the string verbatim as printed; null if blank.", "title": "Name(s) shown on Form 1040, 1040-SR, or 1040-NR"}, "your_social_security_number": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Header field 'Your social security number'. On these public-release scans this value is usually masked/redacted: transcribe exactly the characters that are legible; null if fully redacted or blank.", "title": "Your social security number"}, "line_1_form_1040_line_15_or_adjustment": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part I line '1' 'Enter the amount from Form 1040 or 1040-SR, line 15, if more than zero'. If that line is zero, subtract line 14 of Form 1040 or 1040-SR from line 11 of Form 1040 or 1040-SR and enter the result; if less than zero, enter as a negative amount. Whole-dollar amount as a JSON number; a parenthesized or minus-signed amount is negative; null if the entry box is blank.", "title": "Line 1 amount from Form 1040/1040-SR line 15 (or recomputed)"}, "line_2a_taxes_from_schedule_a": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part I line '2a' 'If filing Schedule A (Form 1040), enter the taxes from Schedule A, line 7'; otherwise, enter the amount from Form 1040 or 1040-SR, line 12. Whole-dollar amount as a JSON number; null if the entry box is blank.", "title": "Line 2a taxes from Schedule A (or standard deduction)"}, "line_2b_tax_refund": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part I line '2b' 'Tax refund from Schedule 1 (Form 1040), line 1 or line 8z'. Printed inside parentheses on the form, so a filled entry is a negative number. Whole-dollar amount as a JSON number; null if the entry box is blank.", "title": "Line 2b tax refund from Schedule 1"}, "line_2c_investment_interest_expense": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part I line '2c' 'Investment interest expense (difference between regular tax and AMT)'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 2c investment interest expense"}, "line_2d_depletion": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part I line '2d' 'Depletion (difference between regular tax and AMT)'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 2d depletion"}, "line_2e_net_operating_loss_deduction": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part I line '2e' 'Net operating loss deduction from Schedule 1 (Form 1040), line 8a'. Enter as a positive amount. Whole-dollar amount as a JSON number; null if the entry box is blank.", "title": "Line 2e net operating loss deduction"}, "line_2f_alternative_tax_net_operating_loss_deduction": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part I line '2f' 'Alternative tax net operating loss deduction'. Printed inside parentheses on the form, so a filled entry is a negative number. Whole-dollar amount as a JSON number; null if the entry box is blank.", "title": "Line 2f alternative tax net operating loss deduction"}, "line_2g_private_activity_bond_interest": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part I line '2g' 'Interest from specified private activity bonds exempt from the regular tax'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 2g interest from specified private activity bonds"}, "line_2h_qualified_small_business_stock": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part I line '2h' 'Qualified small business stock, see instructions'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 2h qualified small business stock"}, "line_2i_incentive_stock_options": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part I line '2i' 'Exercise of incentive stock options'. Enter the excess of AMT income over regular tax income. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 2i exercise of incentive stock options"}, "line_2j_estates_and_trusts": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part I line '2j' 'Estates and trusts (amount from Schedule K-1 (Form 1041), box 12, code A)'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 2j estates and trusts"}, "line_2k_disposition_of_property": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part I line '2k' 'Disposition of property (difference between AMT and regular tax gain or loss)'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 2k disposition of property"}, "line_2l_depreciation_post_1986": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part I line '2l' 'Depreciation on assets placed in service after 1986'. Difference between regular tax and AMT depreciation. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 2l depreciation on assets placed in service after 1986"}, "line_2m_passive_activities": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part I line '2m' 'Passive activities (difference between AMT and regular tax income or loss)'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 2m passive activities"}, "line_2n_loss_limitations": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part I line '2n' 'Loss limitations (difference between AMT and regular tax income or loss)'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 2n loss limitations"}, "line_2o_circulation_costs": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part I line '2o' 'Circulation costs (difference between regular tax and AMT)'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 2o circulation costs"}, "line_2p_long_term_contracts": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part I line '2p' 'Long-term contracts (difference between AMT and regular tax income)'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 2p long-term contracts"}, "line_2q_mining_costs": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part I line '2q' 'Mining costs (difference between regular tax and AMT)'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 2q mining costs"}, "line_2r_research_and_experimental_costs": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part I line '2r' 'Research and experimental costs (difference between regular tax and AMT)'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 2r research and experimental costs"}, "line_2s_installment_sales_before_1987": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part I line '2s' 'Income from certain installment sales before January 1, 1987'. Printed inside parentheses on the form, so a filled entry is a negative number. Whole-dollar amount as a JSON number; null if the entry box is blank.", "title": "Line 2s income from certain installment sales before 1/1/1987"}, "line_2t_intangible_drilling_costs_preference": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part I line '2t' 'Intangible drilling costs preference'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 2t intangible drilling costs preference"}, "line_3_other_adjustments": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part I line '3' 'Other adjustments, including income-based related adjustments'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 3 other adjustments"}, "line_4_alternative_minimum_taxable_income": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part I line '4' 'Alternative minimum taxable income'. Combine lines 1 through 3 (if married filing separately and line 4 is more than $776,100, see instructions). Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 4 alternative minimum taxable income"}, "line_5_exemption": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part II line '5' 'Exemption'. Determined from the printed filing-status table on this line: Single or head of household with line 4 not over $539,900 enters $75,900; Married filing jointly or qualifying widow(er) with line 4 not over $1,079,800 enters $118,100; Married filing separately with line 4 not over $539,900 enters $59,050; if line 4 is over the amount shown for the filer's status, see instructions for a phased-out amount. Whole-dollar amount as a JSON number; null if the entry box is blank.", "title": "Line 5 exemption amount"}, "line_6_subtract_5_from_4": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part II line '6' 'Subtract line 5 from line 4'. If more than zero, go to line 7; if zero or less, enter -0- here and on lines 7, 9, and 11, and go to line 10. Whole-dollar amount as a JSON number; null if the entry box is blank.", "title": "Line 6 subtract line 5 from line 4"}, "line_7_tax_or_part_iii_amount": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part II 'line 7', computed under one of several bracketed conditions: filers of Form 2555 use the instructions worksheet amount; filers with capital gain distributions, qualified dividends, or Schedule D gains on both lines 15 and 16 complete Part III and enter the amount from line 40; all others multiply line 6 by 26% (0.26) if line 6 is $206,100 or less ($103,050 or less if married filing separately), otherwise multiply by 28% (0.28) and subtract $4,122 ($2,061 if married filing separately) from the result. Whole-dollar amount as a JSON number; null if the entry box is blank.", "title": "Line 7 tentative tax (or amount from Part III line 40)"}, "line_8_amt_foreign_tax_credit": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part II line '8' 'Alternative minimum tax foreign tax credit (see instructions)'. Whole-dollar amount as a JSON number; null if the entry box is blank.", "title": "Line 8 alternative minimum tax foreign tax credit"}, "line_9_tentative_minimum_tax": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part II line '9' 'Tentative minimum tax'. Subtract line 8 from line 7. Whole-dollar amount as a JSON number; null if the entry box is blank.", "title": "Line 9 tentative minimum tax"}, "line_10_regular_tax_for_amt": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part II line '10', computed as: add Form 1040 or 1040-SR, line 16 (minus any tax from Form 4972), and Schedule 2 (Form 1040), line 2; subtract from the result Schedule 3 (Form 1040), line 1 and any negative amount reported on Form 8978, line 14 (treated as a positive number). If zero or less, enter -0-. If Schedule J was used to figure Form 1040/1040-SR line 16 tax, refigure that tax without Schedule J before completing this line; see instructions. Whole-dollar amount as a JSON number; null if the entry box is blank.", "title": "Line 10 regular tax computed for AMT purposes"}, "line_11_amt": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part II line '11' 'AMT'. Subtract line 10 from line 9; if zero or less, enter -0-. Enter here and on Schedule 2 (Form 1040), line 1. Whole-dollar amount as a JSON number; null if the entry box is blank.", "title": "Line 11 AMT (alternative minimum tax)"}, "line_12_amount_from_line_6": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part III line '12' 'Enter the amount from Form 6251, line 6'. If filing Form 2555, enter the amount from line 3 of the worksheet in the instructions for line 7 instead. Whole-dollar amount as a JSON number; null if the entry box is blank.", "title": "Line 12 amount from Form 6251 line 6 (or Form 2555 worksheet)"}, "line_13_qdcgt_or_schedule_d_worksheet_amount": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part III line '13'. Enter the amount from line 4 of the Qualified Dividends and Capital Gain Tax Worksheet in the Form 1040 instructions, or the amount from line 13 of the Schedule D Tax Worksheet in the Schedule D instructions, whichever applies (as refigured for the AMT, if necessary); see instructions, including for Form 2555 filers. Whole-dollar amount as a JSON number; null if the entry box is blank.", "title": "Line 13 Qualified Dividends and Capital Gain Tax / Schedule D Tax Worksheet amount"}, "line_14_schedule_d_line_19": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part III line '14' 'Enter the amount from Schedule D (Form 1040), line 19' (as refigured for the AMT, if necessary); see instructions, including for Form 2555 filers. Whole-dollar amount as a JSON number; null if the entry box is blank.", "title": "Line 14 amount from Schedule D line 19"}, "line_15_smaller_of_13_or_combined": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part III line '15'. If no Schedule D Tax Worksheet was completed for the regular tax or the AMT, enter the amount from line 13; otherwise add lines 13 and 14 and enter the smaller of that result or the amount from line 10 of the Schedule D Tax Worksheet (as refigured for the AMT, if necessary); see instructions, including for Form 2555 filers. Whole-dollar amount as a JSON number; null if the entry box is blank.", "title": "Line 15 smaller of line 13, or lines 13+14 vs. Schedule D Tax Worksheet line 10"}, "line_16_smaller_of_12_or_15": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part III line '16' 'Enter the smaller of line 12 or line 15'. Whole-dollar amount as a JSON number; null if the entry box is blank.", "title": "Line 16 smaller of line 12 or line 15"}, "line_17_subtract_16_from_12": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part III line '17' 'Subtract line 16 from line 12'. Whole-dollar amount as a JSON number; null if the entry box is blank.", "title": "Line 17 subtract line 16 from line 12"}, "line_18_tax_on_line_17": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part III line '18'. If line 17 is $206,100 or less ($103,050 or less if married filing separately), multiply line 17 by 26% (0.26); otherwise multiply line 17 by 28% (0.28) and subtract $4,122 ($2,061 if married filing separately) from the result. Whole-dollar amount as a JSON number; null if the entry box is blank.", "title": "Line 18 tax computed on line 17"}, "line_19_applicable_threshold": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part III line '19': printed filing-status amounts of $83,350 (married filing jointly or qualifying widow(er)), $41,675 (single or married filing separately), or $55,800 (head of household); enter the amount matching the filer's status. Whole-dollar amount as a JSON number; null if the entry box is blank.", "title": "Line 19 applicable filing-status threshold amount"}, "line_20_qdcgt_or_schedule_d_regular_tax_amount": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part III line '20'. Enter the amount from line 5 of the Qualified Dividends and Capital Gain Tax Worksheet or line 14 of the Schedule D Tax Worksheet, whichever applies (as figured for the regular tax); if neither worksheet was completed for the regular tax, enter the amount from Form 1040 or 1040-SR, line 15 (if zero or less, enter -0-); see instructions, including for Form 2555 filers. Whole-dollar amount as a JSON number; null if the entry box is blank.", "title": "Line 20 QDCGT/Schedule D Tax Worksheet amount (regular tax)"}, "line_21_subtract_20_from_19": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part III line '21' 'Subtract line 20 from line 19. If zero or less, enter -0-'. Whole-dollar amount as a JSON number; null if the entry box is blank.", "title": "Line 21 subtract line 20 from line 19"}, "line_22_smaller_of_12_or_13": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part III line '22' 'Enter the smaller of line 12 or line 13'. Whole-dollar amount as a JSON number; null if the entry box is blank.", "title": "Line 22 smaller of line 12 or line 13"}, "line_23_smaller_of_21_or_22_taxed_at_0_pct": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part III line '23' 'Enter the smaller of line 21 or line 22'. This amount is taxed at 0%. Whole-dollar amount as a JSON number; null if the entry box is blank.", "title": "Line 23 smaller of line 21 or line 22 (taxed at 0%)"}, "line_24_subtract_23_from_22": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part III line '24' 'Subtract line 23 from line 22'. Whole-dollar amount as a JSON number; null if the entry box is blank.", "title": "Line 24 subtract line 23 from line 22"}, "line_25_applicable_threshold": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part III line '25': printed filing-status amounts of $459,750 (single), $258,600 (married filing separately), $517,200 (married filing jointly or qualifying widow(er)), or $488,500 (head of household); enter the amount matching the filer's status. Whole-dollar amount as a JSON number; null if the entry box is blank.", "title": "Line 25 applicable filing-status threshold amount"}, "line_26_amount_from_line_21": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part III line '26' 'Enter the amount from line 21'. Whole-dollar amount as a JSON number; null if the entry box is blank.", "title": "Line 26 amount from line 21"}, "line_27_qdcgt_or_schedule_d_line_21_amount": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part III line '27'. Enter the amount from line 5 of the Qualified Dividends and Capital Gain Tax Worksheet or line 21 of the Schedule D Tax Worksheet, whichever applies (as figured for the regular tax); if neither worksheet was completed for the regular tax, enter the amount from Form 1040 or 1040-SR, line 15 (if zero or less, enter -0-); see instructions, including for Form 2555 filers. Whole-dollar amount as a JSON number; null if the entry box is blank.", "title": "Line 27 QDCGT/Schedule D Tax Worksheet line 21 amount (regular tax)"}, "line_28_add_26_and_27": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part III line '28' 'Add line 26 and line 27'. Whole-dollar amount as a JSON number; null if the entry box is blank.", "title": "Line 28 add line 26 and line 27"}, "line_29_subtract_28_from_25": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part III line '29' 'Subtract line 28 from line 25. If zero or less, enter -0-'. Whole-dollar amount as a JSON number; null if the entry box is blank.", "title": "Line 29 subtract line 28 from line 25"}, "line_30_smaller_of_24_or_29": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part III line '30' 'Enter the smaller of line 24 or line 29'. Whole-dollar amount as a JSON number; null if the entry box is blank.", "title": "Line 30 smaller of line 24 or line 29"}, "line_31_multiply_30_by_15_pct": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part III line '31' 'Multiply line 30 by 15% (0.15)'. Whole-dollar amount as a JSON number; null if the entry box is blank.", "title": "Line 31 multiply line 30 by 15%"}, "line_32_add_23_and_30": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part III line '32' 'Add lines 23 and 30'. If lines 32 and 12 are the same, skip lines 33 through 37 and go to line 38; otherwise go to line 33. Whole-dollar amount as a JSON number; null if the entry box is blank.", "title": "Line 32 add lines 23 and 30"}, "line_33_subtract_32_from_22": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part III line '33' 'Subtract line 32 from line 22'. Whole-dollar amount as a JSON number; null if the entry box is blank.", "title": "Line 33 subtract line 32 from line 22"}, "line_34_multiply_33_by_20_pct": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part III line '34' 'Multiply line 33 by 20% (0.20)'. If line 14 is zero or blank, skip lines 35 through 37 and go to line 38; otherwise go to line 35. Whole-dollar amount as a JSON number; null if the entry box is blank.", "title": "Line 34 multiply line 33 by 20%"}, "line_35_add_17_32_and_33": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part III line '35' 'Add lines 17, 32, and 33'. Whole-dollar amount as a JSON number; null if the entry box is blank.", "title": "Line 35 add lines 17, 32, and 33"}, "line_36_subtract_35_from_12": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part III line '36' 'Subtract line 35 from line 12'. Whole-dollar amount as a JSON number; null if the entry box is blank.", "title": "Line 36 subtract line 35 from line 12"}, "line_37_multiply_36_by_25_pct": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part III line '37' 'Multiply line 36 by 25% (0.25)'. Whole-dollar amount as a JSON number; null if the entry box is blank.", "title": "Line 37 multiply line 36 by 25%"}, "line_38_add_18_31_34_and_37": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part III line '38' 'Add lines 18, 31, 34, and 37'. Whole-dollar amount as a JSON number; null if the entry box is blank.", "title": "Line 38 add lines 18, 31, 34, and 37"}, "line_39_tax_on_line_12": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part III line '39'. If line 12 is $206,100 or less ($103,050 or less if married filing separately), multiply line 12 by 26% (0.26); otherwise multiply line 12 by 28% (0.28) and subtract $4,122 ($2,061 if married filing separately) from the result. Whole-dollar amount as a JSON number; null if the entry box is blank.", "title": "Line 39 tax computed on line 12"}, "line_40_smaller_of_38_or_39": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part III line '40' 'Enter the smaller of line 38 or line 39 here and on line 7'. If filing Form 2555, do not enter this amount on line 7; instead enter it on line 4 of the worksheet in the instructions for line 7. Whole-dollar amount as a JSON number; null if the entry box is blank.", "title": "Line 40 smaller of line 38 or line 39 (carries to line 7)"}}}, "Form7203DebtColumn": {"type": "object", "title": "Form 7203 Part II debt column (Debt 1, Debt 2, or Debt 3)", "properties": {"debt_label": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Debt column label", "description": "Column header printed above this debt's data in Part II, Section A: one of '(a) Debt 1', '(b) Debt 2', or '(c) Debt 3'. Extract exactly as printed (e.g. 'Debt 1'); identifies this debt's column when populated; null only if the entire debt column is unused and unlabeled."}, "formal_note_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Formal note checkbox", "description": "Part II, Section A checkbox printed under this debt column: 'Formal note'. True if checked; false if printed but left unchecked. Return null only if this page is not present."}, "open_account_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Open account checkbox", "description": "Part II, Section A checkbox printed under this debt column: 'Open account'. True if checked; false if printed but left unchecked. Return null only if this page is not present."}, "line_16_loan_balance_beginning": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 16 loan balance at beginning of tax year", "description": "Section A line 16 'Loan balance at the beginning of the corporation's tax year' for this debt column. Whole-dollar amount as a JSON number; a parenthesized amount or one with a leading minus sign is negative; null if the entry box is blank."}, "line_17_additional_loans": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 17 additional loans", "description": "Section A line 17 'Additional loans (see instructions)' for this debt column. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_18_loan_balance_before_repayment": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 18 loan balance before repayment", "description": "Section A line 18 'Loan balance before repayment. Add lines 16 and 17' for this debt column. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_19_principal_portion_of_repayment": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 19 principal portion of debt repayment", "description": "Section A line 19 'Principal portion of debt repayment (this line doesn't include interest)' for this debt column. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_20_loan_balance_end": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 20 loan balance at end of tax year", "description": "Section A line 20 'Loan balance at the end of the corporation's tax year. Subtract line 19 from line 18' for this debt column. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_21_debt_basis_beginning": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 21 debt basis at beginning of tax year", "description": "Section B line 21 'Debt basis at the beginning of the corporation's tax year' for this debt column. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_22_amount_from_line_17": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 22 amount, if any, from line 17", "description": "Section B line 22 'Enter the amount, if any, from line 17' for this debt column. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_23_debt_basis_restoration": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 23 debt basis restoration", "description": "Section B line 23 'Debt basis restoration (see instructions)' for this debt column. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_24_debt_basis_before_repayment": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 24 debt basis before repayment", "description": "Section B line 24 'Debt basis before repayment. Add lines 21, 22, and 23' for this debt column. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_25_divide_24_by_18": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 25 divide line 24 by line 18", "description": "Section B line 25 'Divide line 24 by line 18'. This is a ratio (decimal), not a dollar amount, and is not applicable to the '(d) Total' column (shaded on the printed form). JSON number as printed; null if the entry box is blank or shaded."}, "line_26_nontaxable_debt_repayment": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 26 nontaxable debt repayment", "description": "Section B line 26 'Nontaxable debt repayment. Multiply line 25 by line 19' for this debt column. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_27_debt_basis_before_nondeductible": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 27 debt basis before nondeductible expenses and losses", "description": "Section B line 27 'Debt basis before nondeductible expenses and losses' for this debt column. Subtract line 26 from line 24. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_28_nondeductible_expenses_and_depletion": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 28 nondeductible expenses and oil and gas depletion in excess of stock basis", "description": "Section B line 28 'Nondeductible expenses and oil and gas depletion' deductions in excess of stock basis, for this debt column. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_29_debt_basis_before_losses": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 29 debt basis before losses and deductions", "description": "Section B line 29 'Debt basis before losses and deductions' for this debt column. Subtract line 28 from line 27; if the result is zero or less, the form instructs entering -0-. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_30_allowable_losses_in_excess_of_stock_basis": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 30 allowable losses in excess of stock basis", "description": "Section B line 30 'Allowable losses in excess of stock basis' for this debt column. Enter the amount from line 47, column (d). Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_31_debt_basis_end": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 31 debt basis at end of tax year", "description": "Section B line 31 'Debt basis at the end of the corporation's tax year. Subtract line 30 from line 29. If the result is zero or less, enter -0-' for this debt column. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_32_repayment": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 32 repayment", "description": "Section C line 32 'Repayment. Enter the amount from line 19' for this debt column. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_33_nontaxable_repayments": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 33 nontaxable repayments", "description": "Section C line 33 'Nontaxable repayments. Enter the amount from line 26' for this debt column. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_34_reportable_gain": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 34 reportable gain", "description": "Section C line 34 'Reportable gain. Subtract line 33 from line 32' for this debt column. Whole-dollar amount as a JSON number; null if the entry box is blank."}}}, "Form7203": {"type": "object", "title": "Form 7203 (Rev. December 2021) — S Corporation Shareholder Stock and Debt Basis Limitations", "properties": {"name_of_shareholder": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Name of shareholder", "description": "Header field 'Name of shareholder' (as shown on the shareholder's tax return). Extract the string verbatim as printed; null if blank."}, "identifying_number": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Identifying number", "description": "Header field 'Identifying number' of the shareholder. On these public-release scans this value is often masked/redacted: transcribe exactly the characters that are legible; null if fully redacted or blank."}, "line_a_name_of_s_corporation": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Line A name of S corporation", "description": "Line 'A' 'Name of S corporation'. Extract the string verbatim as printed; null if blank."}, "line_b_employer_identification_number": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Line B employer identification number", "description": "Line 'B' 'Employer identification number' of the S corporation. Extract verbatim including the dash (e.g. '12-3456789'); null if blank."}, "line_c_stock_block": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Line C stock block", "description": "Line 'C' 'Stock block (see instructions):' — a filer-supplied label identifying which block of S corporation stock this form covers, used when the shareholder owns more than one block with different bases. Extract the string verbatim as printed; null if blank."}, "line_d1_original_shareholder_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Line D(1) original shareholder checkbox", "description": "Line D checkbox '(1)' next to the printed label 'Original shareholder', among the boxes for 'Check applicable box(es) to indicate how stock was acquired'. True if checked; false if printed but left unchecked. Return null only if this page is not present."}, "line_d2_purchased_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Line D(2) purchased checkbox", "description": "Line D checkbox '(2)' next to the printed label 'Purchased', among the boxes for 'Check applicable box(es) to indicate how stock was acquired'. True if checked; false if printed but left unchecked. Return null only if this page is not present."}, "line_d3_inherited_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Line D(3) inherited checkbox", "description": "Line D checkbox '(3)' next to the printed label 'Inherited', among the boxes for 'Check applicable box(es) to indicate how stock was acquired'. True if checked; false if printed but left unchecked. Return null only if this page is not present."}, "line_d4_gift_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Line D(4) gift checkbox", "description": "Line D checkbox '(4)' next to the printed label 'Gift', among the boxes for 'Check applicable box(es) to indicate how stock was acquired'. True if checked; false if printed but left unchecked. Return null only if this page is not present."}, "line_d5_other_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Line D(5) other checkbox", "description": "Line D checkbox '(5)' next to the printed label 'Other:', among the boxes for 'Check applicable box(es) to indicate how stock was acquired'. True if checked; false if printed but left unchecked. Return null only if this page is not present."}, "line_d5_other_description": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Line D(5) other description", "description": "Free-text entry on the blank line following the '(5)' 'Other:' checkbox in line D, describing how the stock was acquired when 'Other' applies. Extract the string verbatim as printed; null if blank."}, "line_e_section_1367_election_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Line E Regulations section 1.1367-1(g) election checkbox", "description": "Line 'E' checkbox 'Check if you have a Regulations section 1.1367-1(g) election in effect' during the tax year for this S corporation. True if checked; false if printed but left unchecked. Return null only if this page is not present."}, "line_1_stock_basis_beginning": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 1 stock basis at beginning of tax year", "description": "Part I line 1 'Stock basis at the beginning of the corporation's tax year'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_2_capital_contributions_or_additional_stock": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 2 basis from capital contributions or additional stock acquired", "description": "Part I line 2 'Basis from any capital contributions' made or additional stock acquired during the tax year. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_3a_ordinary_business_income": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 3a ordinary business income", "description": "Part I line '3a' 'Ordinary business income' (enter losses in Part III instead of here). Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_3b_net_rental_real_estate_income": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 3b net rental real estate income", "description": "Part I line '3b' 'Net rental real estate income' (enter losses in Part III instead of here). Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_3c_other_net_rental_income": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 3c other net rental income", "description": "Part I line '3c' 'Other net rental income' (enter losses in Part III instead of here). Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_3d_interest_income": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 3d interest income", "description": "Part I line '3d' 'Interest income'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_3e_ordinary_dividends": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 3e ordinary dividends", "description": "Part I line '3e' 'Ordinary dividends'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_3f_royalties": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 3f royalties", "description": "Part I line '3f' 'Royalties'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_3g_net_capital_gains": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 3g net capital gains", "description": "Part I line '3g' 'Net capital gains' (enter losses in Part III instead of here). Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_3h_net_section_1231_gain": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 3h net section 1231 gain", "description": "Part I line '3h' 'Net section 1231 gain' (enter losses in Part III instead of here). Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_3i_other_income": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 3i other income", "description": "Part I line '3i' 'Other income' (enter losses in Part III instead of here). Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_3j_excess_depletion_adjustment": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 3j excess depletion adjustment", "description": "Part I line '3j' 'Excess depletion adjustment'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_3k_tax_exempt_income": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 3k tax-exempt income", "description": "Part I line '3k' 'Tax-exempt income'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_3l_recapture_of_business_credits": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 3l recapture of business credits", "description": "Part I line '3l' 'Recapture of business credits'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_3m_other_items_that_increase_stock_basis": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 3m other items that increase stock basis", "description": "Part I line '3m' 'Other items that increase stock basis'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_4_add_3a_through_3m": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 4 add lines 3a through 3m", "description": "Part I line 4 'Add lines 3a through 3m'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_5_stock_basis_before_distributions": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 5 stock basis before distributions", "description": "Part I line 5 'Stock basis before distributions. Add lines 1, 2, and 4'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_6_distributions_excluding_dividends": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 6 distributions (excluding dividend distributions)", "description": "Part I line 6 'Distributions (excluding dividend distributions)'. A note beneath this line instructs that if line 6 is larger than line 5, the excess is reported as a capital gain on Form 8949 and Schedule D instead of continuing Part I; that note is not itself a separate field. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_7_stock_basis_after_distributions": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 7 stock basis after distributions", "description": "Part I line 7 'Stock basis after distributions. Subtract line 6 from line 5'. If the result is zero or less, the form instructs entering -0- and skipping lines 8 through 14. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_8a_nondeductible_expenses": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 8a nondeductible expenses", "description": "Part I line '8a' 'Nondeductible expenses'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_8b_depletion_for_oil_and_gas": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 8b depletion for oil and gas", "description": "Part I line '8b' 'Depletion for oil and gas'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_8c_business_credits": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 8c business credits", "description": "Part I line '8c' 'Business credits (sections 50(c)(1) and (5))'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_9_add_8a_through_8c": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 9 add lines 8a through 8c", "description": "Part I line 9 'Add lines 8a through 8c'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_10_stock_basis_before_loss_and_deduction_items": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 10 stock basis before loss and deduction items", "description": "Part I line 10 'Stock basis before loss and deduction items. Subtract line 9 from line 7'. If the result is zero or less, the form instructs entering -0- and skipping lines 11 through 14. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_11_allowable_loss_and_deduction_items": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 11 allowable loss and deduction items", "description": "Part I line 11 'Allowable loss and deduction items. Enter the amount from line 47, column (c)'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_12_debt_basis_restoration": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 12 debt basis restoration", "description": "Part I line 12 'Debt basis restoration (see net increase in instructions for line 23)'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_13_other_items_that_decrease_stock_basis": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 13 other items that decrease stock basis", "description": "Part I line 13 'Other items that decrease stock basis'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_14_add_11_12_13": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 14 add lines 11, 12, and 13", "description": "Part I line 14 'Add lines 11, 12, and 13'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_15_stock_basis_end": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 15 stock basis at end of tax year", "description": "Part I line 15 'Stock basis at the end of the corporation's tax year. Subtract line 14 from line 10'. If the result is zero or less, the form instructs entering -0-. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "debt_columns": {"anyOf": [{"type": "array", "items": {"$ref": "#/$defs/Form7203DebtColumn"}}, {"type": "null"}], "default": null, "title": "Part II debt columns (Debt 1, Debt 2, Debt 3)", "description": "Part II, Section A heading 'Section A—Amount of Debt (If more than three debts, see instructions.)': one array item per filer-completed debt column ('(a) Debt 1', '(b) Debt 2', '(c) Debt 3'), each carrying its Section A/B/C figures (lines 16-34). Omit columns with no data entered anywhere in Part II. Null if Part II is entirely blank."}, "part_ii_totals": {"anyOf": [{"$ref": "#/$defs/Form7203DebtColumn"}, {"type": "null"}], "default": null, "title": "Part II Total column (d)", "description": "Part II '(d) Total' column: the sum across all debt columns for lines 16-34. This is a computed aggregate column, not a fourth filer debt, so it is modeled separately from 'debt_columns'. The 'debt_label' sub-field should read 'Total'; 'formal_note_box'/'open_account_box' are not printed for this column and should be false. Null if Part II is entirely blank."}, "line_35a_ordinary_business_loss_current_year": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 35 column (a) ordinary business loss, current year losses and deductions", "description": "Part III line 35 'Ordinary business loss', column (a) 'Current year losses and deductions'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_35b_ordinary_business_loss_carryover_prior_year": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 35 column (b) ordinary business loss, carryover from previous year", "description": "Part III line 35 'Ordinary business loss', column (b) 'Carryover amounts (column (e)) from the previous year'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_35c_ordinary_business_loss_allowable_stock_basis": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 35 column (c) ordinary business loss, allowable loss from stock basis", "description": "Part III line 35 'Ordinary business loss', column (c) 'Allowable loss from stock basis'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_35d_ordinary_business_loss_allowable_debt_basis": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 35 column (d) ordinary business loss, allowable loss from debt basis", "description": "Part III line 35 'Ordinary business loss', column (d) 'Allowable loss from debt basis'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_35e_ordinary_business_loss_carryover": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 35 column (e) ordinary business loss, carryover amounts", "description": "Part III line 35 'Ordinary business loss', column (e) 'Carryover amounts'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_36a_net_rental_real_estate_loss_current_year": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 36 column (a) net rental real estate loss, current year losses and deductions", "description": "Part III line 36 'Net rental real estate loss', column (a) 'Current year losses and deductions'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_36b_net_rental_real_estate_loss_carryover_prior_year": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 36 column (b) net rental real estate loss, carryover from previous year", "description": "Part III line 36 'Net rental real estate loss', column (b) 'Carryover amounts (column (e)) from the previous year'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_36c_net_rental_real_estate_loss_allowable_stock_basis": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 36 column (c) net rental real estate loss, allowable loss from stock basis", "description": "Part III line 36 'Net rental real estate loss', column (c) 'Allowable loss from stock basis'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_36d_net_rental_real_estate_loss_allowable_debt_basis": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 36 column (d) net rental real estate loss, allowable loss from debt basis", "description": "Part III line 36 'Net rental real estate loss', column (d) 'Allowable loss from debt basis'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_36e_net_rental_real_estate_loss_carryover": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 36 column (e) net rental real estate loss, carryover amounts", "description": "Part III line 36 'Net rental real estate loss', column (e) 'Carryover amounts'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_37a_other_net_rental_loss_current_year": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 37 column (a) other net rental loss, current year losses and deductions", "description": "Part III line 37 'Other net rental loss', column (a) 'Current year losses and deductions'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_37b_other_net_rental_loss_carryover_prior_year": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 37 column (b) other net rental loss, carryover from previous year", "description": "Part III line 37 'Other net rental loss', column (b) 'Carryover amounts (column (e)) from the previous year'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_37c_other_net_rental_loss_allowable_stock_basis": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 37 column (c) other net rental loss, allowable loss from stock basis", "description": "Part III line 37 'Other net rental loss', column (c) 'Allowable loss from stock basis'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_37d_other_net_rental_loss_allowable_debt_basis": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 37 column (d) other net rental loss, allowable loss from debt basis", "description": "Part III line 37 'Other net rental loss', column (d) 'Allowable loss from debt basis'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_37e_other_net_rental_loss_carryover": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 37 column (e) other net rental loss, carryover amounts", "description": "Part III line 37 'Other net rental loss', column (e) 'Carryover amounts'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_38a_net_capital_loss_current_year": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 38 column (a) net capital loss, current year losses and deductions", "description": "Part III line 38 'Net capital loss', column (a) 'Current year losses and deductions'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_38b_net_capital_loss_carryover_prior_year": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 38 column (b) net capital loss, carryover from previous year", "description": "Part III line 38 'Net capital loss', column (b) 'Carryover amounts (column (e)) from the previous year'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_38c_net_capital_loss_allowable_stock_basis": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 38 column (c) net capital loss, allowable loss from stock basis", "description": "Part III line 38 'Net capital loss', column (c) 'Allowable loss from stock basis'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_38d_net_capital_loss_allowable_debt_basis": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 38 column (d) net capital loss, allowable loss from debt basis", "description": "Part III line 38 'Net capital loss', column (d) 'Allowable loss from debt basis'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_38e_net_capital_loss_carryover": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 38 column (e) net capital loss, carryover amounts", "description": "Part III line 38 'Net capital loss', column (e) 'Carryover amounts'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_39a_net_section_1231_loss_current_year": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 39 column (a) net section 1231 loss, current year losses and deductions", "description": "Part III line 39 'Net section 1231 loss', column (a) 'Current year losses and deductions'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_39b_net_section_1231_loss_carryover_prior_year": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 39 column (b) net section 1231 loss, carryover from previous year", "description": "Part III line 39 'Net section 1231 loss', column (b) 'Carryover amounts (column (e)) from the previous year'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_39c_net_section_1231_loss_allowable_stock_basis": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 39 column (c) net section 1231 loss, allowable loss from stock basis", "description": "Part III line 39 'Net section 1231 loss', column (c) 'Allowable loss from stock basis'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_39d_net_section_1231_loss_allowable_debt_basis": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 39 column (d) net section 1231 loss, allowable loss from debt basis", "description": "Part III line 39 'Net section 1231 loss', column (d) 'Allowable loss from debt basis'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_39e_net_section_1231_loss_carryover": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 39 column (e) net section 1231 loss, carryover amounts", "description": "Part III line 39 'Net section 1231 loss', column (e) 'Carryover amounts'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_40a_other_loss_current_year": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 40 column (a) other loss, current year losses and deductions", "description": "Part III line 40 'Other loss', column (a) 'Current year losses and deductions'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_40b_other_loss_carryover_prior_year": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 40 column (b) other loss, carryover from previous year", "description": "Part III line 40 'Other loss', column (b) 'Carryover amounts (column (e)) from the previous year'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_40c_other_loss_allowable_stock_basis": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 40 column (c) other loss, allowable loss from stock basis", "description": "Part III line 40 'Other loss', column (c) 'Allowable loss from stock basis'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_40d_other_loss_allowable_debt_basis": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 40 column (d) other loss, allowable loss from debt basis", "description": "Part III line 40 'Other loss', column (d) 'Allowable loss from debt basis'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_40e_other_loss_carryover": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 40 column (e) other loss, carryover amounts", "description": "Part III line 40 'Other loss', column (e) 'Carryover amounts'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_41a_section_179_deductions_current_year": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 41 column (a) section 179 deductions, current year losses and deductions", "description": "Part III line 41 'Section 179 deductions', column (a) 'Current year losses and deductions'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_41b_section_179_deductions_carryover_prior_year": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 41 column (b) section 179 deductions, carryover from previous year", "description": "Part III line 41 'Section 179 deductions', column (b) 'Carryover amounts (column (e)) from the previous year'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_41c_section_179_deductions_allowable_stock_basis": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 41 column (c) section 179 deductions, allowable loss from stock basis", "description": "Part III line 41 'Section 179 deductions', column (c) 'Allowable loss from stock basis'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_41d_section_179_deductions_allowable_debt_basis": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 41 column (d) section 179 deductions, allowable loss from debt basis", "description": "Part III line 41 'Section 179 deductions', column (d) 'Allowable loss from debt basis'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_41e_section_179_deductions_carryover": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 41 column (e) section 179 deductions, carryover amounts", "description": "Part III line 41 'Section 179 deductions', column (e) 'Carryover amounts'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_42a_charitable_contributions_current_year": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 42 column (a) charitable contributions, current year losses and deductions", "description": "Part III line 42 'Charitable contributions', column (a) 'Current year losses and deductions'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_42b_charitable_contributions_carryover_prior_year": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 42 column (b) charitable contributions, carryover from previous year", "description": "Part III line 42 'Charitable contributions', column (b) 'Carryover amounts (column (e)) from the previous year'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_42c_charitable_contributions_allowable_stock_basis": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 42 column (c) charitable contributions, allowable loss from stock basis", "description": "Part III line 42 'Charitable contributions', column (c) 'Allowable loss from stock basis'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_42d_charitable_contributions_allowable_debt_basis": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 42 column (d) charitable contributions, allowable loss from debt basis", "description": "Part III line 42 'Charitable contributions', column (d) 'Allowable loss from debt basis'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_42e_charitable_contributions_carryover": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 42 column (e) charitable contributions, carryover amounts", "description": "Part III line 42 'Charitable contributions', column (e) 'Carryover amounts'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_43a_investment_interest_expense_current_year": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 43 column (a) investment interest expense, current year losses and deductions", "description": "Part III line 43 'Investment interest expense', column (a) 'Current year losses and deductions'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_43b_investment_interest_expense_carryover_prior_year": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 43 column (b) investment interest expense, carryover from previous year", "description": "Part III line 43 'Investment interest expense', column (b) 'Carryover amounts (column (e)) from the previous year'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_43c_investment_interest_expense_allowable_stock_basis": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 43 column (c) investment interest expense, allowable loss from stock basis", "description": "Part III line 43 'Investment interest expense', column (c) 'Allowable loss from stock basis'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_43d_investment_interest_expense_allowable_debt_basis": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 43 column (d) investment interest expense, allowable loss from debt basis", "description": "Part III line 43 'Investment interest expense', column (d) 'Allowable loss from debt basis'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_43e_investment_interest_expense_carryover": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 43 column (e) investment interest expense, carryover amounts", "description": "Part III line 43 'Investment interest expense', column (e) 'Carryover amounts'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_44a_section_59e2_expenditures_current_year": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 44 column (a) section 59(e)(2) expenditures, current year losses and deductions", "description": "Part III line 44 'Section 59(e)(2) expenditures', column (a) 'Current year losses and deductions'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_44b_section_59e2_expenditures_carryover_prior_year": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 44 column (b) section 59(e)(2) expenditures, carryover from previous year", "description": "Part III line 44 'Section 59(e)(2) expenditures', column (b) 'Carryover amounts (column (e)) from the previous year'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_44c_section_59e2_expenditures_allowable_stock_basis": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 44 column (c) section 59(e)(2) expenditures, allowable loss from stock basis", "description": "Part III line 44 'Section 59(e)(2) expenditures', column (c) 'Allowable loss from stock basis'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_44d_section_59e2_expenditures_allowable_debt_basis": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 44 column (d) section 59(e)(2) expenditures, allowable loss from debt basis", "description": "Part III line 44 'Section 59(e)(2) expenditures', column (d) 'Allowable loss from debt basis'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_44e_section_59e2_expenditures_carryover": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 44 column (e) section 59(e)(2) expenditures, carryover amounts", "description": "Part III line 44 'Section 59(e)(2) expenditures', column (e) 'Carryover amounts'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_45a_other_deductions_current_year": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 45 column (a) other deductions, current year losses and deductions", "description": "Part III line 45 'Other deductions', column (a) 'Current year losses and deductions'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_45b_other_deductions_carryover_prior_year": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 45 column (b) other deductions, carryover from previous year", "description": "Part III line 45 'Other deductions', column (b) 'Carryover amounts (column (e)) from the previous year'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_45c_other_deductions_allowable_stock_basis": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 45 column (c) other deductions, allowable loss from stock basis", "description": "Part III line 45 'Other deductions', column (c) 'Allowable loss from stock basis'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_45d_other_deductions_allowable_debt_basis": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 45 column (d) other deductions, allowable loss from debt basis", "description": "Part III line 45 'Other deductions', column (d) 'Allowable loss from debt basis'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_45e_other_deductions_carryover": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 45 column (e) other deductions, carryover amounts", "description": "Part III line 45 'Other deductions', column (e) 'Carryover amounts'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_46a_foreign_taxes_paid_or_accrued_current_year": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 46 column (a) foreign taxes paid or accrued, current year losses and deductions", "description": "Part III line 46 'Foreign taxes paid or accrued', column (a) 'Current year losses and deductions'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_46b_foreign_taxes_paid_or_accrued_carryover_prior_year": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 46 column (b) foreign taxes paid or accrued, carryover from previous year", "description": "Part III line 46 'Foreign taxes paid or accrued', column (b) 'Carryover amounts (column (e)) from the previous year'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_46c_foreign_taxes_paid_or_accrued_allowable_stock_basis": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 46 column (c) foreign taxes paid or accrued, allowable loss from stock basis", "description": "Part III line 46 'Foreign taxes paid or accrued', column (c) 'Allowable loss from stock basis'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_46d_foreign_taxes_paid_or_accrued_allowable_debt_basis": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 46 column (d) foreign taxes paid or accrued, allowable loss from debt basis", "description": "Part III line 46 'Foreign taxes paid or accrued', column (d) 'Allowable loss from debt basis'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_46e_foreign_taxes_paid_or_accrued_carryover": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 46 column (e) foreign taxes paid or accrued, carryover amounts", "description": "Part III line 46 'Foreign taxes paid or accrued', column (e) 'Carryover amounts'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_47a_total_loss_current_year": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 47 column (a) total loss, current year losses and deductions", "description": "Part III line 47 'Total loss. Add lines 35 through 46 for each column', column (a) 'Current year losses and deductions'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_47b_total_loss_carryover_prior_year": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 47 column (b) total loss, carryover from previous year", "description": "Part III line 47 'Total loss. Add lines 35 through 46 for each column', column (b) 'Carryover amounts (column (e)) from the previous year'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_47c_total_loss_allowable_stock_basis": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 47 column (c) total loss, allowable loss from stock basis", "description": "Part III line 47 'Total loss. Add lines 35 through 46 for each column', column (c) 'Allowable loss from stock basis'. The form directs entering this total on Part I line 11. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_47d_total_loss_allowable_debt_basis": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 47 column (d) total loss, allowable loss from debt basis", "description": "Part III line 47 'Total loss. Add lines 35 through 46 for each column', column (d) 'Allowable loss from debt basis'. The form directs entering this total on Part II, Section B, line 30. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_47e_total_loss_carryover": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 47 column (e) total loss, carryover amounts", "description": "Part III line 47 'Total loss. Add lines 35 through 46 for each column', column (e) 'Carryover amounts'. Whole-dollar amount as a JSON number; null if the entry box is blank."}}}, "Form8283SectionARow": {"type": "object", "title": "Section A Part I donated-property row (A-E)", "properties": {"row_label": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Row letter", "description": "Row letter printed in the left margin of the Section A, Part I 'Information on Donated Property' line 1 grid (values A through E). Extract exactly as printed; null if the row is entirely blank."}, "donee_name_and_address": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Column (a) name and address of the donee organization", "description": "Line 1 column '(a) Name and address of the donee organization' for this row. Extract the string verbatim as printed (name and address may be combined into one string as written); null if blank. Identifies the donated-property row when populated; if blank, keep rows in print order (A-E)."}, "vehicle_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Column (b) vehicle checkbox", "description": "Line 1 column '(b)' \"If donated property is a vehicle (see instructions), check the box\" for this row. True if the box is checked; false if the box is printed but left unchecked. Two-state policy: true ONLY if this box is marked; false otherwise (unmarked, or not printed on this rendering). Return null only if this page is not present."}, "vehicle_identification_number": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Column (b) vehicle identification number", "description": "Line 1 column '(b)' write-in boxes: \"Also enter the vehicle identification number (unless Form 1098-C is attached)\", for this row. Extract the string verbatim as printed (one character per printed box, concatenated); null if blank or if Form 1098-C is attached instead."}, "description_and_condition": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Column (c) description and condition of donated property", "description": "Line 1 column '(c) Description and condition of donated property' for this row (for a vehicle, the year, make, model, and mileage; for securities and other property, per instructions). Extract the string verbatim as printed; null if blank."}, "date_of_contribution": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Column (d) date of the contribution", "description": "Column '(d) Date of the contribution' for this row. Extract the date string verbatim as printed; null if blank."}, "date_acquired_by_donor": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Column (e) date acquired by donor (mo., yr.)", "description": "Column '(e) Date acquired by donor (mo., yr.)' for this row. Not required if the amount claimed as a deduction for this item is $500 or less. Extract the string verbatim as printed (month/year); null if blank."}, "how_acquired_by_donor": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Column (f) how acquired by donor", "description": "Column '(f) How acquired by donor' for this row. Not required if the amount claimed as a deduction for this item is $500 or less. Extract the string verbatim as printed; null if blank."}, "donor_cost_or_adjusted_basis": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Column (g) donor's cost or adjusted basis", "description": "Column \"(g) Donor's cost or adjusted basis\" for this row. Not required if the amount claimed as a deduction for this item is $500 or less. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "fair_market_value": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Column (h) fair market value", "description": "Column '(h) Fair market value (see instructions)' for this row. Not required if the amount claimed as a deduction for this item is $500 or less. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "method_used_to_determine_fmv": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Column (i) method used to determine the fair market value", "description": "Column '(i) Method used to determine the fair market value' for this row. Not required if the amount claimed as a deduction for this item is $500 or less. Extract the string verbatim as printed; null if blank."}}}, "Form8283SectionBRow": {"type": "object", "title": "Section B Part I donated-property row (A-C)", "properties": {"row_label": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Row letter", "description": "Row letter printed in the left margin of the Section B, Part I 'Information on Donated Property' line 3 grid (values A, B, or C). Extract exactly as printed; null if the row is entirely blank."}, "description_of_donated_property": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Column (a) description of donated property", "description": "Line 3 column '(a) Description of donated property' for this row (if more space is needed, a separate statement is attached). Extract the string verbatim as printed; null if blank. Identifies the donated-property row when populated; if blank, keep rows in print order (A-C)."}, "physical_condition_summary": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Column (b) physical condition summary", "description": "Line 3 column '(b)' physical condition summary for this row: if any tangible personal property or real property was donated, a brief summary of the overall physical condition of the property at the time of the gift. Extract the string verbatim as printed; null if blank."}, "appraised_fair_market_value": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Column (c) appraised fair market value", "description": "Line 3 column '(c) Appraised fair market value' for this row. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "date_acquired_by_donor": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Column (d) date acquired by donor (mo., yr.)", "description": "Column '(d) Date acquired by donor (mo., yr.)' for this row. Extract the string verbatim as printed (month/year); null if blank."}, "how_acquired_by_donor": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Column (e) how acquired by donor", "description": "Column '(e) How acquired by donor' for this row. Extract the string verbatim as printed; null if blank."}, "donor_cost_or_adjusted_basis": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Column (f) donor's cost or adjusted basis", "description": "Column \"(f) Donor's cost or adjusted basis\" for this row. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "bargain_sale_amount_received": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Column (g) for bargain sales, amount received", "description": "Column '(g) For bargain sales, enter amount received' for this row. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "amount_claimed_as_deduction": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Column (h) amount claimed as a deduction", "description": "Column '(h) Amount claimed as a deduction (see instructions)' for this row. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "date_of_contribution": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Column (i) date of contribution", "description": "Column '(i) Date of contribution (see instructions)' for this row. Extract the date string verbatim as printed; null if blank."}}}, "Form8283": {"type": "object", "title": "Form 8283 (Rev. November 2021) — Noncash Charitable Contributions", "properties": {"names_shown": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Name(s) shown on your income tax return", "description": "Form 8283 header field 'Name(s) shown on your income tax return'. Extract the string verbatim as printed; null if blank."}, "identifying_number": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Identifying number", "description": "Form 8283 header field 'Identifying number'. On these public-release scans this value is usually masked/redacted: transcribe exactly the characters that are legible; null if fully redacted or blank."}, "section_a_rows": {"anyOf": [{"items": {"$ref": "#/$defs/Form8283SectionARow"}, "type": "array"}, {"type": "null"}], "default": null, "title": "Section A Part I donated property rows A-E (line 1)", "description": "Section A 'Donated Property of $5,000 or Less and Publicly Traded Securities', Part I 'Information on Donated Property' line 1 grid, rows A through E, columns (a) Name and address of the donee organization through (i) Method used to determine the fair market value. List in this section only an item (or group of similar items) for which the filer claimed a deduction of $5,000 or less, plus publicly traded securities and certain other property even if the deduction is more than $5,000. One row per listed item (up to 5, or more via an attached statement per the printed 'If you need more space, attach a statement' note); empty grid → null."}, "section_b_property_type_art_20k_or_more_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Line 2a checkbox: Art (contribution of $20,000 or more)", "description": "Section B, Part I, line 2 checkbox '(a)' \"Art* (contribution of $20,000 or more)\" — one of the 'Check the box that describes the type of property donated' options. True if checked; false if printed but left unchecked. Return null only if this page is not present."}, "section_b_property_type_conservation_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Line 2b checkbox: Qualified Conservation Contribution", "description": "Section B, Part I, line 2 checkbox '(b)' 'Qualified Conservation Contribution' — one of the 'Check the box that describes the type of property donated' options. True if checked; false if printed but left unchecked. Return null only if this page is not present."}, "section_b_property_type_equipment_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Line 2c checkbox: Equipment", "description": "Section B, Part I, line 2 checkbox '(c)' 'Equipment' — one of the 'Check the box that describes the type of property donated' options. True if checked; false if printed but left unchecked. Return null only if this page is not present."}, "section_b_property_type_art_under_20k_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Line 2d checkbox: Art (contribution of less than $20,000)", "description": "Section B, Part I, line 2 checkbox '(d)' \"Art* (contribution of less than $20,000)\" — one of the 'Check the box that describes the type of property donated' options. True if checked; false if printed but left unchecked. Return null only if this page is not present."}, "section_b_property_type_other_real_estate_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Line 2e checkbox: Other Real Estate", "description": "Section B, Part I, line 2 checkbox '(e)' 'Other Real Estate' — one of the 'Check the box that describes the type of property donated' options. True if checked; false if printed but left unchecked. Return null only if this page is not present."}, "section_b_property_type_securities_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Line 2f checkbox: Securities", "description": "Section B, Part I, line 2 checkbox '(f)' 'Securities' — one of the 'Check the box that describes the type of property donated' options. True if checked; false if printed but left unchecked. Return null only if this page is not present."}, "section_b_property_type_collectibles_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Line 2g checkbox: Collectibles", "description": "Section B, Part I, line 2 checkbox '(g)' 'Collectibles**' — one of the 'Check the box that describes the type of property donated' options. True if checked; false if printed but left unchecked. Return null only if this page is not present."}, "section_b_property_type_intellectual_property_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Line 2h checkbox: Intellectual Property", "description": "Section B, Part I, line 2 checkbox '(h)' 'Intellectual Property' — one of the 'Check the box that describes the type of property donated' options. True if checked; false if printed but left unchecked. Return null only if this page is not present."}, "section_b_property_type_vehicles_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Line 2i checkbox: Vehicles", "description": "Section B, Part I, line 2 checkbox '(i)' 'Vehicles' — one of the 'Check the box that describes the type of property donated' options. True if checked; false if printed but left unchecked. Return null only if this page is not present."}, "section_b_property_type_clothing_household_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Line 2j checkbox: Clothing and household items", "description": "Section B, Part I, line 2 checkbox '(j)' 'Clothing and household items' — one of the 'Check the box that describes the type of property donated' options. True if checked; false if printed but left unchecked. Return null only if this page is not present."}, "section_b_property_type_other_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Line 2k checkbox: Other", "description": "Section B, Part I, line 2 checkbox '(k)' 'Other' — one of the 'Check the box that describes the type of property donated' options. True if checked; false if printed but left unchecked. Return null only if this page is not present."}, "section_b_rows": {"anyOf": [{"items": {"$ref": "#/$defs/Form8283SectionBRow"}, "type": "array"}, {"type": "null"}], "default": null, "title": "Section B Part I donated property rows A-C (line 3)", "description": "Section B 'Donated Property Over $5,000', Part I 'Information on Donated Property' line 3 grid, rows A through C, columns (a) Description of donated property through (i) Date of contribution. Complete for one item (or group of similar items) for which the filer claimed a deduction of more than $5,000 per item or group. One row per listed item (up to 3); empty grid → null."}, "line_4a_property_letter_partial_interest": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Line 4a letter from Section B, Part I identifying the partial-interest property", "description": "Part II line '4a' write-in: the letter from Section B, Part I that identifies the property for which the donor gave less than an entire interest. If Section B, Part II applies to more than one property, a separate statement is attached. Extract the string verbatim as printed (the identifying letter); null if blank."}, "line_4b1_deduction_this_tax_year": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 4b(1) total deduction claimed for this tax year", "description": "Part II line '4b' total amount claimed as a deduction for the property listed in Section B, Part I, sub-line '(1) For this tax year'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_4b2_deduction_prior_tax_years": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 4b(2) total deduction claimed for any prior tax years", "description": "Part II line '4b' sub-line '(2) For any prior tax years' — total amount claimed as a deduction for the property listed in Section B, Part I, in prior tax years. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_4c_prior_year_donee_name": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Line 4c name of charitable organization (donee), prior-year gift", "description": "Part II line '4c' 'Name of charitable organization (donee)' entry (complete only if different from the donee organization in Section B, Part V), for an organization to which a similar contribution was made in a prior year. Extract the string verbatim as printed; null if blank."}, "line_4c_prior_year_donee_address": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Line 4c address (number, street, and room or suite no.), prior-year donee", "description": "Part II line '4c' 'Address (number, street, and room or suite no.)' entry for the prior-year donee organization. Extract the string verbatim as printed; null if blank."}, "line_4c_prior_year_donee_city_state_zip": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Line 4c city or town, state, and ZIP code, prior-year donee", "description": "Part II line '4c' 'City or town, state, and ZIP code' entry for the prior-year donee organization. Extract the string verbatim as printed; null if blank."}, "line_4d_property_location": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Line 4d place where tangible property is located or kept", "description": "Part II line '4d' \"For tangible property, enter the place where the property is located or kept.\" Extract the string verbatim as printed; null if blank."}, "line_4e_person_with_possession": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Line 4e name of person with actual possession of the property", "description": "Part II line '4e' write-in: name of any person, other than the donee organization, having actual possession of the property. Extract the string verbatim as printed; null if blank."}, "line_5a_restriction_on_donee_use_yes_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Line 5a Yes box: restriction on donee's right to use or dispose", "description": "Part II line '5a' restriction-on-donee-rights question — the 'Yes' checkbox for whether there is a restriction, temporary or permanent, on the right of the donee to use or dispose of the donated property. True if the 'Yes' box is checked; false if the box is printed but left unchecked (including when 'No' is checked instead). Two-state policy: true ONLY if this box is marked; false otherwise. Return null only if this page is not present."}, "line_5a_restriction_on_donee_use_no_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Line 5a No box: restriction on donee's right to use or dispose", "description": "Part II line '5a' restriction-on-donee-rights question — the 'No' checkbox for whether there is a restriction, temporary or permanent, on the right of the donee to use or dispose of the donated property. True if the 'No' box is checked; false if the box is printed but left unchecked (including when 'Yes' is checked instead). Two-state policy: true ONLY if this box is marked; false otherwise. Return null only if this page is not present."}, "line_5b_right_to_income_or_possession_yes_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Line 5b Yes box: gave right to income/possession to another party", "description": "Part II line '5b' question on whether the donor gave to anyone other than the donee organization the right to the income from, or possession of, the donated property (including the right to vote donated securities, acquire the property, or designate the recipient) — the 'Yes' checkbox. True if the 'Yes' box is checked; false if the box is printed but left unchecked (including when 'No' is checked instead). Two-state policy: true ONLY if this box is marked; false otherwise. Return null only if this page is not present. Note: the printed form shades the 'No' column gray for this line; the 'Yes' box is the operative one printed with a clear response cell."}, "line_5c_restriction_limiting_use_yes_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Line 5c Yes box: restriction limiting property to a particular use", "description": "Part II line '5c' 'Is there a restriction limiting the donated property for a particular use?' — the 'Yes' checkbox. True if the 'Yes' box is checked; false if the box is printed but left unchecked (including when 'No' is checked instead). Two-state policy: true ONLY if this box is marked; false otherwise. Return null only if this page is not present."}, "line_5c_restriction_limiting_use_no_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Line 5c No box: restriction limiting property to a particular use", "description": "Part II line '5c' 'Is there a restriction limiting the donated property for a particular use?' — the 'No' checkbox. True if the 'No' box is checked; false if the box is printed but left unchecked (including when 'Yes' is checked instead). Two-state policy: true ONLY if this box is marked; false otherwise. Return null only if this page is not present."}, "part_iii_taxpayer_statement": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Part III taxpayer (donor) statement — identifying letter(s) and item description", "description": "Part III 'Taxpayer (Donor) Statement' write-in area: \"Enter identifying letter from Section B, Part I and describe the specific item\" for each item the appraisal identifies as having a value of $500 or less. Extract the string verbatim as printed (letter(s) plus description, as a single combined string); null if blank."}, "part_iii_taxpayer_signature": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Part III Signature of taxpayer (donor)", "description": "Part III signature line 'Signature of taxpayer (donor)'. Extract the signer's name/mark as transcribed if legible; null if blank or illegible."}, "part_iii_date": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Part III Date (taxpayer signature)", "description": "Part III signature block 'Date' field, adjacent to 'Signature of taxpayer (donor)'. Extract the date string verbatim as printed; null if blank."}, "part_iv_appraiser_signature": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Part IV Appraiser signature", "description": "Part IV 'Declaration of Appraiser', 'Sign Here' block, 'Appraiser signature' field. Extract the signer's name/mark as transcribed if legible; null if blank or illegible."}, "part_iv_appraiser_signature_date": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Part IV Date (appraiser signature)", "description": "Part IV 'Sign Here' block 'Date' field, adjacent to 'Appraiser signature'. Extract the date string verbatim as printed; null if blank."}, "part_iv_appraiser_name": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Part IV Appraiser name", "description": "Part IV 'Sign Here' block 'Appraiser name' field. Extract the string verbatim as printed; null if blank."}, "part_iv_appraiser_title": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Part IV Appraiser title", "description": "Part IV 'Sign Here' block 'Title' field, adjacent to 'Appraiser name'. Extract the string verbatim as printed; null if blank."}, "part_iv_appraiser_business_address": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Part IV Business address (including room or suite no.)", "description": "Part IV 'Sign Here' block 'Business address (including room or suite no.)' field. Extract the string verbatim as printed; null if blank."}, "part_iv_appraiser_identifying_number": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Part IV Appraiser identifying number", "description": "Part IV 'Sign Here' block 'Identifying number' field for the appraiser. On these public-release scans this value may be masked/redacted: transcribe exactly the characters that are legible; null if fully redacted or blank."}, "part_iv_appraiser_city_state_zip": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Part IV City or town, state, and ZIP code (appraiser)", "description": "Part IV 'Sign Here' block 'City or town, state, and ZIP code' field for the appraiser's business address. Extract the string verbatim as printed; null if blank."}, "part_v_unrelated_use_yes_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Part V Yes box: organization intends unrelated use", "description": "Part V 'Donee Acknowledgment' question \"Does the organization intend to use the property for an unrelated use?\" — the 'Yes' checkbox. True if the 'Yes' box is checked; false if the box is printed but left unchecked (including when 'No' is checked instead). Two-state policy: true ONLY if this box is marked; false otherwise. Return null only if this page is not present."}, "part_v_unrelated_use_no_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Part V No box: organization intends unrelated use", "description": "Part V 'Donee Acknowledgment' question \"Does the organization intend to use the property for an unrelated use?\" — the 'No' checkbox. True if the 'No' box is checked; false if the box is printed but left unchecked (including when 'Yes' is checked instead). Two-state policy: true ONLY if this box is marked; false otherwise. Return null only if this page is not present."}, "part_v_donee_receipt_date": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Part V date donee received the donated property", "description": "Part V 'Donee Acknowledgment' write-in: the date the organization received the donated property described in Section B, Part I. Extract the date string verbatim as printed; null if blank."}, "part_v_donee_name": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Part V Name of charitable organization (donee)", "description": "Part V 'Donee Acknowledgment' block 'Name of charitable organization (donee)' field. Extract the string verbatim as printed; null if blank."}, "part_v_donee_ein": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Part V Employer identification number (donee)", "description": "Part V 'Donee Acknowledgment' block 'Employer identification number' field for the donee organization. On these public-release scans this value may be masked/redacted: transcribe exactly the characters that are legible; null if fully redacted or blank."}, "part_v_donee_address": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Part V Address (number, street, and room or suite no.), donee", "description": "Part V 'Donee Acknowledgment' block 'Address (number, street, and room or suite no.)' field. Extract the string verbatim as printed; null if blank."}, "part_v_donee_city_state_zip": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Part V City or town, state, and ZIP code, donee", "description": "Part V 'Donee Acknowledgment' block 'City or town, state, and ZIP code' field. Extract the string verbatim as printed; null if blank."}, "part_v_authorized_signature": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Part V Authorized signature", "description": "Part V 'Donee Acknowledgment' block 'Authorized signature' field. Extract the signer's name/mark as transcribed if legible; null if blank or illegible."}, "part_v_authorized_signature_title": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Part V Title (authorized signature)", "description": "Part V 'Donee Acknowledgment' block 'Title' field, adjacent to 'Authorized signature'. Extract the string verbatim as printed; null if blank."}, "part_v_authorized_signature_date": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Part V Date (authorized signature)", "description": "Part V 'Donee Acknowledgment' block 'Date' field, adjacent to 'Authorized signature'. Extract the date string verbatim as printed; null if blank."}}}, "Form8582ActivityRow": {"type": "object", "title": "Form 8582 Part IV/V activity row (name of activity grid)", "properties": {"name_of_activity": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Name of activity", "description": "'Name of activity' column entry for this row of the Part IV or Part V grid. Extract the string verbatim as printed; null if blank. Identifies the activity row when populated; if blank, keep rows in print order."}, "current_year_net_income": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Column (a) net income (current year)", "description": "Column '(a) Net income' under 'Current year' for this activity row (feeds Part I line 1a on the Part IV grid, or line 2a on the Part V grid). Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "current_year_net_loss": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Column (b) net loss (current year)", "description": "Column '(b) Net loss' under 'Current year' for this activity row (feeds Part I line 1b on the Part IV grid, or line 2b on the Part V grid). Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "prior_years_unallowed_loss": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Column (c) unallowed loss (prior years)", "description": "Column '(c) Unallowed loss' under 'Prior years' for this activity row (feeds Part I line 1c on the Part IV grid, or line 2c on the Part V grid). Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "overall_gain": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Column (d) gain (overall gain or loss)", "description": "Column '(d) Gain' under 'Overall gain or loss' for this activity row. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "overall_loss": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Column (e) loss (overall gain or loss)", "description": "Column '(e) Loss' under 'Overall gain or loss' for this activity row. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}}}, "Form8582AllowanceRow": {"type": "object", "title": "Form 8582 Part VI special-allowance activity row", "properties": {"name_of_activity": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Name of activity", "description": "'Name of activity' column entry for this row of the Part VI grid. Extract the string verbatim as printed; null if blank. Identifies the activity row when populated; if blank, keep rows in print order."}, "form_or_schedule_line": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Form or schedule and line number to be reported on", "description": "'Form or schedule and line number to be reported on' write-in column for this row. Extract the string verbatim as printed; null if blank."}, "loss": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Column (a) loss", "description": "Column '(a) Loss' for this activity row. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "ratio": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Column (b) ratio", "description": "Column '(b) Ratio' for this activity row. Decimal fraction as a JSON number (e.g. 0.25); null if the entry box is blank."}, "special_allowance": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Column (c) special allowance", "description": "Column '(c) Special allowance' for this activity row. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "subtract_c_from_a": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Column (d) subtract column (c) from column (a)", "description": "Column \"(d) Subtract column (c) from column (a)\" for this activity row. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}}}, "Form8582AllocationRow": {"type": "object", "title": "Form 8582 Part VII allocation-of-unallowed-losses activity row", "properties": {"name_of_activity": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Name of activity", "description": "'Name of activity' column entry for this row of the Part VII grid. Extract the string verbatim as printed; null if blank. Identifies the activity row when populated; if blank, keep rows in print order."}, "form_or_schedule_line": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Form or schedule and line number to be reported on", "description": "'Form or schedule and line number to be reported on' write-in column for this row. Extract the string verbatim as printed; null if blank."}, "loss": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Column (a) loss", "description": "Column '(a) Loss' for this activity row. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "ratio": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Column (b) ratio", "description": "Column '(b) Ratio' for this activity row. Decimal fraction as a JSON number (e.g. 0.25); null if the entry box is blank."}, "unallowed_loss": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Column (c) unallowed loss", "description": "Column '(c) Unallowed loss' for this activity row. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}}}, "Form8582AllowedLossRow": {"type": "object", "title": "Form 8582 Part VIII allowed-losses activity row", "properties": {"name_of_activity": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Name of activity", "description": "'Name of activity' column entry for this row of the Part VIII grid. Extract the string verbatim as printed; null if blank. Identifies the activity row when populated; if blank, keep rows in print order."}, "form_or_schedule_line": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Form or schedule and line number to be reported on", "description": "'Form or schedule and line number to be reported on' write-in column for this row. Extract the string verbatim as printed; null if blank."}, "loss": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Column (a) loss", "description": "Column '(a) Loss' for this activity row. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "unallowed_loss": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Column (b) unallowed loss", "description": "Column '(b) Unallowed loss' for this activity row. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "allowed_loss": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Column (c) allowed loss", "description": "Column '(c) Allowed loss' for this activity row. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}}}, "Form8582TwoScheduleRow": {"type": "object", "title": "Form 8582 Part IX activity-with-losses-on-two-schedules block", "properties": {"name_of_activity": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Name of activity", "description": "'Name of activity:' write-in for this Part IX block. Extract the string verbatim as printed; null if blank. Identifies the block when populated; if blank, keep blocks in print order (the official 2021 form prints 3 blocks)."}, "form_or_schedule_line": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Form or schedule and line number to be reported on", "description": "'Form or schedule and line number to be reported on (see instructions):' write-in for this block. Extract the string verbatim as printed; null if blank."}, "line_1a_net_loss_plus_prior_unallowed": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 1a net loss plus prior year unallowed loss (column (a))", "description": "Line '1a' 'Net loss plus prior year unallowed loss from form or schedule' — column (a) entry for this block. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_1b_net_income": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 1b net income from form or schedule (column (a))", "description": "Line '1b' 'Net income from form or schedule' — column (a) entry for this block. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_1c_col_a_subtract_1b_from_1a": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 1c column (a) subtract line 1b from line 1a", "description": "Line '1c' \"Subtract line 1b from line 1a\" column (a) entry for this block; if zero or less, printed instruction says enter -0-. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_1c_col_b": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 1c column (b)", "description": "Line 1c row, column '(b)' entry for this block (unlabeled amount column used when the activity's loss is allocated across two forms/schedules). Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_1c_ratio": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 1c column (c) ratio", "description": "Line 1c row, column '(c) Ratio' entry for this block. Decimal fraction as a JSON number (e.g. 0.25); null if the entry box is blank."}, "line_1c_unallowed_loss": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 1c column (d) unallowed loss", "description": "Line 1c row, column '(d) Unallowed loss' entry for this block. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_1c_allowed_loss": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 1c column (e) allowed loss", "description": "Line 1c row, column '(e) Allowed loss' entry for this block. Whole-dollar amount as a JSON number; null if the entry box is blank."}}}, "Form8582": {"type": "object", "title": "Form 8582 (2021) — Passive Activity Loss Limitations", "properties": {"names_shown_on_return": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Name(s) shown on return", "description": "Form 8582 header field 'Name(s) shown on return'. Extract the string verbatim as printed; null if blank."}, "identifying_number": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Identifying number", "description": "Form 8582 header field 'Identifying number'. On these public-release scans this value is usually masked/redacted: transcribe exactly the characters that are legible; null if fully redacted or blank."}, "line_1a_activities_with_net_income": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 1a activities with net income", "description": "Part I line '1a' 'Activities with net income (enter the amount from Part IV, column (a))'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_1b_activities_with_net_loss": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 1b activities with net loss", "description": "Part I line '1b' 'Activities with net loss (enter the amount from Part IV, column (b))'. Printed inside parentheses on the form (a filled entry is a loss, i.e. negative). Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_1c_prior_years_unallowed_losses": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 1c prior years' unallowed losses", "description": "Part I line '1c' \"Prior years' unallowed losses (enter the amount from Part IV, column (c))\". Printed inside parentheses on the form (a filled entry is a loss, i.e. negative). Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_1d_combine_1a_1b_1c": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 1d combine lines 1a, 1b, and 1c", "description": "Part I line '1d' 'Combine lines 1a, 1b, and 1c'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_2a_activities_with_net_income": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 2a activities with net income (all other passive activities)", "description": "Part I line '2a' 'Activities with net income (enter the amount from Part V, column (a))'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_2b_activities_with_net_loss": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 2b activities with net loss (all other passive activities)", "description": "Part I line '2b' 'Activities with net loss (enter the amount from Part V, column (b))'. Printed inside parentheses on the form (a filled entry is a loss, i.e. negative). Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_2c_prior_years_unallowed_losses": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 2c prior years' unallowed losses (all other passive activities)", "description": "Part I line '2c' \"Prior years' unallowed losses (enter the amount from Part V, column (c))\". Printed inside parentheses on the form (a filled entry is a loss, i.e. negative). Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_2d_combine_2a_2b_2c": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 2d combine lines 2a, 2b, and 2c", "description": "Part I line '2d' 'Combine lines 2a, 2b, and 2c'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_3_combine_1d_2d": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 3 combine lines 1d and 2d", "description": "Part I line 3 'Combine lines 1d and 2d.' If this line is zero or more, the printed instruction says stop and include this form with the return since all losses are allowed, including any prior year unallowed losses entered on line 1c or 2c; report the losses on the forms and schedules normally used. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_4_smaller_of_1d_or_3_loss": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 4 smaller of the loss on line 1d or line 3", "description": "Part II line 4 'Enter the smaller of the loss on line 1d or the loss on line 3'. Part II instructs entering all Part II numbers as positive amounts. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_5_150000_or_mfs_amount": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 5 enter $150,000 (or married-filing-separately amount)", "description": "Part II line 5 'Enter $150,000.' If married filing separately, the printed instruction directs the filer to see instructions for a different amount. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_6_modified_agi": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 6 modified adjusted gross income", "description": "Part II line 6 'Enter modified adjusted gross income, but not less than zero.' If line 6 is greater than or equal to line 5, the printed note says skip lines 7 and 8 and enter -0- on line 9. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_7_subtract_6_from_5": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 7 subtract line 6 from line 5", "description": "Part II line 7 'Subtract line 6 from line 5'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_8_multiply_line_7_by_50_pct": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 8 multiply line 7 by 50% (0.50)", "description": "Part II line 8 'Multiply line 7 by 50% (0.50).' Do not enter more than $25,000; if married filing separately, see instructions for a different cap. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_9_smaller_of_4_or_8": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 9 smaller of line 4 or line 8", "description": "Part II line 9 'Enter the smaller of line 4 or line 8'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_10_add_income_1a_2a": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 10 add the income, if any, on lines 1a and 2a", "description": "Part III line 10 'Add the income, if any, on lines 1a and 2a and enter the total'. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_11_total_losses_allowed": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 11 total losses allowed from all passive activities for 2021", "description": "Part III line 11 'Total losses allowed from all passive activities for 2021.' Add lines 9 and 10; see instructions to find out how to report the losses on the tax return. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "part_iv_activities": {"anyOf": [{"items": {"$ref": "#/$defs/Form8582ActivityRow"}, "type": "array"}, {"type": "null"}], "default": null, "title": "Part IV activity grid (rental real estate with active participation)", "description": "Part IV 'Complete This Part Before Part I, Lines 1a, 1b, and 1c' activity grid: 'Name of activity' rows with columns (a) Net income (line 1a) through (e) Loss. The official 2021 blank prints 5 blank rows; one row per listed activity. Does not include the 'Total. Enter on Part I, lines 1a, 1b, and 1c' summary row, which is modeled as fixed fields. Empty grid (no activities listed) → null."}, "part_iv_total_current_year_net_income": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Part IV Total — column (a) net income", "description": "Part IV 'Total. Enter on Part I, lines 1a, 1b, and 1c' row, column '(a) Net income (line 1a)' subtotal. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "part_iv_total_current_year_net_loss": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Part IV Total — column (b) net loss", "description": "Part IV 'Total. Enter on Part I, lines 1a, 1b, and 1c' row, column '(b) Net loss (line 1b)' subtotal. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "part_iv_total_prior_years_unallowed_loss": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Part IV Total — column (c) unallowed loss", "description": "Part IV 'Total. Enter on Part I, lines 1a, 1b, and 1c' row, column '(c) Unallowed loss (line 1c)' subtotal. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "part_v_activities": {"anyOf": [{"items": {"$ref": "#/$defs/Form8582ActivityRow"}, "type": "array"}, {"type": "null"}], "default": null, "title": "Part V activity grid (all other passive activities)", "description": "Part V 'Complete This Part Before Part I, Lines 2a, 2b, and 2c' activity grid: 'Name of activity' rows with columns (a) Net income (line 2a) through (e) Loss. The official 2021 blank prints 5 blank rows; one row per listed activity. Does not include the 'Total. Enter on Part I, lines 2a, 2b, and 2c' summary row, which is modeled as fixed fields. Empty grid (no activities listed) → null."}, "part_v_total_current_year_net_income": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Part V Total — column (a) net income", "description": "Part V 'Total. Enter on Part I, lines 2a, 2b, and 2c' row, column '(a) Net income (line 2a)' subtotal. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "part_v_total_current_year_net_loss": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Part V Total — column (b) net loss", "description": "Part V 'Total. Enter on Part I, lines 2a, 2b, and 2c' row, column '(b) Net loss (line 2b)' subtotal. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "part_v_total_prior_years_unallowed_loss": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Part V Total — column (c) unallowed loss", "description": "Part V 'Total. Enter on Part I, lines 2a, 2b, and 2c' row, column '(c) Unallowed loss (line 2c)' subtotal. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "part_vi_allowances": {"anyOf": [{"items": {"$ref": "#/$defs/Form8582AllowanceRow"}, "type": "array"}, {"type": "null"}], "default": null, "title": "Part VI special allowance grid", "description": "Part VI 'Use This Part if an Amount Is Shown on Part II, Line 9' grid: 'Name of activity' rows with 'Form or schedule and line number to be reported on' plus columns (a) Loss through (d) Subtract column (c) from column (a). The official 2021 blank prints 5 blank rows; one row per listed activity. Does not include the 'Total' summary row, which is modeled as fixed fields. Empty grid → null."}, "part_vi_total_loss": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Part VI Total — column (a) loss", "description": "Part VI 'Total' row, column '(a) Loss' subtotal. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "part_vi_total_ratio": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Part VI Total — column (b) ratio", "description": "Part VI 'Total' row, column '(b) Ratio' subtotal. The form pre-prints '1.00' as the expected total ratio. Decimal fraction as a JSON number; null if the entry box is blank."}, "part_vi_total_special_allowance": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Part VI Total — column (c) special allowance", "description": "Part VI 'Total' row, column '(c) Special allowance' subtotal. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "part_vi_total_subtract_c_from_a": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Part VI Total — column (d) subtract column (c) from column (a)", "description": "Part VI 'Total' row, column \"(d) Subtract column (c) from column (a)\" subtotal. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "part_vii_allocations": {"anyOf": [{"items": {"$ref": "#/$defs/Form8582AllocationRow"}, "type": "array"}, {"type": "null"}], "default": null, "title": "Part VII allocation of unallowed losses grid", "description": "Part VII 'Allocation of Unallowed Losses' grid: 'Name of activity' rows with 'Form or schedule and line number to be reported on' plus columns (a) Loss through (c) Unallowed loss. The official 2021 blank prints 5 blank rows; one row per listed activity. Does not include the 'Total' summary row, which is modeled as fixed fields. Empty grid → null."}, "part_vii_total_loss": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Part VII Total — column (a) loss", "description": "Part VII 'Total' row, column '(a) Loss' subtotal. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "part_vii_total_ratio": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Part VII Total — column (b) ratio", "description": "Part VII 'Total' row, column '(b) Ratio' subtotal. The form pre-prints '1.00' as the expected total ratio. Decimal fraction as a JSON number; null if the entry box is blank."}, "part_vii_total_unallowed_loss": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Part VII Total — column (c) unallowed loss", "description": "Part VII 'Total' row, column '(c) Unallowed loss' subtotal. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "part_viii_allowed_losses": {"anyOf": [{"items": {"$ref": "#/$defs/Form8582AllowedLossRow"}, "type": "array"}, {"type": "null"}], "default": null, "title": "Part VIII allowed losses grid", "description": "Part VIII 'Allowed Losses' grid: 'Name of activity' rows with 'Form or schedule and line number to be reported on' plus columns (a) Loss through (c) Allowed loss. The official 2021 blank prints 5 blank rows; one row per listed activity. Does not include the 'Total' summary row, which is modeled as fixed fields. Empty grid → null."}, "part_viii_total_loss": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Part VIII Total — column (a) loss", "description": "Part VIII 'Total' row, column '(a) Loss' subtotal. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "part_viii_total_unallowed_loss": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Part VIII Total — column (b) unallowed loss", "description": "Part VIII 'Total' row, column '(b) Unallowed loss' subtotal. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "part_viii_total_allowed_loss": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Part VIII Total — column (c) allowed loss", "description": "Part VIII 'Total' row, column '(c) Allowed loss' subtotal. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "part_ix_two_schedule_activities": {"anyOf": [{"items": {"$ref": "#/$defs/Form8582TwoScheduleRow"}, "type": "array"}, {"type": "null"}], "default": null, "title": "Part IX activities with losses reported on two or more forms/schedules", "description": "Part IX 'Activities With Losses Reported on Two or More Forms or Schedules' grid. The official 2021 blank prints exactly 3 repeating blocks, each with 'Name of activity:', 'Form or schedule and line number to be reported on', and lines 1a-1c across columns (a)-(e). One block per listed activity (up to 3); does not include the final 'Total' summary row, which is modeled as fixed fields. Empty grid → null."}, "part_ix_total_col_b": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Part IX Total — column (b)", "description": "Part IX 'Total' row, unlabeled column (b) subtotal. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "part_ix_total_ratio": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Part IX Total — column (c) ratio", "description": "Part IX 'Total' row, column '(c) Ratio' subtotal. The form pre-prints '1.00' as the expected total ratio. Decimal fraction as a JSON number; null if the entry box is blank."}, "part_ix_total_unallowed_loss": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Part IX Total — column (d) unallowed loss", "description": "Part IX 'Total' row, column '(d) Unallowed loss' subtotal. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "part_ix_total_allowed_loss": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Part IX Total — column (e) allowed loss", "description": "Part IX 'Total' row, column '(e) Allowed loss' subtotal. Whole-dollar amount as a JSON number; null if the entry box is blank."}}}, "Form8879": {"type": "object", "title": "Form 8879 (Rev. January 2021, used for TY 2021) — IRS e-file Signature Authorization", "properties": {"submission_identification_number": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Header field 'Submission Identification Number (SID)', the 20-digit EFIN-based number assigned to the electronically filed return. Transcribe verbatim as printed/handwritten; null if blank.", "title": "Submission Identification Number (SID)"}, "taxpayer_name": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Header field 'Taxpayer's name' as entered from the tax return being authorized. Extract verbatim; null if blank.", "title": "Taxpayer's name"}, "taxpayer_ssn": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Header field 'Social security number' for the taxpayer. On public-release scans this is often masked/redacted: transcribe exactly the characters that are legible; null if fully redacted or blank.", "title": "Taxpayer's social security number"}, "spouse_name": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Header field 'Spouse's name', present only on a joint return. Extract verbatim; null if blank (including when the return has no spouse).", "title": "Spouse's name"}, "spouse_ssn": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Header field 'Spouse's social security number'. On public-release scans this is often masked/redacted: transcribe exactly the characters that are legible; null if fully redacted, blank, or no spouse.", "title": "Spouse's social security number"}, "tax_year_ending": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Part I caption 'Tax Year Ending December 31,' followed by a fill-in blank for the year being authorized (e.g. \"2021\"). Transcribe the entered year verbatim as a string; null if blank.", "title": "Part I tax year ending December 31, (year)"}, "line_1_adjusted_gross_income": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part I line 1 'Adjusted gross income'. Whole-dollar amount as a JSON number, entered only when the filer is not a Form 1040-SS filer (Form 1040-SS filers leave this blank per the form's note). Null if the entry box is blank.", "title": "Line 1 adjusted gross income"}, "line_2_total_tax": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part I line 2 'Total tax'. Whole-dollar amount as a JSON number, entered only when the filer is not a Form 1040-SS filer. Null if the entry box is blank.", "title": "Line 2 total tax"}, "line_3_federal_income_tax_withheld": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part I line 3 'Federal income tax withheld from Form(s) W-2 and Form(s) 1099'. Whole-dollar amount as a JSON number, entered only when the filer is not a Form 1040-SS filer. Null if the entry box is blank.", "title": "Line 3 federal income tax withheld from Form(s) W-2 and 1099"}, "line_4_amount_refunded": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part I line 4 'Amount you want refunded to you'. Whole-dollar amount as a JSON number; this is the one line Form 1040-SS filers do complete. Null if the entry box is blank.", "title": "Line 4 amount you want refunded to you"}, "line_5_amount_owed": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part I line 5 'Amount you owe'. Whole-dollar amount as a JSON number, entered only when the filer is not a Form 1040-SS filer. Null if the entry box is blank.", "title": "Line 5 amount you owe"}, "taxpayer_pin_authorize_ero_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "description": "Part II 'Taxpayer's PIN: check one box only', first option box: 'I authorize' the named ERO firm 'to enter or generate my PIN ... as my signature on the income tax return'. True if checked, false if printed but left unchecked. Return null only if this page is not present.", "title": "Taxpayer's PIN box 1 — I authorize ERO to enter/generate my PIN"}, "taxpayer_pin_ero_firm_name": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Part II fill-in line under the taxpayer PIN authorization sentence, labeled 'ERO firm name', naming the electronic return originator firm authorized to enter/generate the taxpayer's PIN. Extract verbatim; null if blank.", "title": "Taxpayer's PIN authorization — ERO firm name"}, "taxpayer_pin_entered": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Part II five-box PIN field next to 'Enter five digits, but don't enter all zeros', holding the taxpayer's self-selected or ERO-generated PIN. Transcribe exactly the legible digits as a string (may be partially masked on scans); null if fully redacted or blank.", "title": "Taxpayer's PIN (5 digits)"}, "taxpayer_pin_self_entered_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "description": "Part II 'Taxpayer's PIN: check one box only', second option box: 'I will enter my PIN as my signature on the income tax return (original or amended) I am now authorizing', checked only when the taxpayer enters their own PIN under the Practitioner PIN method (requires Part III). True if checked, false if printed but left unchecked. Return null only if this page is not present.", "title": "Taxpayer's PIN box 2 — I will enter my own PIN"}, "taxpayer_signature": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Part II signature line 'Your signature'. Transcribe the printed/typed/handwritten signature text present on the line (this is a signature block, not a normalized name field); null if the line is blank.", "title": "Your signature"}, "taxpayer_signature_date": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Part II 'Date' field on the taxpayer signature line. Transcribe the date text exactly as written/printed (do not normalize the format, since this is part of a signature block); null if blank.", "title": "Your signature — Date"}, "spouse_pin_authorize_ero_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "description": "Part II 'Spouse's PIN: check one box only', first option box: 'I authorize' the named ERO firm 'to enter or generate my PIN ... as my signature on the income tax return'. True if checked, false if printed but left unchecked. Return null only if this page is not present.", "title": "Spouse's PIN box 1 — I authorize ERO to enter/generate my PIN"}, "spouse_pin_ero_firm_name": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Part II fill-in line under the spouse PIN authorization sentence, labeled 'ERO firm name', naming the electronic return originator firm authorized to enter/generate the spouse's PIN. Extract verbatim; null if blank.", "title": "Spouse's PIN authorization — ERO firm name"}, "spouse_pin_entered": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Part II five-box PIN field next to 'Enter five digits, but don't enter all zeros', holding the spouse's self-selected or ERO-generated PIN. Transcribe exactly the legible digits as a string (may be partially masked on scans); null if fully redacted or blank.", "title": "Spouse's PIN (5 digits)"}, "spouse_pin_self_entered_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "description": "Part II 'Spouse's PIN: check one box only', second option box: 'I will enter my PIN as my signature on the income tax return (original or amended) I am now authorizing', checked only when the spouse enters their own PIN under the Practitioner PIN method (requires Part III). True if checked, false if printed but left unchecked. Return null only if this page is not present.", "title": "Spouse's PIN box 2 — I will enter my own PIN"}, "spouse_signature": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Part II signature line 'Spouse's signature'. Transcribe the printed/typed/handwritten signature text present on the line (this is a signature block, not a normalized name field); null if the line is blank or there is no spouse.", "title": "Spouse's signature"}, "spouse_signature_date": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Part II 'Date' field on the spouse signature line. Transcribe the date text exactly as written/printed (do not normalize the format, since this is part of a signature block); null if blank.", "title": "Spouse's signature — Date"}, "ero_efin_pin": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Part III field 'ERO's EFIN/PIN', an eleven-character combined entry: the ERO's six-digit EFIN followed by the ERO's five-digit self-selected PIN. Transcribe exactly the legible characters as a single string (may be partially masked on scans); null if fully redacted, blank, or Part III is not completed (non-Practitioner-PIN returns).", "title": "Part III — ERO's EFIN/PIN (11 characters)"}, "ero_signature": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Part III signature line 'ERO's signature'. Transcribe the printed/typed/handwritten signature text present on the line (this is a signature block, not a normalized name field); null if blank or Part III is not completed.", "title": "Part III — ERO's signature"}, "ero_signature_date": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Part III 'Date' field on the ERO signature line. Transcribe the date text exactly as written/printed (do not normalize the format, since this is part of a signature block); null if blank or Part III is not completed.", "title": "Part III — ERO's signature — Date"}}}, "Form8949ShortTermRow": {"type": "object", "title": "Form 8949 Part I short-term transaction row (line 1)", "properties": {"description_of_property": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Column (a) description of property", "description": "Column '(a) Description of property' (Example: 100 sh. XYZ Co.) for this short-term transaction row. Extract the string verbatim as printed; null if blank. Identifies the row when populated; if blank, keep rows in print order."}, "date_acquired": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Column (b) date acquired", "description": "Column '(b) Date acquired' (Mo., day, yr.) for this short-term transaction row. Extract exactly as printed (may read 'VARIOUS' instead of a date); null if blank."}, "date_sold_or_disposed": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Column (c) date sold or disposed of", "description": "Column '(c) Date sold or disposed of' (Mo., day, yr.) for this short-term transaction row. Extract exactly as printed; null if blank."}, "proceeds": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Column (d) proceeds (sales price)", "description": "Column '(d) Proceeds (sales price)' for this short-term transaction row. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "cost_or_other_basis": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Column (e) cost or other basis", "description": "Column '(e) Cost or other basis' for this short-term transaction row. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "adjustment_code": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Column (f) code(s) from instructions", "description": "Column '(f) Code(s) from instructions' for this short-term transaction row, required when an amount is entered in column (g). Extract exactly as printed (one or more single-letter codes, e.g. 'B', 'W'); null if blank."}, "adjustment_amount": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Column (g) amount of adjustment", "description": "Column '(g) Amount of adjustment' for this short-term transaction row, part of the 'Adjustment, if any, to gain or loss' block. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "gain_or_loss": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Column (h) gain or (loss)", "description": "Column '(h) Gain or (loss)' for this short-term transaction row: subtract column (e) from column (d) and combine the result with column (g). Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}}}, "Form8949LongTermRow": {"type": "object", "title": "Form 8949 Part II long-term transaction row (line 1)", "properties": {"description_of_property": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Column (a) description of property", "description": "Column '(a) Description of property' (Example: 100 sh. XYZ Co.) for this long-term transaction row. Extract the string verbatim as printed; null if blank. Identifies the row when populated; if blank, keep rows in print order."}, "date_acquired": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Column (b) date acquired", "description": "Column '(b) Date acquired' (Mo., day, yr.) for this long-term transaction row. Extract exactly as printed (may read 'VARIOUS' instead of a date); null if blank."}, "date_sold_or_disposed": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Column (c) date sold or disposed of", "description": "Column '(c) Date sold or disposed of' (Mo., day, yr.) for this long-term transaction row. Extract exactly as printed; null if blank."}, "proceeds": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Column (d) proceeds (sales price)", "description": "Column '(d) Proceeds (sales price)' for this long-term transaction row. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "cost_or_other_basis": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Column (e) cost or other basis", "description": "Column '(e) Cost or other basis' for this long-term transaction row. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "adjustment_code": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Column (f) code(s) from instructions", "description": "Column '(f) Code(s) from instructions' for this long-term transaction row, required when an amount is entered in column (g). Extract exactly as printed (one or more single-letter codes, e.g. 'B', 'W'); null if blank."}, "adjustment_amount": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Column (g) amount of adjustment", "description": "Column '(g) Amount of adjustment' for this long-term transaction row, part of the 'Adjustment, if any, to gain or loss' block. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "gain_or_loss": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Column (h) gain or (loss)", "description": "Column '(h) Gain or (loss)' for this long-term transaction row: subtract column (e) from column (d) and combine the result with column (g). Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}}}, "Form8949": {"type": "object", "title": "Form 8949 (2021) — Sales and Other Dispositions of Capital Assets", "properties": {"names_shown": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Name(s) shown on return (Form 8949)", "description": "Form 8949 header field 'Name(s) shown on return'. Extract the string verbatim as printed; null if blank."}, "ssn_or_taxpayer_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Social security number or taxpayer identification number (Form 8949)", "description": "Form 8949 header field 'Social security number or taxpayer identification number'. On these public-release scans this value is usually masked/redacted: transcribe exactly the characters that are legible; null if fully redacted or blank."}, "part1_box_a": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Part I box (A) checkbox", "description": "Part I checkbox '(A) Short-term transactions reported on Form(s) 1099-B' — basis was reported to the IRS (see the form's Note). True if checked; false if printed but left unchecked (including when box B or C is checked instead). Two-state policy: exactly one of box A/B/C is true when Part I is used. Return null only if this page is not present."}, "part1_box_b": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Part I box (B) checkbox", "description": "Part I checkbox '(B) Short-term transactions reported on Form(s) 1099-B' — basis wasn't reported to the IRS. True if checked; false if printed but left unchecked (including when box A or C is checked instead). Two-state policy: exactly one of box A/B/C is true when Part I is used. Return null only if this page is not present."}, "part1_box_c": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Part I box (C) checkbox", "description": "Part I checkbox '(C) Short-term transactions not reported to you on Form 1099-B'. True if checked; false if printed but left unchecked (including when box A or B is checked instead). Two-state policy: exactly one of box A/B/C is true when Part I is used. Return null only if this page is not present."}, "part1_short_term_transactions": {"anyOf": [{"items": {"$ref": "#/$defs/Form8949ShortTermRow"}, "type": "array"}, {"type": "null"}], "default": null, "title": "Part I line 1 short-term transactions", "description": "Part I line 1 transaction grid, columns (a) 'Description of property' through (h) 'Gain or (loss)'. The printed 2021 form provides 14 blank rows per page; one row per listed transaction, in print order top to bottom; empty grid (no transactions listed on this page) → null."}, "line_2_short_term_totals_proceeds": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Part I line 2 totals — column (d) proceeds", "description": "Part I line '2' 'Totals' row, column (d) 'Proceeds' subtotal: add the amounts in columns (d), (e), (g), and (h), subtracting negative amounts. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_2_short_term_totals_cost_basis": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Part I line 2 totals — column (e) cost or other basis", "description": "Part I line '2' 'Totals' row, column (e) 'Cost or other basis' subtotal: add the amounts in columns (d), (e), (g), and (h), subtracting negative amounts. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_2_short_term_totals_adjustment": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Part I line 2 totals — column (g) amount of adjustment", "description": "Part I line '2' 'Totals' row, column (g) 'Amount of adjustment' subtotal: add the amounts in columns (d), (e), (g), and (h), subtracting negative amounts. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_2_short_term_totals_gain_or_loss": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Part I line 2 totals — column (h) gain or (loss)", "description": "Part I line '2' 'Totals' row, column (h) 'Gain or (loss)' subtotal, entered here and included on Schedule D line 1b (Box A), line 2 (Box B), or line 3 (Box C). Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "part2_box_d": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Part II box (D) checkbox", "description": "Part II checkbox '(D) Long-term transactions reported on Form(s) 1099-B' — basis was reported to the IRS (see the form's Note). True if checked; false if printed but left unchecked (including when box E or F is checked instead). Two-state policy: exactly one of box D/E/F is true when Part II is used. Return null only if this page is not present."}, "part2_box_e": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Part II box (E) checkbox", "description": "Part II checkbox '(E) Long-term transactions reported on Form(s) 1099-B' — basis wasn't reported to the IRS. True if checked; false if printed but left unchecked (including when box D or F is checked instead). Two-state policy: exactly one of box D/E/F is true when Part II is used. Return null only if this page is not present."}, "part2_box_f": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Part II box (F) checkbox", "description": "Part II checkbox '(F) Long-term transactions not reported to you on Form 1099-B'. True if checked; false if printed but left unchecked (including when box D or E is checked instead). Two-state policy: exactly one of box D/E/F is true when Part II is used. Return null only if this page is not present."}, "part2_long_term_transactions": {"anyOf": [{"items": {"$ref": "#/$defs/Form8949LongTermRow"}, "type": "array"}, {"type": "null"}], "default": null, "title": "Part II line 1 long-term transactions", "description": "Part II line 1 transaction grid, columns (a) 'Description of property' through (h) 'Gain or (loss)'. The printed 2021 form provides 14 blank rows per page; one row per listed transaction, in print order top to bottom; empty grid (no transactions listed on this page) → null."}, "line_2_long_term_totals_proceeds": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Part II line 2 totals — column (d) proceeds", "description": "Part II line '2' 'Totals' row, column (d) 'Proceeds' subtotal: add the amounts in columns (d), (e), (g), and (h), subtracting negative amounts. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_2_long_term_totals_cost_basis": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Part II line 2 totals — column (e) cost or other basis", "description": "Part II line '2' 'Totals' row, column (e) 'Cost or other basis' subtotal: add the amounts in columns (d), (e), (g), and (h), subtracting negative amounts. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_2_long_term_totals_adjustment": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Part II line 2 totals — column (g) amount of adjustment", "description": "Part II line '2' 'Totals' row, column (g) 'Amount of adjustment' subtotal: add the amounts in columns (d), (e), (g), and (h), subtracting negative amounts. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_2_long_term_totals_gain_or_loss": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Part II line 2 totals — column (h) gain or (loss)", "description": "Part II line '2' 'Totals' row, column (h) 'Gain or (loss)' subtotal, entered here and included on Schedule D line 8b (Box D), line 9 (Box E), or line 10 (Box F). Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}}}, "Form8959": {"type": "object", "title": "Form 8959 (2021) — Additional Medicare Tax", "properties": {"names_shown_on_return": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Form 8959 header field 'Name(s) shown on return'. Extract the string verbatim as printed; null if blank.", "title": "Name(s) shown on return"}, "your_social_security_number": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Form 8959 header field 'Your social security number'. On these public-release scans this value is usually masked/redacted: transcribe exactly the characters that are legible; null if fully redacted or blank.", "title": "Your social security number"}, "line_1_medicare_wages_tips": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part I line 1 'Medicare wages and tips from Form W-2, box 5'. If you have more than one Form W-2, enter the total of the amounts from box 5. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 1 Medicare wages and tips"}, "line_2_unreported_tips": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part I line 2 'Unreported tips from Form 4137, line 6'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 2 unreported tips from Form 4137"}, "line_3_wages_form_8919": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part I line 3 'Wages from Form 8919, line 6'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 3 wages from Form 8919"}, "line_4_add_1_through_3": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part I line 4 'Add lines 1 through 3'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 4 add lines 1 through 3"}, "line_5_filing_status_threshold": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part I line 5 'Enter the following amount for your filing status'. The form preprints three threshold amounts to select by filing status: 'Married filing jointly' $250,000, 'Married filing separately' $125,000, or 'Single, Head of household, or Qualifying surviving spouse' $200,000; enter whichever threshold applies as the whole-dollar amount on line 5. Whole-dollar amount as a JSON number; null if the entry box is blank.", "title": "Line 5 filing-status threshold amount"}, "line_6_subtract_5_from_4": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part I line 6 'Subtract line 5 from line 4'. If zero or less, enter -0-. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 6 subtract line 5 from line 4"}, "line_7_additional_medicare_tax_wages": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part I line 7 'Additional Medicare Tax on Medicare wages'. Multiply line 6 by 0.9% (0.009); enter here and go to Part II. Whole-dollar amount as a JSON number; null if the entry box is blank.", "title": "Line 7 Additional Medicare Tax on Medicare wages"}, "line_8_self_employment_income": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part II line 8 'Self-employment income from Schedule SE (Form 1040), Part I, line 6'. If you had a loss, enter -0- (Form 1040-PR or 1040-SS filers, see instructions). Whole-dollar amount as a JSON number; null if the entry box is blank.", "title": "Line 8 self-employment income"}, "line_9_filing_status_threshold": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part II line 9 'Enter the following amount for your filing status'. The form preprints three threshold amounts to select by filing status: 'Married filing jointly' $250,000, 'Married filing separately' $125,000, or 'Single, Head of household, or Qualifying surviving spouse' $200,000; enter whichever threshold applies as the whole-dollar amount on line 9. Whole-dollar amount as a JSON number; null if the entry box is blank.", "title": "Line 9 filing-status threshold amount"}, "line_10_amount_from_line_4": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part II line 10 'Enter the amount from line 4'. Whole-dollar amount as a JSON number; null if the entry box is blank.", "title": "Line 10 enter the amount from line 4"}, "line_11_subtract_10_from_9": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part II line 11 'Subtract line 10 from line 9'. If zero or less, enter -0-. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 11 subtract line 10 from line 9"}, "line_12_subtract_11_from_8": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part II line 12 'Subtract line 11 from line 8'. If zero or less, enter -0-. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 12 subtract line 11 from line 8"}, "line_13_additional_medicare_tax_se_income": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part II line 13 'Additional Medicare Tax on self-employment income'. Multiply line 12 by 0.9% (0.009); enter here and go to Part III. Whole-dollar amount as a JSON number; null if the entry box is blank.", "title": "Line 13 Additional Medicare Tax on self-employment income"}, "line_14_rrta_compensation_tips": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part III line 14 'Railroad retirement (RRTA) compensation and tips from Form(s) W-2, box 14' (see instructions). Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 14 RRTA compensation and tips"}, "line_15_filing_status_threshold": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part III line 15 'Enter the following amount for your filing status'. The form preprints three threshold amounts to select by filing status: 'Married filing jointly' $250,000, 'Married filing separately' $125,000, or 'Single, Head of household, or Qualifying surviving spouse' $200,000; enter whichever threshold applies as the whole-dollar amount on line 15. Whole-dollar amount as a JSON number; null if the entry box is blank.", "title": "Line 15 filing-status threshold amount"}, "line_16_subtract_15_from_14": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part III line 16 'Subtract line 15 from line 14'. If zero or less, enter -0-. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 16 subtract line 15 from line 14"}, "line_17_additional_medicare_tax_rrta": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part III line 17 'Additional Medicare Tax on railroad retirement (RRTA) compensation'. Multiply line 16 by 0.9% (0.009); enter here and go to Part IV. Whole-dollar amount as a JSON number; null if the entry box is blank.", "title": "Line 17 Additional Medicare Tax on RRTA compensation"}, "line_18_total_additional_medicare_tax": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part IV line 18 'Add lines 7, 13, and 17'. Also include this amount on Schedule 2 (Form 1040), line 11 (Form 1040-PR or 1040-SS filers, see instructions), and go to Part V. Whole-dollar amount as a JSON number; null if the entry box is blank.", "title": "Line 18 total Additional Medicare Tax"}, "line_19_medicare_tax_withheld": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part V line 19 'Medicare tax withheld from Form W-2, box 6'. If you have more than one Form W-2, enter the total of the amounts from box 6. Whole-dollar amount as a JSON number; null if the entry box is blank.", "title": "Line 19 Medicare tax withheld"}, "line_20_amount_from_line_1": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part V line 20 'Enter the amount from line 1'. Whole-dollar amount as a JSON number; null if the entry box is blank.", "title": "Line 20 enter the amount from line 1"}, "line_21_regular_medicare_tax_withholding": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part V line 21 'Multiply line 20 by 1.45% (0.0145)'. This is your regular Medicare tax withholding on Medicare wages. Whole-dollar amount as a JSON number; null if the entry box is blank.", "title": "Line 21 regular Medicare tax withholding on Medicare wages"}, "line_22_additional_medicare_tax_withholding_wages": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part V line 22 'Subtract line 21 from line 19'. If zero or less, enter -0-. This is your Additional Medicare Tax withholding on Medicare wages. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 22 Additional Medicare Tax withholding on Medicare wages"}, "line_23_additional_medicare_tax_withholding_rrta": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part V line 23 'Additional Medicare Tax withholding on railroad retirement (RRTA) compensation' from Form W-2, box 14 (see instructions). Whole-dollar amount as a JSON number; null if the entry box is blank.", "title": "Line 23 Additional Medicare Tax withholding on RRTA compensation"}, "line_24_total_additional_medicare_tax_withholding": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part V line 24 'Total Additional Medicare Tax withholding'. Add lines 22 and 23; also include this amount with federal income tax withholding on Form 1040, 1040-SR, or 1040-NR, line 25c (Form 1040-PR or 1040-SS filers, see instructions). Whole-dollar amount as a JSON number; null if the entry box is blank.", "title": "Line 24 total Additional Medicare Tax withholding"}}}, "Form8960": {"type": "object", "title": "Form 8960 (2021) — Net Investment Income Tax — Individuals, Estates, and Trusts", "properties": {"names_shown_on_tax_return": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Form 8960 header field 'Name(s) shown on your tax return'. Extract the string verbatim as printed; null if blank.", "title": "Name(s) shown on your tax return"}, "ssn_or_ein": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Form 8960 header field 'Your social security number or EIN'. On these public-release scans this value is usually masked/redacted: transcribe exactly the characters that are legible; null if fully redacted or blank.", "title": "Your social security number or EIN"}, "election_section_6013g_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "description": "Part I header checkbox 'Section 6013(g) election (see instructions)'. True if checked; false if printed but left unchecked. Return null only if this page is not present.", "title": "Section 6013(g) election box"}, "election_section_6013h_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "description": "Part I header checkbox 'Section 6013(h) election (see instructions)'. True if checked; false if printed but left unchecked. Return null only if this page is not present.", "title": "Section 6013(h) election box"}, "election_regulations_1_1411_10g_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "description": "Part I header checkbox 'Regulations section 1.1411-10(g) election (see instructions)'. True if checked; false if printed but left unchecked. Return null only if this page is not present.", "title": "Regulations section 1.1411-10(g) election box"}, "line_1_taxable_interest": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part I line '1' 'Taxable interest' (see instructions). Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 1 taxable interest"}, "line_2_ordinary_dividends": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part I line '2' 'Ordinary dividends' (see instructions). Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 2 ordinary dividends"}, "line_3_annuities": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part I line '3' 'Annuities' (see instructions). Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 3 annuities"}, "line_4a_rental_royalties_partnerships_etc": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part I line '4a' 'Rental real estate, royalties, partnerships, S corporations, trusts, etc.' (see instructions). Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 4a rental real estate, royalties, partnerships, S corporations, trusts, etc."}, "line_4b_adjustment_non_section_1411_business": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part I line '4b' 'Adjustment for net income or loss' derived in the ordinary course of a non-section 1411 trade or business (see instructions). Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 4b adjustment for non-section 1411 trade or business"}, "line_4c_combine_4a_4b": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part I line '4c' 'Combine lines 4a and 4b'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 4c combine lines 4a and 4b"}, "line_5a_net_gain_loss_disposition_property": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part I line '5a' 'Net gain or loss from disposition of property' (see instructions). Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 5a net gain or loss from disposition of property"}, "line_5b_gain_loss_not_subject_to_niit": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part I line '5b' 'Net gain or loss from disposition of property' that is not subject to net investment income tax (see instructions). Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 5b net gain or loss not subject to net investment income tax"}, "line_5c_adjustment_disposition_partnership_or_s_corp": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part I line '5c' 'Adjustment from disposition of partnership interest or S corporation stock' (see instructions). Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 5c adjustment from disposition of partnership interest or S corporation stock"}, "line_5d_combine_5a_through_5c": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part I line '5d' 'Combine lines 5a through 5c'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 5d combine lines 5a through 5c"}, "line_6_adjustments_cfcs_pfics": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part I line '6' 'Adjustments to investment income for certain CFCs and PFICs' (see instructions). Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 6 adjustments to investment income for certain CFCs and PFICs"}, "line_7_other_modifications_investment_income": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part I line '7' 'Other modifications to investment income' (see instructions). Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 7 other modifications to investment income"}, "line_8_total_investment_income": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part I line '8' 'Total investment income'. Combine lines 1, 2, 3, 4c, 5d, 6, and 7. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 8 total investment income"}, "line_9a_investment_interest_expenses": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part II line '9a' 'Investment interest expenses' (see instructions). Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 9a investment interest expenses"}, "line_9b_state_local_foreign_income_tax": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part II line '9b' 'State, local, and foreign income tax' (see instructions). Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 9b state, local, and foreign income tax"}, "line_9c_miscellaneous_investment_expenses": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part II line '9c' 'Miscellaneous investment expenses' (see instructions). Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 9c miscellaneous investment expenses"}, "line_9d_add_9a_9b_9c": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part II line '9d' 'Add lines 9a, 9b, and 9c'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 9d add lines 9a, 9b, and 9c"}, "line_10_additional_modifications": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part II line '10' 'Additional modifications' (see instructions). Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 10 additional modifications"}, "line_11_total_deductions_and_modifications": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part II line '11' 'Total deductions and modifications'. Add lines 9d and 10. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 11 total deductions and modifications"}, "line_12_net_investment_income": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part III line '12' 'Net investment income'. Subtract Part II, line 11, from Part I, line 8; individuals complete lines 13-17, estates and trusts complete lines 18a-21; if zero or less, enter -0-. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 12 net investment income"}, "line_13_modified_agi": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part III Individuals line '13' 'Modified adjusted gross income' (see instructions). Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 13 modified adjusted gross income"}, "line_14_threshold_based_on_filing_status": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part III Individuals line '14' 'Threshold based on filing status' (see instructions). Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 14 threshold based on filing status"}, "line_15_subtract_14_from_13": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part III Individuals line '15' 'Subtract line 14 from line 13'. If zero or less, enter -0-. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 15 subtract line 14 from line 13"}, "line_16_smaller_of_12_or_15": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part III Individuals line '16' 'Enter the smaller of line 12 or line 15'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 16 smaller of line 12 or line 15"}, "line_17_niit_for_individuals": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part III Individuals line '17' 'Net investment income tax for individuals'. Multiply line 16 by 3.8% (0.038); enter here and include on your tax return (see instructions). Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 17 net investment income tax for individuals"}, "line_18a_net_investment_income_estates_trusts": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part III Estates and Trusts line '18a' 'Net investment income (line 12 above)'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 18a net investment income (line 12 above)"}, "line_18b_deductions_distributions_642c": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part III Estates and Trusts line '18b' 'Deductions for distributions of net investment income' and deductions under section 642(c) (see instructions). Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 18b deductions for distributions of net investment income and section 642(c) deductions"}, "line_18c_undistributed_net_investment_income": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part III Estates and Trusts line '18c' 'Undistributed net investment income'. Subtract line 18b from line 18a (see instructions); if zero or less, enter -0-. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 18c undistributed net investment income"}, "line_19a_adjusted_gross_income_estates_trusts": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part III Estates and Trusts line '19a' 'Adjusted gross income' (see instructions). Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 19a adjusted gross income"}, "line_19b_highest_tax_bracket_estates_trusts": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part III Estates and Trusts line '19b' 'Highest tax bracket for estates and trusts for the year' (see instructions). Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 19b highest tax bracket for estates and trusts for the year"}, "line_19c_subtract_19b_from_19a": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part III Estates and Trusts line '19c' 'Subtract line 19b from line 19a'. If zero or less, enter -0-. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 19c subtract line 19b from line 19a"}, "line_20_smaller_of_18c_or_19c": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part III Estates and Trusts line '20' 'Enter the smaller of line 18c or line 19c'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 20 smaller of line 18c or line 19c"}, "line_21_niit_for_estates_and_trusts": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part III Estates and Trusts line '21' 'Net investment income tax for estates and trusts'. Multiply line 20 by 3.8% (0.038); enter here and include on your tax return (see instructions). Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 21 net investment income tax for estates and trusts"}}}, "Schedule8812": {"type": "object", "title": "Schedule 8812 (Form 1040) 2021 — Credits for Qualifying Children and Other Dependents", "properties": {"names_shown": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Name(s) shown on return", "description": "Schedule 8812 header field 'Name(s) shown on return'. Extract the string verbatim as printed; null if blank."}, "ssn": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Your social security number", "description": "Schedule 8812 header field 'Your social security number'. On these public-release scans this value is usually masked/redacted: transcribe exactly the characters that are legible; null if fully redacted or blank."}, "line_1_form_1040_line_11_amount": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 1 amount from Form 1040 line 11", "description": "Part I-A line '1' 'Enter the amount from line 11 of your Form 1040, 1040-SR, or 1040-NR'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_2a_puerto_rico_income_excluded": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 2a income from Puerto Rico excluded", "description": "Part I-A line '2a' 'Enter income from Puerto Rico that you excluded'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_2b_form_2555_amounts": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 2b amounts from Form 2555 lines 45 and 50", "description": "Part I-A line '2b' 'Enter the amounts from lines 45 and 50 of your Form 2555'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_2c_form_4563_amount": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 2c amount from Form 4563 line 15", "description": "Part I-A line '2c' 'Enter the amount from line 15 of your Form 4563'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_2d_add_2a_2c": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 2d add lines 2a through 2c", "description": "Part I-A line '2d' 'Add lines 2a through 2c'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_3_add_1_2d": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 3 add lines 1 and 2d", "description": "Part I-A line '3' 'Add lines 1 and 2d'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_4a_num_qualifying_children_under_18_with_ssn": {"anyOf": [{"type": "integer"}, {"type": "null"}], "default": null, "title": "Line 4a number of qualifying children under age 18 with required SSN", "description": "Part I-A line '4a' 'Number of qualifying children under age 18 with the required social security number'. Whole-number count as a JSON integer; null if the entry box is blank. The 2021 revision counts qualifying children under age 18 (not under 17), and this schedule holds only the count, not a per-child name/SSN grid (that dependents list lives on Form 1040 page 1)."}, "line_4b_num_children_under_age_6": {"anyOf": [{"type": "integer"}, {"type": "null"}], "default": null, "title": "Line 4b number of children on 4a under age 6 at end of 2021", "description": "Part I-A line '4b' 'Number of children included on line 4a who were under age 6 at the end of 2021'. These children drive the higher $3,600 per-child amount in the Line 5 Worksheet. Whole-number count as a JSON integer; null if the entry box is blank."}, "line_4c_subtract_4b_from_4a": {"anyOf": [{"type": "integer"}, {"type": "null"}], "default": null, "title": "Line 4c subtract line 4b from line 4a", "description": "Part I-A line '4c' 'Subtract line 4b from line 4a' (the number of qualifying children who were age 6 or older, associated with the $3,000 per-child amount). Whole-number count as a JSON integer; null if the entry box is blank."}, "line_5_line5_worksheet_amount": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 5 amount from Line 5 Worksheet", "description": "Part I-A line '5' 'If line 4a is more than zero, enter the amount from the Line 5 Worksheet; otherwise, enter -0-'. The 'Line 5 Worksheet' in the instructions applies the $3,600 per child under age 6 and $3,000 per other qualifying child. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_6_num_other_dependents": {"anyOf": [{"type": "integer"}, {"type": "null"}], "default": null, "title": "Line 6 number of other dependents", "description": "Part I-A line '6' 'Number of other dependents, including any qualifying children who are not under age 18 or who do not have the required social security number'. Per the form's caution, do not include yourself, your spouse, anyone who is not a U.S. citizen, U.S. national, or U.S. resident alien, or anyone included on line 4a. Whole-number count as a JSON integer; null if the entry box is blank."}, "line_7_multiply_line6_by_500": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 7 multiply line 6 by $500", "description": "Part I-A line '7' 'Multiply line 6 by $500'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_8_add_5_7": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 8 add lines 5 and 7", "description": "Part I-A line '8' 'Add lines 5 and 7'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_9_filing_status_threshold": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 9 filing status threshold amount", "description": "Part I-A line '9' 'Enter the amount shown below for your filing status.' The printed thresholds are 'Married filing jointly—$400,000' and 'All other filing statuses—$200,000'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_10_subtract_9_from_3": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 10 subtract line 9 from line 3", "description": "Part I-A line '10' 'Subtract line 9 from line 3.' If zero or less, enter -0-; if more than zero and not a multiple of $1,000, enter the next multiple of $1,000 (e.g. a result of $425 becomes $1,000; a result of $1,025 becomes $2,000). Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_11_multiply_line10_by_5pct": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 11 multiply line 10 by 5%", "description": "Part I-A line '11' 'Multiply line 10 by 5% (0.05)'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_12_subtract_11_from_8": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 12 subtract line 11 from line 8", "description": "Part I-A line '12' 'Subtract line 11 from line 8. If zero or less, enter -0-'. In the 2021 revision line 12 is a plain subtraction (no Yes/No box). Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_13_box_a_abode_united_states": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Line 13 box A principal place of abode in the United States", "description": "Part I-A line 13 checkbox 'A' — 'Check here if you (or your spouse if married filing jointly) had a principal place of abode in the United States for more than half of 2021'. Line 13 instructs 'Check all the boxes that apply to you (or your spouse if married filing jointly)'. true if box A is marked; false if the box is printed but left unmarked. Two-state policy: true ONLY if this box is marked; false otherwise. Return null only if this page is not present."}, "line_13_box_b_bona_fide_resident_puerto_rico": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Line 13 box B bona fide resident of Puerto Rico", "description": "Part I-A line 13 checkbox 'B' — 'Check here if you (or your spouse if married filing jointly) were a bona fide resident of Puerto Rico for 2021'. true if box B is marked; false if the box is printed but left unmarked. Two-state policy: true ONLY if this box is marked; false otherwise. Return null only if this page is not present."}, "line_14a_smaller_of_7_or_12": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 14a smaller of line 7 or line 12", "description": "Part I-B line '14a' 'Enter the smaller of line 7 or line 12'. Part I-B is completed only by 'Filers Who Check a Box on Line 13'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_14b_subtract_14a_from_12": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 14b subtract line 14a from line 12", "description": "Part I-B line '14b' 'Subtract line 14a from line 12'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_14c_credit_limit_worksheet_a": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 14c amount from Credit Limit Worksheet A", "description": "Part I-B line '14c' 'If line 14a is zero, enter -0-; otherwise, enter the amount from the Credit Limit Worksheet A'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_14d_smaller_of_14a_or_14c": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 14d smaller of line 14a or line 14c", "description": "Part I-B line '14d' 'Enter the smaller of line 14a or line 14c'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_14e_add_14b_14d": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 14e add lines 14b and 14d", "description": "Part I-B line '14e' 'Add lines 14b and 14d'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_14f_advance_ctc_payments_received": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 14f aggregate advance child tax credit payments received", "description": "Part I-B line '14f' 'Enter the aggregate amount of advance child tax credit payments you (and your spouse if filing jointly) received for 2021'. Filers take this from their Letter(s) 6419; if no advance child tax credit payments were received for 2021, enter -0-. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_14g_subtract_14f_from_14e": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 14g subtract line 14f from line 14e", "description": "Part I-B line '14g' 'Subtract line 14f from line 14e. If zero or less, enter -0- on lines 14g through 14i and go to Part III'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_14h_credit_for_other_dependents": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 14h credit for other dependents", "description": "Part I-B line '14h' 'Enter the smaller of line 14d or line 14g. This is your credit for other dependents.' Enter this amount on line 19 of Form 1040, 1040-SR, or 1040-NR. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_14i_refundable_child_tax_credit": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 14i refundable child tax credit", "description": "Part I-B line '14i' 'Subtract line 14h from line 14g. This is your refundable child tax credit.' Enter this amount on line 28 of Form 1040, 1040-SR, or 1040-NR. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_15a_credit_limit_worksheet_a": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 15a amount from Credit Limit Worksheet A", "description": "Part I-C line '15a' 'Enter the amount from the Credit Limit Worksheet A'. Part I-C is completed only by 'Filers Who Do Not Check a Box on Line 13'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_15b_smaller_of_12_or_15a": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 15b smaller of line 12 or line 15a", "description": "Part I-C line '15b' 'Enter the smaller of line 12 or line 15a'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_15c_amount_from_line_27": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 15c additional child tax credit from line 27", "description": "Part I-C line '15c' 'If you completed Parts II-A through II-C, enter the amount from line 27; otherwise, enter -0-'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_15d_add_15b_15c": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 15d add lines 15b and 15c", "description": "Part I-C line '15d' 'Add lines 15b and 15c'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_15e_advance_ctc_payments_received": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 15e aggregate advance child tax credit payments received", "description": "Part I-C line '15e' 'Enter the aggregate amount of advance child tax credit payments you (and your spouse if filing jointly) received for 2021'. Filers take this from their Letter(s) 6419; if no advance child tax credit payments were received for 2021, enter -0-. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_15f_subtract_15e_from_15d": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 15f subtract line 15e from line 15d", "description": "Part I-C line '15f' 'Subtract line 15e from line 15d. If zero or less, enter -0- on lines 15f through 15h and go to Part III'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_15g_nonrefundable_ctc_and_odc": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 15g nonrefundable child tax credit and credit for other dependents", "description": "Part I-C line '15g' 'Enter the smaller of line 15b or line 15f. This is your nonrefundable child tax credit and credit for other dependents.' Enter this amount on line 19 of Form 1040, 1040-SR, or 1040-NR. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_15h_additional_child_tax_credit": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 15h additional child tax credit", "description": "Part I-C line '15h' 'Subtract line 15g from line 15f. This is your additional child tax credit.' Enter this amount on line 28 of Form 1040, 1040-SR, or 1040-NR. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_16a_subtract_15b_from_12": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 16a subtract line 15b from line 12", "description": "Part II-A line '16a' 'Subtract line 15b from line 12. If zero, skip Parts II-A and II-B and enter -0- on line 27'. Part II-A ('Additional Child Tax Credit') is used only if completing Part I-C. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_16b_num_qualifying_children_under_18_with_ssn": {"anyOf": [{"type": "integer"}, {"type": "null"}], "default": null, "title": "Line 16b number of qualifying children under 18 with required SSN", "description": "Part II-A line '16b' 'Number of qualifying children under 18 with the required social security number', to be multiplied by $1,400. Per the form's TIP, this count is the same as the number of children used for line 4a. Whole-number count as a JSON integer; null if the entry box is blank."}, "line_16b_result": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 16b result (count x $1,400)", "description": "Part II-A line '16b' the 'x $1,400.' result box: 'Enter the result. If zero, skip Parts II-A and II-B and enter -0- on line 27'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_17_smaller_of_16a_or_16b": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 17 smaller of line 16a or line 16b", "description": "Part II-A line '17' 'Enter the smaller of line 16a or line 16b'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_18a_earned_income": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 18a earned income", "description": "Part II-A line '18a' 'Earned income (see instructions)'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_18b_nontaxable_combat_pay": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 18b nontaxable combat pay", "description": "Part II-A line '18b' 'Nontaxable combat pay (see instructions)'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_19_amount": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 19 amount (line 18a minus $2,500 if Yes)", "description": "Part II-A line '19' 'Is the amount on line 18a more than $2,500?' numeric entry box. If 'No', leave line 19 blank and enter -0- on line 20; if 'Yes', subtract $2,500 from the amount on line 18a and enter the result here. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_19_no_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Line 19 'No' box", "description": "Part II-A line 19 'Is the amount on line 18a more than $2,500?' — the 'No.' checkbox ('Leave line 19 blank and enter -0- on line 20'). true if the 'No' box is marked; false if the box is printed but left unmarked (including when 'Yes' is marked instead). Two-state policy: true ONLY if this box is marked; false otherwise. Return null only if this page is not present."}, "line_19_yes_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Line 19 'Yes' box", "description": "Part II-A line 19 'Is the amount on line 18a more than $2,500?' — the 'Yes.' checkbox ('Subtract $2,500 from the amount on line 18a. Enter the result'). true if the 'Yes' box is marked; false if the box is printed but left unmarked (including when 'No' is marked instead). Two-state policy: true ONLY if this box is marked; false otherwise. Return null only if this page is not present."}, "line_20_multiply_line19_by_15pct": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 20 multiply line 19 by 15%", "description": "Part II-A line '20' 'Multiply the amount on line 19 by 15% (0.15) and enter the result'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "next_line16b_4200_no_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "'Next' decision (after line 20) — 'No' box", "description": "Part II-A 'Next.' decision block 'On line 16b, is the amount $4,200 or more?' — the 'No.' checkbox (if line 20 is zero, enter -0- on line 15c; otherwise skip Part II-B and enter the smaller of line 17 or line 20 on line 27). true if the 'No' box is marked; false if the box is printed but left unmarked (including when 'Yes' is marked instead). Two-state policy: true ONLY if this box is marked; false otherwise. Return null only if this page is not present."}, "next_line16b_4200_yes_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "'Next' decision (after line 20) — 'Yes' box", "description": "Part II-A 'Next.' decision block 'On line 16b, is the amount $4,200 or more?' — the 'Yes.' checkbox (if line 20 is equal to or more than line 17, skip Part II-B and enter the amount from line 17 on line 27; otherwise go to line 21). true if the 'Yes' box is marked; false if the box is printed but left unmarked (including when 'No' is marked instead). Two-state policy: true ONLY if this box is marked; false otherwise. Return null only if this page is not present."}, "line_21_withheld_ss_medicare_taxes": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 21 withheld social security, Medicare, and Additional Medicare taxes", "description": "Part II-B line '21' 'Withheld social security, Medicare, and Additional Medicare taxes from Form(s) W-2, boxes 4 and 6'. Part II-B is 'Certain Filers Who Have Three or More Qualifying Children'. If married filing jointly, include the spouse's amounts; if Additional Medicare Tax or tier 1 RRTA taxes were withheld or paid, see instructions. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_22_schedule1_2_amounts_total": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 22 total from Schedule 1 line 15 and Schedule 2 lines 5/6/13", "description": "Part II-B line '22' 'Enter the total of the amounts from Schedule 1 (Form 1040), line 15; Schedule 2 (Form 1040), line 5; Schedule 2 (Form 1040), line 6; and Schedule 2 (Form 1040), line 13'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_23_add_21_22": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 23 add lines 21 and 22", "description": "Part II-B line '23' 'Add lines 21 and 22'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_24_form1040_and_schedule3_total": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 24 total (1040/1040-SR line 27a + Schedule 3 line 11, or Schedule 3 line 11 for 1040-NR)", "description": "Part II-B line '24': '1040 and 1040-SR filers' enter the total of the amounts from Form 1040 or 1040-SR, line 27a, and Schedule 3 (Form 1040), line 11; '1040-NR filers' enter the amount from Schedule 3 (Form 1040), line 11. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_25_subtract_24_from_23": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 25 subtract line 24 from line 23", "description": "Part II-B line '25' 'Subtract line 24 from line 23. If zero or less, enter -0-'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_26_larger_of_20_or_25": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 26 larger of line 20 or line 25", "description": "Part II-B line '26' 'Enter the larger of line 20 or line 25'. The form then directs entering the smaller of line 17 or line 26 on line 27. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_27_additional_child_tax_credit": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 27 additional child tax credit", "description": "Part II-C line '27' 'Enter this amount on line 15c.' Part II-C is titled 'Additional Child Tax Credit'; this is the additional child tax credit carried back to line 15c. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_28a_amount_from_14f_or_15e": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 28a amount from line 14f or line 15e", "description": "Part III line '28a' 'Enter the amount from line 14f or line 15e, whichever applies'. Part III ('Additional Tax') is used only if line 14g or line 15f, whichever applies, is zero. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_28b_amount_from_14e_or_15d": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 28b amount from line 14e or line 15d", "description": "Part III line '28b' 'Enter the amount from line 14e or line 15d, whichever applies'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_29_excess_advance_ctc_payments": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 29 excess advance child tax credit payments", "description": "Part III line '29' 'Excess advance child tax credit payments. Subtract line 28b from line 28a.' If zero, stop; you do not owe the additional tax. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_30_num_qualifying_children_for_advance": {"anyOf": [{"type": "integer"}, {"type": "null"}], "default": null, "title": "Line 30 number of qualifying children for advance amount", "description": "Part III line '30' 'Enter the number of qualifying children taken into account in determining the annual advance amount you received for 2021'. Filers take this number from Letter 6419. Whole-number count as a JSON integer; null if the entry box is blank."}, "line_31_smaller_of_4a_or_30": {"anyOf": [{"type": "integer"}, {"type": "null"}], "default": null, "title": "Line 31 smaller of line 4a or line 30", "description": "Part III line '31' 'Enter the smaller of line 4a or line 30' (a number of qualifying children). Whole-number count as a JSON integer; null if the entry box is blank."}, "line_32_subtract_31_from_30": {"anyOf": [{"type": "integer"}, {"type": "null"}], "default": null, "title": "Line 32 subtract line 31 from line 30", "description": "Part III line '32' 'Subtract line 31 from line 30' (a number of qualifying children). If zero, skip to line 40 and enter the amount from line 29; otherwise continue to line 33. Whole-number count as a JSON integer; null if the entry box is blank."}, "line_33_filing_status_threshold": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 33 filing status threshold amount", "description": "Part III line '33' 'Enter the amount shown below for your filing status.' The printed thresholds are 'Married filing jointly or Qualifying widow(er)—$60,000', 'Head of household—$50,000', and 'All other filing statuses—$40,000'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_34_subtract_33_from_3": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 34 subtract line 33 from line 3", "description": "Part III line '34' 'Subtract line 33 from line 3. If zero or less, enter -0-'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_35_amount_from_line_33": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 35 amount from line 33", "description": "Part III line '35' 'Enter the amount from line 33'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_36_divide_34_by_35_decimal": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 36 divide line 34 by line 35 (decimal)", "description": "Part III line '36' 'Divide line 34 by line 35. Enter the result as a decimal (rounded to at least three places). If the result is 1.000 or more, enter 1.000'. Decimal ratio as a JSON number (not a dollar amount); null if the entry box is blank."}, "line_37_multiply_line32_by_2000": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 37 multiply line 32 by $2,000", "description": "Part III line '37' 'Multiply line 32 by $2,000'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_38_multiply_line37_by_line36": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 38 multiply line 37 by line 36", "description": "Part III line '38' 'Multiply line 37 by line 36'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_39_subtract_38_from_37": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 39 subtract line 38 from line 37", "description": "Part III line '39' 'Subtract line 38 from line 37'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_40_additional_tax": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 40 additional tax", "description": "Part III line '40' 'Subtract line 39 from line 29. If zero or less, enter -0-. This is your additional tax.' If more than zero, enter this amount on Schedule 2 (Form 1040), line 19. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}}}, "ScheduleA": {"type": "object", "title": "Schedule A (Form 1040) 2021 — Itemized Deductions", "properties": {"names_shown": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Name(s) shown on Form 1040 or 1040-SR", "description": "Schedule A header field 'Name(s) shown on Form 1040 or 1040-SR'. Extract the string verbatim as printed; null if blank."}, "ssn": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Your social security number (Schedule A)", "description": "Schedule A header field 'Your social security number'. On these public-release scans this value is usually masked/redacted: transcribe exactly the characters that are legible; null if fully redacted or blank."}, "line_1_medical_and_dental_expenses": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 1 medical and dental expenses", "description": "Medical and Dental Expenses section, line 1 'Medical and dental expenses (see instructions)'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_2_agi": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 2 amount from Form 1040 or 1040-SR, line 11", "description": "Line 2 'Enter amount from Form 1040 or 1040-SR, line 11'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_3_agi_times_7_5_pct": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 3 multiply line 2 by 7.5%", "description": "Line 3 'Multiply line 2 by 7.5% (0.075)'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_4_medical_deduction": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 4 subtract line 3 from line 1", "description": "Line 4 'Subtract line 3 from line 1'. If line 3 is more than line 1, the printed instruction is to enter -0- rather than a negative amount. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_5a_sales_tax_election_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Line 5a general sales tax election box", "description": "Taxes You Paid, line 5a 'State and local income taxes or general sales taxes' checkbox: 'check this box' if electing to include general sales taxes instead of income taxes. True if checked; false if printed but left unchecked. Return null only if this page is not present."}, "line_5a_state_local_income_or_sales_taxes": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 5a state and local income or sales taxes", "description": "Line '5a' 'State and local income taxes or general sales taxes'. You may include either income taxes or general sales taxes on this line, but not both. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_5b_state_local_real_estate_taxes": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 5b state and local real estate taxes", "description": "Line '5b' 'State and local real estate taxes (see instructions)'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_5c_state_local_personal_property_taxes": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 5c state and local personal property taxes", "description": "Line '5c' 'State and local personal property taxes'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_5d_add_5a_5c": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 5d add lines 5a through 5c", "description": "Line '5d' 'Add lines 5a through 5c'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_5e_smaller_of_5d_or_cap": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 5e smaller of line 5d or $10,000 cap", "description": "Line '5e' 'Enter the smaller of line 5d or $10,000'. The cap is $5,000 if married filing separately, per the printed parenthetical. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_6_other_taxes_description": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Line 6 other taxes — type", "description": "Line 6 'Other taxes' write-in description on the dashed line, from \"List type and amount\". Extract the string verbatim as printed; null if blank."}, "line_6_other_taxes_amount": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 6 other taxes — amount", "description": "Line 6 'Other taxes' amount, from \"List type and amount\". Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_7_add_5e_6": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 7 add lines 5e and 6", "description": "Line 7 'Add lines 5e and 6'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_8_limited_mortgage_interest_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Line 8 home loan not fully used to buy/build/improve home box", "description": "Interest You Paid, line 8 intro 'Home mortgage interest and points' checkbox: 'check this box' if the filer didn't use all of the home mortgage loan(s) to buy, build, or improve the home. True if checked; false if printed but left unchecked. Return null only if this page is not present."}, "line_8a_mortgage_interest_points_form_1098": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 8a home mortgage interest and points reported on Form 1098", "description": "Line '8a' 'Home mortgage interest and points reported to you on Form 1098'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_8b_mortgage_interest_not_reported_1098": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 8b home mortgage interest not reported on Form 1098", "description": "Line '8b' 'Home mortgage interest not reported to you on Form 1098'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_8b_seller_name": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Line 8b seller's name (if paid to person home was bought from)", "description": "Line 8b write-in line below the amount box: \"show that person's name\" when line 8b interest was paid directly to the individual the home was bought from. Extract the string verbatim as printed; null if blank."}, "line_8b_seller_identifying_no": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Line 8b seller's identifying number", "description": "Line 8b write-in field: \"identifying no.\" of the person the line 8b mortgage interest was paid to. Transcribe exactly the characters shown (may be masked/redacted on public-release scans); null if blank."}, "line_8b_seller_address": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Line 8b seller's address", "description": "Line 8b write-in line: \"address\" of the person the line 8b mortgage interest was paid to. Extract the string verbatim as printed; null if blank."}, "line_8c_points_not_reported_1098": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 8c points not reported on Form 1098", "description": "Line '8c' 'Points not reported to you on Form 1098'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_8d_mortgage_insurance_premiums": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Schedule A line 8d mortgage insurance premiums", "description": "Line '8d' 'Mortgage insurance premiums (see instructions)'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus is negative. Null when line 8d is blank. (2021 only; this line was Reserved after 2021.)"}, "line_8e_add_8a_8d": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 8e add lines 8a through 8c", "description": "Line '8e' 'Add lines 8a through 8d'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_9_investment_interest": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 9 investment interest", "description": "Line 9 'Investment interest'. Attach Form 4952 if required per the printed instruction. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_10_add_8e_9": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 10 add lines 8e and 9", "description": "Line 10 'Add lines 8e and 9'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_11_gifts_by_cash_or_check": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 11 gifts by cash or check", "description": "Gifts to Charity, line 11 'Gifts by cash or check'. See instructions if any single gift was $250 or more. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_12_gifts_other_than_cash_or_check": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 12 gifts other than by cash or check", "description": "Line 12 'Other than by cash or check'. Must attach Form 8283 if over $500, per the printed instruction. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_13_carryover_from_prior_year": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 13 carryover from prior year", "description": "Line 13 'Carryover from prior year'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_14_add_11_13": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 14 add lines 11 through 13", "description": "Line 14 'Add lines 11 through 13'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_15_casualty_and_theft_losses": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 15 casualty and theft loss(es)", "description": "Casualty and Theft Losses, line 15 'Casualty and theft loss(es) from a federally declared disaster'. Enter the amount from line 18 of an attached Form 4684, per the printed instruction; excludes net qualified disaster losses. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_16_other_description": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Line 16 other itemized deductions — type", "description": "Other Itemized Deductions, line 16 'Other—from list in instructions' write-in description on the dashed line, from \"List type and amount\". Extract the string verbatim as printed; null if blank."}, "line_16_other_amount": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 16 other itemized deductions — amount", "description": "Line 16 'Other—from list in instructions' amount, from \"List type and amount\". Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_17_total_itemized_deductions": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 17 total itemized deductions", "description": "Total Itemized Deductions, line 17 'Add the amounts in the far right column for lines 4 through 16'. Also entered on Form 1040 or 1040-SR, line 12, per the printed instruction. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_18_itemize_though_less_than_standard_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Line 18 elect to itemize though less than standard deduction box", "description": "Line 18 'check this box' if the filer elects to itemize deductions even though they are less than the standard deduction. True if checked; false if printed but left unchecked. Return null only if this page is not present."}}}, "ScheduleBInterestRow": {"type": "object", "title": "Schedule B interest payer row", "properties": {"payer_name": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Payer name (interest)", "description": "Schedule B Part I line 1 'List name of payer' — one row of the interest-payer list. If interest is from a seller-financed mortgage where the buyer used the property as a personal residence, the instructions direct the filer to list that interest first and show the buyer's SSN and address as part of this same write-in line; transcribe whatever name/identifying text is printed on the row verbatim. Identifies the row (use as the row identity key; keep rows in print order if names repeat or are blank). Extract the string verbatim as printed; null if blank."}, "amount": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Amount (interest)", "description": "Schedule B Part I line 1 amount column for this payer row. If a Form 1099-INT, Form 1099-OID, or substitute statement was received from a brokerage firm, the instructions direct listing the firm's name as payer and entering the total interest shown on that form as this row's amount. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}}}, "ScheduleBDividendRow": {"type": "object", "title": "Schedule B ordinary dividend payer row", "properties": {"payer_name": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Payer name (dividends)", "description": "Schedule B Part II line 5 'List name of payer' — one row of the ordinary-dividend payer list. If a Form 1099-DIV or substitute statement was received from a brokerage firm, the instructions direct listing the firm's name as payer and entering the ordinary dividends shown on that form as this row's amount. Identifies the row (use as the row identity key; keep rows in print order if names repeat or are blank). Extract the string verbatim as printed; null if blank."}, "amount": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Amount (dividends)", "description": "Schedule B Part II 'line 5' amount column for this payer row (ordinary dividends received from this payer). Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}}}, "ScheduleB": {"type": "object", "title": "Schedule B (Form 1040) 2021 — Interest and Ordinary Dividends", "properties": {"names_shown": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Name(s) shown on return (Schedule B)", "description": "Schedule B header field 'Name(s) shown on return'. Extract the string verbatim as printed; null if blank."}, "ssn": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Your social security number (Schedule B)", "description": "Schedule B header field 'Your social security number'. On these public-release scans this value is usually masked/redacted: transcribe exactly the characters that are legible; null if fully redacted or blank."}, "interest_payers": {"anyOf": [{"items": {"$ref": "#/$defs/ScheduleBInterestRow"}, "type": "array"}, {"type": "null"}], "default": null, "title": "Part I line 1 interest payer list", "description": "Schedule B Part I 'Interest', line 1 'List name of payer' grid — one row per payer with a nonblank name and/or amount. Empty grid (no payers listed) → null."}, "line_2_total_interest": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 2 total interest", "description": "Schedule B Part I line 2 'Add the amounts on line 1'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_3_excludable_savings_bond_interest": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 3 excludable savings bond interest", "description": "Schedule B Part I line 3 'Excludable interest on series EE and I U.S. savings bonds issued after 1989'. Attach Form 8815. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_4_taxable_interest": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 4 taxable interest", "description": "Schedule B Part I line 4 'Subtract line 3 from line 2'. Enter the result here and on Form 1040 or 1040-SR, line 2b. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "dividend_payers": {"anyOf": [{"items": {"$ref": "#/$defs/ScheduleBDividendRow"}, "type": "array"}, {"type": "null"}], "default": null, "title": "Part II line 5 dividend payer list", "description": "Schedule B Part II 'Ordinary Dividends', line 5 'List name of payer' grid — one row per payer with a nonblank name and/or amount. Empty grid (no payers listed) → null."}, "line_6_total_ordinary_dividends": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 6 total ordinary dividends", "description": "Schedule B Part II line 6 'Add the amounts on line 5'. Enter the total here and on Form 1040 or 1040-SR, line 3b. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_7a_foreign_financial_account_yes": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Line 7a foreign financial account question", "description": "Schedule B Part III line '7a' first question: 'At any time during 2021, did you have a financial interest in or signature authority over a financial account (such as a bank account, securities account, or brokerage account) located in a foreign country?' The 'Yes' / 'No' checkbox pair is mutually exclusive — one boolean: true if 'Yes' is checked; false if 'No' is checked; false if printed but left unchecked. Two-state policy: true ONLY if 'Yes' is marked; false otherwise (including 'No' checked, unmarked, or not printed on this rendering). Return null only if this page is not present."}, "line_7a_fincen114_required_yes": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Line 7a FinCEN Form 114 required question", "description": "Schedule B Part III line 7a second question: \"If 'Yes,' are you required to file FinCEN Form 114, Report of Foreign Bank and Financial Accounts (FBAR), to report that financial interest or signature authority?\" The 'Yes' / 'No' checkbox pair is mutually exclusive — one boolean: true if 'Yes' is checked; false if 'No' is checked; false if printed but left unchecked. Two-state policy: true ONLY if 'Yes' is marked; false otherwise (including 'No' checked, unmarked, or not printed on this rendering). Return null only if this page is not present."}, "line_7b_foreign_countries": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Line 7b foreign country names", "description": "Schedule B Part III line 7b write-in: 'If you are required to file FinCEN Form 114, list the name(s)' of the foreign country(-ies) where the financial account(s) are located. Extract the string verbatim as printed (combine both write-in lines if the list wraps); null if blank."}, "line_8_foreign_trust_yes": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Line 8 foreign trust question", "description": "Schedule B Part III line 8: 'During 2021, did you receive a distribution from, or were you the grantor of, or transferor to, a foreign trust? If \"Yes,\" you may have to file Form 3520.' The 'Yes' / 'No' checkbox pair is mutually exclusive — one boolean: true if 'Yes' is checked; false if 'No' is checked; false if printed but left unchecked. Two-state policy: true ONLY if 'Yes' is marked; false otherwise (including 'No' checked, unmarked, or not printed on this rendering). Return null only if this page is not present."}}}, "ScheduleCOtherExpenseRow": {"type": "object", "title": "Schedule C Part V other-expense row", "properties": {"description": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Write-in expense description on a line of Schedule C Part V 'Other Expenses'. List below business expenses not included on lines 8-26 or line 30. Extract the string verbatim as printed; null if the description is blank. Identifies the row within the Part V grid.", "title": "Other expense description"}, "amount": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Dollar amount entered in the amount column of a Schedule C Part V 'Other Expenses' write-in row. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Other expense amount"}}}, "ScheduleC": {"type": "object", "title": "Schedule C (Form 1040) 2021 — Profit or Loss From Business (Sole Proprietorship)", "properties": {"proprietor_name": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Schedule C header field 'Name of proprietor'. Extract the string verbatim as printed; null if blank.", "title": "Name of proprietor"}, "proprietor_ssn": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Schedule C header field 'Social security number (SSN)'. On these public-release scans this value is usually masked/redacted: transcribe exactly the characters that are legible; null if fully redacted or blank.", "title": "Social security number (SSN)"}, "line_a_business_profession": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Schedule C line 'A' 'Principal business or profession, including product or service' (see instructions). Extract the string verbatim as printed; null if blank.", "title": "Line A principal business or profession"}, "line_b_code": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Schedule C line 'B Enter code from instructions' — the 6-digit business activity code. Extract the string verbatim as printed (leading zeros preserved); null if blank.", "title": "Line B business code"}, "line_c_business_name": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Schedule C line 'C' 'Business name. If no separate business name, leave blank.' Extract the string verbatim as printed; null if blank.", "title": "Line C business name"}, "line_d_ein": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Schedule C line 'D Employer ID number (EIN) (see instr.)'. On these public-release scans this value is usually masked/redacted: transcribe exactly the characters that are legible; null if fully redacted or blank.", "title": "Line D employer ID number (EIN)"}, "line_e_business_address": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Schedule C line 'E' 'Business address (including suite or room no.)', first line of the address block. Extract the string verbatim as printed; null if blank.", "title": "Line E business address"}, "line_e_city_state_zip": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Schedule C line E second address line 'City, town or post office, state, and ZIP code'. Extract the string verbatim as printed; null if blank.", "title": "Line E city, town/post office, state, ZIP"}, "line_f_accounting_method": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Schedule C line 'F Accounting method:' — check only one box among '(1) Cash', '(2) Accrual', '(3) Other (specify)'. Return the printed label of the single checked option ('Cash', 'Accrual', or 'Other'); null if no box is checked.", "title": "Line F accounting method"}, "line_f_accounting_method_other_specify": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Schedule C line F write-in text following 'Other (specify)' when the 'Other' accounting method box is checked. Extract the string verbatim as printed; null if blank or not applicable.", "title": "Line F other accounting method specify"}, "line_g_material_participation": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "description": "Schedule C line 'G' \"Did you 'materially participate' in the operation of this business during 2021?\" True if the 'Yes' box is checked; false if the 'No' box is checked, or if 'Yes' is printed but left unchecked. Two-state policy: true ONLY if 'Yes' is marked; false otherwise. Return null only if this page is not present.", "title": "Line G materially participate (Yes/No)"}, "line_h_started_or_acquired_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "description": "Schedule C line 'H' \"If you started or acquired this business during 2021, check here\". True if checked; false if printed but left unchecked. Return null only if this page is not present.", "title": "Line H started or acquired business box"}, "line_i_payments_requiring_1099": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "description": "Schedule C line 'I' 'Did you make any payments in 2021 that would require you to file Form(s) 1099?'. True if 'Yes' checked; false if 'No' checked or 'Yes' printed but unchecked. Return null only if this page is not present.", "title": "Line I payments requiring Form(s) 1099 (Yes/No)"}, "line_j_filed_required_1099": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "description": "Schedule C line 'J' \"If 'Yes,' did you or will you file required Form(s) 1099?\". True if 'Yes' checked; false if 'No' checked or 'Yes' printed but unchecked (including when line I was 'No'). Return null only if this page is not present.", "title": "Line J filed required Form(s) 1099 (Yes/No)"}, "line_1_gross_receipts": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule C Part I line 1 'Gross receipts or sales'. Whole-dollar amount as a JSON number; null if blank.", "title": "Line 1 gross receipts or sales"}, "line_1_statutory_employee_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "description": "Schedule C Part I line 1 checkbox: \"check the box if this income was reported to you on Form W-2 and the 'Statutory employee' box on that form was checked\". True if checked; false if printed but left unchecked. Return null only if this page is not present.", "title": "Line 1 statutory employee box"}, "line_2_returns_and_allowances": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule C Part I line 2 'Returns and allowances'. Whole-dollar amount as a JSON number; null if blank.", "title": "Line 2 returns and allowances"}, "line_3_subtract_line_2_from_1": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule C Part I line 3 'Subtract line 2 from line 1'. Whole-dollar amount as a JSON number; null if blank.", "title": "Line 3 (line 1 minus line 2)"}, "line_4_cost_of_goods_sold": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule C Part I line 4 'Cost of goods sold (from line 42)'. Whole-dollar amount as a JSON number; null if blank.", "title": "Line 4 cost of goods sold"}, "line_5_gross_profit": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule C Part I line 5 'Gross profit. Subtract line 4 from line 3'. Whole-dollar amount as a JSON number; null if blank.", "title": "Line 5 gross profit"}, "line_6_other_income": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule C Part I line 6 'Other income, including federal and state gasoline or fuel tax credit or refund'. Whole-dollar amount as a JSON number; null if blank.", "title": "Line 6 other income"}, "line_7_gross_income": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule C Part I line 7 'Gross income. Add lines 5 and 6'. Whole-dollar amount as a JSON number; null if blank.", "title": "Line 7 gross income"}, "line_8_advertising": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule C Part II line 8 'Advertising'. Whole-dollar amount as a JSON number; null if blank.", "title": "Line 8 advertising"}, "line_9_car_and_truck_expenses": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule C Part II line 9 'Car and truck expenses (see instructions)'. Whole-dollar amount as a JSON number; null if blank.", "title": "Line 9 car and truck expenses"}, "line_10_commissions_and_fees": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule C Part II line 10 'Commissions and fees'. Whole-dollar amount as a JSON number; null if blank.", "title": "Line 10 commissions and fees"}, "line_11_contract_labor": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule C Part II line 11 'Contract labor (see instructions)'. Whole-dollar amount as a JSON number; null if blank.", "title": "Line 11 contract labor"}, "line_12_depletion": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule C Part II line 12 'Depletion'. Whole-dollar amount as a JSON number; null if blank.", "title": "Line 12 depletion"}, "line_13_depreciation_section_179": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule C Part II line 13 'Depreciation and section 179 expense deduction' (not included in Part III) (see instructions). Whole-dollar amount as a JSON number; null if blank.", "title": "Line 13 depreciation and section 179 expense deduction"}, "line_14_employee_benefit_programs": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule C Part II line 14 'Employee benefit programs (other than on line 19)'. Whole-dollar amount as a JSON number; null if blank.", "title": "Line 14 employee benefit programs"}, "line_15_insurance": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule C Part II line 15 'Insurance (other than health)'. Whole-dollar amount as a JSON number; null if blank.", "title": "Line 15 insurance (other than health)"}, "line_16a_interest_mortgage": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule C Part II line '16a' 'Interest (see instructions): Mortgage (paid to banks, etc.)'. Whole-dollar amount as a JSON number; null if blank.", "title": "Line 16a interest — mortgage"}, "line_16b_interest_other": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule C Part II line '16b' 'Interest: Other' (sub-line of line 16). Whole-dollar amount as a JSON number; null if blank.", "title": "Line 16b interest — other"}, "line_17_legal_and_professional_services": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule C Part II line 17 'Legal and professional services'. Whole-dollar amount as a JSON number; null if blank.", "title": "Line 17 legal and professional services"}, "line_18_office_expense": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule C Part II line 18 'Office expense (see instructions)'. Whole-dollar amount as a JSON number; null if blank.", "title": "Line 18 office expense"}, "line_19_pension_and_profit_sharing_plans": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule C Part II line 19 'Pension and profit-sharing plans'. Whole-dollar amount as a JSON number; null if blank.", "title": "Line 19 pension and profit-sharing plans"}, "line_20a_rent_vehicles_machinery_equipment": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule C Part II line '20a' 'Rent or lease (see instructions): Vehicles, machinery, and equipment'. Whole-dollar amount as a JSON number; null if blank.", "title": "Line 20a rent/lease — vehicles, machinery, equipment"}, "line_20b_rent_other_business_property": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule C Part II line '20b' 'Rent or lease: Other business property' (sub-line of line 20). Whole-dollar amount as a JSON number; null if blank.", "title": "Line 20b rent/lease — other business property"}, "line_21_repairs_and_maintenance": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule C Part II line 21 'Repairs and maintenance'. Whole-dollar amount as a JSON number; null if blank.", "title": "Line 21 repairs and maintenance"}, "line_22_supplies": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule C Part II line 22 'Supplies (not included in Part III)'. Whole-dollar amount as a JSON number; null if blank.", "title": "Line 22 supplies"}, "line_23_taxes_and_licenses": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule C Part II line 23 'Taxes and licenses'. Whole-dollar amount as a JSON number; null if blank.", "title": "Line 23 taxes and licenses"}, "line_24a_travel": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule C Part II line '24a' 'Travel and meals: Travel'. Whole-dollar amount as a JSON number; null if blank.", "title": "Line 24a travel"}, "line_24b_deductible_meals": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule C Part II line '24b' 'Deductible meals (see instructions)' (sub-line of line 24). Whole-dollar amount as a JSON number; null if blank.", "title": "Line 24b deductible meals"}, "line_25_utilities": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule C Part II line 25 'Utilities'. Whole-dollar amount as a JSON number; null if blank.", "title": "Line 25 utilities"}, "line_26_wages": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule C Part II line 26 'Wages (less employment credits)'. Whole-dollar amount as a JSON number; null if blank.", "title": "Line 26 wages"}, "line_27a_other_expenses": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule C Part II line '27a' 'Other expenses (from line 48)'. Whole-dollar amount as a JSON number; null if blank. This is the total carried up from the Part V write-in grid (line 48).", "title": "Line 27a other expenses (from line 48)"}, "line_28_total_expenses": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule C Part II line 28 'Total expenses before expenses for business use of home. Add lines 8 through 27a'. Whole-dollar amount as a JSON number; null if blank.", "title": "Line 28 total expenses before home-office deduction"}, "line_29_tentative_profit_or_loss": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule C Part II line 29 'Tentative profit or (loss). Subtract line 28 from line 7'. Whole-dollar amount as a JSON number; null if blank.", "title": "Line 29 tentative profit or (loss)"}, "line_30_business_use_of_home": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule C Part II line 30 'Expenses for business use of your home'. Attach Form 8829 unless using the simplified method. Whole-dollar amount as a JSON number; null if blank.", "title": "Line 30 expenses for business use of home"}, "line_30_simplified_method_total_home_sqft": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule C line 30 'Simplified method filers only' write-in '(a) your home:' — total square footage of the home. Whole number as a JSON number; null if blank or the simplified method was not used.", "title": "Line 30 simplified method — total home square footage"}, "line_30_simplified_method_business_sqft": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule C line 30 'Simplified method filers only' write-in '(b) the part of your home used for business:' — business-use square footage. Whole number as a JSON number; null if blank or the simplified method was not used.", "title": "Line 30 simplified method — business-use square footage"}, "line_31_net_profit_or_loss": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule C Part II line 31 'Net profit or (loss). Subtract line 30 from line 29'. Whole-dollar amount as a JSON number; null if blank.", "title": "Line 31 net profit or (loss)"}, "line_32_investment_at_risk": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Schedule C Part II line 32 'If you have a loss, check the box that describes your investment in this activity' — check only one box among '32a All investment is at risk' and '32b Some investment is not at risk'. Return 'All investment is at risk' or 'Some investment is not at risk'; null if line 31 is not a loss or neither box is checked.", "title": "Line 32 investment-at-risk box (32a/32b)"}, "line_33_inventory_method": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Schedule C Part III line 33 'Method(s) used to value closing inventory:' — check only one box among 'a Cost', 'b Lower of cost or market', 'c Other (attach explanation)'. Return the printed label of the single checked option; null if no box is checked.", "title": "Line 33 inventory valuation method"}, "line_34_inventory_change_explanation": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "description": "Schedule C Part III line 34 'Was there any change in determining quantities, costs, or valuations between opening and closing inventory?'. True if 'Yes' checked; false if 'No' checked or 'Yes' printed but unchecked. Return null only if this page is not present.", "title": "Line 34 change in inventory valuation (Yes/No)"}, "line_35_inventory_beginning_of_year": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule C Part III line 35 'Inventory at beginning of year. If different from last year's closing inventory, attach explanation'. Whole-dollar amount as a JSON number; null if blank.", "title": "Line 35 inventory at beginning of year"}, "line_36_purchases": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule C Part III line 36 'Purchases less cost of items withdrawn for personal use'. Whole-dollar amount as a JSON number; null if blank.", "title": "Line 36 purchases less cost of items withdrawn"}, "line_37_cost_of_labor": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule C Part III line 37 'Cost of labor. Do not include any amounts paid to yourself'. Whole-dollar amount as a JSON number; null if blank.", "title": "Line 37 cost of labor"}, "line_38_materials_and_supplies": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule C Part III line 38 'Materials and supplies'. Whole-dollar amount as a JSON number; null if blank.", "title": "Line 38 materials and supplies"}, "line_39_other_costs": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule C Part III line 39 'Other costs'. Whole-dollar amount as a JSON number; null if blank.", "title": "Line 39 other costs"}, "line_40_add_lines_35_through_39": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule C Part III line 40 'Add lines 35 through 39'. Whole-dollar amount as a JSON number; null if blank.", "title": "Line 40 total (lines 35-39)"}, "line_41_inventory_end_of_year": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule C Part III line 41 'Inventory at end of year'. Whole-dollar amount as a JSON number; null if blank.", "title": "Line 41 inventory at end of year"}, "line_42_cost_of_goods_sold": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule C Part III line 42 'Cost of goods sold'. Subtract line 41 from line 40; enter the result here and on line 4. Whole-dollar amount as a JSON number; null if blank.", "title": "Line 42 cost of goods sold"}, "line_43_vehicle_placed_in_service_date": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Schedule C Part IV line 43 'When did you place your vehicle in service for business purposes?' (month/day/year). Extract the date string verbatim as printed; null if blank.", "title": "Line 43 vehicle placed in service date"}, "line_44a_business_miles": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule C Part IV line '44a' business miles driven in 2021 (sub-line of line 44). Whole number as a JSON number; null if blank.", "title": "Line 44a business miles"}, "line_44b_commuting_miles": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule C Part IV line '44b' 'Commuting (see instructions)' miles (sub-line of line 44). Whole number as a JSON number; null if blank.", "title": "Line 44b commuting miles"}, "line_44c_other_miles": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule C Part IV line '44c' 'Other' miles (sub-line of line 44). Whole number as a JSON number; null if blank.", "title": "Line 44c other miles"}, "line_45_vehicle_available_personal_use": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "description": "Schedule C Part IV line 45 'Was your vehicle available for personal use during off-duty hours?'. True if 'Yes' checked; false if 'No' checked or 'Yes' printed but unchecked. Return null only if this page is not present.", "title": "Line 45 vehicle available for personal use (Yes/No)"}, "line_46_another_vehicle_available": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "description": "Schedule C Part IV line 46 'Do you (or your spouse) have another vehicle available for personal use?'. True if 'Yes' checked; false if 'No' checked or 'Yes' printed but unchecked. Return null only if this page is not present.", "title": "Line 46 another vehicle available for personal use (Yes/No)"}, "line_47a_evidence_to_support_deduction": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "description": "Schedule C Part IV line '47a' 'Do you have evidence to support your deduction?'. True if 'Yes' checked; false if 'No' checked or 'Yes' printed but unchecked. Return null only if this page is not present.", "title": "Line 47a evidence to support deduction (Yes/No)"}, "line_47b_evidence_written": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "description": "Schedule C Part IV line '47b' \"If 'Yes,' is the evidence written?\" (sub-line of line 47a). True if 'Yes' checked; false if 'No' checked or 'Yes' printed but unchecked (including when line 47a was 'No'). Return null only if this page is not present.", "title": "Line 47b evidence is written (Yes/No)"}, "other_expenses": {"anyOf": [{"items": {"$ref": "#/$defs/ScheduleCOtherExpenseRow"}, "type": "array"}, {"type": "null"}], "default": null, "description": "Schedule C Part V 'Other Expenses. List below business expenses not included on lines 8-26 or line 30.' write-in grid. One row per description/amount line with a nonblank description or amount; empty grid → null.", "title": "Part V other expenses (write-in grid)"}, "line_48_total_other_expenses": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule C Part V line 48 'Total other expenses. Enter here and on line 27a'. Whole-dollar amount as a JSON number; null if blank. This total is carried to Part II line 27a.", "title": "Line 48 total other expenses"}}}, "ScheduleD": {"type": "object", "title": "Schedule D (Form 1040) 2021 — Capital Gains and Losses", "properties": {"names_shown": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Name(s) shown on return (Schedule D)", "description": "Schedule D header field 'Name(s) shown on return'. Extract the string verbatim as printed; null if blank."}, "ssn": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Your social security number (Schedule D)", "description": "Schedule D header field 'Your social security number'. On these public-release scans this value is usually masked/redacted: transcribe exactly the characters that are legible; null if fully redacted or blank."}, "qof_disposition_yes": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Qualified opportunity fund disposition question", "description": "Header question above Part I asking whether the filer disposed of any investment(s) in a 'qualified opportunity fund' during the tax year. If 'Yes,' attach Form 8949 and see its instructions for additional requirements for reporting your gain or loss. The 'Yes' / 'No' checkbox pair is mutually exclusive — one boolean: true if 'Yes' is checked, false if 'No' is checked or if both are left unmarked. Return null only if this page is not present."}, "line_1a_st_proceeds": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 1a proceeds (short-term, no adjustments)", "description": "Part I line '1a' column (d) 'Proceeds (sales price)'. Totals for all short-term transactions reported on Form 1099-B for which basis was reported to the IRS and for which you have no adjustments; leave this line blank (and use line 1b instead) if you choose to report all these transactions on Form 8949. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_1a_st_cost": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 1a cost or other basis (short-term, no adjustments)", "description": "Part I line 1a column (e) 'Cost (or other basis)' for short-term Form 1099-B totals with no adjustments. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_1a_st_gain_or_loss": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 1a gain or (loss) (short-term, no adjustments)", "description": "Part I line 1a column (h) 'Gain or (loss)'. Subtract column (e) from column (d) and combine the result with column (g); column (g) is not applicable on this line (greyed out on the printed form) because line 1a is, by definition, for transactions with no adjustments. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_1b_st_proceeds": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 1b proceeds (Form 8949 Box A)", "description": "Part I line '1b' column (d) 'Proceeds (sales price)'. Totals for all transactions reported on Form(s) 8949 with 'Box A' checked. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_1b_st_cost": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 1b cost or other basis (Form 8949 Box A)", "description": "Part I line 1b column (e) 'Cost (or other basis)' for Form(s) 8949 Box A totals. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_1b_st_adjustments": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 1b adjustments to gain or loss (Form 8949 Box A)", "description": "Part I line 1b column (g) 'Adjustments to gain or loss from Form(s) 8949, Part I, line 2, column (g)'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_1b_st_gain_or_loss": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 1b gain or (loss) (Form 8949 Box A)", "description": "Part I line 1b column (h) '(h) Gain or (loss)'. Subtract column (e) from column (d) and combine the result with column (g). Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_2_st_proceeds": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 2 proceeds (Form 8949 Box B)", "description": "Part I line '2' column (d) 'Proceeds (sales price)'. Totals for all transactions reported on Form(s) 8949 with 'Box B' checked. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_2_st_cost": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 2 cost or other basis (Form 8949 Box B)", "description": "Part I line 2 column (e) 'Cost (or other basis)' for Form(s) 8949 Box B totals. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_2_st_adjustments": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 2 adjustments to gain or loss (Form 8949 Box B)", "description": "Part I line 2 column (g) 'Adjustments to gain or loss from Form(s) 8949, Part I, line 2, column (g)'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_2_st_gain_or_loss": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 2 gain or (loss) (Form 8949 Box B)", "description": "Part I line 2 column (h) '(h) Gain or (loss)'. Subtract column (e) from column (d) and combine the result with column (g). Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_3_st_proceeds": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 3 proceeds (Form 8949 Box C)", "description": "Part I line '3' column (d) 'Proceeds (sales price)'. Totals for all transactions reported on Form(s) 8949 with 'Box C' checked. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_3_st_cost": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 3 cost or other basis (Form 8949 Box C)", "description": "Part I line 3 column (e) 'Cost (or other basis)' for Form(s) 8949 Box C totals. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_3_st_adjustments": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 3 adjustments to gain or loss (Form 8949 Box C)", "description": "Part I line 3 column (g) 'Adjustments to gain or loss from Form(s) 8949, Part I, line 2, column (g)'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_3_st_gain_or_loss": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 3 gain or (loss) (Form 8949 Box C)", "description": "Part I line 3 column (h) '(h) Gain or (loss)'. Subtract column (e) from column (d) and combine the result with column (g). Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_4_st_gain_forms_6252_4684_6781_8824": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 4 short-term gain from Forms 6252, 4684, 6781, 8824", "description": "Part I 'line 4', short-term gain from Form 6252 and short-term gain or (loss) from Forms 4684, 6781, and 8824. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_5_st_gain_k1": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 5 net short-term gain or (loss) from Schedule(s) K-1", "description": "Part I 'line 5', net short-term gain or (loss) from partnerships, S corporations, estates, and trusts from Schedule(s) K-1. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_6_st_loss_carryover": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 6 short-term capital loss carryover", "description": "Part I line '6' 'Short-term capital loss carryover'. Enter the amount, if any, from line 8 of the Capital Loss Carryover Worksheet in the instructions. Printed inside parentheses on the form, so a filled entry is a negative number. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_7_net_st_gain_or_loss": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 7 net short-term capital gain or (loss)", "description": "Part I line '7' 'Net short-term capital gain or (loss)'. Combine lines 1a through 6 in column (h); if you have any long-term capital gains or losses, go to Part II, otherwise go to Part III. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_8a_lt_proceeds": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 8a proceeds (long-term, no adjustments)", "description": "Part II line '8a' column (d) 'Proceeds (sales price)'. Totals for all long-term transactions reported on Form 1099-B for which basis was reported to the IRS and for which you have no adjustments; leave this line blank (and use line 8b instead) if you choose to report all these transactions on Form 8949. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_8a_lt_cost": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 8a cost or other basis (long-term, no adjustments)", "description": "Part II line 8a column (e) 'Cost (or other basis)' for long-term Form 1099-B totals with no adjustments. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_8a_lt_gain_or_loss": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 8a gain or (loss) (long-term, no adjustments)", "description": "Part II line 8a column (h) 'Gain or (loss)'. Subtract column (e) from column (d) and combine the result with column (g); column (g) is not applicable on this line (greyed out on the printed form) because line 8a is, by definition, for transactions with no adjustments. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_8b_lt_proceeds": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 8b proceeds (Form 8949 Box D)", "description": "Part II line '8b' column (d) 'Proceeds (sales price)'. Totals for all transactions reported on Form(s) 8949 with 'Box D' checked. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_8b_lt_cost": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 8b cost or other basis (Form 8949 Box D)", "description": "Part II line 8b column (e) 'Cost (or other basis)' for Form(s) 8949 Box D totals. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_8b_lt_adjustments": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 8b adjustments to gain or loss (Form 8949 Box D)", "description": "Part II line 8b column (g) 'Adjustments to gain or loss from Form(s) 8949, Part II, line 2, column (g)'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_8b_lt_gain_or_loss": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 8b gain or (loss) (Form 8949 Box D)", "description": "Part II line 8b column (h) '(h) Gain or (loss)'. Subtract column (e) from column (d) and combine the result with column (g). Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_9_lt_proceeds": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 9 proceeds (Form 8949 Box E)", "description": "Part II line '9' column (d) 'Proceeds (sales price)'. Totals for all transactions reported on Form(s) 8949 with 'Box E' checked. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_9_lt_cost": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 9 cost or other basis (Form 8949 Box E)", "description": "Part II line 9 column (e) 'Cost (or other basis)' for Form(s) 8949 Box E totals. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_9_lt_adjustments": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 9 adjustments to gain or loss (Form 8949 Box E)", "description": "Part II line 9 column (g) 'Adjustments to gain or loss from Form(s) 8949, Part II, line 2, column (g)'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_9_lt_gain_or_loss": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 9 gain or (loss) (Form 8949 Box E)", "description": "Part II line 9 column (h) '(h) Gain or (loss)'. Subtract column (e) from column (d) and combine the result with column (g). Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_10_lt_proceeds": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 10 proceeds (Form 8949 Box F)", "description": "Part II line '10' column (d) 'Proceeds (sales price)'. Totals for all transactions reported on Form(s) 8949 with 'Box F' checked. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_10_lt_cost": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 10 cost or other basis (Form 8949 Box F)", "description": "Part II line 10 column (e) 'Cost (or other basis)' for Form(s) 8949 Box F totals. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_10_lt_adjustments": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 10 adjustments to gain or loss (Form 8949 Box F)", "description": "Part II line 10 column (g) 'Adjustments to gain or loss from Form(s) 8949, Part II, line 2, column (g)'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_10_lt_gain_or_loss": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 10 gain or (loss) (Form 8949 Box F)", "description": "Part II line 10 column (h) '(h) Gain or (loss)'. Subtract column (e) from column (d) and combine the result with column (g). Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_11_lt_gain_forms_4797_2439_6252_4684_6781_8824": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 11 long-term gain from Forms 4797, 2439, 6252, 4684, 6781, 8824", "description": "Part II 'line 11', gain from Form 4797, Part I; long-term gain from Forms 2439 and 6252; and long-term gain or (loss) from Forms 4684, 6781, and 8824. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_12_lt_gain_k1": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 12 net long-term gain or (loss) from Schedule(s) K-1", "description": "Part II 'line 12', net long-term gain or (loss) from partnerships, S corporations, estates, and trusts from Schedule(s) K-1. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_13_capital_gain_distributions": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 13 capital gain distributions", "description": "Part II line '13' 'Capital gain distributions'. See the instructions. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_14_lt_loss_carryover": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 14 long-term capital loss carryover", "description": "Part II line '14' 'Long-term capital loss carryover'. Enter the amount, if any, from line 13 of the Capital Loss Carryover Worksheet in the instructions. Printed inside parentheses on the form, so a filled entry is a negative number. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_15_net_lt_gain_or_loss": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 15 net long-term capital gain or (loss)", "description": "Part II line '15' 'Net long-term capital gain or (loss)'. Combine lines 8a through 14 in column (h); then go to Part III. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_16_combine_7_and_15": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 16 combine lines 7 and 15", "description": "Part III line '16' 'Combine lines 7 and 15 and enter the result'. If a gain, enter the amount from line 16 on Form 1040/1040-SR/1040-NR, line 7, then go to line 17; if a loss, skip lines 17-20 and go to line 21 (also complete line 22); if zero, skip lines 17-21 and enter -0- on Form 1040 line 7, then go to line 22. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_17_lines_15_16_both_gains_yes": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Line 17 are lines 15 and 16 both gains", "description": "Part III line '17' 'Are lines 15 and 16 both gains?' 'Yes' directs the filer to go to line 18; 'No' directs the filer to skip lines 18 through 21 and go to line 22. The 'Yes' / 'No' checkbox pair is mutually exclusive — one boolean: true if 'Yes' is checked, false if 'No' is checked or if both are left unmarked. Return null only if this page is not present."}, "line_18_28pct_rate_gain_worksheet_amount": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 18 28% Rate Gain Worksheet amount", "description": "Part III line '18' entry for filers required to complete the '28% Rate Gain Worksheet'. Enter the amount, if any, from line 7 of that worksheet. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_19_unrecaptured_1250_gain_worksheet_amount": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 19 Unrecaptured Section 1250 Gain Worksheet amount", "description": "Part III line '19' entry for filers required to complete the 'Unrecaptured Section 1250 Gain Worksheet'. Enter the amount, if any, from line 18 of that worksheet. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_20_lines_18_19_zero_no_4952_yes": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Line 20 are lines 18 and 19 both zero/blank and not filing Form 4952", "description": "Part III line '20' 'Are lines 18 and 19 both zero or blank and you are not filing Form 4952?' 'Yes' directs the filer to complete the Qualified Dividends and Capital Gain Tax Worksheet (not lines 21-22); 'No' directs the filer to complete the Schedule D Tax Worksheet (not lines 21-22). The 'Yes' / 'No' checkbox pair is mutually exclusive — one boolean: true if 'Yes' is checked, false if 'No' is checked or if both are left unmarked. Return null only if this page is not present."}, "line_21_allowable_loss": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 21 allowable capital loss", "description": "Part III line '21', completed only if line 16 is a loss: enter here and on Form 1040/1040-SR/1040-NR, line 7, the smaller of the loss on line 16, or ($3,000) — or ($1,500) if married filing separately. When figuring which amount is smaller, treat both amounts as positive numbers. Printed inside parentheses on the form, so a filled entry is a negative number. Whole-dollar amount as a JSON number; null if the entry box is blank."}, "line_22_qualified_dividends_yes": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Line 22 do you have qualified dividends", "description": "Part III line '22' 'Do you have qualified dividends on Form 1040, 1040-SR, or 1040-NR, line 3a?' 'Yes' directs the filer to complete the Qualified Dividends and Capital Gain Tax Worksheet; 'No' directs the filer to complete the rest of Form 1040/1040-SR/1040-NR. The 'Yes' / 'No' checkbox pair is mutually exclusive — one boolean: true if 'Yes' is checked, false if 'No' is checked or if both are left unmarked. Return null only if this page is not present."}}}, "ScheduleEPropertyRow": {"type": "object", "title": "Schedule E Part I property row (A/B/C)", "properties": {"property_label": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Property letter", "description": "Row letter printed in the left margin of the Part I property grid (line '1a' 'Physical address of each property' through line 22), i.e. 'A', 'B', or 'C'. Extract exactly as printed; null if the row is entirely blank."}, "physical_address": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Line 1a physical address of property", "description": "Line '1a' \"Physical address of each property (street, city, state, ZIP code)\" for this property row (A, B, or C). Extract the string verbatim as printed (street/city/state/ZIP may be combined into one string as written); null if blank. Identifies the property row when populated; if blank, keep property rows in print order (A, B, C)."}, "type_of_property_code": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Line 1b type of property (code)", "description": "Line '1b' 'Type of Property (from list below)' for this property row. Value is the numeric code 1-8 from the 'Type of Property:' key (1 Single Family Residence, 2 Multi-Family Residence, 3 Vacation/Short-Term Rental, 4 Commercial, 5 Land, 6 Royalties, 7 Self-Rental, 8 Other (describe)). Extract exactly as printed (digit, and any 'Other' description text if written on the same line); null if blank."}, "fair_rental_days": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 2 fair rental days", "description": "Line 2 'Fair Rental Days' column for this property row, from \"report the number of fair rental and personal use days\". Whole-number count as a JSON number; null if the entry box is blank."}, "personal_use_days": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 2 personal use days", "description": "Line 2 'Personal Use Days' column for this property row. Whole-number count as a JSON number; null if the entry box is blank."}, "qjv_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Line 2 QJV box", "description": "Line 2 'QJV' checkbox for this property row (\"Check the QJV box only if you meet the requirements to file as a qualified joint venture\"). True if the box is checked; false if the box is printed but left unchecked. Two-state policy: true ONLY if this box is marked; false otherwise (unmarked, or not printed on this rendering). Return null only if this page is not present."}, "line_3_rents_received": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 3 rents received", "description": "Line 3 'Rents received' for this property column (Properties A/B/C grid). Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_4_royalties_received": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 4 royalties received", "description": "Line 4 'Royalties received' for this property column. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_5_advertising": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 5 advertising", "description": "Line 5 'Advertising' expense for this property column. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_6_auto_and_travel": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 6 auto and travel", "description": "Line 6 'Auto and travel (see instructions)' expense for this property column. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_7_cleaning_and_maintenance": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 7 cleaning and maintenance", "description": "Line 7 'Cleaning and maintenance' expense for this property column. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_8_commissions": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 8 commissions", "description": "Line 8 'Commissions' expense for this property column. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_9_insurance": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 9 insurance", "description": "Line 9 'Insurance' expense for this property column. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_10_legal_and_professional_fees": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 10 legal and other professional fees", "description": "Line 10 'Legal and other professional fees' expense for this property column. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_11_management_fees": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 11 management fees", "description": "Line 11 'Management fees' expense for this property column. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_12_mortgage_interest_banks": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 12 mortgage interest paid to banks", "description": "Line 12 'Mortgage interest paid to banks, etc. (see instructions)' expense for this property column. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_13_other_interest": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 13 other interest", "description": "Line 13 'Other interest' expense for this property column. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_14_repairs": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 14 repairs", "description": "Line 14 'Repairs' expense for this property column. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_15_supplies": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 15 supplies", "description": "Line 15 'Supplies' expense for this property column. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_16_taxes": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 16 taxes", "description": "Line 16 'Taxes' expense for this property column. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_17_utilities": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 17 utilities", "description": "Line 17 'Utilities' expense for this property column. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_18_depreciation_or_depletion": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 18 depreciation expense or depletion", "description": "Line 18 'Depreciation expense or depletion' for this property column. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_19_other_description": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Line 19 other expense description", "description": "Line 19 'Other (list)' write-in description text on the dotted line, for this property column. Extract the string verbatim as printed; null if blank."}, "line_19_other_amount": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 19 other expense amount", "description": "Line 19 'Other (list)' amount for this property column. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_20_total_expenses": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 20 total expenses", "description": "Line 20 'Total expenses. Add lines 5 through 19' for this property column. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_21_income_or_loss": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 21 subtract line 20 from line 3/4", "description": "Line 21 \"Subtract line 20 from line 3 (rents) and/or 4 (royalties)\" for this property column. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_22_deductible_rental_loss": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 22 deductible rental real estate loss after limitation", "description": "Line 22 'Deductible rental real estate loss after limitation' on Form 8582 for this property column. Printed inside parentheses on the form (a filled entry is a loss, i.e. negative). Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}}}, "ScheduleEPartnershipRow": {"type": "object", "title": "Schedule E Part II partnership/S corporation row (A/B/C/D)", "properties": {"row_label": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Row letter", "description": "Row letter printed in the left margin of the Part II line 28 grid, i.e. 'A', 'B', 'C', or 'D'. Extract exactly as printed; null if the row is entirely blank."}, "name": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Line 28 column (a) name", "description": "Line 28 column '(a) Name' of the partnership or S corporation for this row. Extract the string verbatim as printed; null if blank. Identifies the partnership/S-corp row when populated; if blank, keep rows in print order (A, B, C, D)."}, "entity_type_code": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Line 28 column (b) P or S", "description": "Line 28 column \"(b) Enter P for partnership; S for S corporation\" for this row. Extract exactly as printed ('P' or 'S'); null if blank."}, "foreign_partnership_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Line 28 column (c) check if foreign partnership", "description": "Line 28 column '(c) Check if foreign partnership' checkbox for this row. True if the box is checked; false if the box is printed but left unchecked. Two-state policy: true ONLY if this box is marked; false otherwise (unmarked, or not printed on this rendering). Return null only if this page is not present."}, "ein": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Line 28 column (d) employer identification number", "description": "Line 28 column '(d) Employer identification number' for this row. On these public-release scans this value may be masked/redacted: transcribe exactly the characters that are legible; null if fully redacted or blank."}, "basis_computation_required_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Line 28 column (e) check if basis computation is required", "description": "Line 28 column '(e) Check if basis computation is required' checkbox for this row (required if reporting a loss, distribution, stock disposition, or loan repayment from an S corporation). True if the box is checked; false if the box is printed but left unchecked. Two-state policy: true ONLY if this box is marked; false otherwise (unmarked, or not printed on this rendering). Return null only if this page is not present."}, "not_at_risk_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Line 28 column (f) check if any amount is not at risk", "description": "Line 28 column '(f) Check if any amount is not at risk' checkbox for this row. True if the box is checked; false if the box is printed but left unchecked. Two-state policy: true ONLY if this box is marked; false otherwise (unmarked, or not printed on this rendering). Return null only if this page is not present."}, "passive_loss_allowed": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Column (g) passive loss allowed", "description": "Column '(g) Passive loss allowed (attach Form 8582 if required)' under 'Passive Income and Loss' for this row. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "passive_income_k1": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Column (h) passive income from Schedule K-1", "description": "Column '(h) Passive income from Schedule K-1' under 'Passive Income and Loss' for this row. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "nonpassive_loss_allowed": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Column (i) nonpassive loss allowed", "description": "Column \"(i) Nonpassive loss allowed (see Schedule K-1)\" under 'Nonpassive Income and Loss' for this row. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "section_179_expense_deduction": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Column (j) section 179 expense deduction", "description": "Column '(j) Section 179 expense deduction from Form 4562' under 'Nonpassive Income and Loss' for this row. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "nonpassive_income_k1": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Column (k) nonpassive income from Schedule K-1", "description": "Column '(k) Nonpassive income from Schedule K-1' under 'Nonpassive Income and Loss' for this row. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}}}, "ScheduleEEstateTrustRow": {"type": "object", "title": "Schedule E Part III estate/trust row (A/B)", "properties": {"row_label": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Row letter", "description": "Row letter printed in the left margin of the Part III line 33 grid, i.e. 'A' or 'B'. Extract exactly as printed; null if the row is entirely blank."}, "name": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Line 33 column (a) name", "description": "Line 33 column '(a) Name' of the estate or trust for this row. Extract the string verbatim as printed; null if blank. Identifies the estate/trust row when populated; if blank, keep rows in print order (A, B)."}, "ein": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Line 33 column (b) employer identification number", "description": "Line 33 column '(b) Employer identification number' for this row. On these public-release scans this value may be masked/redacted: transcribe exactly the characters that are legible; null if fully redacted or blank."}, "passive_deduction_or_loss_allowed": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Column (c) passive deduction or loss allowed", "description": "Column '(c) Passive deduction or loss allowed (attach Form 8582 if required)' under 'Passive Income and Loss' for this row. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "passive_income_k1": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Column (d) passive income from Schedule K-1", "description": "Column '(d) Passive income from Schedule K-1' under 'Passive Income and Loss' for this row. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "deduction_or_loss_k1": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Column (e) deduction or loss from Schedule K-1", "description": "Column '(e) Deduction or loss from Schedule K-1' under 'Nonpassive Income and Loss' for this row. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "other_income_k1": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Column (f) other income from Schedule K-1", "description": "Column '(f) Other income from Schedule K-1' under 'Nonpassive Income and Loss' for this row. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}}}, "ScheduleERemicRow": {"type": "object", "title": "Schedule E Part IV REMIC residual holder row", "properties": {"name": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Line 38 column (a) name", "description": "Line 38 column '(a) Name' of the REMIC for this row. Extract the string verbatim as printed; null if blank. Identifies the REMIC row when populated; if blank, keep rows in print order."}, "ein": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Line 38 column (b) employer identification number", "description": "Line 38 column '(b) Employer identification number' for this row. On these public-release scans this value may be masked/redacted: transcribe exactly the characters that are legible; null if fully redacted or blank."}, "excess_inclusion": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 38 column (c) excess inclusion", "description": "Line 38 column '(c) Excess inclusion from Schedules Q, line 2c (see instructions)' for this row. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "taxable_income_net_loss": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 38 column (d) taxable income (net loss)", "description": "Line 38 column '(d) Taxable income (net loss) from Schedules Q, line 1b' for this row. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "income_from_schedules_q": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 38 column (e) income from Schedules Q", "description": "Line 38 column '(e) Income from Schedules Q, line 3b' for this row. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}}}, "ScheduleE": {"type": "object", "title": "Schedule E (Form 1040) 2021 — Supplemental Income and Loss", "properties": {"names_shown": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Name(s) shown on return (Schedule E)", "description": "Schedule E header field 'Name(s) shown on return'. Extract the string verbatim as printed; null if blank."}, "ssn": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Your social security number (Schedule E)", "description": "Schedule E header field 'Your social security number'. On these public-release scans this value is usually masked/redacted: transcribe exactly the characters that are legible; null if fully redacted or blank."}, "line_a_1099_required_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Line A: 1099 required Yes/No (Yes box)", "description": "Part I line 'A' \"Did you make any payments in 2021 that would require you to file Form(s) 1099?\" — the 'Yes' checkbox. True if the 'Yes' box is checked; false if the box is printed but left unchecked (including when 'No' is checked instead). Two-state policy: true ONLY if this box is marked; false otherwise (unmarked, or not printed on this rendering). Return null only if this page is not present."}, "line_a_1099_required_no_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Line A: 1099 required Yes/No (No box)", "description": "Part I line 'A' \"Did you make any payments in 2021 that would require you to file Form(s) 1099?\" — the 'No' checkbox. True if the 'No' box is checked; false if the box is printed but left unchecked (including when 'Yes' is checked instead). Two-state policy: true ONLY if this box is marked; false otherwise (unmarked, or not printed on this rendering). Return null only if this page is not present."}, "line_b_1099_filed_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Line B: will file 1099 Yes/No (Yes box)", "description": "Part I line 'B' \"If 'Yes,' did you or will you file required Form(s) 1099?\" — the 'Yes' checkbox. True if the 'Yes' box is checked; false if the box is printed but left unchecked (including when 'No' is checked instead). Two-state policy: true ONLY if this box is marked; false otherwise (unmarked, or not printed on this rendering). Return null only if this page is not present."}, "line_b_1099_filed_no_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Line B: will file 1099 Yes/No (No box)", "description": "Part I line 'B' \"If 'Yes,' did you or will you file required Form(s) 1099?\" — the 'No' checkbox. True if the 'No' box is checked; false if the box is printed but left unchecked (including when 'Yes' is checked instead). Two-state policy: true ONLY if this box is marked; false otherwise (unmarked, or not printed on this rendering). Return null only if this page is not present."}, "properties": {"anyOf": [{"items": {"$ref": "#/$defs/ScheduleEPropertyRow"}, "type": "array"}, {"type": "null"}], "default": null, "title": "Part I properties A/B/C (lines 1a-22)", "description": "Part I rental real estate/royalty property grid, rows 'A', 'B', 'C' spanning line '1a' \"Physical address of each property\" through line 22 'Deductible rental real estate loss after limitation'. One row per listed property (up to 3); empty grid (no properties listed) → null."}, "line_23a_total_rents_all_properties": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 23a total rents for all rental properties", "description": "Part I line '23a' 'Total of all amounts reported on line 3 for all rental properties'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_23b_total_royalties_all_properties": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 23b total royalties for all royalty properties", "description": "Part I line '23b' 'Total of all amounts reported on line 4 for all royalty properties'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_23c_total_mortgage_interest_all_properties": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 23c total mortgage interest for all properties", "description": "Part I line '23c' 'Total of all amounts reported on line 12 for all properties'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_23d_total_depreciation_all_properties": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 23d total depreciation/depletion for all properties", "description": "Part I line '23d' 'Total of all amounts reported on line 18 for all properties'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_23e_total_expenses_all_properties": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 23e total expenses for all properties", "description": "Part I line '23e' 'Total of all amounts reported on line 20 for all properties'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_24_income": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 24 income (positive amounts from line 21)", "description": "Part I line 24 \"Income. Add positive amounts shown on line 21. Do not include any losses\". Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_25_losses": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 25 losses", "description": "Part I line 25 \"Losses. Add royalty losses\" from line 21 and rental real estate losses from line 22; enter total losses here. Printed inside parentheses on the form (a filled entry is a loss, i.e. negative). Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_26_total_rental_royalty_income_or_loss": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 26 total rental real estate and royalty income or (loss)", "description": "Part I line 26 'Total rental real estate and royalty income or (loss). Combine lines 24 and 25'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_27_prior_year_unallowed_loss_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Line 27 Yes/No (Yes box)", "description": "Part II line 27 \"Are you reporting any loss not allowed in a prior year due to the at-risk or basis limitations...\" — the 'Yes' checkbox. True if the 'Yes' box is checked; false if the box is printed but left unchecked (including when 'No' is checked instead). Two-state policy: true ONLY if this box is marked; false otherwise (unmarked, or not printed on this rendering). Return null only if this page is not present."}, "line_27_prior_year_unallowed_loss_no_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Line 27 Yes/No (No box)", "description": "Part II line 27 \"Are you reporting any loss not allowed in a prior year due to the at-risk or basis limitations...\" — the 'No' checkbox. True if the 'No' box is checked; false if the box is printed but left unchecked (including when 'Yes' is checked instead). Two-state policy: true ONLY if this box is marked; false otherwise (unmarked, or not printed on this rendering). Return null only if this page is not present."}, "partnerships_s_corps": {"anyOf": [{"items": {"$ref": "#/$defs/ScheduleEPartnershipRow"}, "type": "array"}, {"type": "null"}], "default": null, "title": "Part II partnerships/S corporations A-D (line 28)", "description": "Part II 'Income or Loss From Partnerships and S Corporations' line 28 grid, rows 'A' through 'D', columns (a) Name through (k) Nonpassive income from Schedule K-1. One row per listed partnership/S corporation (up to 4); empty grid → null. Does not include the '29a Totals' / '29b Totals' summary rows, which are modeled as fixed fields."}, "line_29a_totals_passive_income_k1": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 29a totals — column (h) passive income", "description": "Part II line '29a' 'Totals' row, column (h) 'Passive income from Schedule K-1' subtotal. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_29a_totals_nonpassive_income_k1": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 29a totals — column (k) nonpassive income", "description": "Part II line '29a' 'Totals' row, column (k) 'Nonpassive income from Schedule K-1' subtotal. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_29b_totals_passive_loss_allowed": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 29b totals — column (g) passive loss allowed", "description": "Part II line '29b' 'Totals' row, column (g) 'Passive loss allowed' subtotal. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_29b_totals_nonpassive_loss_allowed": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 29b totals — column (i) nonpassive loss allowed", "description": "Part II line '29b' 'Totals' row, column (i) 'Nonpassive loss allowed' subtotal. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_29b_totals_section_179_expense": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 29b totals — column (j) section 179 expense deduction", "description": "Part II line '29b' 'Totals' row, column (j) 'Section 179 expense deduction from Form 4562' subtotal. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_30_total_passive_nonpassive_income": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 30 add columns (h) and (k) of line 29a", "description": "Part II line 30 'Add columns (h) and (k) of line 29a'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_31_total_losses_and_deductions": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 31 add columns (g), (i), and (j) of line 29b", "description": "Part II line 31 'Add columns (g), (i), and (j) of line 29b'. Printed inside parentheses on the form (a filled entry is a loss, i.e. negative). Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_32_total_partnership_s_corp_income_or_loss": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 32 total partnership and S corporation income or (loss)", "description": "Part II line 32 'Total partnership and S corporation income or (loss). Combine lines 30 and 31'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "estates_trusts": {"anyOf": [{"items": {"$ref": "#/$defs/ScheduleEEstateTrustRow"}, "type": "array"}, {"type": "null"}], "default": null, "title": "Part III estates and trusts A-B (line 33)", "description": "Part III 'Income or Loss From Estates and Trusts' line 33 grid, rows 'A' and 'B', columns (a) Name and (b) Employer identification number, plus columns (c)-(f) passive/nonpassive income and loss. One row per listed estate/trust (up to 2); empty grid → null. Does not include the '34a Totals' / '34b Totals' summary rows, which are modeled as fixed fields."}, "line_34a_totals_passive_income_k1": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 34a totals — column (d) passive income", "description": "Part III line '34a' 'Totals' row, column (d) 'Passive income from Schedule K-1' subtotal. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_34a_totals_other_income_k1": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 34a totals — column (f) other income", "description": "Part III line '34a' 'Totals' row, column (f) 'Other income from Schedule K-1' subtotal. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_34b_totals_passive_deduction_or_loss_allowed": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 34b totals — column (c) passive deduction or loss allowed", "description": "Part III line '34b' 'Totals' row, column (c) 'Passive deduction or loss allowed' subtotal. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_34b_totals_deduction_or_loss_k1": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 34b totals — column (e) deduction or loss", "description": "Part III line '34b' 'Totals' row, column (e) 'Deduction or loss from Schedule K-1' subtotal. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_35_total_passive_income": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 35 add columns (d) and (f) of line 34a", "description": "Part III line 35 'Add columns (d) and (f) of line 34a'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_36_total_deduction_or_loss": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 36 add columns (c) and (e) of line 34b", "description": "Part III line 36 'Add columns (c) and (e) of line 34b'. Printed inside parentheses on the form (a filled entry is a loss, i.e. negative). Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_37_total_estate_trust_income_or_loss": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 37 total estate and trust income or (loss)", "description": "Part III line 37 'Total estate and trust income or (loss). Combine lines 35 and 36'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "remics": {"anyOf": [{"items": {"$ref": "#/$defs/ScheduleERemicRow"}, "type": "array"}, {"type": "null"}], "default": null, "title": "Part IV REMICs — Residual Holder (line 38)", "description": "Part IV 'Income or Loss From Real Estate Mortgage Investment Conduits (REMICs)—Residual Holder' line 38 grid, columns (a) Name through (e) Income from Schedules Q, line 3b. The official 2021 form prints a single unlettered row for line 38, but this is modeled as an array to accommodate filers who list more than one REMIC on an attached statement. One row per listed REMIC; empty grid → null."}, "line_39_remic_income_total": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 39 combine columns (d) and (e)", "description": "Part IV line 39 \"Combine columns (d) and (e) only\"; enter the result here and include in the total on line 41 below. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_40_net_farm_rental_income_or_loss": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 40 net farm rental income or (loss) from Form 4835", "description": "Part V line 40 'Net farm rental income or (loss) from Form 4835. Also, complete line 42 below'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_41_total_income_or_loss": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 41 total income or (loss)", "description": "Part V line 41 \"Total income or (loss).\" Combine lines 26, 32, 37, 39, and 40; enter the result here and on Schedule 1 (Form 1040), line 5. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_42_reconciliation_farming_fishing_income": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 42 reconciliation of farming and fishing income", "description": "Part V line 42 'Reconciliation of farming and fishing income.' Enter your gross farming and fishing income reported on Form 4835, line 7; Schedule K-1 (Form 1065), box 14, code B; Schedule K-1 (Form 1120-S), box 17, code AD; and Schedule K-1 (Form 1041), box 14, code F. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_43_reconciliation_real_estate_professionals": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 43 reconciliation for real estate professionals", "description": "Part V line 43 'Reconciliation for real estate professionals.' If you were a real estate professional, enter the net income or (loss) you reported anywhere on Form 1040, Form 1040-SR, or Form 1040-NR from all rental real estate activities in which you materially participated under the passive activity loss rules. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}}}, "ScheduleSE": {"type": "object", "title": "Schedule SE (Form 1040) 2021 — Self-Employment Tax", "properties": {"name_of_person_with_se_income": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Schedule SE header field 'Name of person with self-employment income' (as shown on Form 1040, 1040-SR, or 1040-NR). Extract the string verbatim as printed; null if blank.", "title": "Name of person with self-employment income"}, "ssn_of_person_with_se_income": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Schedule SE header field 'Social security number of person with self-employment income'. On these public-release scans this value is usually masked/redacted: transcribe exactly the characters that are legible; null if fully redacted or blank.", "title": "Social security number of person with self-employment income"}, "line_a_minister_form_4361_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "description": "Line 'A' checkbox: if you are a 'minister, member of a religious order, or Christian Science practitioner' and you filed Form 4361, but you had $400 or more of other net earnings from self-employment, check here and continue with Part I. True if checked; false if printed but left unchecked. Return null only if this page is not present.", "title": "Line A minister/Form 4361 check box"}, "line_1a_net_farm_profit": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part I line '1a' 'Net farm profit or (loss) from Schedule F, line 34'; and farm partnerships, Schedule K-1 (Form 1065), box 14, code A. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 1a net farm profit or (loss)"}, "line_1b_conservation_reserve_payments": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part I line '1b' 'Conservation Reserve Program payments' included on Schedule F, line 4b, or listed on Schedule K-1 (Form 1065), box 20, code AH -- applies if you received social security retirement or disability benefits. Printed inside parentheses on the form, so a filled entry is a negative number. Whole-dollar amount as a JSON number; null if the entry box is blank.", "title": "Line 1b Conservation Reserve Program payments"}, "line_2_net_nonfarm_profit": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule SE Part I line 2 'Net profit or (loss) from Schedule C, line 31'; and Schedule K-1 (Form 1065), box 14, code A (other than farming). Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 2 net nonfarm profit or (loss)"}, "line_3_combine_1a_1b_2": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part I line 3 'Combine lines 1a, 1b, and 2'. Whole-dollar amount as a JSON number; null if the entry box is blank.", "title": "Line 3 combine lines 1a, 1b, and 2"}, "line_4a_net_earnings_92_35_pct": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part I line '4a': if line 3 is more than zero, 'multiply line 3 by 92.35% (0.9235)'; otherwise, enter amount from line 3. Whole-dollar amount as a JSON number; null if the entry box is blank.", "title": "Line 4a net earnings from self-employment (92.35%)"}, "line_4b_optional_methods_total": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part I line '4b': if you elect one or both of the 'optional methods', enter the total of lines 15 and 17 here. Whole-dollar amount as a JSON number; null if the entry box is blank.", "title": "Line 4b optional methods total (lines 15 + 17)"}, "line_4c_combine_4a_4b": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part I line '4c' 'Combine lines 4a and 4b. If less than $400, stop; you don't owe self-employment tax'. Whole-dollar amount as a JSON number; null if the entry box is blank.", "title": "Line 4c combine lines 4a and 4b"}, "line_5a_church_employee_income": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part I line '5a' 'Church employee income' from Form W-2; see instructions for the definition of church employee income. Whole-dollar amount as a JSON number; null if the entry box is blank.", "title": "Line 5a church employee income"}, "line_5b_church_employee_income_92_35_pct": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part I line '5b' 'Multiply line 5a by 92.35% (0.9235). If less than $100, enter -0-'. Whole-dollar amount as a JSON number; null if the entry box is blank.", "title": "Line 5b church employee income (92.35%)"}, "line_6_add_4c_5b": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part I line 6 'Add lines 4c and 5b'. Whole-dollar amount as a JSON number; null if the entry box is blank.", "title": "Line 6 add lines 4c and 5b"}, "line_8a_total_ss_wages_tips": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part I line '8a' 'Total social security wages and tips' (total of boxes 3 and 7 on Form(s) W-2) and railroad retirement (tier 1) compensation; if $142,800 or more, skip lines 8b through 10 and go to line 11. Whole-dollar amount as a JSON number; null if the entry box is blank.", "title": "Line 8a total social security wages and tips"}, "line_8b_unreported_tips": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part I line '8b' 'Unreported tips subject to social security tax from Form 4137, line 10'. Whole-dollar amount as a JSON number; null if the entry box is blank.", "title": "Line 8b unreported tips subject to social security tax"}, "line_8c_wages_form_8919": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part I line '8c' 'Wages subject to social security tax from Form 8919, line 10'. Whole-dollar amount as a JSON number; null if the entry box is blank.", "title": "Line 8c wages subject to social security tax (Form 8919)"}, "line_8d_add_8a_8b_8c": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part I line 8d 'Add lines 8a, 8b, and 8c'. Whole-dollar amount as a JSON number; null if the entry box is blank.", "title": "Line 8d add lines 8a, 8b, and 8c"}, "line_9_subtract_8d_from_7": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule SE Part I line 9 'Subtract line 8d from line 7'. If zero or less, enter -0- here and on line 10 and go to line 11. Line 7 is the fixed $142,800 wage base printed on the 2021 form. Whole-dollar amount as a JSON number; null if the entry box is blank.", "title": "Line 9 subtract line 8d from line 7"}, "line_10_smaller_of_6_or_9_times_12_4_pct": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part I line 10 'Multiply the smaller of line 6 or line 9 by 12.4% (0.124)'. Whole-dollar amount as a JSON number; null if the entry box is blank.", "title": "Line 10 smaller of line 6 or line 9 times 12.4%"}, "line_11_line_6_times_2_9_pct": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part I line 11 'Multiply line 6 by 2.9% (0.029)'. Whole-dollar amount as a JSON number; null if the entry box is blank.", "title": "Line 11 line 6 times 2.9%"}, "line_12_self_employment_tax": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule SE Part I line 12 'Self-employment tax'. Add lines 10 and 11; enter here and on Schedule 2 (Form 1040), line 4. Whole-dollar amount as a JSON number; null if the entry box is blank.", "title": "Line 12 self-employment tax"}, "line_13_deduction_half_se_tax": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule SE Part I line 13 'Deduction for one-half of self-employment tax'. Multiply line 12 by 50% (0.50); enter here and on Schedule 1 (Form 1040), line 15. Whole-dollar amount as a JSON number; null if the entry box is blank.", "title": "Line 13 deduction for one-half of self-employment tax"}, "line_15_farm_optional_method_amount": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule SE Part II Farm Optional Method line 15: 'Enter the smaller of: two-thirds (2/3) of gross farm income' (not less than zero) or $6,040; also include this amount on line 4b above. Whole-dollar amount as a JSON number; null if the entry box is blank.", "title": "Line 15 farm optional method amount"}, "line_16_subtract_15_from_14": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Part II Nonfarm Optional Method line 16 'Subtract line 15 from line 14'. Line 14 is the fixed $6,040 maximum income for optional methods printed on the 2021 form. Whole-dollar amount as a JSON number; null if the entry box is blank.", "title": "Line 16 subtract line 15 from line 14"}, "line_17_nonfarm_optional_method_amount": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Schedule SE Part II Nonfarm Optional Method line 17: 'Enter the smaller of: two-thirds (2/3) of gross nonfarm income' (not less than zero) or the amount on line 16; also include this amount on line 4b above. Whole-dollar amount as a JSON number; null if the entry box is blank.", "title": "Line 17 nonfarm optional method amount"}}}}, "properties": {"taxpayer_first_name_mi": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Form 1040 header field 'Your first name and middle initial'. Extract the string verbatim as printed; null if blank.", "title": "Your first name and middle initial"}, "taxpayer_last_name": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Form 1040 header: taxpayer 'Last name' (the box beside 'Your first name and middle initial'). Extract the string verbatim as printed; null if blank.", "title": "Your last name"}, "taxpayer_ssn": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Form 1040 header field 'Your social security number'. On these public-release scans this value is usually masked/redacted: transcribe exactly the characters that are legible; null if fully redacted or blank.", "title": "Your social security number"}, "spouse_first_name_mi": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Form 1040 header field \"If joint return, spouse’s first name and middle initial\". Null on non-joint returns. Extract the string verbatim as printed; null if blank.", "title": "Spouse's first name and middle initial"}, "spouse_last_name": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Form 1040 header: spouse \"Last name\" (the box beside \"If joint return, spouse’s first name and middle initial\"). Null on non-joint returns. Extract the string verbatim as printed; null if blank.", "title": "Spouse's last name"}, "spouse_ssn": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Form 1040 header field \"Spouse’s social security number\". Null on non-joint returns. On these public-release scans this value is usually masked/redacted: transcribe exactly the characters that are legible; null if fully redacted or blank.", "title": "Spouse's social security number"}, "home_address_street": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Form 1040 header field 'Home address (number and street)'. Street portion only (apartment number is a separate field). On these public-release scans this value is usually masked/redacted: transcribe exactly the characters that are legible; null if fully redacted or blank.", "title": "Home address (number and street)"}, "home_address_apt_no": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Form 1040 header field 'Apt. no.' beside the home address. Extract the string verbatim as printed; null if blank.", "title": "Apartment number"}, "home_address_city": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Form 1040 header field 'City, town, or post office'. On these public-release scans this value is usually masked/redacted: transcribe exactly the characters that are legible; null if fully redacted or blank.", "title": "City, town, or post office"}, "home_address_state": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Form 1040 header field 'State' (two-letter code as printed). On these public-release scans this value is usually masked/redacted: transcribe exactly the characters that are legible; null if fully redacted or blank.", "title": "State"}, "home_address_zip": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Form 1040 header field 'ZIP code'. On these public-release scans this value is usually masked/redacted: transcribe exactly the characters that are legible; null if fully redacted or blank.", "title": "ZIP code"}, "foreign_country_name": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Form 1040 header field 'Foreign country name'. Null for US addresses. Extract the string verbatim as printed; null if blank.", "title": "Foreign country name"}, "foreign_province_state_county": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Form 1040 header field 'Foreign province/state/county'. Null for US addresses. Extract the string verbatim as printed; null if blank.", "title": "Foreign province/state/county"}, "foreign_postal_code": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Form 1040 header field 'Foreign postal code'. Null for US addresses. Extract the string verbatim as printed; null if blank.", "title": "Foreign postal code"}, "presidential_campaign_you_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "description": "'Presidential Election Campaign' block: 'You' checkbox ('Check here if you, or your' spouse if filing jointly, want $3 to go to this fund). True if the 'You' box is checked; false if the box is printed but left unchecked;. Two-state policy: true ONLY if this box is marked; false otherwise (unmarked, or not printed on this rendering). Never return null for this field.", "title": "Presidential Election Campaign — You"}, "presidential_campaign_spouse_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "description": "'Presidential Election Campaign' block: 'Spouse' checkbox. True if the 'Spouse' box is checked; false if the box is printed but left unchecked;. Two-state policy: true ONLY if this box is marked; false otherwise (unmarked, or not printed on this rendering). Never return null for this field.", "title": "Presidential Election Campaign — Spouse"}, "filing_status": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "The one checked box in the 'Filing Status' section ('Check only' one box). Extract the checked status as exactly one of: 'Single', 'Married filing jointly', 'Married filing separately', 'Head of household', 'Qualifying surviving spouse' (ignore the printed parentheticals like '(MFS)', '(HOH)', '(QSS)'). One string field — the form allows only one checked box. Null if no box is discernibly checked.", "title": "Filing status"}, "filing_status_qualifier_name": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Filing Status write-in: 'If you checked the MFS box, enter the name of your spouse' ; if the HOH or QSS box is checked, the child's name if the qualifying person is a child but not a dependent. Null when the write-in line is blank. Extract the string verbatim as printed; null if blank.", "title": "MFS spouse / HOH-QSS qualifying child name"}, "digital_assets_yes": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "description": "Form 1040 virtual-currency question (2021 wording): 'At any time during 2021, did you receive, sell, exchange, or otherwise dispose of any financial interest in any virtual currency?' — the 'Yes' box. true if 'Yes' is marked; false if 'No' is marked or neither. Two-state policy: true ONLY if this box is marked; false otherwise (unmarked, or not printed on this rendering). Never return null for this field.", "title": "Digital assets question"}, "someone_can_claim_you_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "description": "'Standard' 'Deduction' section, 'Someone can claim:' group. True if the 'You as a dependent' box is checked; false if the box is printed but left unchecked;. Two-state policy: true ONLY if this box is marked; false otherwise (unmarked, or not printed on this rendering). Never return null for this field.", "title": "Someone can claim you as a dependent"}, "someone_can_claim_spouse_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "description": "'Standard' 'Deduction' section, 'Someone can claim:' group. True if the 'Your spouse as a dependent' box is checked; false if the box is printed but left unchecked;. Two-state policy: true ONLY if this box is marked; false otherwise (unmarked, or not printed on this rendering). Never return null for this field.", "title": "Someone can claim your spouse as a dependent"}, "spouse_itemizes_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "description": "'Standard' 'Deduction' section. True if the 'Spouse itemizes on a separate return or you were a dual-status alien' box is checked; false if the box is printed but left unchecked;. Two-state policy: true ONLY if this box is marked; false otherwise (unmarked, or not printed on this rendering). Never return null for this field.", "title": "Spouse itemizes / dual-status alien"}, "you_born_before_jan2_1958_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "description": "'Age/Blindness' row, 'You:' group. True if the 'Were born before January 2, 1958' box is checked; false if the box is printed but left unchecked;. Two-state policy: true ONLY if this box is marked; false otherwise (unmarked, or not printed on this rendering). Never return null for this field.", "title": "You were born before January 2, 1958"}, "you_blind_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "description": "'Age/Blindness' row, 'You:' group. True if the 'Are blind' box is checked; false if the box is printed but left unchecked;. Two-state policy: true ONLY if this box is marked; false otherwise (unmarked, or not printed on this rendering). Never return null for this field.", "title": "You are blind"}, "spouse_born_before_jan2_1958_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "description": "'Age/Blindness' row, 'Spouse:' group. True if the 'Was born before January 2, 1958' box is checked; false if the box is printed but left unchecked;. Two-state policy: true ONLY if this box is marked; false otherwise (unmarked, or not printed on this rendering). Never return null for this field.", "title": "Spouse was born before January 2, 1958"}, "spouse_blind_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "description": "'Age/Blindness' row, 'Spouse:' group. True if the 'Is blind' box is checked; false if the box is printed but left unchecked;. Two-state policy: true ONLY if this box is marked; false otherwise (unmarked, or not printed on this rendering). Never return null for this field.", "title": "Spouse is blind"}, "more_than_four_dependents_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "description": "Left margin of the 'Dependents' table: 'If more' 'than four' dependents, see instructions and check here. True if the 'check here' box is checked; false if the box is printed but left unchecked;. Two-state policy: true ONLY if this box is marked; false otherwise (unmarked, or not printed on this rendering). Never return null for this field.", "title": "More than four dependents box"}, "dependents": {"anyOf": [{"items": {"$ref": "#/$defs/Dependent"}, "type": "array"}, {"type": "null"}], "default": null, "description": "'Dependents' table on Form 1040 page 1 (columns '(1) First name' / 'Last name', '(2) Social security' number, '(3) Relationship' to you, '(4) Check the box if qualifies for (see instructions)'). One row per listed dependent; null if the table is empty.", "title": "Dependents"}, "line_1_wages": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 1 wages, salaries, tips", "description": "Form 1040 line '1' 'Wages, salaries, tips, etc. Attach Form(s) W-2'. (2021 has a single wages line, not the 1a-1z breakdown used from 2022 on.) Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_2a_tax_exempt_interest": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Form 1040 line '2a' 'Tax-exempt interest'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 2a tax-exempt interest"}, "line_2b_taxable_interest": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Form 1040 line '2b' 'Taxable interest'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 2b taxable interest"}, "line_3a_qualified_dividends": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Form 1040 line '3a' 'Qualified dividends'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 3a qualified dividends"}, "line_3b_ordinary_dividends": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Form 1040 line '3b' 'Ordinary dividends'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 3b ordinary dividends"}, "line_4a_ira_distributions": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Form 1040 line '4a' 'IRA distributions'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 4a IRA distributions"}, "line_4b_ira_taxable_amount": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Form 1040 line '4b' 'Taxable amount' (of line 4a 'IRA distributions'). Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 4b IRA taxable amount"}, "line_5a_pensions_annuities": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Form 1040 line '5a' 'Pensions and annuities'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 5a pensions and annuities"}, "line_5b_pensions_taxable_amount": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Form 1040 line '5b' 'Taxable amount' (of line 5a 'Pensions and annuities'). Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 5b pensions taxable amount"}, "line_6a_social_security_benefits": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Form 1040 line '6a' 'Social security benefits' (substitute renderings may abbreviate, e.g. 'Soc. sec. ben.'). Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 6a social security benefits"}, "line_6b_social_security_taxable_amount": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Form 1040 line '6b' 'Taxable amount' (of line 6a 'Social security benefits'). Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 6b social security taxable amount"}, "line_7_capital_gain_loss": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Form 1040 line 7 'Capital gain or (loss)'. Attach Schedule D if required. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 7 capital gain or (loss)"}, "line_7_schedule_d_not_required_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "description": "Form 1040 line 7 checkbox 'If not required, check here'. True if the line-7 'If not required, check here' box is checked; false if the box is printed but left unchecked;. Two-state policy: true ONLY if this box is marked; false otherwise (unmarked, or not printed on this rendering). Never return null for this field.", "title": "Line 7 Schedule D not required box"}, "line_8_additional_income": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Form 1040 line 8 'Additional income from Schedule 1, line 10' (some substitute renderings print 'Other income from Schedule 1, line 10'). Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 8 additional income from Schedule 1"}, "line_9_total_income": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Form 1040 line 9 'Add lines 1z, 2b, 3b, 4b, 5b, 6b, 7, and 8'. This is the 'total income'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 9 total income"}, "line_10_adjustments_to_income": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Form 1040 line 10 'Adjustments to income from Schedule 1, line 26'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 10 adjustments to income"}, "line_11_adjusted_gross_income": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Form 1040 line 11 'Subtract line 10 from line 9'. This is the 'adjusted gross income'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 11 adjusted gross income"}, "line_12a_standard_or_itemized_deductions": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 12a standard or itemized deductions", "description": "Form 1040 line '12a' 'Standard deduction or itemized deductions (from Schedule A)'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_12b_charitable_if_standard_deduction": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 12b charitable if standard deduction", "description": "Form 1040 line '12b' 'Charitable contributions if you take the standard deduction (see instructions)'. (2020-2021 only.) Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_12c_add_12a_12b": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 12c add 12a and 12b", "description": "Form 1040 line '12c' 'Add lines 12a and 12b'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_13_qbi_deduction": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Form 1040 line 13 'Qualified business income deduction from Form 8995 or Form 8995-A'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 13 qualified business income deduction"}, "line_14_lines_12c_plus_13": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Form 1040 line '14' 'Add lines 12c and 13'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 14 add lines 12c and 13"}, "line_15_taxable_income": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Form 1040 line 15 'Subtract line 14 from line 11. If zero or less, enter -0-'. This is the 'taxable income'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank. If the printed line shows 0 (or '-0-'), extract 0; if the line is blank, return null — do not infer 0 from a blank box.", "title": "Line 15 taxable income"}, "line_16_tax": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Form 1040 page 2 line 16 'Tax (see instructions)' — the amount in the '16' entry box. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank. If the printed line shows 0 (or '-0-'), extract 0; if the line is blank, return null — do not infer 0 from a blank box.", "title": "Line 16 tax"}, "line_16_form_8814_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "description": "Form 1040 line 16 'Check if any from Form(s):' group, box 1. True if the '8814' box is checked; false if the box is printed but left unchecked;. Two-state policy: true ONLY if this box is marked; false otherwise (unmarked, or not printed on this rendering). Never return null for this field.", "title": "Line 16 Form 8814 box"}, "line_16_form_4972_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "description": "Form 1040 line 16 'Check if any from Form(s):' group, box 2. True if the '4972' box is checked; false if the box is printed but left unchecked;. Two-state policy: true ONLY if this box is marked; false otherwise (unmarked, or not printed on this rendering). Never return null for this field.", "title": "Line 16 Form 4972 box"}, "line_16_other_form_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "description": "Form 1040 line 16 'Check if any from Form(s):' group, box 3 (checkbox beside the blank write-in line). True if the third box is checked; false if the box is printed but left unchecked;. Two-state policy: true ONLY if this box is marked; false otherwise (unmarked, or not printed on this rendering). Never return null for this field.", "title": "Line 16 box 3 (other form)"}, "line_16_other_form_text": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Form 1040 line 16 'Check if any from Form(s):' group — the form-number write-in text on the blank line after box 3 (the write-in line itself has no printed label of its own). Extract the string verbatim as printed; null if blank.", "title": "Line 16 box 3 form number write-in"}, "line_17_schedule_2_line_3": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Form 1040 line 17 'Amount from Schedule 2, line 3'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank. If the printed line shows 0 (or '-0-'), extract 0; if the line is blank, return null — do not infer 0 from a blank box.", "title": "Line 17 amount from Schedule 2 line 3"}, "line_18_lines_16_plus_17": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Form 1040 line 18 'Add lines 16 and 17'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank. If the printed line shows 0 (or '-0-'), extract 0; if the line is blank, return null — do not infer 0 from a blank box.", "title": "Line 18 add lines 16 and 17"}, "line_19_child_tax_credit": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Form 1040 line '19' 'Nonrefundable child tax credit or credit for other dependents from Schedule 8812'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 19 child tax credit or credit for other dependents"}, "line_20_schedule_3_line_8": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Form 1040 line 20 'Amount from Schedule 3, line 8'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 20 amount from Schedule 3 line 8"}, "line_21_lines_19_plus_20": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Form 1040 line 21 'Add lines 19 and 20'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank. If the printed line shows 0 (or '-0-'), extract 0; if the line is blank, return null — do not infer 0 from a blank box.", "title": "Line 21 add lines 19 and 20"}, "line_22_subtract_21_from_18": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Form 1040 line 22 'Subtract line 21 from line 18. If zero or less, enter -0-'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank. If the printed line shows 0 (or '-0-'), extract 0; if the line is blank, return null — do not infer 0 from a blank box.", "title": "Line 22 subtract line 21 from line 18"}, "line_23_other_taxes": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Form 1040 line 23 'Other taxes, including self-employment tax, from Schedule 2, line 21'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 23 other taxes"}, "line_24_total_tax": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Form 1040 line 24 'Add lines 22 and 23'. This is the 'total tax'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank. If the printed line shows 0 (or '-0-'), extract 0; if the line is blank, return null — do not infer 0 from a blank box.", "title": "Line 24 total tax"}, "line_25a_withholding_w2": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Form 1040 line '25a' — 'Federal income tax withheld from:' 'Form(s) W-2'. Substitute renderings may print a statement reference (e.g. SEE STATEMENT 2) beside the line. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank; do not extract that reference.", "title": "Line 25a withholding from W-2"}, "line_25b_withholding_1099": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Form 1040 line '25b' — 'Federal income tax withheld from:' 'Form(s) 1099'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 25b withholding from 1099"}, "line_25c_withholding_other": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Form 1040 line '25c' — 'Federal income tax withheld from:' 'Other forms (see instructions)'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 25c withholding from other forms"}, "line_25d_total_withholding": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Form 1040 line '25d' 'Add lines 25a through 25c'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 25d total withholding"}, "line_26_estimated_tax_payments": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Form 1040 line 26 '2021 estimated tax payments and amount applied from 2020 return'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 26 estimated tax payments"}, "line_27a_eic": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 27a earned income credit", "description": "Form 1040 line '27a' 'Earned income credit (EIC)'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_27a_special_eic_election_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Line 27a special EIC age election box", "description": "Form 1040 line 27a EIC special-age checkbox: the box checked if the filer was 'born after January 1, 1998, and before January 2, 2004' and meets the other age-18 EIC requirements. true = box checked; false = unchecked. Two-state policy: true ONLY if this box is marked; false otherwise (unmarked, or not printed on this rendering). Never return null for this field."}, "line_27b_nontaxable_combat_pay_election": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 27b nontaxable combat pay election", "description": "Form 1040 line '27b' 'Nontaxable combat pay election'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_27c_prior_year_earned_income": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 27c prior year (2019) earned income", "description": "Form 1040 line '27c' 'Prior year (2019) earned income'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_28_refundable_or_additional_ctc": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Form 1040 line '28' 'Refundable child tax credit or additional child tax credit from Schedule 8812'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 28 refundable/additional child tax credit"}, "line_29_american_opportunity_credit": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Form 1040 line 29 'American opportunity credit from Form 8863, line 8'. (Line 30 Reserved for future use is not modeled.) Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 29 American opportunity credit"}, "line_30_recovery_rebate_credit": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Line 30 recovery rebate credit", "description": "Form 1040 line '30' 'Recovery rebate credit'. See instructions. (2020-2021 only.) Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank."}, "line_31_schedule_3_line_15": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Form 1040 line 31 'Amount from Schedule 3, line 15'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 31 amount from Schedule 3 line 15"}, "line_32_total_other_payments": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Form 1040 line 32 'Add lines 27a and 28 through 31' — total other payments and refundable credits. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 32 total other payments and refundable credits"}, "line_33_total_payments": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Form 1040 line 33 'Add lines 25d, 26, and 32'. These are the 'total payments'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank. If the printed line shows 0 (or '-0-'), extract 0; if the line is blank, return null — do not infer 0 from a blank box.", "title": "Line 33 total payments"}, "line_34_overpaid": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Form 1040 line 34 'If line 33 is more than line 24, subtract line 24 from line 33'. This is the amount 'overpaid'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 34 amount overpaid"}, "line_35a_refund_amount": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Form 1040 line '35a' 'Amount of line 34 you want refunded to you'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 35a refund amount"}, "line_35a_form_8888_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "description": "Form 1040 line 35a checkbox 'If Form 8888 is attached, check here'. True if the line-35a box is checked; false if the box is printed but left unchecked;. Two-state policy: true ONLY if this box is marked; false otherwise (unmarked, or not printed on this rendering). Never return null for this field.", "title": "Line 35a Form 8888 attached box"}, "line_35b_routing_number": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Form 1040 direct-deposit line 35b 'Routing number' (9 digits). Extract the string verbatim as printed; null if blank.", "title": "Line 35b routing number"}, "line_35c_account_type": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Form 1040 direct-deposit line 35c 'Type:' — extract the checked box of the mutually exclusive pair as exactly 'Checking' or 'Savings' (one string field, not two booleans). Null if neither box is checked.", "title": "Line 35c account type"}, "line_35d_account_number": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Form 1040 direct-deposit line 35d 'Account number'. Extract the string verbatim as printed; null if blank.", "title": "Line 35d account number"}, "line_36_applied_to_2022": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Form 1040 line 36 'Amount of line 34 you want applied to your 2022 estimated tax'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 36 applied to 2022 estimated tax"}, "line_37_amount_you_owe": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Form 1040 line 37 'Subtract line 33 from line 24'. This is the 'amount you owe'. Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 37 amount you owe"}, "line_38_estimated_tax_penalty": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "description": "Form 1040 line 38 'Estimated tax penalty (see instructions)' (informational inset box). Whole-dollar amount as a JSON number; an amount printed in parentheses or with a leading minus sign is negative; null if the entry box is blank.", "title": "Line 38 estimated tax penalty"}, "third_party_designee_yes": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "description": "'Third Party' 'Designee' section: 'Do you want to allow another person to discuss this return with the IRS?' The 'Yes. Complete below.' / 'No' pair is mutually exclusive — one boolean: true if 'Yes. Complete below.' is checked; false if 'No' is checked;. Two-state policy: true ONLY if this box is marked; false otherwise (unmarked, or not printed on this rendering). Never return null for this field.", "title": "Third party designee question"}, "designee_name": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Third Party Designee \"Designee’s\" 'name' field. Null when the designee section is blank. Extract the string verbatim as printed; null if blank.", "title": "Designee's name"}, "designee_phone": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Third Party Designee 'Phone' 'no.' field. Null when the designee section is blank. Extract the string verbatim as printed; null if blank. A pre-printed empty shell like '(    )' with no digits is blank — return null.", "title": "Designee's phone number"}, "designee_pin": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Third Party Designee 'Personal identification' number (PIN) field. Null when the designee section is blank. Extract the string verbatim as printed; null if blank.", "title": "Designee's PIN"}, "your_occupation": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "'Sign' 'Here' block field 'Your occupation'. Extract the string verbatim as printed; null if blank.", "title": "Your occupation"}, "your_signature_date": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "'Sign' 'Here' block: the 'Date' box beside 'Your signature'. Date as written/printed. (Signature presence itself is not modeled.) Extract the string verbatim as printed; null if blank.", "title": "Your signature date"}, "your_identity_protection_pin": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "'Sign' 'Here' block field 'If the IRS sent you an Identity' 'Protection PIN, enter it here'. Extract the string verbatim as printed; null if blank.", "title": "Your identity protection PIN"}, "spouse_occupation": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "'Sign' 'Here' block field \"Spouse’s occupation\". Null on non-joint returns. Extract the string verbatim as printed; null if blank.", "title": "Spouse's occupation"}, "spouse_signature_date": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "'Sign' 'Here' block: the 'Date' box beside \"Spouse’s signature. If a joint return, both must sign.\" Date as written/printed. Null on non-joint returns. Extract the string verbatim as printed; null if blank.", "title": "Spouse's signature date"}, "spouse_identity_protection_pin": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "'Sign' 'Here' block field 'If the IRS sent your spouse an' 'Identity Protection PIN, enter it here'. Extract the string verbatim as printed; null if blank.", "title": "Spouse's identity protection PIN"}, "phone_no": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "'Sign' 'Here' block field 'Phone no.' (taxpayer daytime phone). Extract the string verbatim as printed; null if blank.", "title": "Phone number"}, "email_address": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "'Sign' 'Here' block field 'Email address'. Extract the string verbatim as printed; null if blank.", "title": "Email address"}, "preparer_name": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "'Paid' 'Preparer' 'Use Only' block field \"Preparer’s name\" (typed/printed name, not the signature). Extract the string verbatim as printed; null if blank.", "title": "Preparer's name"}, "preparer_signature_date": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "'Paid' 'Preparer' 'Use Only' block: the 'Date' box beside \"Preparer’s signature\". Date as printed. Extract the string verbatim as printed; null if blank.", "title": "Preparer's signature date"}, "preparer_ptin": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "'Paid' 'Preparer' 'Use Only' block field 'PTIN'. On these public-release scans this value is usually masked/redacted: transcribe exactly the characters that are legible; null if fully redacted or blank.", "title": "Preparer's PTIN"}, "preparer_self_employed_box": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "description": "'Paid' 'Preparer' 'Use Only' block, 'Check if:' group. True if the 'Self-employed' box is checked; false if the box is printed but left unchecked;. Two-state policy: true ONLY if this box is marked; false otherwise (unmarked, or not printed on this rendering). Never return null for this field.", "title": "Preparer self-employed box"}, "firm_name": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "'Paid' 'Preparer' 'Use Only' block field \"Firm’s name\". Extract the string verbatim as printed; null if blank.", "title": "Firm's name"}, "firm_phone": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "'Paid' 'Preparer' 'Use Only' block: the 'Phone no.' field on the firm rows (beside \"Firm’s name\"). Extract the string verbatim as printed; null if blank.", "title": "Firm's phone number"}, "firm_address": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "'Paid' 'Preparer' 'Use Only' block field \"Firm’s address\" (full address as one string). On these public-release scans this value is usually masked/redacted: transcribe exactly the characters that are legible; null if fully redacted or blank.", "title": "Firm's address"}, "firm_ein": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "'Paid' 'Preparer' 'Use Only' block field \"Firm’s EIN\". On these public-release scans this value is usually masked/redacted: transcribe exactly the characters that are legible; null if fully redacted or blank.", "title": "Firm's EIN"}, "schedule_1": {"anyOf": [{"$ref": "#/$defs/Schedule1"}, {"type": "null"}], "default": null, "description": "'SCHEDULE 1' (Form 1040) 2021 'Additional Income and Adjustments to Income'. Null when Schedule 1 is not part of this return.", "title": "Schedule 1 — Additional Income and Adjustments to Income"}, "schedule_2": {"anyOf": [{"$ref": "#/$defs/Schedule2"}, {"type": "null"}], "default": null, "description": "'SCHEDULE 2' (Form 1040) 2021 'Additional Taxes'. Null when Schedule 2 is not part of this return.", "title": "Schedule 2 — Additional Taxes"}, "schedule_3": {"anyOf": [{"$ref": "#/$defs/Schedule3"}, {"type": "null"}], "default": null, "description": "'SCHEDULE 3' (Form 1040) 2021 'Additional Credits and Payments'. Null when Schedule 3 is not part of this return.", "title": "Schedule 3 — Additional Credits and Payments"}, "tax_period_beginning_date": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Form 1040 top line 'other tax year beginning' - the beginning date as printed for a fiscal-year return; null for a calendar-year return where this line is blank.", "title": "Tax Period Beginning Date"}, "tax_period_ending_date": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "Form 1040 top line 'ending' - the ending date as printed for a fiscal-year return; null for a calendar-year return where this line is blank.", "title": "Tax Period Ending Date"}, "form_1116": {"anyOf": [{"$ref": "#/$defs/Form1116"}, {"type": "null"}], "default": null, "title": "Form 1116 (Foreign Tax Credit)", "description": "'Form 1116' 2021 'Foreign Tax Credit (Individual, Estate, or Trust)'. Null when Form 1116 is not part of this return. If a filer attaches multiple Forms 1116 (one per income category), model only the values from the first/primary attached copy -- do not attempt multi-instance modeling here."}, "form_2106": {"anyOf": [{"$ref": "#/$defs/Form2106"}, {"type": "null"}], "default": null, "title": "Form 2106 (Employee Business Expenses)", "description": "'Form 2106' 2021 'Employee Business Expenses' (for use only by Armed Forces reservists, qualified performing artists, fee-basis state or local government officials, and employees with impairment-related work expenses). Null when Form 2106 is not part of this return."}, "form_4562": {"anyOf": [{"$ref": "#/$defs/Form4562"}, {"type": "null"}], "default": null, "title": "Form 4562 (Depreciation and Amortization)", "description": "'Form 4562' 2021 'Depreciation and Amortization (Including Information on Listed Property)'. Null when Form 4562 is not part of this return."}, "form_4952": {"anyOf": [{"$ref": "#/$defs/Form4952"}, {"type": "null"}], "default": null, "title": "Form 4952 (Investment Interest Expense Deduction)", "description": "IRS Form 4952 (2021) 'Investment Interest Expense Deduction'. Computes the deduction for investment interest expense limited to net investment income. Null if not attached. May be attached TWICE (regular + AMT) -- reuse this same def for both instances."}, "form_8995": {"anyOf": [{"$ref": "#/$defs/Form8995"}, {"type": "null"}], "default": null, "title": "Form 8995 (QBI Deduction - Simplified)", "description": "IRS Form 8995 (2021) 'Qualified Business Income Deduction Simplified Computation'. Used when taxable income before QBI deduction is at or below the simplified-computation threshold. Null if not attached (e.g. Form 8995-A used instead)."}, "form_6251": {"anyOf": [{"$ref": "#/$defs/Form6251"}, {"type": "null"}], "default": null, "title": "Form 6251 (Alternative Minimum Tax—Individuals)", "description": "'Form 6251' 2021 'Alternative Minimum Tax—Individuals'. Null when Form 6251 is not part of this return."}, "form_7203": {"anyOf": [{"$ref": "#/$defs/Form7203"}, {"type": "null"}], "default": null, "title": "Form 7203 (S Corporation Shareholder Stock and Debt Basis Limitations)", "description": "'Form 7203' 2021 'S Corporation Shareholder Stock and Debt Basis Limitations'. Filed by an S corporation shareholder to figure the allowable amount of certain deductions, losses, and other items that require a stock and/or debt basis limitation. A shareholder may attach a separate Form 7203 for each S corporation and, in some cases, a second copy computed under AMT rules; this field models a single copy. Null if Form 7203 is not part of this return."}, "form_8283": {"anyOf": [{"$ref": "#/$defs/Form8283"}, {"type": "null"}], "default": null, "title": "Form 8283 (Noncash Charitable Contributions)", "description": "'Form 8283' (Rev. November 2021) 'Noncash Charitable Contributions'. Attach one or more Forms 8283 to the return if the filer claimed a total deduction of over $500 for all contributed property. Null when Form 8283 is not part of this return."}, "form_8582": {"anyOf": [{"$ref": "#/$defs/Form8582"}, {"type": "null"}], "default": null, "title": "Form 8582 (Passive Activity Loss Limitations)", "description": "'Form 8582' 2021 'Passive Activity Loss Limitations'. Null when Form 8582 is not part of this return."}, "form_8879": {"anyOf": [{"$ref": "#/$defs/Form8879"}, {"type": "null"}], "default": null, "title": "Form 8879 (IRS e-file Signature Authorization)", "description": "'Form 8879' 2021 'IRS e-file Signature Authorization' — the taxpayer's declaration and PIN-based signature authorization letting an electronic return originator (ERO) e-file the return, plus (if the Practitioner PIN method is used) the ERO's own certification in Part III. Null if Form 8879 is not part of this return."}, "form_8949": {"anyOf": [{"$ref": "#/$defs/Form8949"}, {"type": "null"}], "default": null, "title": "Form 8949 (Sales and Other Dispositions of Capital Assets)", "description": "'Form 8949' 2021 'Sales and Other Dispositions of Capital Assets'. Null when Form 8949 is not part of this return."}, "form_8959": {"anyOf": [{"$ref": "#/$defs/Form8959"}, {"type": "null"}], "default": null, "title": "Form 8959 (Additional Medicare Tax)", "description": "'Form 8959' 2021 'Additional Medicare Tax'. Null when Form 8959 is not part of this return."}, "form_8960": {"anyOf": [{"$ref": "#/$defs/Form8960"}, {"type": "null"}], "default": null, "title": "Form 8960 (Net Investment Income Tax)", "description": "'Form 8960' 2021 'Net Investment Income Tax'— Individuals, Estates, and Trusts; attached to the tax return to compute the 3.8% surtax on net investment income. Null when Form 8960 is not part of this return."}, "schedule_8812": {"anyOf": [{"$ref": "#/$defs/Schedule8812"}, {"type": "null"}], "default": null, "title": "Schedule 8812 (Credits for Qualifying Children and Other Dependents)", "description": "'SCHEDULE 8812' (Form 1040) 2021 'Credits for Qualifying Children and Other Dependents'. The 2021 pandemic-era revision is 3 pages and reconciles advance child tax credit payments (Parts I-A, I-B, I-C, II-A, II-B, II-C, III). Null when the filer did not file Schedule 8812."}, "schedule_a": {"anyOf": [{"$ref": "#/$defs/ScheduleA"}, {"type": "null"}], "default": null, "title": "Schedule A (Itemized Deductions)", "description": "'SCHEDULE A' (Form 1040) 2021 'Itemized Deductions'. Null when Schedule A is not part of this return."}, "schedule_b": {"anyOf": [{"$ref": "#/$defs/ScheduleB"}, {"type": "null"}], "default": null, "title": "Schedule B (Interest and Ordinary Dividends)", "description": "Schedule B (Form 1040) 2021 'Interest and Ordinary Dividends' — Part I interest payer list, Part II ordinary dividend payer list, and Part III foreign accounts and trusts questions. Null if Schedule B is not attached to this return."}, "schedule_c": {"anyOf": [{"$ref": "#/$defs/ScheduleC"}, {"type": "null"}], "default": null, "title": "Schedule C (Profit or Loss From Business)", "description": "'SCHEDULE C' (Form 1040) 2021 'Profit or Loss From Business (Sole Proprietorship)'. Null when Schedule C is not part of this return."}, "schedule_d": {"anyOf": [{"$ref": "#/$defs/ScheduleD"}, {"type": "null"}], "default": null, "title": "Schedule D (Capital Gains and Losses)", "description": "'SCHEDULE D' (Form 1040) 2021 'Capital Gains and Losses' — Part I short-term and Part II long-term capital gain/loss summary lines (fed from Form 8949 and other named forms/schedules), and Part III summary computation with its Yes/No routing questions. Null when Schedule D is not part of this return."}, "schedule_e": {"anyOf": [{"$ref": "#/$defs/ScheduleE"}, {"type": "null"}], "default": null, "title": "Schedule E (Supplemental Income and Loss)", "description": "'SCHEDULE E' (Form 1040) 2021 'Supplemental Income and Loss (From rental real estate, royalties, partnerships, S corporations, estates, trusts, REMICs, etc.)'. Null when Schedule E is not part of this return."}, "schedule_se": {"anyOf": [{"$ref": "#/$defs/ScheduleSE"}, {"type": "null"}], "default": null, "title": "Schedule SE (Self-Employment Tax)", "description": "Schedule SE (Form 1040) 2021 'Self-Employment Tax' — computes self-employment tax on net earnings from self-employment. This is a single-filer form: one Schedule SE per person with self-employment income (a joint return with two self-employed spouses attaches two separate Schedule SE forms). Null if this schedule is not attached to the return."}}, "title": "Form 1040 (2021) U.S. Individual Income Tax Return with Schedules 1, 2, 3", "type": "object"}

Expected output:
{"taxpayer_first_name_mi": "JOSEPH", "taxpayer_last_name": "CABRERA", "taxpayer_ssn": null, "spouse_first_name_mi": "JODI", "spouse_last_name": "CABRERA", "spouse_ssn": null, "home_address_street": null, "home_address_apt_no": null, "home_address_city": null, "home_address_state": "CA", "home_address_zip": null, "foreign_country_name": null, "foreign_province_state_county": null, "foreign_postal_code": null, "presidential_campaign_you_box": false, "presidential_campaign_spouse_box": false, "filing_status": "Married filing jointly", "filing_status_qualifier_name": null, "digital_assets_yes": false, "someone_can_claim_you_box": false, "someone_can_claim_spouse_box": false, "spouse_itemizes_box": false, "you_born_before_jan2_1958_box": false, "you_blind_box": false, "spouse_born_before_jan2_1958_box": false, "spouse_blind_box": false, "more_than_four_dependents_box": false, "dependents": [{"first_last_name": null, "ssn": null, "relationship": null, "child_tax_credit_box": false, "credit_for_other_dependents_box": false}, {"first_last_name": null, "ssn": null, "relationship": null, "child_tax_credit_box": false, "credit_for_other_dependents_box": false}, {"first_last_name": null, "ssn": null, "relationship": null, "child_tax_credit_box": false, "credit_for_other_dependents_box": false}, {"first_last_name": null, "ssn": null, "relationship": null, "child_tax_credit_box": false, "credit_for_other_dependents_box": false}], "line_1_wages": 93469, "line_2a_tax_exempt_interest": null, "line_2b_taxable_interest": 5, "line_3a_qualified_dividends": null, "line_3b_ordinary_dividends": null, "line_4a_ira_distributions": null, "line_4b_ira_taxable_amount": null, "line_5a_pensions_annuities": null, "line_5b_pensions_taxable_amount": null, "line_6a_social_security_benefits": null, "line_6b_social_security_taxable_amount": null, "line_7_capital_gain_loss": null, "line_7_schedule_d_not_required_box": false, "line_8_additional_income": 206714, "line_9_total_income": 300188, "line_10_adjustments_to_income": 34583, "line_11_adjusted_gross_income": 265605, "line_12a_standard_or_itemized_deductions": 32757, "line_12b_charitable_if_standard_deduction": null, "line_12c_add_12a_12b": 32757, "line_13_qbi_deduction": 41343, "line_14_lines_12c_plus_13": 74100, "line_15_taxable_income": 191505, "line_16_tax": 34003, "line_16_form_8814_box": false, "line_16_form_4972_box": false, "line_16_other_form_box": false, "line_16_other_form_text": null, "line_17_schedule_2_line_3": null, "line_18_lines_16_plus_17": 34003, "line_19_child_tax_credit": null, "line_20_schedule_3_line_8": null, "line_21_lines_19_plus_20": null, "line_22_subtract_21_from_18": 34003, "line_23_other_taxes": null, "line_24_total_tax": 34003, "line_25a_withholding_w2": 12464, "line_25b_withholding_1099": null, "line_25c_withholding_other": null, "line_25d_total_withholding": 12464, "line_26_estimated_tax_payments": null, "line_27a_eic": null, "line_27a_special_eic_election_box": false, "line_27b_nontaxable_combat_pay_election": null, "line_27c_prior_year_earned_income": null, "line_28_refundable_or_additional_ctc": null, "line_29_american_opportunity_credit": null, "line_30_recovery_rebate_credit": null, "line_31_schedule_3_line_15": null, "line_32_total_other_payments": null, "line_33_total_payments": 12464, "line_34_overpaid": null, "line_35a_refund_amount": null, "line_35a_form_8888_box": false, "line_35b_routing_number": null, "line_35c_account_type": null, "line_35d_account_number": null, "line_36_applied_to_2022": null, "line_37_amount_you_owe": 21539, "line_38_estimated_tax_penalty": null, "third_party_designee_yes": true, "designee_name": "JOSEPH AYOUB, CPA, EA", "designee_phone": null, "designee_pin": null, "your_occupation": "SALES", "your_signature_date": "1/03/23", "your_identity_protection_pin": null, "spouse_occupation": "PSYCHOLOGIST", "spouse_signature_date": "1/03/23", "spouse_identity_protection_pin": null, "phone_no": null, "email_address": null, "preparer_name": "JOSEPH AYOUB, CPA, EA", "preparer_signature_date": "01/03/23", "preparer_ptin": null, "preparer_self_employed_box": true, "firm_name": "AYOUB AND ASSOCIATES, P. C.", "firm_phone": null, "firm_address": null, "firm_ein": null, "schedule_1": {"names_shown": "JOSEPH & JODI CABRERA", "ssn": null, "line_1_taxable_refunds": null, "line_2a_alimony_received": null, "line_2b_divorce_agreement_date": null, "line_3_business_income": null, "line_4_other_gains": null, "line_5_rental_royalties_partnerships": 206714, "line_6_farm_income": null, "line_7_unemployment_compensation": null, "line_8a_net_operating_loss": null, "line_8b_gambling": null, "line_8c_cancellation_of_debt": null, "line_8d_foreign_earned_income_exclusion": null, "line_8e_taxable_hsa_distribution": null, "line_8f_alaska_permanent_fund": null, "line_8g_jury_duty_pay": null, "line_8h_prizes_awards": null, "line_8i_activity_not_for_profit": null, "line_8j_stock_options": null, "line_8k_personal_property_rental": null, "line_8l_olympic_medals": null, "line_8m_section_951a_inclusion": null, "line_8n_section_951aa_inclusion": null, "line_8o_section_461l_adjustment": null, "line_8p_able_distributions": null, "line_8z_other_income_type": null, "line_8z_other_income_amount": null, "line_9_total_other_income": null, "line_10_additional_income": 206714, "line_11_educator_expenses": null, "line_12_reservist_artist_official_expenses": null, "line_13_hsa_deduction": null, "line_14_moving_expenses_armed_forces": null, "line_15_deductible_se_tax": null, "line_16_sep_simple_qualified_plans": 15000, "line_17_se_health_insurance": 19583, "line_18_early_withdrawal_penalty": null, "line_19a_alimony_paid": null, "line_19b_recipient_ssn": null, "line_19c_divorce_agreement_date": null, "line_20_ira_deduction": null, "line_21_student_loan_interest": null, "line_23_archer_msa_deduction": null, "other_adjustments": null, "line_25_total_other_adjustments": null, "line_26_total_adjustments": 34583}, "schedule_2": null, "schedule_3": null, "tax_period_beginning_date": null, "tax_period_ending_date": null, "form_1116": null, "form_2106": null, "form_4562": {"names_shown": null, "business_or_activity": null, "identifying_number": null, "line_1_maximum_amount": null, "line_2_total_cost_sec179_property": null, "line_3_threshold_cost": null, "line_4_reduction_in_limitation": null, "line_5_dollar_limitation": null, "line_6_sec179_property_rows": null, "line_7_listed_property": null, "line_8_total_elected_cost": null, "line_9_tentative_deduction": null, "line_10_carryover_disallowed_deduction": null, "line_11_business_income_limitation": null, "line_12_sec179_expense_deduction": null, "line_13_carryover_disallowed_deduction_to_2022": null, "line_14_special_depreciation_allowance": null, "line_15_property_sec168f1_election": null, "line_16_other_depreciation": null, "line_17_macrs_deductions_pre2022": null, "line_18_general_asset_account_box": null, "line_19a_3yr_month_year_placed": null, "line_19a_3yr_basis_for_depreciation": null, "line_19a_3yr_recovery_period": null, "line_19a_3yr_convention": null, "line_19a_3yr_method": null, "line_19a_3yr_depreciation_deduction": null, "line_19b_5yr_month_year_placed": null, "line_19b_5yr_basis_for_depreciation": null, "line_19b_5yr_recovery_period": null, "line_19b_5yr_convention": null, "line_19b_5yr_method": null, "line_19b_5yr_depreciation_deduction": null, "line_19c_7yr_month_year_placed": null, "line_19c_7yr_basis_for_depreciation": null, "line_19c_7yr_recovery_period": null, "line_19c_7yr_convention": null, "line_19c_7yr_method": null, "line_19c_7yr_depreciation_deduction": null, "line_19d_10yr_month_year_placed": null, "line_19d_10yr_basis_for_depreciation": null, "line_19d_10yr_recovery_period": null, "line_19d_10yr_convention": null, "line_19d_10yr_method": null, "line_19d_10yr_depreciation_deduction": null, "line_19e_15yr_month_year_placed": null, "line_19e_15yr_basis_for_depreciation": null, "line_19e_15yr_recovery_period": null, "line_19e_15yr_convention": null, "line_19e_15yr_method": null, "line_19e_15yr_depreciation_deduction": null, "line_19f_20yr_month_year_placed": null, "line_19f_20yr_basis_for_depreciation": null, "line_19f_20yr_recovery_period": null, "line_19f_20yr_convention": null, "line_19f_20yr_method": null, "line_19f_20yr_depreciation_deduction": null, "line_19g_25yr_month_year_placed": null, "line_19g_25yr_basis_for_depreciation": null, "line_19g_25yr_depreciation_deduction": null, "line_19h_row1_residential_rental_month_year_placed": null, "line_19h_row1_residential_rental_basis_for_depreciation": null, "line_19h_row1_residential_rental_depreciation_deduction": null, "line_19h_row2_residential_rental_month_year_placed": null, "line_19h_row2_residential_rental_basis_for_depreciation": null, "line_19h_row2_residential_rental_depreciation_deduction": null, "line_19i_row1_nonresidential_real_month_year_placed": null, "line_19i_row1_nonresidential_real_basis_for_depreciation": null, "line_19i_row1_nonresidential_real_depreciation_deduction": null, "line_19i_row2_nonresidential_real_month_year_placed": null, "line_19i_row2_nonresidential_real_basis_for_depreciation": null, "line_19i_row2_nonresidential_real_depreciation_deduction": null, "line_20a_class_life_basis_for_depreciation": null, "line_20a_class_life_recovery_period": null, "line_20a_class_life_depreciation_deduction": null, "line_20b_12yr_basis_for_depreciation": null, "line_20b_12yr_depreciation_deduction": null, "line_20c_30yr_basis_for_depreciation": null, "line_20c_30yr_depreciation_deduction": null, "line_20d_40yr_basis_for_depreciation": null, "line_20d_40yr_depreciation_deduction": null, "line_21_listed_property": null, "line_22_total": null, "line_23_sec263a_costs_portion": null, "line_24a_evidence_to_support_use_yes": false, "line_24a_evidence_to_support_use_no": false, "line_24b_evidence_written_yes": false, "line_24b_evidence_written_no": false, "line_25_special_depreciation_allowance_listed": null, "line_26_property_over_50pct_rows": null, "line_27_property_50pct_or_less_rows": null, "line_28_listed_property_total": null, "line_29_elected_sec179_cost_total": null, "vehicles": null, "line_37_written_policy_no_personal_use_yes": false, "line_37_written_policy_no_personal_use_no": false, "line_38_written_policy_no_personal_use_except_commuting_yes": false, "line_38_written_policy_no_personal_use_except_commuting_no": false, "line_39_treat_all_vehicle_use_as_personal_yes": false, "line_39_treat_all_vehicle_use_as_personal_no": false, "line_40_more_than_five_vehicles_yes": false, "line_40_more_than_five_vehicles_no": false, "line_41_qualified_auto_demonstration_use_yes": false, "line_41_qualified_auto_demonstration_use_no": false, "line_42_amortization_rows": null, "line_43_amortization_before_2022": null, "line_44_total_amortization": null}, "form_4952": null, "form_8995": {"names_shown": "JOSEPH & JODI CABRERA", "taxpayer_id_number": null, "businesses": [{"name_of_business": "ESPERANZA RANCH PSYCHOLOGY SERVICES CORP", "taxpayer_id_number": null, "qbi_amount": 206714}], "line_2_total_qbi": 206714, "line_3_qbi_loss_carryforward_prior_year": null, "line_4_total_qbi_combined": 206714, "line_5_qbi_component": 41343, "line_6_qualified_reit_ptp_income": null, "line_7_reit_ptp_loss_carryforward_prior_year": null, "line_8_total_reit_ptp_income": null, "line_9_reit_ptp_component": null, "line_10_qbi_deduction_before_income_limitation": 41343, "line_11_taxable_income_before_qbi_deduction": 232848, "line_12_net_capital_gain": null, "line_13_subtract_12_from_11": 232848, "line_14_income_limitation": 46570, "line_15_qbi_deduction": 41343, "line_16_total_qbi_loss_carryforward": null, "line_17_total_reit_ptp_loss_carryforward": null}, "form_6251": null, "form_7203": {"name_of_shareholder": "JODI CABRERA", "identifying_number": null, "line_a_name_of_s_corporation": "ESPERANZA RANCH PSYCHOLOGY SERVICES CORP", "line_b_employer_identification_number": null, "line_c_stock_block": null, "line_d1_original_shareholder_box": null, "line_d2_purchased_box": null, "line_d3_inherited_box": null, "line_d4_gift_box": null, "line_d5_other_box": null, "line_d5_other_description": null, "line_e_section_1367_election_box": null, "line_1_stock_basis_beginning": 15152, "line_2_capital_contributions_or_additional_stock": null, "line_3a_ordinary_business_income": 206714, "line_3b_net_rental_real_estate_income": null, "line_3c_other_net_rental_income": null, "line_3d_interest_income": 5, "line_3e_ordinary_dividends": null, "line_3f_royalties": null, "line_3g_net_capital_gains": null, "line_3h_net_section_1231_gain": null, "line_3i_other_income": null, "line_3j_excess_depletion_adjustment": null, "line_3k_tax_exempt_income": null, "line_3l_recapture_of_business_credits": null, "line_3m_other_items_that_increase_stock_basis": null, "line_4_add_3a_through_3m": 206719, "line_5_stock_basis_before_distributions": 221871, "line_6_distributions_excluding_dividends": 129806, "line_7_stock_basis_after_distributions": 92065, "line_8a_nondeductible_expenses": null, "line_8b_depletion_for_oil_and_gas": null, "line_8c_business_credits": null, "line_9_add_8a_through_8c": null, "line_10_stock_basis_before_loss_and_deduction_items": 92065, "line_11_allowable_loss_and_deduction_items": 24583, "line_12_debt_basis_restoration": null, "line_13_other_items_that_decrease_stock_basis": null, "line_14_add_11_12_13": 24583, "line_15_stock_basis_end": 67482, "debt_columns": null, "part_ii_totals": null, "line_35a_ordinary_business_loss_current_year": null, "line_35b_ordinary_business_loss_carryover_prior_year": null, "line_35c_ordinary_business_loss_allowable_stock_basis": null, "line_35d_ordinary_business_loss_allowable_debt_basis": null, "line_35e_ordinary_business_loss_carryover": null, "line_36a_net_rental_real_estate_loss_current_year": null, "line_36b_net_rental_real_estate_loss_carryover_prior_year": null, "line_36c_net_rental_real_estate_loss_allowable_stock_basis": null, "line_36d_net_rental_real_estate_loss_allowable_debt_basis": null, "line_36e_net_rental_real_estate_loss_carryover": null, "line_37a_other_net_rental_loss_current_year": null, "line_37b_other_net_rental_loss_carryover_prior_year": null, "line_37c_other_net_rental_loss_allowable_stock_basis": null, "line_37d_other_net_rental_loss_allowable_debt_basis": null, "line_37e_other_net_rental_loss_carryover": null, "line_38a_net_capital_loss_current_year": null, "line_38b_net_capital_loss_carryover_prior_year": null, "line_38c_net_capital_loss_allowable_stock_basis": null, "line_38d_net_capital_loss_allowable_debt_basis": null, "line_38e_net_capital_loss_carryover": null, "line_39a_net_section_1231_loss_current_year": null, "line_39b_net_section_1231_loss_carryover_prior_year": null, "line_39c_net_section_1231_loss_allowable_stock_basis": null, "line_39d_net_section_1231_loss_allowable_debt_basis": null, "line_39e_net_section_1231_loss_carryover": null, "line_40a_other_loss_current_year": null, "line_40b_other_loss_carryover_prior_year": null, "line_40c_other_loss_allowable_stock_basis": null, "line_40d_other_loss_allowable_debt_basis": null, "line_40e_other_loss_carryover": null, "line_41a_section_179_deductions_current_year": null, "line_41b_section_179_deductions_carryover_prior_year": null, "line_41c_section_179_deductions_allowable_stock_basis": null, "line_41d_section_179_deductions_allowable_debt_basis": null, "line_41e_section_179_deductions_carryover": null, "line_42a_charitable_contributions_current_year": 5000, "line_42b_charitable_contributions_carryover_prior_year": null, "line_42c_charitable_contributions_allowable_stock_basis": 5000, "line_42d_charitable_contributions_allowable_debt_basis": null, "line_42e_charitable_contributions_carryover": null, "line_43a_investment_interest_expense_current_year": null, "line_43b_investment_interest_expense_carryover_prior_year": null, "line_43c_investment_interest_expense_allowable_stock_basis": null, "line_43d_investment_interest_expense_allowable_debt_basis": null, "line_43e_investment_interest_expense_carryover": null, "line_44a_section_59e2_expenditures_current_year": null, "line_44b_section_59e2_expenditures_carryover_prior_year": null, "line_44c_section_59e2_expenditures_allowable_stock_basis": null, "line_44d_section_59e2_expenditures_allowable_debt_basis": null, "line_44e_section_59e2_expenditures_carryover": null, "line_45a_other_deductions_current_year": 19583, "line_45b_other_deductions_carryover_prior_year": null, "line_45c_other_deductions_allowable_stock_basis": 19583, "line_45d_other_deductions_allowable_debt_basis": null, "line_45e_other_deductions_carryover": null, "line_46a_foreign_taxes_paid_or_accrued_current_year": null, "line_46b_foreign_taxes_paid_or_accrued_carryover_prior_year": null, "line_46c_foreign_taxes_paid_or_accrued_allowable_stock_basis": null, "line_46d_foreign_taxes_paid_or_accrued_allowable_debt_basis": null, "line_46e_foreign_taxes_paid_or_accrued_carryover": null, "line_47a_total_loss_current_year": 24583, "line_47b_total_loss_carryover_prior_year": null, "line_47c_total_loss_allowable_stock_basis": 24583, "line_47d_total_loss_allowable_debt_basis": null, "line_47e_total_loss_carryover": null}, "form_8283": null, "form_8582": {"names_shown_on_return": "JOSEPH & JODI CABRERA", "identifying_number": null, "line_1a_activities_with_net_income": null, "line_1b_activities_with_net_loss": -19211, "line_1c_prior_years_unallowed_losses": null, "line_1d_combine_1a_1b_1c": -19211, "line_2a_activities_with_net_income": null, "line_2b_activities_with_net_loss": null, "line_2c_prior_years_unallowed_losses": null, "line_2d_combine_2a_2b_2c": null, "line_3_combine_1d_2d": -19211, "line_4_smaller_of_1d_or_3_loss": 19211, "line_5_150000_or_mfs_amount": 150000, "line_6_modified_agi": 265605, "line_7_subtract_6_from_5": null, "line_8_multiply_line_7_by_50_pct": null, "line_9_smaller_of_4_or_8": 0, "line_10_add_income_1a_2a": null, "line_11_total_losses_allowed": 0, "part_iv_activities": null, "part_iv_total_current_year_net_income": null, "part_iv_total_current_year_net_loss": -19211, "part_iv_total_prior_years_unallowed_loss": null, "part_v_activities": null, "part_v_total_current_year_net_income": null, "part_v_total_current_year_net_loss": null, "part_v_total_prior_years_unallowed_loss": null, "part_vi_allowances": null, "part_vi_total_loss": null, "part_vi_total_ratio": null, "part_vi_total_special_allowance": null, "part_vi_total_subtract_c_from_a": null, "part_vii_allocations": [{"name_of_activity": null, "form_or_schedule_line": "SEE ATTACHED STATEMENT FOR PART VTT", "loss": null, "ratio": null, "unallowed_loss": null}], "part_vii_total_loss": 19211, "part_vii_total_ratio": 1, "part_vii_total_unallowed_loss": 19211, "part_viii_allowed_losses": [{"name_of_activity": null, "form_or_schedule_line": "SEE ATTACHED STATEMENT FOR PART VII", "loss": null, "unallowed_loss": null, "allowed_loss": null}], "part_viii_total_loss": 19211, "part_viii_total_unallowed_loss": 19211, "part_viii_total_allowed_loss": null, "part_ix_two_schedule_activities": null, "part_ix_total_col_b": null, "part_ix_total_ratio": null, "part_ix_total_unallowed_loss": null, "part_ix_total_allowed_loss": null}, "form_8879": null, "form_8949": null, "form_8959": null, "form_8960": {"names_shown_on_tax_return": "JOSEPH- & JODI CABRERA", "ssn_or_ein": null, "election_section_6013g_box": false, "election_section_6013h_box": false, "election_regulations_1_1411_10g_box": false, "line_1_taxable_interest": 5, "line_2_ordinary_dividends": null, "line_3_annuities": null, "line_4a_rental_royalties_partnerships_etc": 206714, "line_4b_adjustment_non_section_1411_business": -206714, "line_4c_combine_4a_4b": 0, "line_5a_net_gain_loss_disposition_property": null, "line_5b_gain_loss_not_subject_to_niit": null, "line_5c_adjustment_disposition_partnership_or_s_corp": null, "line_5d_combine_5a_through_5c": null, "line_6_adjustments_cfcs_pfics": null, "line_7_other_modifications_investment_income": null, "line_8_total_investment_income": 5, "line_9a_investment_interest_expenses": null, "line_9b_state_local_foreign_income_tax": null, "line_9c_miscellaneous_investment_expenses": null, "line_9d_add_9a_9b_9c": null, "line_10_additional_modifications": null, "line_11_total_deductions_and_modifications": null, "line_12_net_investment_income": 5, "line_13_modified_agi": 265605, "line_14_threshold_based_on_filing_status": 250000, "line_15_subtract_14_from_13": 15605, "line_16_smaller_of_12_or_15": 5, "line_17_niit_for_individuals": null, "line_18a_net_investment_income_estates_trusts": null, "line_18b_deductions_distributions_642c": null, "line_18c_undistributed_net_investment_income": null, "line_19a_adjusted_gross_income_estates_trusts": null, "line_19b_highest_tax_bracket_estates_trusts": null, "line_19c_subtract_19b_from_19a": null, "line_20_smaller_of_18c_or_19c": null, "line_21_niit_for_estates_and_trusts": null}, "schedule_8812": null, "schedule_a": {"names_shown": "JOSEPH & JODI CABRERA", "ssn": null, "line_1_medical_and_dental_expenses": null, "line_2_agi": null, "line_3_agi_times_7_5_pct": null, "line_4_medical_deduction": null, "line_5a_sales_tax_election_box": false, "line_5a_state_local_income_or_sales_taxes": 8560, "line_5b_state_local_real_estate_taxes": 6003, "line_5c_state_local_personal_property_taxes": 1070, "line_5d_add_5a_5c": 15633, "line_5e_smaller_of_5d_or_cap": 10000, "line_6_other_taxes_description": null, "line_6_other_taxes_amount": null, "line_7_add_5e_6": 10000, "line_8_limited_mortgage_interest_box": false, "line_8a_mortgage_interest_points_form_1098": 9657, "line_8b_mortgage_interest_not_reported_1098": null, "line_8b_seller_name": null, "line_8b_seller_identifying_no": null, "line_8b_seller_address": null, "line_8c_points_not_reported_1098": null, "line_8d_mortgage_insurance_premiums": null, "line_8e_add_8a_8d": 9657, "line_9_investment_interest": null, "line_10_add_8e_9": 9657, "line_11_gifts_by_cash_or_check": 12600, "line_12_gifts_other_than_cash_or_check": 500, "line_13_carryover_from_prior_year": null, "line_14_add_11_13": 13100, "line_15_casualty_and_theft_losses": null, "line_16_other_description": null, "line_16_other_amount": null, "line_17_total_itemized_deductions": 32757, "line_18_itemize_though_less_than_standard_box": false}, "schedule_b": {"names_shown": "JOSEPH & JODI CABRERA", "ssn": null, "interest_payers": [{"payer_name": "MIDLAND MORTGAGE", "amount": null}, {"payer_name": "FROM K-1 - ESPERANZA RANCH PSYCHOLOGY SERVICES", "amount": null}, {"payer_name": "CORP", "amount": 5}], "line_2_total_interest": 5, "line_3_excludable_savings_bond_interest": null, "line_4_taxable_interest": 5, "dividend_payers": null, "line_6_total_ordinary_dividends": null, "line_7a_foreign_financial_account_yes": false, "line_7a_fincen114_required_yes": false, "line_7b_foreign_countries": null, "line_8_foreign_trust_yes": false}, "schedule_c": null, "schedule_d": null, "schedule_e": {"names_shown": "JOSEPH & JODI CABRERA", "ssn": null, "line_a_1099_required_box": false, "line_a_1099_required_no_box": true, "line_b_1099_filed_box": false, "line_b_1099_filed_no_box": false, "properties": [{"property_label": "A", "physical_address": null, "type_of_property_code": "1", "fair_rental_days": 365, "personal_use_days": null, "qjv_box": false, "line_3_rents_received": 23500, "line_4_royalties_received": null, "line_5_advertising": null, "line_6_auto_and_travel": null, "line_7_cleaning_and_maintenance": 845, "line_8_commissions": null, "line_9_insurance": 729, "line_10_legal_and_professional_fees": 500, "line_11_management_fees": null, "line_12_mortgage_interest_banks": 15336, "line_13_other_interest": null, "line_14_repairs": 9264, "line_15_supplies": null, "line_16_taxes": 5135, "line_17_utilities": 786, "line_18_depreciation_or_depletion": 8700, "line_19_other_description": "STMT 8", "line_19_other_amount": 1416, "line_20_total_expenses": 42711, "line_21_income_or_loss": -19211, "line_22_deductible_rental_loss": 0}], "line_23a_total_rents_all_properties": 23500, "line_23b_total_royalties_all_properties": null, "line_23c_total_mortgage_interest_all_properties": 15336, "line_23d_total_depreciation_all_properties": 8700, "line_23e_total_expenses_all_properties": 42711, "line_24_income": 0, "line_25_losses": null, "line_26_total_rental_royalty_income_or_loss": 0, "line_27_prior_year_unallowed_loss_box": false, "line_27_prior_year_unallowed_loss_no_box": true, "partnerships_s_corps": [{"row_label": "A", "name": "ESPERANZA RANCH PSYCHOLOGY", "entity_type_code": null, "foreign_partnership_box": null, "ein": null, "basis_computation_required_box": false, "not_at_risk_box": null, "passive_loss_allowed": null, "passive_income_k1": null, "nonpassive_loss_allowed": null, "section_179_expense_deduction": null, "nonpassive_income_k1": null}, {"row_label": "B", "name": "SERVICES CORP", "entity_type_code": "S", "foreign_partnership_box": null, "ein": null, "basis_computation_required_box": true, "not_at_risk_box": null, "passive_loss_allowed": null, "passive_income_k1": null, "nonpassive_loss_allowed": null, "section_179_expense_deduction": null, "nonpassive_income_k1": 206714}], "line_29a_totals_passive_income_k1": null, "line_29a_totals_nonpassive_income_k1": 206714, "line_29b_totals_passive_loss_allowed": null, "line_29b_totals_nonpassive_loss_allowed": null, "line_29b_totals_section_179_expense": null, "line_30_total_passive_nonpassive_income": 206714, "line_31_total_losses_and_deductions": null, "line_32_total_partnership_s_corp_income_or_loss": 206714, "estates_trusts": [{"row_label": "A", "name": null, "ein": null, "passive_deduction_or_loss_allowed": null, "passive_income_k1": null, "deduction_or_loss_k1": null, "other_income_k1": null}, {"row_label": "B", "name": null, "ein": null, "passive_deduction_or_loss_allowed": null, "passive_income_k1": null, "deduction_or_loss_k1": null, "other_income_k1": null}], "line_34a_totals_passive_income_k1": null, "line_34a_totals_other_income_k1": null, "line_34b_totals_passive_deduction_or_loss_allowed": null, "line_34b_totals_deduction_or_loss_k1": null, "line_35_total_passive_income": null, "line_36_total_deduction_or_loss": null, "line_37_total_estate_trust_income_or_loss": null, "remics": null, "line_39_remic_income_total": null, "line_40_net_farm_rental_income_or_loss": null, "line_41_total_income_or_loss": 206714, "line_42_reconciliation_farming_fishing_income": null, "line_43_reconciliation_real_estate_professionals": null}, "schedule_se": null}