Attribute Mapping
Business Central knows item attributes: named properties for filtering and searching. Icecat delivers dozens of specifications per item — which of them your business needs, only you know. The module therefore activates nothing on its own; it makes a suggestion from your own data instead.
The Path
- Switch on Import Specifications in the setup and enrich a few items
- Open Product Enrichment Attribute Mapping and run Suggest from Cached Content — the list fills with the specifications that actually occur in your data, sorted by Item Count
- Set Enabled on the few specifications people really filter by
- Switch on Write Item Attributes in the setup
- Run Write Attributes Now
Step 5 works across the entire cache and costs not a single new Icecat request. Changing the selection later is therefore cheap: one more specification costs another run, not new requests.
The Columns
| Column | Meaning |
|---|---|
| Enabled | Whether this specification is written as an item attribute |
| Feature / Group | Name and group as Icecat delivers them |
| Item Count | How many of your items carry it — the basis for the decision |
| Attribute Type | Text, Decimal or Option, suggested from Icecat's value type - several values (multi_dropdown) as Option |
| Use Raw Value | Raw value (language-neutral, numeric) instead of the presentation value |
| Attribute Name | A different name for the BC attribute; empty = the Icecat name |
| BC Attribute Name | The name of the linked attribute as it is called today |
Keep the volumes in mind
Every enabled specification creates one attribute plus one assignment per item. Five specifications across ten thousand items are fifty thousand assignments. Pick the few that customers filter by.
Behaviour in Detail
- If a BC attribute with the same name already exists, that one is used — no duplicate is created.
- A value that does not fit the attribute type - text in a decimal attribute, say - is not written. The result of Write Attributes Now counts it.
- Removing brand content removes only the values the module wrote itself. Values maintained by hand, imported or written by the AI on the same item stay.
Values maintained by hand stay
The module writes every value with the origin Product Enrichment (Marketplace Attributes). It never overwrites a value somebody maintains by hand or imports. Its own values it updates on every run. When Icecat no longer delivers a specification for an item, the next run removes the value the module wrote for it. The result of Write Attributes Now lists kept values and values that do not fit the attribute type separately.
Languages and translations
The values come from the leading language: the first active language of the Setup in which Icecat delivers the item. If Icecat knows an item in English only although German leads, its values come from English. Every further language contributes translations:
- the attribute name - but only when the attribute carries Icecat's name of the leading language. A name of your own applies in every language.
- the values of text and option attributes. Numbers and dates are never translated, nor are the values of an attribute marked Language Neutral. Several values are translated position by position, and only when both languages deliver the same number of values.
The order in which the languages are fetched does not matter: the result is the same. With Use Raw Value the values are often the same in every language - then no translation is created. A translation you maintain by hand stays.
Several values
Specifications of the Icecat value type multi_dropdown ("USB, HDMI, DisplayPort") are split into single values; a comma between two digits stays a decimal comma ("2,5 m, 3,5 m" are two values). The attribute the first write run creates for them is of type Option and allows several values: Business Central shows the first, merchantCENTRAL keeps and sends all of them (Item Attribute Values). An existing attribute that does not allow several values gets the first one only - whether an attribute holds several values is decided on the attribute.