Skip to main content

IrsPdfReport

Struct IrsPdfReport 

Source
pub struct IrsPdfReport {
Show 20 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,
}
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: bool

SE 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: bool

SE-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: bool

Any 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: bool

Line 7a received a value on the written 1040.

§form_1040_loss: bool

The 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: bool

UX-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).

Trait Implementations§

Source§

impl Clone for IrsPdfReport

Source§

fn clone(&self) -> IrsPdfReport

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for IrsPdfReport

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DynClone for T
where T: Clone,

Source§

fn __clone_box(&self, _: Private) -> *mut ()

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V