pub struct Form1040Map {Show 42 fields
pub form: String,
pub year: i32,
pub header: Option<Form1040HeaderCells>,
pub line7a: MoneyCell,
pub da_present: bool,
pub da_yes: Option<CheckChoice>,
pub da_no: Option<CheckChoice>,
pub line1a: Option<MoneyCell>,
pub line2a: Option<MoneyCell>,
pub line1z: Option<MoneyCell>,
pub line2b: Option<MoneyCell>,
pub line3a: Option<MoneyCell>,
pub line3b: Option<MoneyCell>,
pub line8: Option<MoneyCell>,
pub line9: Option<MoneyCell>,
pub line10: Option<MoneyCell>,
pub line11: Option<MoneyCell>,
pub line12: Option<MoneyCell>,
pub line13: Option<MoneyCell>,
pub line14: Option<MoneyCell>,
pub line15: Option<MoneyCell>,
pub line16: Option<MoneyCell>,
pub line17: Option<MoneyCell>,
pub line18: Option<MoneyCell>,
pub line19: Option<MoneyCell>,
pub line20: Option<MoneyCell>,
pub line21: Option<MoneyCell>,
pub line22: Option<MoneyCell>,
pub line23: Option<MoneyCell>,
pub line24: Option<MoneyCell>,
pub line25a: Option<MoneyCell>,
pub line25b: Option<MoneyCell>,
pub line25c: Option<MoneyCell>,
pub line25d: Option<MoneyCell>,
pub line26: Option<MoneyCell>,
pub line31: Option<MoneyCell>,
pub line32: Option<MoneyCell>,
pub line33: Option<MoneyCell>,
pub line34: Option<MoneyCell>,
pub line35a: Option<MoneyCell>,
pub line37: Option<MoneyCell>,
pub filing_status: Option<FilingStatusBoxes>,
}Fields§
§form: String"f1040".
year: i32Tax year.
header: Option<Form1040HeaderCells>The full-return identity BLOCK (P6.2). The 1040’s header is not two cells like a schedule’s: it
is names + SSNs + address + the §63(f) aged/blind checkboxes + the dependents table. Option
because this map is SHARED with the crypto slice, whose 2017/2025 editions have no verified
header FQNs; the FULL-return filler refuses on None rather than emit an unnamed 1040.
line7a: MoneyCellThe capital-gain amount cell (line 7a for 2025, line 7 for 2024, line 13 for 2017). A
single field on 2024/2025; a dollars+cents MoneyPair on the 2017 form.
da_present: boolWhether this year’s 1040 carries the Digital-Asset question — per-year scaffolding. When
true (2024/2025) the fill answers it “Yes” and runs the map-independent adjacency guard;
2017 sets it false (no DA question — the map omits da_yes/da_no and the fill produces
the 1040 iff there is reportable capital activity).
da_yes: Option<CheckChoice>Digital-Asset question “Yes” (LEFT member of the adjacent pair, on-state /1). None when the
year’s 1040 has no DA question (2017).
da_no: Option<CheckChoice>Digital-Asset question “No” (right member, on-state /2) — never checked by btctax. None
when the year’s 1040 has no DA question (2017).
line1a: Option<MoneyCell>L1a — Σ W-2 box 1. AMOUNT column. Full-return only.
line2a: Option<MoneyCell>L2a — tax-exempt interest. SUBLINE column. Full-return only (absent from the 2017/2025 maps).
line1z: Option<MoneyCell>L1z — wages. AMOUNT column.
line2b: Option<MoneyCell>L2b — taxable interest. AMOUNT column.
line3a: Option<MoneyCell>L3a — qualified dividends. SUBLINE column (x ≈ [252,324]), not MID or AMOUNT.
line3b: Option<MoneyCell>L3b — ordinary dividends. AMOUNT column.
line8: Option<MoneyCell>L8 — Schedule 1’s printed L10.
line9: Option<MoneyCell>L9 — total income.
line10: Option<MoneyCell>L10 — Schedule 1’s printed L26.
line11: Option<MoneyCell>L11 — AGI.
line12: Option<MoneyCell>L12 — the deduction claimed. ★ f1_57 on the 2024 form is L12; on the 2025 form the same
field name is L1z (SPEC §7.4). Per-(form, year) maps exist for exactly this.
line13: Option<MoneyCell>L13 — Form 8995’s printed L15 (QBI).
line14: Option<MoneyCell>L14 — 12 + 13.
line15: Option<MoneyCell>L15 — taxable income.
line16: Option<MoneyCell>L16 — tax.
line17: Option<MoneyCell>L17 — Schedule 2’s printed L3 (always 0 in v1).
line18: Option<MoneyCell>L18 — 16 + 17.
line19: Option<MoneyCell>L19 — CTC/ODC (always 0 — a §3.4 conservative omission).
line20: Option<MoneyCell>L20 — Schedule 3’s printed L8.
line21: Option<MoneyCell>L21 — 19 + 20.
line22: Option<MoneyCell>L22 — 18 − 21.
line23: Option<MoneyCell>L23 — Schedule 2’s printed L21.
line24: Option<MoneyCell>L24 — TOTAL TAX.
line25a: Option<MoneyCell>L25a — W-2 withholding. MID column.
line25b: Option<MoneyCell>L25b — 1099 withholding. MID column.
line25c: Option<MoneyCell>L25c — other withholding (Form 8959’s printed L24). MID column.
line25d: Option<MoneyCell>L25d — 25a + 25b + 25c.
line26: Option<MoneyCell>L26 — estimated tax payments.
line31: Option<MoneyCell>L31 — Schedule 3’s printed L15. MID column.
line32: Option<MoneyCell>L32 — total other payments.
line33: Option<MoneyCell>L33 — TOTAL PAYMENTS.
line34: Option<MoneyCell>L34 — overpayment.
line35a: Option<MoneyCell>L35a — refunded to you.
line37: Option<MoneyCell>L37 — amount you owe.
filing_status: Option<FilingStatusBoxes>The 5-way filing-status checkbox group.
Implementations§
Source§impl Form1040Map
impl Form1040Map
Sourcepub fn for_year(year: i32) -> Result<Self, FormsError>
pub fn for_year(year: i32) -> Result<Self, FormsError>
The map for a supported tax year.
Trait Implementations§
Source§impl Clone for Form1040Map
impl Clone for Form1040Map
Source§fn clone(&self) -> Form1040Map
fn clone(&self) -> Form1040Map
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more