---
title: "Brink Commerce events"
description: "Events the Brink Commerce integration handles and what each does."
sidebar:
  label: Events
---

The integration receives catalog, price, stock, and store-group events for the configured Enad store groups and pushes the data to Brink. Events for store groups outside the configuration are ignored.

## Products and variants

| Event | What Enad sends |
|---|---|
| Product created or updated | The product and all its variants as a Brink product upsert, including the single primary image URL, prices, stock, and categories. Products with the status `incomplete` are skipped. |
| Product deleted | Removes the product from Brink. |
| Variant updated | Fetches the parent product and upserts the variant. |
| Variant deleted | Removes the variant from Brink by its product number. |
| Product or variant status changed | Ignored as its own event. Status reaches Brink inside product and variant payloads: `active` maps to `isActive`, `archived` to `isArchived`, and anything else to inactive. |

Images travel as one URL per product and per variant, with a fallback chain from variant images to product images to variant-group images. Only the primary image is sent; the rest of the gallery is not synced to Brink.

Unchanged product and variant payloads are not sent again.

## Prices

| Event | What Enad sends |
|---|---|
| Prices updated (store group) | Prices per variant and store group, tax-inclusive and converted to the currency's minor units. Each market country code gets its own price entry, and the first market for a country code wins. When a price is on sale, the sale price replaces the base price. |
| Single price updated (one market) | Refetches the full price set for the store group first, so Brink always receives the complete set. |

Prices with an inactive status are skipped, and unchanged price sets are not sent again.

## Stock

| Event | What Enad sends |
|---|---|
| Stock updated | The quantity for the variant in the matching inventory. Applies only to warehouses that are available online, and changes that originated in Brink are ignored. An update where only the inventory date changed and the quantity stayed the same is skipped. |
| Stock delta | Adds the delta to the inventory. Skipped when the delta is zero or the inventory is not available online. |
| Inventory removed | Sets the quantity to 0 in Brink, then removes the inventory from the product. |
| Warehouse created or updated | Creates or updates the Brink inventory when the warehouse is available online, including its address. |
| Warehouse revoked from online or deleted | Removes the Brink inventory. |
| Market inventories updated | Sends the available-online warehouses for a store group and market, in warehouse priority order. |
| Stock validation config | Writes the variant's stock validation flag to Brink. |

## Store groups, markets, and tax groups

| Event | What Enad sends |
|---|---|
| Store group upsert | Creates or updates the Brink store group, including its channel type (B2C or B2B) and markets. |
| Market added or removed | Adds or removes country codes on the store group. |
| Store group deleted | Deletes the store group in Brink. |
| Tax group upsert, delete, or rate change | Pushes the tax group and its per-market tax rates to Brink. |

## Tags and attributes

Tags and attribute values reach Brink inside product and variant payloads. Attribute relationship changes re-sync the affected product or variant, and channel content changes re-sync their parent product or variant.

## Field mapping

| Enad data | Brink destination |
|---|---|
| Product number | Product parent reference |
| Variant number | Variant SKU and reference |
| Names | `name` and `displayNames`, chosen by **Display name setup** |
| Descriptions | `description` and `displayDescriptions` per locale, truncated to 500 characters |
| Primary image | `imageUrl`, with fallback from variant to product to variant-group images. Each list is sorted so an image with the **First integration** flag comes first, otherwise the image with the lowest priority number |
| Status | `isActive` and `isArchived` |
| Attributes and parent custom fields | `customAttributes`, capped at 50 entries |
| Tags | `tags`, at most 20 keys; with **Group tags** one grouped key holds up to 10 values, otherwise one key per tag with values truncated to 40 characters |
| Prices | Variant prices on the store group, one entry per market country code |
| Stock | Inventory quantity per inventory |
| Tax groups | `taxGroupId` on variants |
| Inventories | Brink inventories with name, description, and address |

## Related

- [Brink Commerce](/integrations/brink-commerce)
- [Brink Commerce configuration](/integrations/brink-commerce/configuration)
