• Share
    • Twitter
    • LinkedIn
    • Facebook
    • Email
  • Feedback
  • Edit
Show / Hide Table of Contents

QuoteLine Table (127)

Some tooltip text!
• 13 minutes to read
 • 13 minutes to read

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

Name Description Type Null
quoteline_id Primary key PK
ERPQuoteLineKey The foreign key to the quoteline in ERP system (if it has such a representation). String(254) ●
QuoteAlternativeId The alternative this line is part of, the conceptual Parent in CRM database. FK QuoteAlternative ●
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. String(254) ●
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. Enum QuoteStatus ●
Reason If QuoteStatus is not OK, then this field contains a localized explanation that the user can be shown. String(2047) ●
Quantity How many units; this is a decimal field since you might want to offer fractional units (2.5kg, or 0.5PC). Double ●
DeliveredQuantity How many units have been delivered - updated by ERP system. Double ●
Rank QuoteLines can be re-ordered, so we must track the ordering. Int ●
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. String(254) ●
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. String(2047) ●
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. String(254) ●
QuantityUnit What is the unit (meter, ton, bushel, microsecond, gradus, τρυβλίον, 五合枡, دونم or whatever); Connector handles conversion relative to PriceUnit if they are different. String(79) ●
PriceUnit What is the unit (meter, ton, bushel, microsecond, gradus, τρυβλίον, 五合枡, دونم or whatever); read-only for lines that originate in defined products. String(79) ●
IsSubscription Is this a subscription product, sold in repeating intervals/amounts? Bool ●
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. String(254) ●
SubscriptionQuantity The default number of SubscriptionUnits to suggest when creating quote lines from this product Double ●
SubscriptionStart Start date for subscription, as offered DateTime ●
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. String(79) ●
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. String(1023) ●
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. String(254) ●
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. String(254) ●
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. String(254) ●
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. String(254) ●
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. String(254) ●
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. String(254) ●
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). Double ●
UnitCost The cost price per unit for this product. May be filled in by connector if it has the Provide-Cost capability. Double ●
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. Double ●
UnitListPrice The standard list price; as given by ERP Connector, OR overridden by user Double ●
ExtraInfo Extra information, supplied by QuoteConnector, used by a future dynamic GUI extension Clob ●
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’. Double ●
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. Double ●
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’. Double ●
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. Double ●
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.) Enum ValueOverride ●
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’. Double ●
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. Double ●
TotalPrice TotalPrice = SubTotal - DiscountAmount or TotalPrice = (UnitCost * Quantity) + EarningAmount, according to what the user changed last. Double ●
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. String(2047) ●
Rule The names of one or more calculation rules that are in effect for this line, comma-separated case-insensitive String(254) ●
extraField1 This a simple field for adding information that the Connector can provide, and that the qoute document need to display. String(1023) ●
extraField2 This a simple field for adding information that the Connector can provide, and that the qoute document need to display. String(1023) ●
extraField3 This a simple field for adding information that the Connector can provide, and that the qoute document need to display. String(1023) ●
extraField4 This a simple field for adding information that the Connector can provide, and that the qoute document need to display. String(1023) ●
extraField5 This a simple field for adding information that the Connector can provide, and that the qoute document need to display. String(1023) ●
registered Registered when UtcDateTime
registered_associate_id Registered by whom FK associate
updated Last updated when UtcDateTime
updated_associate_id Last updated by whom FK associate
updatedCount Number of updates made to this record UShort

QuoteLine table relationship diagram

Indexes

Fields Types Description
quoteline_id PK Clustered, Unique
QuoteAlternativeId FK Index

Relationships

Table Description
associate Employees, resources and other users - except for External persons
QuoteAlternative Quote 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.
© SuperOffice. All rights reserved.
SuperOffice |  Community |  Release Notes |  Privacy |  Site feedback |  Search Docs |  About Docs |  Contribute |  Back to top