Interface ITransactionCode
The system entity for a transaction code, which holds all the settings for how to process a ITransaction
See https://help.lemonedge.com/help/settings/financial-services-transactions/transaction-codes/intro.html for more information
Inherited Members
Namespace: LemonEdge.API.Entities.FinancialServices.Transactions
Assembly: LemonEdge.API.Entities.FinancialServices.dll
Syntax
[EntityDefinition(EntityID.TransactionCode, "dbo.LT_TransactionCodes", "TransactionCode", LabelColumn = "Name", IsStandingDataEntity = true, HelpURL = "help/settings/financial-services-transactions/transaction-codes/intro.html")]
[DefaultEntityIcon(ImageType.TransactionCode)]
public interface ITransactionCode : IBaseEntityWithPermissions, ISetCopier, IHasFolderStructure, IBaseEntity, IEquatable<IBaseEntity>, INotifyPropertyChanged, INotifyPropertyChanging, ICloneableAsync, ICanTrackProperties
Properties
Allocation
Indicates if this transaction should have each amount allocated out to entities through the structure or not.
Declaration
[EntityProperty(SQLType.SmallInt, false)]
[EntityDescription("Indicates if this transaction should have each amount allocated out to entities through the structure or not.")]
TransactionCodeAllocation Allocation { get; set; }
Property Value
Type | Description |
---|---|
TransactionCodeAllocation |
AllocationLevel
Indicates if this allocation should follow the complete path, or only allocate to the first direct entities
Declaration
[EntityProperty(SQLType.SmallInt, false, "0")]
[EntityDescription("Indicates if this allocation should follow the complete path, or only allocate to the first direct entities")]
AllocateToLevel AllocationLevel { get; set; }
Property Value
Type | Description |
---|---|
AllocateToLevel |
AllowAssociations
Declaration
[EntityProperty(SQLType.Bit, false, "0")]
[EntityDescription("Indicates the values for this transaction can be linked to associated entities and split up through Transaction Associations.")]
bool AllowAssociations { get; set; }
Property Value
Type | Description |
---|---|
bool |
AllowLocalCurrencyOverride
Declaration
[EntityProperty(SQLType.Bit, false, "0")]
[EntityDescription("Indicates the local currency can be overridden from the default (typically the instruments currency) to any required.")]
bool AllowLocalCurrencyOverride { get; set; }
Property Value
Type | Description |
---|---|
bool |
AllowNewValues
This indicates the User can add new Transaction Values as columns to the Transaction however they like.
Declaration
[EntityProperty(SQLType.Bit, false)]
[EntityDescription("Indicates in addition to the values configured by this transaction code, the user can add new transaction type values to the transaction.")]
bool AllowNewValues { get; set; }
Property Value
Type | Description |
---|---|
bool |
AllowRelatedEntity
Indicates this transaction allows a related entity for this transaction to be marked against it
Declaration
[EntityProperty(SQLType.SmallInt, false)]
[EntityDescription("Indicates if this transaction allows related entities on the transaction itself, associated GL postings, or neither")]
TransactionCodeRelatedEntityOption AllowRelatedEntity { get; set; }
Property Value
Type | Description |
---|---|
TransactionCodeRelatedEntityOption |
CSEValueFormula
Indicates the formula to use to evaluate the CSE value.
Declaration
[EntityProperty(SQLType.NVarChar, true)]
[EntityDescription("Indicates the formula to use to evaluate the CSE value.")]
string CSEValueFormula { get; set; }
Property Value
Type | Description |
---|---|
string |
Code
A short unique code for this Transaction Code for reporting and display purposes
Declaration
[EntityProperty(SQLType.NVarChar, 25, false)]
[EntityDescription("The unique short code of this transaction code.")]
[Required]
string Code { get; set; }
Property Value
Type | Description |
---|---|
string |
CustomValidationID
Custom validation to run in transaction processor when saving the transaction.
Declaration
[EntityProperty(SQLType.UniqueIdentifier, true)]
[EntityRelationship(EntityID.CustomValidation, "ID", SingleJoinType.ZeroToOne, "Custom Validation", "Transaction Codes", DeleteWithRelationship = false, PartOfParentSet = false, LinkToItemInSet = true, InheritPermissions = false)]
[EntityDescription("Custom validation to run in trasaction processor when saving the transaction.")]
Guid? CustomValidationID { get; set; }
Property Value
Type | Description |
---|---|
Guid? |
DefualtGLSelectionToSubAccount
Indicates by default when selecting a new gl posting that you initially select a sub-account and it auto selects the gl account for you
Declaration
[EntityProperty(SQLType.Bit, false, "0")]
[EntityDescription("Indicates by default when selecting a new gl posting that you initially select a sub-account and it auto selects the gl account for you")]
bool DefualtGLSelectionToSubAccount { get; set; }
Property Value
Type | Description |
---|---|
bool |
Description
A user friendly description of this transaction code.
Declaration
[EntityProperty(SQLType.NVarChar, 2000, true)]
[EntityDescription("A user friendly description of this transaction code.")]
string Description { get; set; }
Property Value
Type | Description |
---|---|
string |
EnforceGLBalance
Indicates transactions using this code should have gl entries that balance
Declaration
[EntityProperty(SQLType.Bit, false, "1")]
[EntityDescription("Indicates transactions using this code should have gl entries that balance")]
[HardCodedDefaultValueOnNew("1")]
bool EnforceGLBalance { get; set; }
Property Value
Type | Description |
---|---|
bool |
ExchangeRateCategoryID
Links to IExchangeRateCategory. The category to use when retrieving exchange rates. Null to use the default set of exchange rates with no category.
Declaration
[EntityProperty(SQLType.UniqueIdentifier, true)]
[EntityRelationship(EntityID.ExchangeRateCategory, "ID", SingleJoinType.ZeroToOne, "Exchange Rate Category", "Transaction Codes", DeleteWithRelationship = false, PartOfParentSet = false, LinkToItemInSet = true, InheritPermissions = false)]
[EntityDescription("The category to use when retrieving exchange rates. Null to use the default set of exchange rates with no category.")]
Guid? ExchangeRateCategoryID { get; set; }
Property Value
Type | Description |
---|---|
Guid? |
GL
Indicates how gl entries can be created with this transaction.
Declaration
[EntityProperty(SQLType.SmallInt, false)]
[EntityDescription("Indicates how gl entries can be created with this transaction.")]
TransactionCodeGL GL { get; set; }
Property Value
Type | Description |
---|---|
TransactionCodeGL |
GenerateGLEntriesForInProgress
Indicates gl entries should automatically be generated for in progress transactions too
Declaration
[EntityProperty(SQLType.Bit, false, "0")]
[EntityDescription("Indicates gl entries should automatically be generated for in progress transactions too")]
bool GenerateGLEntriesForInProgress { get; set; }
Property Value
Type | Description |
---|---|
bool |
IsInstrumentMandatory
Indicates an instrument selection for this transaction is mandatory
Declaration
[EntityProperty(SQLType.Bit, false, "0")]
[EntityDescription("Indicates an instrument selection for this transaction is mandatory")]
bool IsInstrumentMandatory { get; set; }
Property Value
Type | Description |
---|---|
bool |
LedgerID
Links to ILedger. The Ledger these Transaction Values are recorded against.
If blank the User will have to select a Ledger.
This Ledger is used for GL Postings that are automatically created and don't have a Ledger specified for themselves.Declaration
[EntityProperty(SQLType.UniqueIdentifier, true)]
[EntityRelationship(EntityID.Ledger, "ID", SingleJoinType.ZeroToOne, "Ledger", "Transaction Codes", DeleteWithRelationship = false, PartOfParentSet = false, LinkToItemInSet = true, InheritPermissions = false)]
[EntityDescription("Indicates the default ledger to use, if not specified this must be manually entered or provided by a process.")]
Guid? LedgerID { get; set; }
Property Value
Type | Description |
---|---|
Guid? |
Name
[Key] The unique user friendly name of this Transaction Code
Declaration
[EntityProperty(SQLType.NVarChar, 500, false)]
[EntityDescription("The unique name of this transaction code.")]
[Unique]
[EntityKeyProperty]
[Required]
string Name { get; set; }
Property Value
Type | Description |
---|---|
string |
Path
Indicates the method in which the path for allocations is determined for this transaction.
Declaration
[EntityProperty(SQLType.SmallInt, false)]
[EntityDescription("Indicates the method in which the path for allocations is determined for this transaction.")]
TransactionCodePath Path { get; set; }
Property Value
Type | Description |
---|---|
TransactionCodePath |
PeriodEndStatus
Holds a status that can be used in period end reporting
Declaration
[EntityProperty(SQLType.SmallInt, false, "0")]
[EntityDescription("Holds a status that can be used in period end reporting.")]
TransactionCodePeriodEndStatus PeriodEndStatus { get; set; }
Property Value
Type | Description |
---|---|
TransactionCodePeriodEndStatus |
PriceValueFormula
Indicates the formula to use to evaluate the price value.
Declaration
[EntityProperty(SQLType.NVarChar, true)]
[EntityDescription("Indicates the formula to use to evaluate the price value.")]
string PriceValueFormula { get; set; }
Property Value
Type | Description |
---|---|
string |
SettingsTypeID
Indicates this Transaction has custom settings associated with it. This allows selection of any Custom Entity (created through our Designers or API) that implements IHasTransactionSetting .
These settings can be used in any of your custom processes or formulas for the 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? |
ShowAllocationDate
This indicates the allocation date is visible or not
Declaration
[EntityProperty(SQLType.Bit, false, "0")]
[EntityDescription("This indicates the allocation date is visible or not")]
bool ShowAllocationDate { get; set; }
Property Value
Type | Description |
---|---|
bool |
ShowAllocationDateInGL
This indicates the allocation date is visible or not within the postings grid
Declaration
[EntityProperty(SQLType.Bit, false, "0")]
[EntityDescription("This indicates the allocation date is visible or not within the postings grid")]
bool ShowAllocationDateInGL { get; set; }
Property Value
Type | Description |
---|---|
bool |
ShowAllocationType
This indicates if allocation type is visible or not
Declaration
[EntityProperty(SQLType.Bit, false, "0")]
[EntityDescription("This indicates if allocation type is visible or not")]
bool ShowAllocationType { get; set; }
Property Value
Type | Description |
---|---|
bool |
ShowCSE
This indicates if CSE is visible or not
Declaration
[EntityProperty(SQLType.Bit, false, "0")]
[EntityDescription("This indicates if CSE is visible or not")]
bool ShowCSE { get; set; }
Property Value
Type | Description |
---|---|
bool |
ShowCounterparty
This indicates if counter party is visible or not
Declaration
[EntityProperty(SQLType.Bit, false, "0")]
[EntityDescription("This indicates if counter party is visible or not")]
bool ShowCounterparty { get; set; }
Property Value
Type | Description |
---|---|
bool |
ShowCurrency
This indicates if currency is visible or not
Declaration
[EntityProperty(SQLType.Bit, false, "1")]
[HardCodedDefaultValueOnNew("1")]
[EntityDescription("This indicates if currency is visible or not")]
bool ShowCurrency { get; set; }
Property Value
Type | Description |
---|---|
bool |
ShowCurrencyInGL
This indicates if currency is visible or not within the postings grid
Declaration
[EntityProperty(SQLType.Bit, false, "0")]
[EntityDescription("This indicates if currency is visible or not within the postings grid")]
bool ShowCurrencyInGL { get; set; }
Property Value
Type | Description |
---|---|
bool |
ShowDescription
This indicates if document reference is visible or not
Declaration
[EntityProperty(SQLType.Bit, false, "0")]
[EntityDescription("This indicates if description is visible or not")]
bool ShowDescription { get; set; }
Property Value
Type | Description |
---|---|
bool |
ShowDocumentReference
This indicates if document reference is visible or not
Declaration
[EntityProperty(SQLType.Bit, false, "0")]
[EntityDescription("This indicates if document reference is visible or not")]
bool ShowDocumentReference { get; set; }
Property Value
Type | Description |
---|---|
bool |
ShowEffectiveDate
This indicates transaction effective date is visible or not
Declaration
[EntityProperty(SQLType.Bit, false, "0")]
[EntityDescription("This indicates if transaction effective date is visible/editable or not")]
bool ShowEffectiveDate { get; set; }
Property Value
Type | Description |
---|---|
bool |
ShowEffectiveDateInGL
This indicates transaction effective date is visible or not within the postings grid
Declaration
[EntityProperty(SQLType.Bit, false, "0")]
[EntityDescription("This indicates if transaction effective date is visible/editable or not within the postings grid")]
bool ShowEffectiveDateInGL { get; set; }
Property Value
Type | Description |
---|---|
bool |
ShowExchangeRateCategory
This indicates if exchange rate category is visible or not
Declaration
[EntityProperty(SQLType.Bit, false, "0")]
[EntityDescription("This indicates if exchange rate category is visible or not")]
bool ShowExchangeRateCategory { get; set; }
Property Value
Type | Description |
---|---|
bool |
ShowFinancialDate
This indicates transaction financial date is visible or not
Declaration
[EntityProperty(SQLType.Bit, false, "1")]
[HardCodedDefaultValueOnNew("1")]
[EntityDescription("This indicates if transaction financial date is visible or not")]
bool ShowFinancialDate { get; set; }
Property Value
Type | Description |
---|---|
bool |
ShowFinancialDateInGL
This indicates transaction financial date is visible or not within the postings grid
Declaration
[EntityProperty(SQLType.Bit, false, "1")]
[HardCodedDefaultValueOnNew("1")]
[EntityDescription("This indicates if transaction financial date is visible or not within the postings grid")]
bool ShowFinancialDateInGL { get; set; }
Property Value
Type | Description |
---|---|
bool |
ShowFuncNetAmount
This indicates if func net amount is visible or not
Declaration
[EntityProperty(SQLType.Bit, false, "1")]
[HardCodedDefaultValueOnNew("1")]
[EntityDescription("This indicates if func net amount is visible or not")]
bool ShowFuncNetAmount { get; set; }
Property Value
Type | Description |
---|---|
bool |
ShowFxRate
This indicates if fx rate is visible or not
Declaration
[EntityProperty(SQLType.Bit, false, "1")]
[HardCodedDefaultValueOnNew("1")]
[EntityDescription("This indicates if fx rate is visible or not")]
bool ShowFxRate { get; set; }
Property Value
Type | Description |
---|---|
bool |
ShowInstrument
This indicates if instrument is visible or not
Declaration
[EntityProperty(SQLType.Bit, false, "1")]
[HardCodedDefaultValueOnNew("1")]
[EntityDescription("This indicates if instrument is visible or not")]
bool ShowInstrument { get; set; }
Property Value
Type | Description |
---|---|
bool |
ShowInstrumentEntity
This indicates if deal is visible or not
Declaration
[EntityProperty(SQLType.Bit, false, "0")]
[EntityDescription("This indicates if deal is visible or not")]
bool ShowInstrumentEntity { get; set; }
Property Value
Type | Description |
---|---|
bool |
ShowInstrumentEntityInGL
This indicates if deal is visible or not within the postings grid
Declaration
[EntityProperty(SQLType.Bit, false, "0")]
[EntityDescription("This indicates if deal is visible or not or not within the postings grid")]
bool ShowInstrumentEntityInGL { get; set; }
Property Value
Type | Description |
---|---|
bool |
ShowInstrumentInGL
This indicates if instrument is visible or not within the postings grid
Declaration
[EntityProperty(SQLType.Bit, false, "0")]
[EntityDescription("This indicates if instrument is visible or not within the postings grid")]
bool ShowInstrumentInGL { get; set; }
Property Value
Type | Description |
---|---|
bool |
ShowLedger
This indicates if ledger is visible or not
Declaration
[EntityProperty(SQLType.Bit, false, "1")]
[HardCodedDefaultValueOnNew("1")]
[EntityDescription("This indicates if ledger is visible or not")]
bool ShowLedger { get; set; }
Property Value
Type | Description |
---|---|
bool |
ShowLocalNetAmount
This indicates if local net amount is visible or not
Declaration
[EntityProperty(SQLType.Bit, false, "1")]
[HardCodedDefaultValueOnNew("1")]
[EntityDescription("This indicates if local net amount is visible or not")]
bool ShowLocalNetAmount { get; set; }
Property Value
Type | Description |
---|---|
bool |
ShowOriginalEntity
This indicates if original entity is visible or not
Declaration
[EntityProperty(SQLType.Bit, false, "0")]
[EntityDescription("This indicates if original entity is visible or not")]
bool ShowOriginalEntity { get; set; }
Property Value
Type | Description |
---|---|
bool |
ShowOriginalInstrument
This indicates if original instrument is visible or not
Declaration
[EntityProperty(SQLType.Bit, false, "0")]
[EntityDescription("This indicates if original instrument is visible or not")]
bool ShowOriginalInstrument { get; set; }
Property Value
Type | Description |
---|---|
bool |
ShowPath
This indicates if path is visible or not
Declaration
[EntityProperty(SQLType.Bit, false, "1")]
[HardCodedDefaultValueOnNew("1")]
[EntityDescription("This indicates if path is visible or not")]
bool ShowPath { get; set; }
Property Value
Type | Description |
---|---|
bool |
ShowPathInGL
This indicates if path is visible or not within the postings grid
Declaration
[EntityProperty(SQLType.Bit, false, "0")]
[EntityDescription("This indicates if path is visible or not within the postings grid")]
bool ShowPathInGL { get; set; }
Property Value
Type | Description |
---|---|
bool |
ShowPrice
This indicates if price is visible or not
Declaration
[EntityProperty(SQLType.Bit, false, "case when exists(SELECT 1 FROM sys.columns WHERE Name = N'fields' AND Object_ID = Object_ID(N'dbo.LT_TransactionCodes')) then CASE WHEN fields IN (2, 3, 6, 7) THEN 1 ELSE 0 END else 0 end")]
[EntityDescription("This indicates if price is visible or not")]
bool ShowPrice { get; set; }
Property Value
Type | Description |
---|---|
bool |
ShowReferenceDate
This indicates the reference date is visible or not
Declaration
[EntityProperty(SQLType.Bit, false, "0")]
[EntityDescription("This indicates the reference date is visible or not")]
bool ShowReferenceDate { get; set; }
Property Value
Type | Description |
---|---|
bool |
ShowRelatedEntity
This indicates if related entity is visible or not
Declaration
[EntityProperty(SQLType.Bit, false, "0")]
[EntityDescription("This indicates if related entity is visible or not")]
bool ShowRelatedEntity { get; set; }
Property Value
Type | Description |
---|---|
bool |
ShowRelatedEntityInGL
This indicates if related entity is visible or not within the postings grid
Declaration
[EntityProperty(SQLType.Bit, false, "0")]
[EntityDescription("This indicates if related entity is visible or not within the postings grid")]
bool ShowRelatedEntityInGL { get; set; }
Property Value
Type | Description |
---|---|
bool |
ShowReportingFxRate
This indicates if reporting fx rate is visible or not
Declaration
[EntityProperty(SQLType.Bit, false, "1")]
[HardCodedDefaultValueOnNew("1")]
[EntityDescription("This indicates if reporting fx rate is visible or not")]
bool ShowReportingFxRate { get; set; }
Property Value
Type | Description |
---|---|
bool |
ShowReportingNetAmount
This indicates if reporting net amount is visible or not
Declaration
[EntityProperty(SQLType.Bit, false, "1")]
[HardCodedDefaultValueOnNew("1")]
[EntityDescription("This indicates if reporting net amount is visible or not")]
bool ShowReportingNetAmount { get; set; }
Property Value
Type | Description |
---|---|
bool |
ShowRounding
This indicates if rounding is visible or not
Declaration
[EntityProperty(SQLType.Bit, false, "0")]
[EntityDescription("This indicates if rounding is visible or not")]
bool ShowRounding { get; set; }
Property Value
Type | Description |
---|---|
bool |
ShowSettlementDate
This indicates if transaction settlement date is visible or not
Declaration
[EntityProperty(SQLType.Bit, false, "case when exists(SELECT 1 FROM sys.columns WHERE Name = N'fields' AND Object_ID = Object_ID(N'dbo.LT_TransactionCodes')) then CASE WHEN fields IN (4, 6, 5, 7) THEN 1 ELSE 0 END else 0 end")]
[EntityDescription("This indicates if transaction settlement date is visible or not")]
bool ShowSettlementDate { get; set; }
Property Value
Type | Description |
---|---|
bool |
ShowStatus
This indicates transaction status is visible or not
Declaration
[EntityProperty(SQLType.Bit, false, "1")]
[HardCodedDefaultValueOnNew("1")]
[EntityDescription("This indicates if transaction status is visible or not")]
bool ShowStatus { get; set; }
Property Value
Type | Description |
---|---|
bool |
ShowTransactionDate
This indicates transaction date is visible or not
Declaration
[EntityProperty(SQLType.Bit, false, "1")]
[HardCodedDefaultValueOnNew("1")]
[EntityDescription("This indicates if transaction date is visible or not")]
bool ShowTransactionDate { get; set; }
Property Value
Type | Description |
---|---|
bool |
ShowTransactionDateInGL
This indicates transaction date is visible or not within the postings grid
Declaration
[EntityProperty(SQLType.Bit, false, "0")]
[EntityDescription("This indicates if transaction date is visible or not within the postings grid")]
bool ShowTransactionDateInGL { get; set; }
Property Value
Type | Description |
---|---|
bool |
ShowTransactionsAndGL
This indicates if the transactions and gl view should be show - if false the transaction code must have a parameters view so that will show instead. Can be used for header transactions that have parameters only and create othe transactions.
Declaration
[EntityProperty(SQLType.Bit, false, "1")]
[HardCodedDefaultValueOnNew("1")]
[EntityDescription("This indicates if the transactions and gl view should be show - if false the transaction code must have a parameters view so that will show instead. Can be used for header transactions that have parameters only and create othe transactions.")]
bool ShowTransactionsAndGL { get; set; }
Property Value
Type | Description |
---|---|
bool |
ShowUnits
This indicates if units is visible or not
Declaration
[EntityProperty(SQLType.Bit, false, "case when exists(SELECT 1 FROM sys.columns WHERE Name = N'fields' AND Object_ID = Object_ID(N'dbo.LT_TransactionCodes')) then CASE WHEN fields IN (1, 3, 5, 7) THEN 1 ELSE 0 END else 0 end")]
[EntityDescription("This indicates if units is visible or not")]
bool ShowUnits { get; set; }
Property Value
Type | Description |
---|---|
bool |
SubAccountMandatory
Indicates transactions using this code should have gl entries linked to gl sub accounts
Declaration
[EntityProperty(SQLType.Bit, false, "1")]
[EntityDescription("Indicates transactions using this code should have gl entries linked to gl sub accounts")]
[HardCodedDefaultValueOnNew("1")]
bool SubAccountMandatory { get; set; }
Property Value
Type | Description |
---|---|
bool |
TransactionSettingLayoutID
Links to ILayout. Holds a custom transaction layout for entities that extend a transaction. Settings for custom transaction processing can be stored here.
Declaration
[EntityProperty(SQLType.UniqueIdentifier, true)]
[EntityRelationship(EntityID.Layouts, "ID", SingleJoinType.ZeroToOne, "Layout", "Transaction Codes", DeleteWithRelationship = false, PartOfParentSet = false, LinkToItemInSet = true, InheritPermissions = false)]
[EntityDescription("Holds a custom transaction layout for entities that extend a transaction. Settings for custom transaction processing can be stored here.")]
Guid? TransactionSettingLayoutID { get; set; }
Property Value
Type | Description |
---|---|
Guid? |
Type
The Type of Transaction Types for this Transaction Code. Only Values that belong to this Type can be recorded against Transactions that use this Code.
Declaration
[EntityProperty(SQLType.SmallInt, false)]
[Required]
TransactionTypeEnum Type { get; set; }
Property Value
Type | Description |
---|---|
TransactionTypeEnum |
UnitsValueFormula
Indicates the formula to use to evaluate the units value.
Declaration
[EntityProperty(SQLType.NVarChar, true)]
[EntityDescription("Indicates the formula to use to evaluate the units value.")]
string UnitsValueFormula { get; set; }
Property Value
Type | Description |
---|---|
string |
ValidInstruments
Indicates which instruments are valid for use with this code.
Declaration
[EntityProperty(SQLType.SmallInt, false, "0")]
[EntityDescription("Indicates which instruments are valid for use with this code.")]
ValidInstruments ValidInstruments { get; set; }
Property Value
Type | Description |
---|---|
ValidInstruments |