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 |
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.