Class QuoteLine
Information about a connection to the ERP system.
Carrier object for QuoteLine. Services for the QuoteLine Carrier is available from the Quote Agent.Namespace: SuperOffice.CRM.Services
Assembly: SuperOffice.Services.dll
Syntax
[DataContract(Namespace = "http://www.superoffice.net/ws/crm/NetServer/11.1.0.0")]
public class QuoteLine : Carrier
Constructors
QuoteLine()
Default constructor
Declaration
public QuoteLine()
See Also
Properties
Code
A value the salesmen use to quickly find the correct product. Is stored here if the user changes the value from the product in the pricelist, or just enters a QuoteLine without a product link.
Declaration
[DataMember]
public virtual string Code { get; set; }
Property Value
Type | Description |
---|---|
string |
See Also
DeliveredQuantity
How many units have been delivered - updated by ERP system.
Declaration
[DataMember]
public virtual double DeliveredQuantity { get; set; }
Property Value
Type | Description |
---|---|
double |
See Also
Description
A longer description for the product. Is stored here if the user changes the value from the product in the pricelist, or just enters a QuoteLine without a product link.
Declaration
[DataMember]
public virtual string Description { get; set; }
Property Value
Type | Description |
---|---|
string |
See Also
DiscountAmount
The discount for the line, in whatever currency the sale is in. Both ‘DiscountPercent’ and ‘DiscountAmount’ shall be filled out, but the UserValueOverride field must be set to the field the user actually changed last. If this field is filled out by the user, it overrides any discount suggested by the connector. If the user has not filled this in, the system will copy the ERP discount amount to this field.
Declaration
[DataMember]
public virtual double DiscountAmount { get; set; }
Property Value
Type | Description |
---|---|
double |
See Also
DiscountPercent
The discount for the line, in percent. Both ‘DiscountPercent’ and ‘DiscountAmount’ shall be filled out, but the UserValueOverride field must be set to the field the user actually changed last. If this field is filled out by the user, it overrides any discount suggested by the connector. If the user has not filled this in, the system will copy the ERP discount amount to this field. The Percentage is given in integer form, i.e. ‘12%’ is represented as ‘12’.
Declaration
[DataMember]
public virtual double DiscountPercent { get; set; }
Property Value
Type | Description |
---|---|
double |
See Also
ERPDiscountAmount
The discount the system calculates based on customer / quantity / whatever. Can be overrided by the salesman in the field 'DiscountPercent' or 'DiscountAmount'. If UserValueOverride is set to ‘None’ then the value is copied to DiscountAmount. Both fields ERPDiscountPercent and ERPDiscountAmount will be filled out.
Declaration
[DataMember]
public virtual double ERPDiscountAmount { get; set; }
Property Value
Type | Description |
---|---|
double |
See Also
ERPDiscountPercent
The discount the system calculates based on customer / quantity / whatever. Can be overrided by the salesman in the field 'DiscountPercent' or 'DiscountAmount'. Both fields ERPDiscountPercent and ERPDiscountAmount will be filled out. If UserValueOverride is set to ‘None’ then the value is copied to DiscountPercent. The Percentage is given in integer form, i.e. ‘12%’ is represented as ‘12’.
Declaration
[DataMember]
public virtual double ERPDiscountPercent { get; set; }
Property Value
Type | Description |
---|---|
double |
See Also
ERPProductKey
Foreign key of product+pricelist this line is based on. Can be blank since the QuoteLine doesn’t have to be connected to a product.
Declaration
[DataMember]
public virtual string ERPProductKey { get; set; }
Property Value
Type | Description |
---|---|
string |
See Also
ERPQuoteLineKey
The foreign key to the quoteline in ERP system (if it has such a representation).
Declaration
[DataMember]
public virtual string ERPQuoteLineKey { get; set; }
Property Value
Type | Description |
---|---|
string |
See Also
EarningAmount
The earning, in whatever currency the sale is in. Both ‘EarningAmount and ‘EarningPercent shall be filled out, but the UserValueOverride field must be set to the field the user actually changed last.
Declaration
[DataMember]
public virtual double EarningAmount { get; set; }
Property Value
Type | Description |
---|---|
double |
See Also
EarningPercent
The earning, in percent. Both ‘EarningAmount and ‘EarningPercent shall be filled out, but the UserValueOverride field must be set to the field the user actually changed last. The Percentage is given in integer form, i.e. ‘12%’ is represented as ‘12’.
Declaration
[DataMember]
public virtual double EarningPercent { get; set; }
Property Value
Type | Description |
---|---|
double |
See Also
ExtraField1
This a simple field for adding information that the Connector can provide, and that the qoute document need to display.
Declaration
[DataMember]
public virtual string ExtraField1 { get; set; }
Property Value
Type | Description |
---|---|
string |
See Also
ExtraField2
This a simple field for adding information that the Connector can provide, and that the qoute document need to display.
Declaration
[DataMember]
public virtual string ExtraField2 { get; set; }
Property Value
Type | Description |
---|---|
string |
See Also
ExtraField3
This a simple field for adding information that the Connector can provide, and that the qoute document need to display.
Declaration
[DataMember]
public virtual string ExtraField3 { get; set; }
Property Value
Type | Description |
---|---|
string |
See Also
ExtraField4
This a simple field for adding information that the Connector can provide, and that the qoute document need to display.
Declaration
[DataMember]
public virtual string ExtraField4 { get; set; }
Property Value
Type | Description |
---|---|
string |
See Also
ExtraField5
This a simple field for adding information that the Connector can provide, and that the qoute document need to display.
Declaration
[DataMember]
public virtual string ExtraField5 { get; set; }
Property Value
Type | Description |
---|---|
string |
See Also
ExtraInfo
Extra information, supplied by QuoteConnector, used by a future dynamic GUI extension
Declaration
[DataMember]
public virtual ProductExtraDataField[] ExtraInfo { get; set; }
Property Value
Type | Description |
---|---|
ProductExtraDataField[] |
See Also
IsSubscription
Is this a subscription product, sold in repeating intervals/amounts?
Declaration
[DataMember]
public virtual bool IsSubscription { get; set; }
Property Value
Type | Description |
---|---|
bool |
See Also
ItemNumber
Norwegian: «Postnummer». Specific numbers from some hierarchy, for instance '1.4.3.2'. Is stored here if the user changes the value from the product in the pricelist, or just enters a QuoteLine without a product link.
Declaration
[DataMember]
public virtual string ItemNumber { get; set; }
Property Value
Type | Description |
---|---|
string |
See Also
Name
The name of the product. Is stored here if the user changes the value from the product in the pricelist, or just enters a QuoteLine without a product link.
Declaration
[DataMember]
public virtual string Name { get; set; }
Property Value
Type | Description |
---|---|
string |
See Also
PriceUnit
What is the unit (meter, ton, bushel, microsecond, gradus, τρυβλίον, 五合枡, دونم or whatever); read-only for lines that originate in defined products.
Declaration
[DataMember]
public virtual string PriceUnit { get; set; }
Property Value
Type | Description |
---|---|
string |
See Also
ProductCategoryKey
Either a List id to an id from a connector provided list, or, if the connection doesn't support lists, a text. Is stored here if the user changes the value from the product in the pricelist, or just enters a QuoteLine without a product link.
Declaration
[DataMember]
public virtual string ProductCategoryKey { get; set; }
Property Value
Type | Description |
---|---|
string |
See Also
ProductFamilyKey
Either a List id to an id from a connector provided list, or, if the connection doesn't support lists, a text. Is stored here if the user changes the value from the product in the pricelist, or just enters a QuoteLine without a product link.
Declaration
[DataMember]
public virtual string ProductFamilyKey { get; set; }
Property Value
Type | Description |
---|---|
string |
See Also
ProductTypeKey
Either a List id to an id from a connector provided list, or, if the connection doesn't support lists, a text. Is stored here if the user changes the value from the product in the pricelist, or just enters a QuoteLine without a product link.
Declaration
[DataMember]
public virtual string ProductTypeKey { get; set; }
Property Value
Type | Description |
---|---|
string |
See Also
Quantity
How many units; this is a decimal field since you might want to offer fractional units (2.5kg, or 0.5PC).
Declaration
[DataMember]
public virtual double Quantity { get; set; }
Property Value
Type | Description |
---|---|
double |
See Also
QuantityUnit
What is the unit (meter, ton, bushel, microsecond, gradus, τρυβλίον, 五合枡, دونم or whatever); Connector handles conversion relative to PriceUnit if they are different.
Declaration
[DataMember]
public virtual string QuantityUnit { get; set; }
Property Value
Type | Description |
---|---|
string |
See Also
QuoteAlternativeId
The alternative this line is part of, the conceptual Parent in CRM database.
Declaration
[DataMember]
public virtual int QuoteAlternativeId { get; set; }
Property Value
Type | Description |
---|---|
int |
See Also
QuoteLineId
Primary key
Declaration
[DataMember]
public virtual int QuoteLineId { get; set; }
Property Value
Type | Description |
---|---|
int |
See Also
Rank
QuoteLines can be re-ordered, so we must track the ordering.
Declaration
[DataMember]
public virtual int Rank { get; set; }
Property Value
Type | Description |
---|---|
int |
See Also
RawExtraInfo
Read-only extra information in plain text, supplied by QuoteConnector, used by a future dynamic GUI extension
Declaration
[DataMember]
public virtual string RawExtraInfo { get; set; }
Property Value
Type | Description |
---|---|
string |
See Also
Reason
If QuoteStatus is not OK, then this field contains a localized explanation that the user can be shown.
Declaration
[DataMember]
public virtual string Reason { get; set; }
Property Value
Type | Description |
---|---|
string |
See Also
Rights
Field1=right&Field2=right, etc. of any fields that have non-standard field access rights. Rights can be one of: N (=None or Hidden), R (=Read-only), W (=Writeable), M (=Mandatory). The fields will mostly be from the Quoteline table, but some added fields that are conceptually part of the quoteline, like Image will also be possibly to set rights on. Will be used by SuperOffice to control the user interface when showing the record.
Declaration
[DataMember]
public virtual string Rights { get; set; }
Property Value
Type | Description |
---|---|
string |
See Also
Rule
The names of one or more calculation rules that are in effect for this line, comma-separated case-insensitive
Declaration
[DataMember]
public virtual string Rule { get; set; }
Property Value
Type | Description |
---|---|
string |
See Also
Status
If there was a problem with for instance calculation, this field is set to warning or error. Typically shown as an icon. QuoteStatus is an enum with statuses: OK, OKWithInfo, Warning, Error.
Declaration
[DataMember]
public virtual QuoteStatus Status { get; set; }
Property Value
Type | Description |
---|---|
QuoteStatus |
See Also
SubTotal
Value to help the user interface, is equal to 'Quantity * ListPrice'
Declaration
[DataMember]
public virtual double SubTotal { get; set; }
Property Value
Type | Description |
---|---|
double |
See Also
SubscriptionQuantity
The default number of SubscriptionUnits to suggest when creating quote lines from this product
Declaration
[DataMember]
public virtual double SubscriptionQuantity { get; set; }
Property Value
Type | Description |
---|---|
double |
See Also
SubscriptionStart
Start date for subscription, as offered
Declaration
[DataMember]
public virtual DateTime SubscriptionStart { get; set; }
Property Value
Type | Description |
---|---|
DateTime |
See Also
SubscriptionUnit
Either a List id to an id from a connector provided list, or, if the connection doesn’t support lists, a text with the actual subscription unit.
Declaration
[DataMember]
public virtual string SubscriptionUnit { get; set; }
Property Value
Type | Description |
---|---|
string |
See Also
Supplier
The name of the supplier. Is stored here if the user changes the value from the product in the pricelist, or just enters a QuoteLine without a product link.
Declaration
[DataMember]
public virtual string Supplier { get; set; }
Property Value
Type | Description |
---|---|
string |
See Also
SupplierCode
The suppliers' code or part number for this product. Is stored here if the user changes the value from the product in the pricelist, or just enters a QuoteLine without a product link.
Declaration
[DataMember]
public virtual string SupplierCode { get; set; }
Property Value
Type | Description |
---|---|
string |
See Also
Thumbnail
A small image of the product, typically used to show in a list. Base64 encoded png.
Declaration
[DataMember]
public virtual string Thumbnail { get; set; }
Property Value
Type | Description |
---|---|
string |
See Also
TotalPrice
TotalPrice = SubTotal - DiscountAmount or TotalPrice = (UnitCost * Quantity) + EarningAmount, according to what the user changed last.
Declaration
[DataMember]
public virtual double TotalPrice { get; set; }
Property Value
Type | Description |
---|---|
double |
See Also
UnitCost
The cost price per unit for this product. May be filled in by connector if it has the Provide-Cost capability.
Declaration
[DataMember]
public virtual double UnitCost { get; set; }
Property Value
Type | Description |
---|---|
double |
See Also
UnitListPrice
The standard list price; as given by ERP Connector, OR overridden by user
Declaration
[DataMember]
public virtual double UnitListPrice { get; set; }
Property Value
Type | Description |
---|---|
double |
See Also
UnitMinimumPrice
The minimum price this line can be sold for (to limit discounting). Will come from the connector. List price per unit must exceed the minimum price per unit.
Declaration
[DataMember]
public virtual double UnitMinimumPrice { get; set; }
Property Value
Type | Description |
---|---|
double |
See Also
Url
A url to the product info. Can be empty. Is stored here if the user changes the value from the product in the pricelist, or just enters a QuoteLine without a product link.
Declaration
[DataMember]
public virtual string Url { get; set; }
Property Value
Type | Description |
---|---|
string |
See Also
UserValueOverride
Has the pre-calculated (from ERP) price information been overridden, and how. If the user has filled out the discountpercentage field, then the UserValueOverride field is set to OverridePercent. (The DiscountAmount, EarningPercent, EarningAmount and TotalPrice fields are calculated based on the DiscountPercent.)
Declaration
[DataMember]
public virtual ValueOverride UserValueOverride { get; set; }
Property Value
Type | Description |
---|---|
ValueOverride |
See Also
VAT
Tax/VAT - THIS IS A PERCENTAGE. The connector is responsible for populating this field; the percentage will be used to calculate VAT amounts available as merge fields in the document templates (but amounts are never stored in the database).
Declaration
[DataMember]
public virtual double VAT { get; set; }
Property Value
Type | Description |
---|---|
double |
See Also
VATInfo
Tax/VAT information, Extra info about VAT that the connector might insert, and the users might want to specify on the quote. The core CRM product has no business logic for this field, it is wholly up to connectors to use it.
Declaration
[DataMember]
public virtual string VATInfo { get; set; }
Property Value
Type | Description |
---|---|
string |
See Also
Methods
ToString()
Returns the carrier contents as a formatted string.
Declaration
public override string ToString()
Returns
Type | Description |
---|---|
string | The carrier contents. |
See Also
ToString(string)
Returns the carrier contents as a formatted string, useful for debugging. Each line in the output is prefixed with the input value.
Declaration
public string ToString(string prefix)
Parameters
Type | Name | Description |
---|---|---|
string | prefix | The line prefix (typically used for indenting) |
Returns
Type | Description |
---|---|
string | The carrier contents. |