Interface ITransactionCode
The system entity for a transaction code, which holds all the settings for how to process a ITransaction
See https://web.lemonedge.com/help/transaction-codes/ for more information
Inherited Members
Namespace: LemonEdge.API.Entities
Assembly: API.dll
Syntax
[EntityDefinition(EntityID.TransactionCode, "dbo.LT_TransactionCodes", "TransactionCode", LabelColumn = "Name", IsStandingDataEntity = true, HelpURL = "transaction-codes")]
[DefaultEntityIcon(ImageType.TransactionCode)]
public interface ITransactionCode : IBaseEntityWithPermissions, 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 |
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 |
---|---|
System.Boolean |
Code
A short unique code for this Transaction Code for reporting and display purposes
Declaration
[EntityProperty(SQLType.NVarChar, (short)25, false)]
[EntityDescription("The unique short code of this transaction code.")]
[Required]
string Code { get; set; }
Property Value
Type | Description |
---|---|
System.String |
Description
A user friendly description of this transaction code.
Declaration
[EntityProperty(SQLType.NVarChar, (short)2000, true)]
[EntityDescription("A user friendly description of this transaction code.")]
string Description { get; set; }
Property Value
Type | Description |
---|---|
System.String |
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 = false, 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 |
---|---|
System.Nullable<System.Guid> |
Fields
Additional Fields that the Transaction should allow the user to see and edit.
Declaration
[EntityProperty(SQLType.SmallInt, false)]
[EntityDescription("Indicates what fields can be edited with this transaction.")]
TransactionCodeFields Fields { get; set; }
Property Value
Type | Description |
---|---|
TransactionCodeFields |
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 |
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", "ILedger", DeleteWithRelationship = false, PartOfParentSet = true, LinkToItemInSet = false, 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 |
---|---|
System.Nullable<System.Guid> |
Name
[Key] The unique user friendly name of this Transaction Code
Declaration
[EntityProperty(SQLType.NVarChar, (short)500, false)]
[EntityDescription("The unique name of this transaction code.")]
[Required]
string Name { get; set; }
Property Value
Type | Description |
---|---|
System.String |
NetAmountFormula
Indicates the formula to use to evaluate the net amount for this transaction.
Declaration
[EntityProperty(SQLType.NVarChar, true)]
[EntityDescription("Indicates the formula to use to evaluate the net amount for this transaction.")]
string NetAmountFormula { get; set; }
Property Value
Type | Description |
---|---|
System.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 |
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 |
---|---|
System.Nullable<System.Guid> |
SubTransactions
This indicates if this Transaction allows sub-Transactions to be created as part of it. Sub Transactions are still real Transactions in their own right and are treated that way by reporting, etc. However they always have the same Transaction Code and other settings as the Parent Transaction, and are related to them for usability, reporting, and calculations.
Declaration
[EntityProperty(SQLType.SmallInt, false)]
[EntityDescription("Indicates if any transaction created with this code can have additional transactions created as part of the same set.")]
TransactionCodeSubCodes SubTransactions { get; set; }
Property Value
Type | Description |
---|---|
TransactionCodeSubCodes |
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]
TransactionType Type { get; set; }
Property Value
Type | Description |
---|---|
TransactionType |