Skip to content
  • There are no suggestions because the search field is empty.

What data is imported from Shopware 6 into Custobar?

Do you need to know in more detail what data is imported from Shopware 6 into Custobar when you use Custobar’s Shopware 6 integration?

In the following tables you can see which fields are updated to Custobar from the fields available in Shopware 6 and how they are mapped.

Customers

Source: Shopware customer entity
Custobar datatype: customers

Custobar Field

Shopware Source

Notes

external_id

customerNumber

null if guest or import_customers_without_id=true

shopware6_customer_id

id

Internal Shopware UUID

shopware6_customer_number

customerNumber

Always populated

shopware6_guest

guest

Boolean

first_name

firstName

 

last_name

lastName

 

email

email

 

shopware6_salutation_displayname

salutation

Extracted display name (e.g. "Mr.")

shopware6_salutation_lettername

salutation

Extracted letter name (e.g. "Dear Mr.")

company

company

 

language

language.translationCode.code

Shortened to 2-letter code (e.g. fi from fi-FI)

birth_date

birthday

Formatted as YYYY-MM-DD

country

defaultBillingAddress.country.iso

Lowercased ISO code (e.g. fi)

city

defaultBillingAddress.city

 

street_address

defaultBillingAddress.street

 

zip_code

defaultBillingAddress.zipcode

 

last_login

lastLogin

Converted to UTC datetime

tags

tags[].name

Array of tag name strings

shop_id

salesChannel.id

Shopware sales channel UUID

shopware6_shop_domain

PARAMETERS.domain

From integration config

can_email

newsletter

Boolean newsletter opt-in

Newsletter Recipients (Events)

Source: Shopware newsletter_recipient entity
Custobar datatype: events
Trigger: Webhooks (newsletter.register, .confirm, .unsubscribe) + scheduled fetch every 1h
Fetch endpoint: POST /api/search/newsletter-recipient/

Custobar Field

Shopware Source

Notes

email

email

 

first_name

firstName

 

last_name

lastName

 

customer_language

language.translationCode.code

Shortened to 2-letter code

shop_id

salesChannel.id

 

type

status (mapped)

See status mapping below

mailing_lists

salesChannel.name

Channel name used as list name

shopware6_sales_channel_name

salesChannel.name

 

Newsletter status → Custobar event type mapping:

Shopware status

Custobar type

notSet

MAIL_PRE_SUBSCRIBE

optOut

MAIL_UNSUBSCRIBE

direct

MAIL_SUBSCRIBE

optIn

MAIL_SUBSCRIBE

Products

Source: Shopware product entity
Custobar datatype: products
Trigger: product.written webhook (real-time)

Custobar Field

Shopware Source

Notes

external_id

productNumber

Used as primary product identifier

title

name

 

price

price[].listPrice.gross or price[].gross

In cents; uses listPrice if available and > 0; falls back to price[0] if no currency match

sale_price

price[].gross

In cents; only set when listPrice exists and > 0 (i.e. item is on sale)

description

metaDescription

SEO meta description

brand

manufacturer.name

 

ean

ean

EAN/GTIN barcode

visible

active

Boolean

in_stock

stock

Truthy cast of stock quantity

url

seoUrls + PARAMETERS.domain

Full canonical URL, e.g. https://{domain}/{seoPath}

image

cover.media.url

Cover image URL

weight

weight

Formatted as "{value} kg"

tags

tags[].name

Array of tag name strings

categories

categories[].name

Array of category name strings

shopware6_parent_id

parentId

UUID of parent product (variants)

shopware6_product_id

id

Internal Shopware UUID

shopware6_product_number

productNumber

 

Price logic: The integration first looks for a price entry matching PARAMETERS.default_currency_id. If found and a listPrice exists (sale scenario), price = list price (original), sale_price = gross price (discounted). If no currency match, falls back to price[0].

Sales (Orders)

Source: Shopware order entity
Custobar datatype: sales
Trigger: order.written, order_transaction.written, order_delivery.written webhooks

Custobar Field

Shopware Source

Notes

sale_external_id

id

Shopware order UUID

sale_date

orderDateTime

 

sale_email

orderCustomer.email

 

sale_customer_id

orderCustomer.customer.customerNumber

null if guest order

sale_shop_id

salesChannel.id

 

sale_shopware6_order_number

orderNumber

Human-readable order number

tags

tags[].name

Array of tag name strings

sale_payment_method

transactions[].paymentMethod.name

Unique payment method names

sale_shipping_method

deliveries[-1].shippingMethod.name

Most recent delivery's method

sale_shopware6_latest_payment_status

transactions[-1].stateMachineState.technicalName

Most recent transaction state

sale_shopware6_latest_delivery_status

deliveries[-1].stateMachineState.technicalName

Most recent delivery state

sale_state

stateMachineState.technicalName (mapped)

See state mapping below

sale_currency

currency.isoCode

Only set if matches company currency

sale_exchange_rate

(derived)

Only set if foreign currency

sale_shipping

shippingTotal (in cents)

In company currency; null if foreign

sale_shipping_in_currency

shippingTotal (in cents)

In order currency; null if company currency

sale_total

amountTotal (in cents)

In company currency; null if foreign

sale_total_in_currency

amountTotal (in cents)

In order currency; null if company currency

sale_shopware6_shop_domain

PARAMETERS.domain

From integration config

sale_coupon_codes

lineItems[promotionId].payload.code

Promotion codes used

sale_shopware6_coupon_labels

lineItems[promotionId].label

Promotion names

sale_rows

lineItems[]

See Sale Line Items below

Order state → Custobar sale_state mapping:

Shopware technicalName

Custobar sale_state

open

NEW

in_progress

IN_PROGRESS

completed

COMPLETED

cancelled

CANCELLED

Sale Line Items (Rows)

Source: order.lineItems[] (nested within each sale)
Mapped into: sale_rows array on the Sales record

Custobar Field

Shopware Source

Notes

product_id

ROW.payload.productNumber

Links to product external_id

quantity

ROW.quantity

 

total

ROW.totalPrice

In cents

product_title

ROW.label

Product name at time of order

unit_price

ROW.unitPrice

In cents; only in company currency (otherwise null)

unit_price_in_currency

ROW.unitPrice

In cents; only in foreign currency (otherwise null)