QuoteLine Table (127)

One line in a QuoteAlternative. QuoteLines are mainly information copied from the Products provider. Products information is sometimes edited by the user before being included in the quote, so most information is duplicated from Product rather than referenced directly.

Fields

NameDescriptionTypeNull
quoteline_idPrimary keyPK
ERPQuoteLineKeyThe foreign key to the quoteline in ERP system (if it has such a representation).String(254)
QuoteAlternativeIdThe alternative this line is part of, the conceptual Parent in CRM database.FK QuoteAlternative
ERPProductKeyForeign key of product+pricelist this line is based on. Can be blank since the QuoteLine doesn’t have to be connected to a product.String(254)
StatusIf 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.Enum QuoteStatus
ReasonIf QuoteStatus is not OK, then this field contains a localized explanation that the user can be shown.String(2047)
QuantityHow many units; this is a decimal field since you might want to offer fractional units (2.5kg, or 0.5PC).Double
DeliveredQuantityHow many units have been delivered - updated by ERP system.Double
RankQuoteLines can be re-ordered, so we must track the ordering.Int
NameThe 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.String(254)
DescriptionA 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.String(2047)
CodeA 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.String(254)
QuantityUnitWhat is the unit (meter, ton, bushel, microsecond, gradus, τρυβλίον, 五合枡, دونم or whatever); Connector handles conversion relative to PriceUnit if they are different.String(79)
PriceUnitWhat is the unit (meter, ton, bushel, microsecond, gradus, τρυβλίον, 五合枡, دونم or whatever); read-only for lines that originate in defined products.String(79)
IsSubscriptionIs this a subscription product, sold in repeating intervals/amounts?Bool
SubscriptionUnitEither 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.String(254)
SubscriptionQuantityThe default number of SubscriptionUnits to suggest when creating quote lines from this productDouble
SubscriptionStartStart date for subscription, as offeredDateTime
ItemNumberNorwegian: «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.String(79)
UrlA 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.String(1023)
ProductCategoryKeyEither 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.String(254)
ProductFamilyKeyEither 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.String(254)
ProductTypeKeyEither 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.String(254)
SupplierThe 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.String(254)
SupplierCodeThe 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.String(254)
VATInfoTax/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.String(254)
VATTax/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).Double
UnitCostThe cost price per unit for this product. May be filled in by connector if it has the Provide-Cost capability.Double
UnitMinimumPriceThe 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.Double
UnitListPriceThe standard list price; as given by ERP Connector, OR overridden by userDouble
ExtraInfoExtra information, supplied by QuoteConnector, used by a future dynamic GUI extensionClob
ERPDiscountPercentThe 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’.Double
ERPDiscountAmountThe 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.Double
DiscountPercentThe 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’.Double
DiscountAmountThe 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.Double
UserValueOverrideHas 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.)Enum ValueOverride
EarningPercentThe 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’.Double
EarningAmountThe 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.Double
TotalPriceTotalPrice = SubTotal - DiscountAmount or TotalPrice = (UnitCost * Quantity) + EarningAmount, according to what the user changed last.Double
RightsField1=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.String(2047)
RuleThe names of one or more calculation rules that are in effect for this line, comma-separated case-insensitiveString(254)
extraField1This a simple field for adding information that the Connector can provide, and that the qoute document need to display.String(1023)
extraField2This a simple field for adding information that the Connector can provide, and that the qoute document need to display.String(1023)
extraField3This a simple field for adding information that the Connector can provide, and that the qoute document need to display.String(1023)
extraField4This a simple field for adding information that the Connector can provide, and that the qoute document need to display.String(1023)
extraField5This a simple field for adding information that the Connector can provide, and that the qoute document need to display.String(1023)
registeredRegistered whenUtcDateTime
registered_associate_idRegistered by whomFK associate
updatedLast updated whenUtcDateTime
updated_associate_idLast updated by whomFK associate
updatedCountNumber of updates made to this recordUShort

QuoteLine table relationship diagram

Indexes

FieldsTypesDescription
quoteline_idPKClustered, Unique
QuoteAlternativeIdFKIndex

Relationships

TableDescription
associateEmployees, resources and other users - except for External persons
QuoteAlternativeQuote Version is made up of one or more Alternatives. One of 1..n possible alternatives in a Quote Version. The reason we have alternatives is that a quote can say to a customer, “we can solve you problem in two (or more) different ways, with different technology and sideeffects (and price)”. An Alternative may have discounts on the total amount. The Alternative tracks whether the user on the order level entered the Discount , Earning amount or the TotalPrice fields so that the discount and earning and total can be re-calculated correctly when Quote Lines are added or changed.

Replication Flags

  • Area Management controlled table. Contents replicated to satellites and traveller databases.
  • Copy to satellite and travel prototypes.

Security Flags

  • Sentry controls access to items in this table using user’s Role and data rights matrix.