Search Results for

    Show / Hide Table of Contents

    Interface ITransaction

    The system entity for a transaction

    See https://help.lemonedge.com/help/financial-services-engine/financial/transactions/intro.html for more information

    Inherited Members
    IHeaderTransactionalEntity.Description
    IHeaderTransactionalEntity.TransactionDate
    ITransactionalEntity.Status
    ITransactionalEntity.CancelledID
    ITransactionalEntity.CorrectedByID
    ICanBeLocked.Locked
    IHasReference.Reference
    ITransactionValue.Index
    ITransactionValue.SettlementDate
    ITransactionValue.Units
    ITransactionValue.CSE
    ITransactionValue.FuncValue1
    ITransactionValue.FuncValue2
    ITransactionValue.FuncValue3
    ITransactionValue.FuncValue4
    ITransactionValue.FuncValue5
    ITransactionValue.FuncValue6
    ITransactionValue.FuncValue7
    ITransactionValue.FuncValue8
    ITransactionValue.FuncValue9
    ITransactionValue.FuncValue10
    ITransactionValue.FuncValue11
    ITransactionValue.FuncValue12
    ITransactionValue.FuncValue13
    ITransactionValue.FuncValue14
    ITransactionValue.FuncValue15
    ITransactionValue.FuncValue16
    ITransactionValue.FuncValue17
    ITransactionValue.FuncValue18
    ITransactionValue.FuncValue19
    ITransactionValue.FuncValue20
    ITransactionValue.ReportingValue1
    ITransactionValue.ReportingValue2
    ITransactionValue.ReportingValue3
    ITransactionValue.ReportingValue4
    ITransactionValue.ReportingValue5
    ITransactionValue.ReportingValue6
    ITransactionValue.ReportingValue7
    ITransactionValue.ReportingValue8
    ITransactionValue.ReportingValue9
    ITransactionValue.ReportingValue10
    ITransactionValue.ReportingValue11
    ITransactionValue.ReportingValue12
    ITransactionValue.ReportingValue13
    ITransactionValue.ReportingValue14
    ITransactionValue.ReportingValue15
    ITransactionValue.ReportingValue16
    ITransactionValue.ReportingValue17
    ITransactionValue.ReportingValue18
    ITransactionValue.ReportingValue19
    ITransactionValue.ReportingValue20
    ITransactionValue.UnitNote
    ITransactionValue.CSENote
    ITransactionValue.NetNote
    ITransactionValue.ManualChangeValue1
    ITransactionValue.ManualChangeValue2
    ITransactionValue.ManualChangeValue3
    ITransactionValue.ManualChangeValue4
    ITransactionValue.ManualChangeValue5
    ITransactionValue.ManualChangeValue6
    ITransactionValue.ManualChangeValue7
    ITransactionValue.ManualChangeValue8
    ITransactionValue.ManualChangeValue9
    ITransactionValue.ManualChangeValue10
    ITransactionValue.ManualChangeValue11
    ITransactionValue.ManualChangeValue12
    ITransactionValue.ManualChangeValue13
    ITransactionValue.ManualChangeValue14
    ITransactionValue.ManualChangeValue15
    ITransactionValue.ManualChangeValue16
    ITransactionValue.ManualChangeValue17
    ITransactionValue.ManualChangeValue18
    ITransactionValue.ManualChangeValue19
    ITransactionValue.ManualChangeValue20
    IBaseEntity.GetLabel(string)
    IBaseEntity.SetLabel(string, string)
    IBaseEntity.SetSilentLabel(string, string)
    IBaseEntity.AccountID
    IBaseEntity.ID
    IBaseEntity.LastUpdated
    IBaseEntity.ModifiedByUserID
    IBaseEntity.CanvasID
    IBaseEntity.AlgorithmStepID
    IBaseEntity.SafeID
    IEquatable<IBaseEntity>.Equals(IBaseEntity)
    INotifyPropertyChanged.PropertyChanged
    INotifyPropertyChanging.PropertyChanging
    ICloneableAsync.Clone(object)
    ICloneableAsync.CopyFromSource(object)
    ICanTrackProperties.HasTrackedPropertyChanged(string)
    ICanTrackProperties.OriginalTrackedPropertyValue(string)
    ICanTrackProperties.OriginalTrackedPropertyValue<T>(string)
    ICanTrackProperties.ClearTrackedOriginalValues()
    ICanTrackProperties.GetAllOriginalTrackedPropertyValues()
    ITransactionValueDetail.LocalValue1
    ITransactionValueDetail.LocalValue2
    ITransactionValueDetail.LocalValue3
    ITransactionValueDetail.LocalValue4
    ITransactionValueDetail.LocalValue5
    ITransactionValueDetail.LocalValue6
    ITransactionValueDetail.LocalValue7
    ITransactionValueDetail.LocalValue8
    ITransactionValueDetail.LocalValue9
    ITransactionValueDetail.LocalValue10
    ITransactionValueDetail.LocalValue11
    ITransactionValueDetail.LocalValue12
    ITransactionValueDetail.LocalValue13
    ITransactionValueDetail.LocalValue14
    ITransactionValueDetail.LocalValue15
    ITransactionValueDetail.LocalValue16
    ITransactionValueDetail.LocalValue17
    ITransactionValueDetail.LocalValue18
    ITransactionValueDetail.LocalValue19
    ITransactionValueDetail.LocalValue20
    ITransactionValueDetail.Note1
    ITransactionValueDetail.Note2
    ITransactionValueDetail.Note3
    ITransactionValueDetail.Note4
    ITransactionValueDetail.Note5
    ITransactionValueDetail.Note6
    ITransactionValueDetail.Note7
    ITransactionValueDetail.Note8
    ITransactionValueDetail.Note9
    ITransactionValueDetail.Note10
    ITransactionValueDetail.Note11
    ITransactionValueDetail.Note12
    ITransactionValueDetail.Note13
    ITransactionValueDetail.Note14
    ITransactionValueDetail.Note15
    ITransactionValueDetail.Note16
    ITransactionValueDetail.Note17
    ITransactionValueDetail.Note18
    ITransactionValueDetail.Note19
    ITransactionValueDetail.Note20
    ISetCopier.GetCopyInfo(IEntityUpdater)
    Namespace: LemonEdge.API.Entities.FinancialServices.Transactions
    Assembly: LemonEdge.API.Entities.FinancialServices.dll
    Syntax
    [EntityDefinition(EntityID.Transaction, "dbo.LT_Transactions", "Transaction", LabelColumn = "Reference", CustomToString = true, IsStandingDataEntity = false, HelpURL = "help/financial-services-engine/financial/transactions/intro.html")]
    [DefaultEntityIcon(ImageType.Transaction)]
    [EntityIncludeInIndex(IndexName = "CanvasItem", IncludeColumns = new string[] { "EntityID", "InstrumentID", "AlgorithmStepID", "CancelledID", "CorrectedByID", "CounterpartyID", "CurrencyID", "ExchangeRateCategoryID", "InstrumentEntityID", "LedgerID", "ModifiedByUserID", "OriginalEntityID", "OriginalInstrumentID", "ParentTransactionID", "PathID", "Reference", "RelatedEntityID", "RootTransactionID", "SafeID", "StepChangeID", "StepChangeOriginalTransactionID", "TransactionCodeID", "TransferedOriginalItemID", "TransferID" })]
    [EntityIncludeInIndex(IndexName = "Ref", IncludeColumns = new string[] { "Status", "EntityID", "InstrumentID", "AlgorithmStepID", "CancelledID", "CorrectedByID", "CounterpartyID", "CurrencyID", "ExchangeRateCategoryID", "InstrumentEntityID", "LedgerID", "ModifiedByUserID", "OriginalEntityID", "OriginalInstrumentID", "ParentTransactionID", "PathID", "RelatedEntityID", "RootTransactionID", "SafeID", "StepChangeID", "StepChangeOriginalTransactionID", "TransactionCodeID", "TransferedOriginalItemID", "TransferID" })]
    [EntityIndex(Name = "RootTransaction", ColumnNames = new string[] { "RootTransactionID" }, IndexOrder = new IndexOrder[] { IndexOrder.Ascending }, IncludeColumns = new string[] { "Status" }, IsClustered = false, IsUnique = false)]
    [EntityIndex(Name = "InstrumentWith", ColumnNames = new string[] { "InstrumentID", "EntityID" }, IndexOrder = new IndexOrder[] { IndexOrder.Ascending, IndexOrder.Ascending }, IncludeColumns = new string[] { "Status", "AlgorithmStepID", "CancelledID", "CorrectedByID", "CounterpartyID", "CurrencyID", "ExchangeRateCategoryID", "InstrumentEntityID", "LedgerID", "ModifiedByUserID", "OriginalEntityID", "OriginalInstrumentID", "ParentTransactionID", "PathID", "Reference", "RelatedEntityID", "RootTransactionID", "SafeID", "StepChangeID", "StepChangeOriginalTransactionID", "TransactionCodeID", "TransferedOriginalItemID", "TransferID" }, IsClustered = false, IsUnique = false)]
    [EntityIndex(Name = "EntityWith", ColumnNames = new string[] { "EntityID", "InstrumentID" }, IndexOrder = new IndexOrder[] { IndexOrder.Ascending, IndexOrder.Ascending }, IncludeColumns = new string[] { "Status", "AlgorithmStepID", "CancelledID", "CorrectedByID", "CounterpartyID", "CurrencyID", "ExchangeRateCategoryID", "InstrumentEntityID", "LedgerID", "ModifiedByUserID", "OriginalEntityID", "OriginalInstrumentID", "ParentTransactionID", "PathID", "Reference", "RelatedEntityID", "RootTransactionID", "SafeID", "StepChangeID", "StepChangeOriginalTransactionID", "TransactionCodeID", "TransferedOriginalItemID", "TransferID" }, IsClustered = false, IsUnique = false)]
    [EntityIndex(Name = "DateWith", ColumnNames = new string[] { "TransactionDate", "EntityID", "InstrumentID" }, IndexOrder = new IndexOrder[] { IndexOrder.Descending, IndexOrder.Ascending, IndexOrder.Ascending }, IncludeColumns = new string[] { "Status", "AlgorithmStepID", "CancelledID", "CorrectedByID", "CounterpartyID", "CurrencyID", "ExchangeRateCategoryID", "InstrumentEntityID", "LedgerID", "ModifiedByUserID", "OriginalEntityID", "OriginalInstrumentID", "ParentTransactionID", "PathID", "Reference", "RelatedEntityID", "RootTransactionID", "SafeID", "StepChangeID", "StepChangeOriginalTransactionID", "TransactionCodeID", "TransferedOriginalItemID", "TransferID" }, IsClustered = false, IsUnique = false)]
    [EntityIndex(Name = "DateGrid", ColumnNames = new string[] { "TransactionDate", "Reference" }, IndexOrder = new IndexOrder[] { IndexOrder.Descending, IndexOrder.Descending }, IncludeColumns = new string[] { "Status", "AlgorithmStepID", "CancelledID", "CorrectedByID", "CounterpartyID", "CurrencyID", "ExchangeRateCategoryID", "InstrumentEntityID", "LedgerID", "ModifiedByUserID", "OriginalEntityID", "OriginalInstrumentID", "ParentTransactionID", "PathID", "RelatedEntityID", "RootTransactionID", "SafeID", "StepChangeID", "StepChangeOriginalTransactionID", "TransactionCodeID", "TransferedOriginalItemID", "TransferID" }, IsClustered = false, IsUnique = false)]
    [EntityIndex(Name = "Parent", ColumnNames = new string[] { "ParentTransactionID", "TransactionDate", "Reference" }, IndexOrder = new IndexOrder[] { IndexOrder.Ascending, IndexOrder.Descending, IndexOrder.Descending }, IncludeColumns = new string[] { "Status", "AlgorithmStepID", "CancelledID", "CorrectedByID", "CounterpartyID", "CurrencyID", "ExchangeRateCategoryID", "InstrumentEntityID", "LedgerID", "ModifiedByUserID", "OriginalEntityID", "OriginalInstrumentID", "ParentItemID", "PathID", "RelatedEntityID", "RootTransactionID", "SafeID", "StepChangeID", "StepChangeOriginalTransactionID", "TransactionCodeID", "TransferedOriginalItemID", "TransferID" }, IsClustered = false, IsUnique = false)]
    [EntityIndex(Name = "ParentItem", ColumnNames = new string[] { "ParentItemID", "TransactionDate", "Reference" }, IndexOrder = new IndexOrder[] { IndexOrder.Ascending, IndexOrder.Descending, IndexOrder.Descending }, IncludeColumns = new string[] { "Status", "ParentItemTypeID", "AlgorithmStepID", "CancelledID", "CorrectedByID", "CounterpartyID", "CurrencyID", "ExchangeRateCategoryID", "InstrumentEntityID", "LedgerID", "ModifiedByUserID", "OriginalEntityID", "OriginalInstrumentID", "ParentTransactionID", "PathID", "RelatedEntityID", "RootTransactionID", "SafeID", "StepChangeID", "StepChangeOriginalTransactionID", "TransactionCodeID", "TransferedOriginalItemID", "TransferID" }, IsClustered = false, IsUnique = false)]
    [EntityIndex(Name = "TranRelated", ColumnNames = new string[] { "RelatedItemID" }, IndexOrder = new IndexOrder[] { IndexOrder.Ascending }, IncludeColumns = new string[] { "Status" }, IsClustered = false, IsUnique = false)]
    [EntityIndex(Name = "Transfer", ColumnNames = new string[] { "TransferID" }, IndexOrder = new IndexOrder[] { IndexOrder.Ascending }, IncludeColumns = new string[] { "Status" }, IsClustered = false, IsUnique = false)]
    [EntityIndex(Name = "StepChange", ColumnNames = new string[] { "StepChangeID" }, IndexOrder = new IndexOrder[] { IndexOrder.Ascending }, IncludeColumns = new string[] { "Status" }, IsClustered = false, IsUnique = false)]
    [EntityIndex(Name = "TransferOriginal", ColumnNames = new string[] { "TransferedOriginalItemID" }, IndexOrder = new IndexOrder[] { IndexOrder.Ascending }, IncludeColumns = new string[] { "Status" }, IsClustered = false, IsUnique = false)]
    [EntityIndex(Name = "StepChangeOriginal", ColumnNames = new string[] { "StepChangeOriginalTransactionID" }, IndexOrder = new IndexOrder[] { IndexOrder.Ascending }, IncludeColumns = new string[] { "Status" }, IsClustered = false, IsUnique = false)]
    [EntityLinkToAnyParentRelationshipModifier(EntityID.PeriodEnd, "IncludeItemChildTransactionsID", "ID", PartOfThisSet = true)]
    public interface ITransaction : IHeaderTransactionalEntity, ITransactionalEntity, ICanBeLocked, IBaseEntityWithPermissions, IHasReference, ITransactionValue, IBaseEntity, IEquatable<IBaseEntity>, INotifyPropertyChanged, INotifyPropertyChanging, ICloneableAsync, ICanTrackProperties, ITransactionValueDetail, ISetCopier

    Properties

    AllocationDate

    The allocation date for this transaction to be allocated using a path

    Declaration
    [EntityProperty(SQLType.DateTimeOffset, true, IsDate = true)]
    [EntityDescription("The allocation date for this transaction to be allocated using a path.")]
    [DBTrackChanges]
    DateTimeOffset? AllocationDate { get; set; }
    Property Value
    Type Description
    DateTimeOffset?

    AllocationType

    The Allocation Amount to use when allocating the values in this Transaction to their ultimate owners through the Allocation Path. Possible values are:

    Default: This indicates to use the AmountA amount through the Path for allocation

    AmountB: This indicates to use the AmountB amount through the Path for allocation
    Declaration
    [EntityProperty(SQLType.SmallInt, false)]
    [EntityDescription("The allocation mechanism to use.")]
    AllocationType AllocationType { get; set; }
    Property Value
    Type Description
    AllocationType

    AllowEditingInUI

    Indicates if the transaction is allowed to be edited in a UI by user

    Declaration
    [EntityProperty(SQLType.Bit, false, "1")]
    [EntityDescription("Indicates if a transaction can be edited in UI by the user")]
    [HardCodedDefaultValueOnNew("true")]
    bool AllowEditingInUI { get; set; }
    Property Value
    Type Description
    bool

    CounterpartyID

    Links to IObjectEntity. The legal entity this transaction has as a counterparty

    Declaration
    [EntityProperty(SQLType.UniqueIdentifier, true)]
    [EntityRelationship(EntityID.ObjectEntity, "ID", SingleJoinType.ZeroToOne, "Counterparty", "Transactions", DeleteWithRelationship = false, PartOfParentSet = false, LinkToItemInSet = false, InheritPermissions = false)]
    [EntityDescription("The counterparty for this transaction.")]
    Guid? CounterpartyID { get; set; }
    Property Value
    Type Description
    Guid?

    CurrencyID

    Links to ICurrency. This is the local currency the values for this Transaction will be entered in.

    This is calculated from the currency of the Instrument against this transaction, or if there is none it is the currency of the Entity.

    Declaration
    [EntityProperty(SQLType.UniqueIdentifier, false)]
    [EntityRelationship(EntityID.Currency, "ID", SingleJoinType.One, "Currency", "Transactions", DeleteWithRelationship = false, PartOfParentSet = false, LinkToItemInSet = false, InheritPermissions = false)]
    [EntityDescription("The local currency for this transaction.")]
    [RequiredNoDefaultIDValidation]
    Guid CurrencyID { get; set; }
    Property Value
    Type Description
    Guid

    DocRef

    An optional document reference for the transaction

    Declaration
    [EntityProperty(SQLType.NVarChar, 50, true, FriendlyLabel = "Document Reference")]
    [EntityDescription("An optional document reference for the transaction.")]
    string DocRef { get; set; }
    Property Value
    Type Description
    string

    EffectiveDate

    The effective date for this transaction, can be different for transfers/step changes where it holds the original transaction effective date

    Declaration
    [EntityProperty(SQLType.DateTimeOffset, false, "TransactionDate", IsDate = true)]
    [EntityDescription("The effective date for this transaction, can be different for transfers/step changes where it holds the original transaction effective date.")]
    [DBTrackChanges]
    [RequiredNoDefaultIDValidation]
    DateTimeOffset EffectiveDate { get; set; }
    Property Value
    Type Description
    DateTimeOffset

    EntityID

    Links to IObjectEntity. The legal entity this transaction is being booked against

    Declaration
    [EntityProperty(SQLType.UniqueIdentifier, false)]
    [EntityRelationship(EntityID.ObjectEntity, "ID", SingleJoinType.One, "Owning Entity", "Transactions", DeleteWithRelationship = false, PartOfParentSet = false, LinkToItemInSet = false, InheritPermissions = false)]
    [EntityDescription("The entity this transaction is against.")]
    [RequiredNoDefaultIDValidation]
    Guid EntityID { get; set; }
    Property Value
    Type Description
    Guid

    ExchangeRateCategoryID

    The exchange rate category to use when processing this transaction.

    Declaration
    [EntityProperty(SQLType.UniqueIdentifier, true)]
    [EntityRelationship(EntityID.ExchangeRateCategory, "ID", SingleJoinType.ZeroToOne, "Exchange Rate Category", "Transactions", DeleteWithRelationship = false, PartOfParentSet = false, LinkToItemInSet = false, InheritPermissions = false)]
    [EntityDescription("The exchange rate category to use when processing this transaction.")]
    Guid? ExchangeRateCategoryID { get; set; }
    Property Value
    Type Description
    Guid?

    FXRate

    Holds the FX Rate automatically pulled from the exchange rates table from the Local Currency to the Functional Currency of this transaction.

    Declaration
    [EntityProperty(SQLType.Decimal, 21, 10, false)]
    [EntityDescription("The exchange rate for this transaction between the local and functional currency.")]
    decimal FXRate { get; set; }
    Property Value
    Type Description
    decimal

    FinancialDate

    The Financial Date for this Transaction. This is calculated from the Transaction Date and the latest Period Closing on the Entity for this Transaction.

    If the Transaction Date is less than the Latest Period Closing for the Entity, then the Financial Date will be the next day after the latest Period Closing for that Entity.Otherwise it will match the Transaction Date if it is in an open period.

    Declaration
    [EntityProperty(SQLType.DateTimeOffset, false, IsDate = true)]
    [EntityDescription("The gl financial date for this transaction.")]
    DateTimeOffset FinancialDate { get; set; }
    Property Value
    Type Description
    DateTimeOffset

    FuncNetAmount

    The total of all values in this transaction stored in the functional currency, which is the currency of the legal EntityID of this transaction

    Declaration
    [EntityProperty(SQLType.Decimal, 21, 3, true)]
    [EntityDescription("The summary of the functional amounts involved in this transaction.")]
    decimal? FuncNetAmount { get; set; }
    Property Value
    Type Description
    decimal?

    InstrumentEntityID

    Links to an entity related to the instrument that can filter ths instrument selection. If provided by an addin, by defulat this won't be visible but can be overridden in the ui to deal/etc for other modules.

    Declaration
    [EntityProperty(SQLType.UniqueIdentifier, true)]
    [EntityRelationship(EntityID.ObjectEntity, "ID", SingleJoinType.ZeroToOne, "Owner", "Transactions", DeleteWithRelationship = false, PartOfParentSet = false, LinkToItemInSet = false, InheritPermissions = false)]
    [EntityDescription("Links to an entity related to the instrument that can filter this instrument selection. If provided by an addin, by default this won't be visible but can be overridden in the ui to deal/etc for other modules.")]
    Guid? InstrumentEntityID { get; set; }
    Property Value
    Type Description
    Guid?

    InstrumentID

    Links to IInstrument. Optional - The Financial Instrument, if any, this Transaction is operating against.

    Unless specifying Allocations of the Transaction Values individually, then the Path is required if this is not provided.

    Declaration
    [EntityProperty(SQLType.UniqueIdentifier, true)]
    [EntityRelationship(EntityID.Instrument, "ID", SingleJoinType.ZeroToOne, "Instrument", "Transactions", DeleteWithRelationship = false, PartOfParentSet = false, LinkToItemInSet = false, InheritPermissions = false)]
    [EntityDescription("The instrument to use to allocate this transaction, through instrument mappings to allocation paths.")]
    Guid? InstrumentID { get; set; }
    Property Value
    Type Description
    Guid?

    IsHeaderTransaction

    Indicates this transaction is a new root transaction part of the parent transaction set.

    Declaration
    [EntityProperty(SQLType.Bit, false)]
    [EntityDescription("Indicates this transaction is a new root transaction part of the parent transaction set.")]
    bool IsHeaderTransaction { get; set; }
    Property Value
    Type Description
    bool

    LedgerID

    Links to ILedger. The Ledger this transaction entry if to be reported against. This ledger, unless overridden, will be the ledger used for the GL Posting entries too

    Declaration
    [EntityProperty(SQLType.UniqueIdentifier, false)]
    [EntityRelationship(EntityID.Ledger, "ID", SingleJoinType.One, "Ledger", "Transactions", DeleteWithRelationship = false, PartOfParentSet = false, LinkToItemInSet = false, InheritPermissions = false)]
    [EntityDescription("The ledger this transaction is against.")]
    [RequiredNoDefaultIDValidation]
    Guid LedgerID { get; set; }
    Property Value
    Type Description
    Guid

    LocalNetAmount

    The total of all values in this transaction stored in the local currency

    Declaration
    [EntityProperty(SQLType.Decimal, 21, 3, true)]
    [EntityDescription("The summary of the local amounts involved in this transaction.")]
    decimal? LocalNetAmount { get; set; }
    Property Value
    Type Description
    decimal?

    OriginalEntityID

    Links to IObjectEntity. Optional - The original Financial entity, if any, this Transaction is operating against.

    Declaration
    [EntityProperty(SQLType.UniqueIdentifier, true)]
    [EntityRelationship(EntityID.ObjectEntity, "ID", SingleJoinType.ZeroToOne, "Original Entity", "Transactions", DeleteWithRelationship = false, PartOfParentSet = false, LinkToItemInSet = false, InheritPermissions = false)]
    [EntityDescription("The original entity this transaction is associated with.")]
    Guid? OriginalEntityID { get; set; }
    Property Value
    Type Description
    Guid?

    OriginalInstrumentID

    Links to IInstrument. Optional - The original Financial Instrument, if any, this Transaction is operating against.

    Declaration
    [EntityProperty(SQLType.UniqueIdentifier, true)]
    [EntityRelationship(EntityID.Instrument, "ID", SingleJoinType.ZeroToOne, "Original Instrument", "Transactions", DeleteWithRelationship = false, PartOfParentSet = false, LinkToItemInSet = false, InheritPermissions = false)]
    [EntityDescription("The original instrument this transaction is associated with.")]
    Guid? OriginalInstrumentID { get; set; }
    Property Value
    Type Description
    Guid?

    ParentItemID

    If this transaction is a child of a parent entity, this is the id of that entity

    Declaration
    [EntityProperty(SQLType.UniqueIdentifier, true)]
    [EntityDescription("The parent item, if any.")]
    [EntityLinkToAnyParentRelationship("ParentItemTypeID", SingleJoinType.ZeroToOne, "Transactions As Parent Set", false, new Type[] { typeof(ITransaction), typeof(ITransactionAllocated), typeof(IGLPosting), typeof(IGLPostingAllocated), typeof(IHasTransactionSetting), typeof(ISQLWrapper), typeof(ISQLTypeWrapper), typeof(IDatasetQueryableItem), typeof(ISQLFunction), typeof(IVennSetQueryableItem) }, OnlyWithLabels = true)]
    Guid? ParentItemID { get; set; }
    Property Value
    Type Description
    Guid?

    ParentItemTypeID

    If this transaction is a child of a parent entity, this is the type of entity it is a child of

    Declaration
    [EntityProperty(SQLType.UniqueIdentifier, true, IsEntityTypeLink = true)]
    [EntityDescription("The parent item type, if any.")]
    Guid? ParentItemTypeID { get; set; }
    Property Value
    Type Description
    Guid?

    ParentTransactionID

    Links to ITransaction. The direct parent transaction of this one if it is a sub transaction for a different entity

    Declaration
    [EntityProperty(SQLType.UniqueIdentifier, true)]
    [EntityRelationship(EntityID.Transaction, "ID", SingleJoinType.ZeroToOne, "Parent Transaction", "Transactions As Parent", DeleteWithRelationship = true, PartOfParentSet = true, LinkToItemInSet = false, InheritPermissions = false, PreventAutoConstraint = true)]
    [EntityDescription("The parent transaction.")]
    Guid? ParentTransactionID { get; set; }
    Property Value
    Type Description
    Guid?

    PathID

    Links to IAllocationPath. Optional - The Path to use when allocating the Values from this Transaction to their ultimate owners. Unless specifying Allocations of the Transaction Values individually, then the Instrument is required if this is not provided.

    Declaration
    [EntityProperty(SQLType.UniqueIdentifier, true)]
    [EntityRelationship(EntityID.AllocationPath, "ID", SingleJoinType.ZeroToOne, "Allocation Path", "Transactions", DeleteWithRelationship = false, PartOfParentSet = false, LinkToItemInSet = false, InheritPermissions = false)]
    [EntityDescription("The path to use to allocate this transaction.")]
    Guid? PathID { get; set; }
    Property Value
    Type Description
    Guid?

    Price

    The Price for a Unit in this Transaction. Only available depending on the Transaction Code configuration.

    Declaration
    [EntityProperty(SQLType.Decimal, 31, 18, true)]
    [EntityDescription("The price involved in this transaction.")]
    decimal? Price { get; set; }
    Property Value
    Type Description
    decimal?

    ReferenceDate

    The optional reference Date for this Transaction.

    Declaration
    [EntityProperty(SQLType.DateTimeOffset, true, IsDate = true)]
    [EntityDescription("The optional reference date for this transaction.")]
    DateTimeOffset? ReferenceDate { get; set; }
    Property Value
    Type Description
    DateTimeOffset?

    RelatedEntityID

    Links to IObjectEntity. The legal entity this transaction is related to

    Declaration
    [EntityProperty(SQLType.UniqueIdentifier, true)]
    [EntityRelationship(EntityID.ObjectEntity, "ID", SingleJoinType.ZeroToOne, "Related Entity", "Transactions", DeleteWithRelationship = false, PartOfParentSet = false, LinkToItemInSet = false, InheritPermissions = false)]
    [EntityDescription("The legal entity this transaction is related to.")]
    Guid? RelatedEntityID { get; set; }
    Property Value
    Type Description
    Guid?

    RelatedItemID

    If this transaction has a related entity, this is the id of that entity

    Declaration
    [EntityProperty(SQLType.UniqueIdentifier, true)]
    [EntityDescription("The related item, if any.")]
    [EntityLinkToAnyParentRelationship("RelatedItemTypeID", SingleJoinType.ZeroToOne, "Related Transactions", false, new Type[] { typeof(ITransactionAllocated), typeof(IGLPosting), typeof(IGLPostingAllocated), typeof(IHasTransactionSetting), typeof(ISQLWrapper), typeof(ISQLTypeWrapper), typeof(IDatasetQueryableItem), typeof(ISQLFunction), typeof(IVennSetQueryableItem) }, DeleteWithRelationship = false, PreventAutoConstraint = true, OnlyWithLabels = true)]
    Guid? RelatedItemID { get; set; }
    Property Value
    Type Description
    Guid?

    RelatedItemKey

    A unique key to any related item for this transaction. Usually used by processes that dynamically create the transaction itself.

    Declaration
    [EntityProperty(SQLType.NVarChar, 500, true)]
    [EntityDescription("A unique key to any related item for this transaction. Usually used by processes that dynamically create the transaction itself.")]
    string RelatedItemKey { get; set; }
    Property Value
    Type Description
    string

    RelatedItemTypeID

    If this transaction has a related entity, this is the type of entity

    Declaration
    [EntityProperty(SQLType.UniqueIdentifier, true, IsEntityTypeLink = true)]
    [EntityDescription("The related item type, if any.")]
    Guid? RelatedItemTypeID { get; set; }
    Property Value
    Type Description
    Guid?

    ReportingFXRate

    Holds the FX Rate automatically pulled from the exchange rates table from the Local Currency to the Reporting Currency of this transaction.

    Declaration
    [EntityProperty(SQLType.Decimal, 21, 10, false, "0")]
    [EntityDescription("The exchange rate for this transaction between the local and reporting currency.")]
    decimal ReportingFXRate { get; set; }
    Property Value
    Type Description
    decimal

    ReportingNetAmount

    The total of all values in this transaction stored in the reporting currency, which is the currency of the Entity Set this Entity belongs to. In other words the common currency for consolidating reporting across all entities in the entity structure

    Declaration
    [EntityProperty(SQLType.Decimal, 21, 3, true, "FuncNetAmount")]
    [EntityDescription("The summary of the reporting amounts involved in this transaction.")]
    decimal? ReportingNetAmount { get; set; }
    Property Value
    Type Description
    decimal?

    RootTransactionID

    Links to ITransaction. The root transaction this sub-transaction belongs to if part of a set

    Declaration
    [EntityProperty(SQLType.UniqueIdentifier, false)]
    [EntityRelationship(EntityID.Transaction, "ID", SingleJoinType.One, "Root Transactions", "Transactions As Root", DeleteWithRelationship = false, PartOfParentSet = false, LinkToItemInSet = false, InheritPermissions = false, PreventAutoConstraint = true)]
    [EntityDescription("The root transaction of a set.")]
    [FormulaDefaultValueOnNew("ItemAs<LemonEdge.API.Entities.FinancialServices.Transactions.ITransaction>().ID")]
    [RequiredNoDefaultIDValidation]
    Guid RootTransactionID { get; set; }
    Property Value
    Type Description
    Guid

    Rounding

    This indicates the type of rounding to apply when automatically creating allocated transaction entries for the value amounts.

    Declaration
    [EntityProperty(SQLType.SmallInt, false)]
    [EntityDescription("The type of rounding to apply to any calculations.")]
    RoundingLevel Rounding { get; set; }
    Property Value
    Type Description
    RoundingLevel

    SettingsID

    The item holding any custom settings against this transaction.

    Declaration
    [EntityProperty(SQLType.UniqueIdentifier, true)]
    [EntityDescription("The item holding any settings against this transaction.")]
    Guid? SettingsID { get; set; }
    Property Value
    Type Description
    Guid?

    SettingsTypeID

    The type that holds any custom settings against this transaction.

    Declaration
    [EntityProperty(SQLType.UniqueIdentifier, true, IsEntityTypeLink = true)]
    [EntityDescription("The type that holds any settings against this transaction.")]
    Guid? SettingsTypeID { get; set; }
    Property Value
    Type Description
    Guid?

    StepChangeID

    Links to this transaction being created as part of a step change process

    Declaration
    [EntityProperty(SQLType.UniqueIdentifier, true)]
    [EntityRelationship(EntityID.StepChanges, "ID", SingleJoinType.ZeroToOne, "Step Change", "Step Change Transactions", DeleteWithRelationship = false, PartOfParentSet = false, LinkToItemInSet = false, InheritPermissions = false, PreventAutoConstraint = true)]
    [EntityDescription("Indicates this transaction was auto-created as part of a step change process.")]
    Guid? StepChangeID { get; set; }
    Property Value
    Type Description
    Guid?

    StepChangeOriginalTransactionID

    Links to the original transaction this step change transaction was created to equalize

    Declaration
    [EntityProperty(SQLType.UniqueIdentifier, true)]
    [EntitySelfRelationship("ID", SingleJoinType.ZeroToOne, "Original", "Step Changes")]
    [EntityDescription("Links to the original transaction this step change transaction was created to equalize")]
    Guid? StepChangeOriginalTransactionID { get; set; }
    Property Value
    Type Description
    Guid?

    TransactionCodeID

    Links to ITransactionCode. The Transaction Code for this Transaction which defines the Requirements, Values, Rules and Processing of this Transaction

    Declaration
    [EntityProperty(SQLType.UniqueIdentifier, false)]
    [EntityRelationship(EntityID.TransactionCode, "ID", SingleJoinType.One, "Transaction Code", "Transactions", DeleteWithRelationship = false, PartOfParentSet = false, LinkToItemInSet = false, InheritPermissions = false)]
    [RequiredNoDefaultIDValidation]
    [EntityDescription("The transaction code that defines the behaviour of this transaction operation.")]
    Guid TransactionCodeID { get; set; }
    Property Value
    Type Description
    Guid

    TransferID

    Links to this transaction being created as part of a transfer process

    Declaration
    [EntityProperty(SQLType.UniqueIdentifier, true)]
    [EntityRelationship(EntityID.Transfer, "ID", SingleJoinType.ZeroToOne, "Transfer", "Transfer Transactions", DeleteWithRelationship = false, PartOfParentSet = true, LinkToItemInSet = false, InheritPermissions = false, PreventAutoConstraint = true)]
    [EntityDescription("Indicates this transaction was auto-created as part of a transfer process.")]
    Guid? TransferID { get; set; }
    Property Value
    Type Description
    Guid?

    TransferedOriginalItemID

    Holds the original record that this record is transferring.

    Declaration
    [EntityProperty(SQLType.UniqueIdentifier, true)]
    [EntityDescription("Holds the original record that this record is transferring.")]
    [EntitySelfRelationship("ID", SingleJoinType.ZeroToOne, "Original", "Transfers")]
    Guid? TransferedOriginalItemID { get; set; }
    Property Value
    Type Description
    Guid?

    UnderlyingEntityID

    Links to IObjectEntity. The underlying legal entity for this transaction.

    Declaration
    [EntityProperty(SQLType.UniqueIdentifier, true)]
    [EntityRelationship(EntityID.ObjectEntity, "ID", SingleJoinType.ZeroToOne, "Underlying Entity", "Transactions", DeleteWithRelationship = false, PartOfParentSet = false, LinkToItemInSet = false, InheritPermissions = false)]
    [EntityDescription("The underlying legal entity for this transaction.")]
    Guid? UnderlyingEntityID { get; set; }
    Property Value
    Type Description
    Guid?

    Value10IndexID

    Indicates what transaction type value (ValueIndex) is held in the corrosponding Valx field.

    Declaration
    [EntityProperty(SQLType.SmallInt, true, true)]
    [EntityDescription("Indicates what transaction type value is held in the corrosponding Valx field.")]
    short? Value10IndexID { get; set; }
    Property Value
    Type Description
    short?

    Value11IndexID

    Indicates what transaction type value (ValueIndex) is held in the corrosponding Valx field.

    Declaration
    [EntityProperty(SQLType.SmallInt, true, true)]
    [EntityDescription("Indicates what transaction type value is held in the corrosponding Valx field.")]
    short? Value11IndexID { get; set; }
    Property Value
    Type Description
    short?

    Value12IndexID

    Indicates what transaction type value (ValueIndex) is held in the corrosponding Valx field.

    Declaration
    [EntityProperty(SQLType.SmallInt, true, true)]
    [EntityDescription("Indicates what transaction type value is held in the corrosponding Valx field.")]
    short? Value12IndexID { get; set; }
    Property Value
    Type Description
    short?

    Value13IndexID

    Indicates what transaction type value (ValueIndex) is held in the corrosponding Valx field.

    Declaration
    [EntityProperty(SQLType.SmallInt, true, true)]
    [EntityDescription("Indicates what transaction type value is held in the corrosponding Valx field.")]
    short? Value13IndexID { get; set; }
    Property Value
    Type Description
    short?

    Value14IndexID

    Indicates what transaction type value (ValueIndex) is held in the corrosponding Valx field.

    Declaration
    [EntityProperty(SQLType.SmallInt, true, true)]
    [EntityDescription("Indicates what transaction type value is held in the corrosponding Valx field.")]
    short? Value14IndexID { get; set; }
    Property Value
    Type Description
    short?

    Value15IndexID

    Indicates what transaction type value (ValueIndex) is held in the corrosponding Valx field.

    Declaration
    [EntityProperty(SQLType.SmallInt, true, true)]
    [EntityDescription("Indicates what transaction type value is held in the corrosponding Valx field.")]
    short? Value15IndexID { get; set; }
    Property Value
    Type Description
    short?

    Value16IndexID

    Indicates what transaction type value (ValueIndex) is held in the corrosponding Valx field.

    Declaration
    [EntityProperty(SQLType.SmallInt, true, true)]
    [EntityDescription("Indicates what transaction type value is held in the corrosponding Valx field.")]
    short? Value16IndexID { get; set; }
    Property Value
    Type Description
    short?

    Value17IndexID

    Indicates what transaction type value (ValueIndex) is held in the corrosponding Valx field.

    Declaration
    [EntityProperty(SQLType.SmallInt, true, true)]
    [EntityDescription("Indicates what transaction type value is held in the corrosponding Valx field.")]
    short? Value17IndexID { get; set; }
    Property Value
    Type Description
    short?

    Value18IndexID

    Indicates what transaction type value (ValueIndex) is held in the corrosponding Valx field.

    Declaration
    [EntityProperty(SQLType.SmallInt, true, true)]
    [EntityDescription("Indicates what transaction type value is held in the corrosponding Valx field.")]
    short? Value18IndexID { get; set; }
    Property Value
    Type Description
    short?

    Value19IndexID

    Indicates what transaction type value (ValueIndex) is held in the corrosponding Valx field.

    Declaration
    [EntityProperty(SQLType.SmallInt, true, true)]
    [EntityDescription("Indicates what transaction type value is held in the corrosponding Valx field.")]
    short? Value19IndexID { get; set; }
    Property Value
    Type Description
    short?

    Value1IndexID

    Indicates what transaction type value (ValueIndex) is held in the corrosponding Valx field.

    Declaration
    [EntityProperty(SQLType.SmallInt, true, false)]
    [EntityDescription("Indicates what transaction type value is held in the corrosponding Valx field.")]
    short? Value1IndexID { get; set; }
    Property Value
    Type Description
    short?

    Value20IndexID

    Indicates what transaction type value (ValueIndex) is held in the corrosponding Valx field.

    Declaration
    [EntityProperty(SQLType.SmallInt, true, true)]
    [EntityDescription("Indicates what transaction type value is held in the corrosponding Valx field.")]
    short? Value20IndexID { get; set; }
    Property Value
    Type Description
    short?

    Value2IndexID

    Indicates what transaction type value (ValueIndex) is held in the corrosponding Valx field.

    Declaration
    [EntityProperty(SQLType.SmallInt, true, false)]
    [EntityDescription("Indicates what transaction type value is held in the corrosponding Valx field.")]
    short? Value2IndexID { get; set; }
    Property Value
    Type Description
    short?

    Value3IndexID

    Indicates what transaction type value (ValueIndex) is held in the corrosponding Valx field.

    Declaration
    [EntityProperty(SQLType.SmallInt, true, false)]
    [EntityDescription("Indicates what transaction type value is held in the corrosponding Valx field.")]
    short? Value3IndexID { get; set; }
    Property Value
    Type Description
    short?

    Value4IndexID

    Indicates what transaction type value (ValueIndex) is held in the corrosponding Valx field.

    Declaration
    [EntityProperty(SQLType.SmallInt, true, true)]
    [EntityDescription("Indicates what transaction type value is held in the corrosponding Valx field.")]
    short? Value4IndexID { get; set; }
    Property Value
    Type Description
    short?

    Value5IndexID

    Indicates what transaction type value (ValueIndex) is held in the corrosponding Valx field.

    Declaration
    [EntityProperty(SQLType.SmallInt, true, true)]
    [EntityDescription("Indicates what transaction type value is held in the corrosponding Valx field.")]
    short? Value5IndexID { get; set; }
    Property Value
    Type Description
    short?

    Value6IndexID

    Indicates what transaction type value (ValueIndex) is held in the corrosponding Valx field.

    Declaration
    [EntityProperty(SQLType.SmallInt, true, true)]
    [EntityDescription("Indicates what transaction type value is held in the corrosponding Valx field.")]
    short? Value6IndexID { get; set; }
    Property Value
    Type Description
    short?

    Value7IndexID

    Indicates what transaction type value (ValueIndex) is held in the corrosponding Valx field.

    Declaration
    [EntityProperty(SQLType.SmallInt, true, true)]
    [EntityDescription("Indicates what transaction type value is held in the corrosponding Valx field.")]
    short? Value7IndexID { get; set; }
    Property Value
    Type Description
    short?

    Value8IndexID

    Indicates what transaction type value (ValueIndex) is held in the corrosponding Valx field.

    Declaration
    [EntityProperty(SQLType.SmallInt, true, true)]
    [EntityDescription("Indicates what transaction type value is held in the corrosponding Valx field.")]
    short? Value8IndexID { get; set; }
    Property Value
    Type Description
    short?

    Value9IndexID

    Indicates what transaction type value (ValueIndex) is held in the corrosponding Valx field.

    Declaration
    [EntityProperty(SQLType.SmallInt, true, true)]
    [EntityDescription("Indicates what transaction type value is held in the corrosponding Valx field.")]
    short? Value9IndexID { get; set; }
    Property Value
    Type Description
    short?

    Extension Methods

    TransactionExtensions.GetNextFreeSequence(ITransaction)
    TransactionExtensions.GetSequence(ITransaction, short)
    TransactionExtensions.GetValueIndex(ITransaction, short)
    TransactionExtensions.GetValues(ITransaction, short)
    TransactionExtensions.HasValue(ITransaction, short)
    TransactionExtensions.SetValueIndex(ITransaction, short, short)
    TransactionExtensions.SetValues(ITransaction, short, decimal, decimal, decimal)
    LinqExtensions.AsArray<T>(T)
    LinqExtensions.ToArrayOfOne<T>(T)
    LinqExtensions.ToListOfOne<T>(T)
    MiscExtensions.SetIfNotEqual<T, TP>(T, Expression<Func<T, TP>>, TP)
    TransactionValueExtensions.GetFuncValue(ITransactionValue, short)
    TransactionValueExtensions.GetManualChange(ITransactionValue, short)
    TransactionValueExtensions.GetReportingValue(ITransactionValue, short)
    TransactionValueExtensions.GetValues(ITransactionValue, short)
    TransactionValueExtensions.HasManualChange(ITransactionValue)
    TransactionValueExtensions.SetFuncValue(ITransactionValue, short, decimal)
    TransactionValueExtensions.SetManualChange(ITransactionValue, short, bool)
    TransactionValueExtensions.SetReportingValue(ITransactionValue, short, decimal)
    TransactionValueExtensions.SetValues(ITransactionValue, short, decimal, decimal, decimal)
    TransactionValueDetailExtensions.GetLocalValue(ITransactionValueDetail, short)
    TransactionValueDetailExtensions.GetNote(ITransactionValueDetail, short)
    TransactionValueDetailExtensions.SetLocalValue(ITransactionValueDetail, short, decimal)
    TransactionValueDetailExtensions.SetNote(ITransactionValueDetail, short, string)
    WeakReferenceExtensions.WeakReference(object)
    SQLExtensions.ToSQLValue(object, bool)
    ReflectionExtensions.ClearEventInvocations(object, string)
    StringExtensions.ToCSVFormatString(object, Type)

    See Also

    ITransactionAllocated
    IGLPosting
    ITransactionCode
    ITransactionTypeValue
    In this article
    Back to top © LemonEdge Technologies. All rights reserved.