pub struct IrsPdfReport {Show 21 fields
pub f8949_path: Option<PathBuf>,
pub schedule_d_path: Option<PathBuf>,
pub tax_year: i32,
pub unresolved_hard: usize,
pub broker_reported_rows: usize,
pub watermarked: bool,
pub schedule_se_path: Option<PathBuf>,
pub se_below_floor: bool,
pub se_addl_medicare: Option<Usd>,
pub se_income_without_profile: bool,
pub form_8283_path: Option<PathBuf>,
pub form_8283_needs_review: bool,
pub form_8283_section_b: Option<bool>,
pub form_1040_path: Option<PathBuf>,
pub form_1040_filled_7a: bool,
pub form_1040_loss: bool,
pub form_8275_path: Option<PathBuf>,
pub full_return_paths: Vec<PathBuf>,
pub full_return_manifest: Option<PathBuf>,
pub forms_ignored_full_return: bool,
pub experimental_notice_active: bool,
}Expand description
Outcome of export_irs_pdf: the written PDF paths, the unresolved-Hard-blocker count (same
INFORMATIONAL disclosure as export-snapshot), whether the fill was watermarked (pseudo-active),
the count of rows that MIGHT belong on a separate broker-reported 8949 (the [I5] advisory — the
separate boxes are year-aware: A/B/D/E from a 1099-B pre-TY2025, G/H/J/K from a 1099-DA from
TY2025), and the SP2 packet (Schedule SE + Form 8283 + Form 1040 cap-gains) with the advisories
each one drives.
Fields§
§f8949_path: Option<PathBuf>§schedule_d_path: Option<PathBuf>§tax_year: i32§unresolved_hard: usize§broker_reported_rows: usize§watermarked: bool§schedule_se_path: Option<PathBuf>Schedule SE — written only when SE income ≥ the $400 floor (and selected).
se_below_floor: boolSE tax was computed but net earnings were below the $400 floor → SE not owed, form skipped.
se_addl_medicare: Option<Usd>Some(addl) when the §1401(b)(2) Additional Medicare Tax is nonzero — a Form 8959 item, NOT on
Schedule SE (a loud advisory).
se_income_without_profile: boolSE-eligible business income exists but no profile/table was available (compute_se_tax → None
for a reason other than “no SE income”) → a NOTE, not a silent skip (the se_net_income
discriminator).
form_8283_path: Option<PathBuf>Form 8283 — written only when there are donations (and selected).
form_8283_needs_review: boolAny Form 8283 row needs manual review (incomplete appraiser/donee declaration) → escalate.
form_8283_section_b: Option<bool>The Form 8283 section actually written (Some(true) = Section B, Some(false) = Section A).
form_1040_path: Option<PathBuf>Form 1040 cap-gains — written only when there is reportable digital-asset activity (and selected).
form_1040_filled_7a: boolLine 7a received a value on the written 1040.
form_1040_loss: boolThe 1040 was skipped for a NET LOSS on line 7a (the §1211 line-21 cap is the filer’s).
form_8275_path: Option<PathBuf>Form 8275 (Disclosure Statement) — Task 16: written only on the crypto-slice path, only when a
promoted-basis disposal leg files in tax_year (and selected). Always None on the full-return
path — its 8275 is inside full_return_paths instead (sequence-prefixed, e.g. 92_f8275.pdf).
full_return_paths: Vec<PathBuf>★ The FULL-RETURN packet’s files, in Attachment Sequence order (empty on the crypto-slice path). The two paths write NON-OVERLAPPING names, so no two runs can be collated into a chimera return.
full_return_manifest: Option<PathBuf>The full-return packet’s manifest (the filer’s stapling order).
forms_ignored_full_return: boolUX-P4-5: true when a --forms SLICE was passed on a full-return year and therefore IGNORED
(the whole jointly-computed packet writes; honoring a slice of it is tax-unsound). The caller
warns on stderr. Always false on the crypto-slice path (there --forms is honored).
experimental_notice_active: boolApproach-B experimental disclosure (design/approach-b-experimental-notice):
btctax_core::experimental::uses_approach_b(events) on the projected events — true iff a live
(non-voided) DeclareTranche/PromoteTranche is on file. Drives main.rs’s stderr notice ONLY — the
notice is interface-only and is never written to out_dir.
Trait Implementations§
Source§impl Clone for IrsPdfReport
impl Clone for IrsPdfReport
Source§fn clone(&self) -> IrsPdfReport
fn clone(&self) -> IrsPdfReport
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more