#[repr(C, align(128))]pub struct JournalEntry {Show 18 fields
pub id: Uuid,
pub entity_id: Uuid,
pub document_number_hash: u64,
pub source_system_id: u32,
pub batch_id: u32,
pub posting_date: HybridTimestamp,
pub line_count: u16,
pub debit_line_count: u16,
pub credit_line_count: u16,
pub first_line_index: u16,
pub total_debits: Decimal128,
pub total_credits: Decimal128,
pub solving_method: SolvingMethod,
pub average_confidence: f32,
pub flow_count: u16,
pub _pad: u8,
pub flags: JournalEntryFlags,
pub _reserved: [u8; 12],
}Expand description
A journal entry header (ISO 21378:2019 compliant). GPU-aligned to 128 bytes.
Fields§
§id: UuidUnique entry identifier
entity_id: UuidEntity (company) ID
document_number_hash: u64Document number hash
source_system_id: u32Source system identifier
batch_id: u32Batch number for bulk imports
posting_date: HybridTimestampWhen the entry was posted
line_count: u16Total line items
debit_line_count: u16Number of debit lines
credit_line_count: u16Number of credit lines
first_line_index: u16Index of first line in the line array
total_debits: Decimal128Sum of all debit amounts
total_credits: Decimal128Sum of all credit amounts (should equal total_debits)
solving_method: SolvingMethodMethod used to transform to flows
average_confidence: f32Average confidence across generated flows
flow_count: u16Number of flows generated
_pad: u8Padding
flags: JournalEntryFlagsEntry property flags.
_reserved: [u8; 12]Reserved for future use.
Implementations§
Source§impl JournalEntry
impl JournalEntry
Sourcepub fn new(id: Uuid, entity_id: Uuid, posting_date: HybridTimestamp) -> Self
pub fn new(id: Uuid, entity_id: Uuid, posting_date: HybridTimestamp) -> Self
Create a new journal entry.
Sourcepub fn is_balanced(&self) -> bool
pub fn is_balanced(&self) -> bool
Check if the entry is balanced (debits = credits).
Sourcepub fn determine_method(&self) -> SolvingMethod
pub fn determine_method(&self) -> SolvingMethod
Determine which solving method should be used.
Trait Implementations§
Source§impl Archive for JournalEntry
impl Archive for JournalEntry
Source§type Archived = ArchivedJournalEntry
type Archived = ArchivedJournalEntry
The archived representation of this type. Read more
Source§type Resolver = JournalEntryResolver
type Resolver = JournalEntryResolver
The resolver for this type. It must contain all the additional information from serializing
needed to make the archived type from the normal type.
Source§impl Clone for JournalEntry
impl Clone for JournalEntry
Source§fn clone(&self) -> JournalEntry
fn clone(&self) -> JournalEntry
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for JournalEntry
impl Debug for JournalEntry
Source§impl<__D: Fallible + ?Sized> Deserialize<JournalEntry, __D> for Archived<JournalEntry>where
Uuid: Archive,
Archived<Uuid>: Deserialize<Uuid, __D>,
u64: Archive,
Archived<u64>: Deserialize<u64, __D>,
u32: Archive,
Archived<u32>: Deserialize<u32, __D>,
HybridTimestamp: Archive,
Archived<HybridTimestamp>: Deserialize<HybridTimestamp, __D>,
u16: Archive,
Archived<u16>: Deserialize<u16, __D>,
Decimal128: Archive,
Archived<Decimal128>: Deserialize<Decimal128, __D>,
SolvingMethod: Archive,
Archived<SolvingMethod>: Deserialize<SolvingMethod, __D>,
f32: Archive,
Archived<f32>: Deserialize<f32, __D>,
u8: Archive,
Archived<u8>: Deserialize<u8, __D>,
JournalEntryFlags: Archive,
Archived<JournalEntryFlags>: Deserialize<JournalEntryFlags, __D>,
[u8; 12]: Archive,
Archived<[u8; 12]>: Deserialize<[u8; 12], __D>,
impl<__D: Fallible + ?Sized> Deserialize<JournalEntry, __D> for Archived<JournalEntry>where
Uuid: Archive,
Archived<Uuid>: Deserialize<Uuid, __D>,
u64: Archive,
Archived<u64>: Deserialize<u64, __D>,
u32: Archive,
Archived<u32>: Deserialize<u32, __D>,
HybridTimestamp: Archive,
Archived<HybridTimestamp>: Deserialize<HybridTimestamp, __D>,
u16: Archive,
Archived<u16>: Deserialize<u16, __D>,
Decimal128: Archive,
Archived<Decimal128>: Deserialize<Decimal128, __D>,
SolvingMethod: Archive,
Archived<SolvingMethod>: Deserialize<SolvingMethod, __D>,
f32: Archive,
Archived<f32>: Deserialize<f32, __D>,
u8: Archive,
Archived<u8>: Deserialize<u8, __D>,
JournalEntryFlags: Archive,
Archived<JournalEntryFlags>: Deserialize<JournalEntryFlags, __D>,
[u8; 12]: Archive,
Archived<[u8; 12]>: Deserialize<[u8; 12], __D>,
Source§fn deserialize(
&self,
deserializer: &mut __D,
) -> Result<JournalEntry, __D::Error>
fn deserialize( &self, deserializer: &mut __D, ) -> Result<JournalEntry, __D::Error>
Deserializes using the given deserializer
Auto Trait Implementations§
impl Freeze for JournalEntry
impl RefUnwindSafe for JournalEntry
impl Send for JournalEntry
impl Sync for JournalEntry
impl Unpin for JournalEntry
impl UnwindSafe for JournalEntry
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
Source§impl<T> ArchiveUnsized for Twhere
T: Archive,
impl<T> ArchiveUnsized for Twhere
T: Archive,
Source§type Archived = <T as Archive>::Archived
type Archived = <T as Archive>::Archived
The archived counterpart of this type. Unlike
Archive, it may be unsized. Read moreSource§type MetadataResolver = ()
type MetadataResolver = ()
The resolver for the metadata of this type. Read more
Source§unsafe fn resolve_metadata(
&self,
_: usize,
_: <T as ArchiveUnsized>::MetadataResolver,
_: *mut <<T as ArchiveUnsized>::Archived as ArchivePointee>::ArchivedMetadata,
)
unsafe fn resolve_metadata( &self, _: usize, _: <T as ArchiveUnsized>::MetadataResolver, _: *mut <<T as ArchiveUnsized>::Archived as ArchivePointee>::ArchivedMetadata, )
Creates the archived version of the metadata for this value at the given position and writes
it to the given output. Read more
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
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<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Gets the layout of the type.
Source§impl<T, S> SerializeUnsized<S> for T
impl<T, S> SerializeUnsized<S> for T
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>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
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
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.