pub struct Workpaper {Show 35 fields
pub workpaper_id: Uuid,
pub workpaper_ref: String,
pub engagement_id: Uuid,
pub title: String,
pub section: WorkpaperSection,
pub objective: String,
pub assertions_tested: Vec<Assertion>,
pub procedure_performed: String,
pub procedure_type: ProcedureType,
pub scope: WorkpaperScope,
pub population_size: u64,
pub sample_size: u32,
pub sampling_method: SamplingMethod,
pub results_summary: String,
pub exceptions_found: u32,
pub exception_rate: f64,
pub conclusion: WorkpaperConclusion,
pub risk_level_addressed: RiskLevel,
pub evidence_refs: Vec<Uuid>,
pub cross_references: Vec<String>,
pub account_ids: Vec<String>,
pub preparer_id: String,
pub preparer_name: String,
pub preparer_date: NaiveDate,
pub reviewer_id: Option<String>,
pub reviewer_name: Option<String>,
pub reviewer_date: Option<NaiveDate>,
pub second_reviewer_id: Option<String>,
pub second_reviewer_name: Option<String>,
pub second_reviewer_date: Option<NaiveDate>,
pub status: WorkpaperStatus,
pub version: u32,
pub review_notes: Vec<ReviewNote>,
pub created_at: DateTime<Utc>,
pub updated_at: DateTime<Utc>,
}Expand description
Audit workpaper representing documented audit work.
Fields§
§workpaper_id: UuidUnique workpaper ID
workpaper_ref: StringWorkpaper reference (e.g., “A-100”, “B-200”)
engagement_id: UuidEngagement ID this workpaper belongs to
title: StringWorkpaper title
section: WorkpaperSectionSection/area of the audit
objective: StringAudit objective addressed
assertions_tested: Vec<Assertion>Financial statement assertions tested
procedure_performed: StringProcedure performed
procedure_type: ProcedureTypeProcedure type
scope: WorkpaperScopeTesting scope
population_size: u64Population size (total items)
sample_size: u32Sample size (items tested)
sampling_method: SamplingMethodSampling method used
results_summary: StringSummary of results
exceptions_found: u32Number of exceptions found
exception_rate: f64Exception rate
conclusion: WorkpaperConclusionConclusion reached
risk_level_addressed: RiskLevelRisk level addressed
evidence_refs: Vec<Uuid>Evidence reference IDs
cross_references: Vec<String>Cross-references to other workpapers
account_ids: Vec<String>Related account IDs
preparer_id: StringPreparer user ID
preparer_name: StringPreparer name
preparer_date: NaiveDateDate prepared
reviewer_id: Option<String>First reviewer ID
reviewer_name: Option<String>First reviewer name
reviewer_date: Option<NaiveDate>First review date
second_reviewer_id: Option<String>Second reviewer (manager) ID
second_reviewer_name: Option<String>Second reviewer name
second_reviewer_date: Option<NaiveDate>Second review date
status: WorkpaperStatusWorkpaper status
version: u32Version number
review_notes: Vec<ReviewNote>Review notes
created_at: DateTime<Utc>§updated_at: DateTime<Utc>Implementations§
Source§impl Workpaper
impl Workpaper
Sourcepub fn new(
engagement_id: Uuid,
workpaper_ref: &str,
title: &str,
section: WorkpaperSection,
) -> Self
pub fn new( engagement_id: Uuid, workpaper_ref: &str, title: &str, section: WorkpaperSection, ) -> Self
Create a new workpaper.
Sourcepub fn with_objective(self, objective: &str, assertions: Vec<Assertion>) -> Self
pub fn with_objective(self, objective: &str, assertions: Vec<Assertion>) -> Self
Set the objective and assertions.
Sourcepub fn with_procedure(
self,
procedure: &str,
procedure_type: ProcedureType,
) -> Self
pub fn with_procedure( self, procedure: &str, procedure_type: ProcedureType, ) -> Self
Set the procedure.
Sourcepub fn with_scope(
self,
scope: WorkpaperScope,
population: u64,
sample: u32,
method: SamplingMethod,
) -> Self
pub fn with_scope( self, scope: WorkpaperScope, population: u64, sample: u32, method: SamplingMethod, ) -> Self
Set the scope and sampling.
Sourcepub fn with_results(
self,
summary: &str,
exceptions: u32,
conclusion: WorkpaperConclusion,
) -> Self
pub fn with_results( self, summary: &str, exceptions: u32, conclusion: WorkpaperConclusion, ) -> Self
Set the results.
Sourcepub fn with_preparer(self, id: &str, name: &str, date: NaiveDate) -> Self
pub fn with_preparer(self, id: &str, name: &str, date: NaiveDate) -> Self
Set the preparer.
Sourcepub fn add_first_review(&mut self, id: &str, name: &str, date: NaiveDate)
pub fn add_first_review(&mut self, id: &str, name: &str, date: NaiveDate)
Add first reviewer sign-off.
Sourcepub fn add_second_review(&mut self, id: &str, name: &str, date: NaiveDate)
pub fn add_second_review(&mut self, id: &str, name: &str, date: NaiveDate)
Add second reviewer sign-off.
Sourcepub fn add_review_note(&mut self, reviewer: &str, note: &str)
pub fn add_review_note(&mut self, reviewer: &str, note: &str)
Add a review note.
Sourcepub fn is_complete(&self) -> bool
pub fn is_complete(&self) -> bool
Check if the workpaper is complete.
Sourcepub fn all_notes_resolved(&self) -> bool
pub fn all_notes_resolved(&self) -> bool
Check if all review notes are resolved.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Workpaper
impl<'de> Deserialize<'de> for Workpaper
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Freeze for Workpaper
impl RefUnwindSafe for Workpaper
impl Send for Workpaper
impl Sync for Workpaper
impl Unpin for Workpaper
impl UnsafeUnpin for Workpaper
impl UnwindSafe for Workpaper
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.