Show / Hide Table of Contents

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.
Inheritance
object
QuoteLine
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
IQuoteAgent

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
IQuoteAgent

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
IQuoteAgent

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
IQuoteAgent

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
IQuoteAgent

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
IQuoteAgent

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
IQuoteAgent

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
IQuoteAgent

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
IQuoteAgent

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
IQuoteAgent

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
IQuoteAgent

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
IQuoteAgent

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
IQuoteAgent

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
IQuoteAgent

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
IQuoteAgent

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
IQuoteAgent

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
IQuoteAgent

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
IQuoteAgent

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
IQuoteAgent

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
IQuoteAgent

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
IQuoteAgent

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
IQuoteAgent

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
IQuoteAgent

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
IQuoteAgent

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
IQuoteAgent

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
IQuoteAgent

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
IQuoteAgent

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
IQuoteAgent

QuoteLineId

Primary key

Declaration
[DataMember]
public virtual int QuoteLineId { get; set; }
Property Value
Type Description
int
See Also
IQuoteAgent

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
IQuoteAgent

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
IQuoteAgent

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
IQuoteAgent

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
IQuoteAgent

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
IQuoteAgent

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
IQuoteAgent

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
IQuoteAgent

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
IQuoteAgent

SubscriptionStart

Start date for subscription, as offered

Declaration
[DataMember]
public virtual DateTime SubscriptionStart { get; set; }
Property Value
Type Description
DateTime
See Also
IQuoteAgent

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
IQuoteAgent

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
IQuoteAgent

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
IQuoteAgent

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
IQuoteAgent

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
IQuoteAgent

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
IQuoteAgent

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
IQuoteAgent

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
IQuoteAgent

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
IQuoteAgent

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
IQuoteAgent

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
IQuoteAgent

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
IQuoteAgent

Methods

ToString()

Returns the carrier contents as a formatted string.

Declaration
public override string ToString()
Returns
Type Description
string

The carrier contents.

See Also
IQuoteAgent

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.

See Also
IQuoteAgent

See Also

IQuoteAgent
© SuperOffice. All rights reserved.
SuperOffice |  Community |  Release Notes |  Privacy |  Site feedback |  Search Docs |  About Docs |  Contribute |  Back to top