# Customer specific prices

### Adding customer specific prices <a href="#adding-customer-specific-prices" id="adding-customer-specific-prices"></a>

#### via Shopware Admin <a href="#via-shopware-admin" id="via-shopware-admin"></a>

You can easily provide new custom prices manually via Shopware admin area.

<figure><img src="/files/lyD3T6TLCTNC9nqlSHdh" alt=""><figcaption><p>Add Customer specific prices via shopware admin</p></figcaption></figure>

#### via API <a href="#via-api" id="via-api"></a>

You can easily create new custom prices via Shopware Admin API (Shopware Standard).&#x20;

Endpoint: POST json <https://your-domain.com/api/b2b-customer-price>

Or ... just use the "admin-api/sync-api" of shopware for batch-process.

Entities used: <https://docs.b2b-sellers.com/b2b-platform/api-references/entities/customerprice>&#x20;

{% hint style="info" %}
Here you'll find more informations about the sync-api (bulk / batch payload) <https://docs.b2b-sellers.com/b2b-platform/api-references/admin-api/general-admin-api-info#bulk-payloads>
{% endhint %}

#### Create customer specific prices without UUID's (Product and Customer) <a href="#create-customer-specific-prices-without-uuids-product-and-customer" id="create-customer-specific-prices-without-uuids-product-and-customer"></a>

We know that a lot of ERP vendors or interface providers still provide data using traditional methods. For example, also via an SQL insert. For this reason we have provided you with two optional fields: customer\_number and product\_number.

You can fill these two fields and leave the customer\_id + product\_id fields (which require a UUID) blank.

Then you can use our provided command to convert customer\_number's and product\_number's to uuids.

Copy

```
// command
php bin/console b2b:entity:map
```

{% hint style="info" %}
More information: <https://docs.b2b-sellers.com/b2b-platform/developer-guides/first-steps/cli-commands#entity-mapping-command>
{% endhint %}

You can also fill the customer\_id and product\_id directly if you have the data available.

### Special features <a href="#special-features" id="special-features"></a>

#### The customer individual price overwrites all other calculated prices <a href="#the-customer-individual-price-overwrites-all-other-calculated-prices" id="the-customer-individual-price-overwrites-all-other-calculated-prices"></a>

You should know that if a customer individual price is stored, this is drawn last and is therefore the last level of the price calculation. Even if you have stored a customer discount rate (addon), this is not taken into account and overwritten by the customer-specific price.

#### Graduated prices in connection with customer-specific prices <a href="#graduated-prices-in-connection-with-customer-specific-prices" id="graduated-prices-in-connection-with-customer-specific-prices"></a>

A big advantage of our custom prices is the possibility of full scale pricing, even in combination with Shopware standard prices. Thus, even such a configuration is possible:

* 1-5 pieces - Shopware calculated price via extended prices
* 6-15 pieces - customer individual price
* 16-30 pieces - Shopware calculated price via extended prices
* from 31 pieces - ccustomer individual price

{% hint style="info" %}
This graduated price calculation is a key advantage over other suppliers
{% endhint %}

#### Performance / big data with customized prices <a href="#performance-big-data-with-customized-prices" id="performance-big-data-with-customized-prices"></a>

Basically, all sizes of customer individual prices can be covered! In our Highlast-Demoshop more than 3 million customer individual prices are maintained. Our approach in the background is designed for large amounts of data.

#### Time-based validity of customer-specific prices <a href="#time-based-validity-of-customer-specific-prices" id="time-based-validity-of-customer-specific-prices"></a>

You can specify a validity of individual customer prices. Period of validity from/until. This means that a custom price is valid only in this period.

Attention, you have to set in B2Bsellers Suite -> CORE plugin configuration that the validity period should be respected. (This setting is necessary for performance reasons)

Use the following command to remove the prices that are no longer valid from the database:

Copy

```
php bin/console b2b:clean:expired-customer-prices --force
```

#### How are customer-specific prices displayed in the storefront? <a href="#how-are-customer-specific-prices-displayed-in-the-storefront" id="how-are-customer-specific-prices-displayed-in-the-storefront"></a>

**Example: Customer individual price of piece 1 to X**

Since there is only one price here, the complete price is exceeded and a label is added so that the customer knows that this is a special arrangement.

<figure><img src="/files/Dt8whMUaiuxySWm1DUkJ" alt=""><figcaption></figcaption></figure>

**Special case when discount rate and customer-specific prices are available for a product**

<figure><img src="/files/oNDTITRsDkey5hdVctCu" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.b2b-sellers.com/b2b-platform/user-documentation/admin-settings-configuration/customer-specific-prices.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
