MultiversExtendedV3 - Item Update
This document describes the process of synchronizing item data from a Multivers Extended V3 environment to the App4Sales platform. The process retrieves product information, including pricing, stock levels, and attributes, and maps it to the App4Sales item structure.
Data Source Configuration
The connector retrieves data from a Multivers Extended V3 API. The base URL is configured in the administration settings. The following API endpoints are used for the item synchronization:
Product
ProductNote
ProductLanguageNote
ProductAttributeValue
ProductCategory
ProductGroup
VatRate
ProductSalesPrice
ProductStock/GetProductStock
PriceList
PriceListPrice
PriceListPriceV2
DiscountProductDiscount (for tier prices)
CustomerSpecificPrice
Data Mapping
The following table outlines the mapping of fields from the Multivers V3 API to the App4Sales item model.
App4Sales Field | Source Field (API/Excel/DB) | Logic/Notes |
ItemCode | ProductCode, UnitCode | The ItemCode is a combination of the ProductCode and UnitCode. The format depends on the "Item code includes unit code" setting. |
InternalItemCode | ProductCode | Direct mapping. |
Currency | ProductBaseCurrencySymbol (setting) | The currency is set from the "Product base currency symbol" setting. |
VatIncluded | 'E' | This field is hardcoded to 'E' (Excluded). |
Description | Description, ProductLanguageNotes | The item description. Can be overridden by language-specific notes if available. |
EanCode | EanCode | Direct mapping. |
Unit | UnitCode | Direct mapping. |
PurchasePackageSize | UseProductAttributeForPurchasePackageSize (setting), PackingUnit | If the "Product attribute for purchase package size information" setting is configured, the value is taken from the specified attribute. Otherwise, it's determined based on the PackingUnit and unit relations. |
SalesPrice | ProductSalesPrices, PriceListsPrices | The sales price is determined by a complex logic. It first looks for a price in the ProductSalesPrices. If not found, it may fall back to a price from a specific price list. The final price can be divided by a factor from the `PricePer` field if the "Divide sales price by price per" setting is enabled. |
SearchDescription | SearchName, SearchKeys, ProductEanSynonyms | A combination of SearchName, SearchKeys, and EAN synonyms, separated by semicolons. |
VatPercentage | VatRates | The VAT percentage is taken from the first available VAT rate for the item. |
IsActionItem | - | This is a calculated field. It is set to true if the item belongs to a promotional pricelist. This depends on the "Retrieve promotion prices as action pricelists to show as from to" and "Base price list code for item sales price" settings. |
AcceptsDefaultDiscount | - | The inverse of `IsActionItem`. |
ItemStatus | ProductCategories, ProductAttributes | The item status is determined based on the "Map item status field name" setting. The connector looks for a matching product category or attribute and maps it to a standard App4Sales item status. |
LastAvailableStock | - | The available stock, calculated based on the stock formula. |
NextDelivery | StockOverview, NextDateAvailable | The next delivery date. It can be sourced from the `NextDateAvailable` field in the stock information or calculated as the earliest date with a positive stock mutation. The "Use Next Date available from product stock to determine NextDeliveryDate" setting controls this behavior. |
StockIndicator | - | A visual indicator for stock levels. If the "Stock indicator formula is based on stock events" setting is enabled, the indicator is set based on future stock events. |
Special Logic & Filters
Item Filtering
The connector can be configured to sync only a subset of items based on the following criteria:
Partial Sync: If partial sync is enabled, the connector only retrieves items that have been modified since the last synchronization.
Product Classification: The "Only sync items from Productclassification" setting allows filtering items based on their product classification.
Product Group: The "Product group code for item sync" setting filters items by product group.
Inactive and blocked items are always excluded from the synchronization.
Stock Synchronization
Stock information is retrieved from the ProductStock/GetProductStock endpoint. The connector can be configured to retrieve stock for a specific warehouse using the "Warehouse" setting. The final stock values are calculated using a stock formula, which can be customized.
Domain Specifics
Price Logic
The connector supports several pricing mechanisms:
Sales Prices: Standard sales prices are retrieved from the
ProductSalesPriceendpoint.Price Lists: Price lists are retrieved and used to determine item prices for different customer groups. The connector retrieves data from the
PriceList,PriceListPrice, andPriceListPriceV2endpoints.Tier Prices: Tier prices (volume discounts) are synchronized if the "Sync tier prices" setting is enabled. These are retrieved from the
DiscountProductDiscountendpoint.Customer-Specific Prices: The connector can retrieve customer-specific prices from the
CustomerSpecificPriceendpoint.
Stock & Availability
Stock information is retrieved via the ProductStock/GetProductStock endpoint. The stock calculation can be influenced by several settings, including:
Warehouse: Specifies the warehouse to retrieve stock from.
Stock indicator formula is based on stock events: If enabled, the stock indicator will be based on future stock events.
Use actual stock as shelf stock: If enabled, the actual stock will be used as the shelf stock.
Matrix & Attributes
The connector synchronizes product attributes and groups, which can be used in App4Sales for filtering and classification.
Item Categories: Product groups and attributes from Multivers are mapped to item categories in App4Sales. The "Use code as item categories description" setting controls whether the code or the description is used for the category name.
Related Settings & Prerequisites
The item synchronization process can be configured with the following settings:
Product attribute for purchase package size information: Specifies which product attribute contains the purchase package size.
Product base currency symbol: The base currency for products.
Use code as item categories description: If enabled, the code will be used as the description for item categories.
Multi level item categories: A comma-separated list of category IDs that should be treated as multi-level categories.
Group multi level item categories: If enabled, multi-level categories will be grouped.
Base price list code for item sales price: The base price list to use for sales prices. Mandatory when retrieving action pricelists.
Add default item properties as item categories (comma seperated): A comma-separated list of product properties to be added as item categories.
Item fields to select from Multivers (comma seperated): A comma-separated list of additional item fields to retrieve from the API.
Max number of parallel requests to MultiversV3 API: The maximum number of parallel requests to the API.
Only sync items from Productclassification: A comma-separated list of product classification codes to filter the item sync.
Product group code for item sync: A product group code to filter the item sync.
Use Next Date available from product stock to determine NextDeliveryDate: If enabled, the next delivery date will be determined by the `NextDateAvailable` field from the product stock.
Use UnitRelations for the purchase package size, based on the Packing Unit: If enabled, unit relations will be used to determine the purchase package size.
Currency that is retrieved as default salesprice: The currency to use for the default sales price.
Retrieve promotion prices as action pricelists to show as from to: If enabled, promotional prices will be retrieved.
Retrieve only items with a specific attribute value: Allows filtering items based on attribute values. Format: `AttributeName1=AttributeValue1;AttributeName2=AttributeValue2`.
Map item status field name: The name of the field (category or attribute) that contains the item status.
Item code includes unit code: If enabled, the unit code will be included in the item code.
Sync tier prices: If enabled, tier prices will be synchronized.
Divide sales price by price per: If enabled, the sales price will be divided by the `PricePer` value.
Warehouse: The warehouse to retrieve stock from.
Stock indicator formula is based on stock events: If enabled, the stock indicator will be based on future stock events.
Use actual stock as shelf stock: If enabled, the actual stock will be used as the shelf stock.