Extension: CustomerPrice

shopcustomer-price_clever-zoeger-extension_logo.jpg

This Magento extension enables personalised prices for customers. Customised discounts per customer. Maximise your sales and customer satisfaction by offering personalised prices.

Implementation

To set up Customer Price, please go to System → Configuration → CLEVER+ZÖGER GMBH → Customer Price

Backend: Configuration

Customer Price Configuration

The submenu "Customer Price Configuration" redirects you to the general settings.

customer price backend configuration

  • This Subsection allows to set the Customer Price options.

    • enable to use Customer Price Extension

    • Special Price: You can use Customer Price as Special price

    • Ignore Customer Price: If the product already has a special price, you can set whether the customer price should be displayed or not.

    • Customer Price can be displayed as "Your Price": You can set own frontend prefix for “Your Price”

    • Customer price displayed as “Your price from” for Configurable Products: You can set own frontend prefix for “Your Price”. For configurable products, the most favourable product is displayed with "Your Price" As soon as the customer configures the product, displayed as "Your Price" is removed

REST API Mapping settings

If you use a REST API interface, you can perform the mapping here. Here it is possible to configure remappings if your shop has other identifier fields

customer price backend settings rest api

customer price Rest api mapping settings

  • company ID reference field: The customer attribute that holds the company ID used to match customers during the CSV import described in the "CSV Import: Customer Discounts" section below.

Endpoints

Endpoint

Method

Data

Description

V1/cleverzoeger-customerprice/customerprice/search?searchCriteria[filter_groups]

GET

List All Prices

V1/cleverzoeger-customerprice/customerprice/search?searchCriteria[filter_groups][0][filters][0][field]=from_qty&searchCriteria[filter_groups][0][filters][0][value]=1

GET

Filter Prices

V1/cleverzoeger-customerprice/customerprice

POST

{
"customerprice": [
{
"customer_id": "string",
"group_id": "string",
"product_id": "string",
"price": "string",
"type": 0
}
]
}

Example:
{
"customerprice": [
{
"customer_id": "4",
"group_id": "3",
"product_id": "1",
"price": "24"
},
{
"customer_id": "",
"group_id": "3",
"product_id": "1",
"price": "26"
}
]
}

Insert new Prices

Set Customer Price

customer price backend settings price list

Add new Customer Price

customer-price_clever-zoeger-extension_backend_settings_edit_customer_price.png

  • The Subsection Price List allows to set the Customer Price.

    • You can select or insert:

      • customer ID

      • group ID

      • product ID

      • price

  • Pleas notice: If you set group ID (e.g. Retailer) and Customer ID, the customer must be linked to the correct group. You can also leave Group ID empty and only set Customer ID.

  • After saving, you’ll find the Customer Price in the overview.

customer price backend settings save price

CSV Import: Customer Discounts

As an alternative to maintaining prices manually, customer discounts (as a percentage, applied catalog-wide) and company IDs can be imported in bulk from a CSV file. This is intended for shops that already manage per-customer discount conditions in an external system (e.g. an ERP export).

  • The customer attribute configured as the company ID reference field (see "REST API Mapping settings" above) is used together with the customer’s email address to match a CSV row to a Magento customer.

  • If a Magento customer already has a company ID that matches the CSV row, the discount percentage is updated.

  • If a Magento customer has no company ID yet but is found via email, the company ID is added automatically once the company name and city match the customer’s default billing address; otherwise the row is skipped and reported for manual review.

  • If a Magento customer’s company ID does not match the CSV row found via email, or a Magento customer’s company ID is not present in the CSV at all, nothing is changed automatically — the row is written to a report instead.

  • Rows that could not be processed automatically are collected in a report CSV under var/cleverzoeger_customerprice/import-reports/.

Manual Import (CLI)

bin/magento cleverzoeger:customerprice:import-discounts <path-to-file.csv>

Automatic Import (Cron)

CSV files placed into var/customerprice are picked up automatically every 15 minutes. A found file is first moved to var/customerprice/processing while it is being imported, then moved on to var/customerprice/done on success or var/customerprice/failed (and logged) if the import fails.

Cache Management

After completing all configurations go To System > Tools > Cache Management

customer price cache management flush magento cache

  • To ensure that the changes are applied, please Flush Magento Cache. You can clear the entire Magento Cache or select the INVALIDATED caches.

Frontend

customer price frontend unlogged customer normal prices

  • Front view without logging into the customer account. The customer price is not displayed.

Login Customer Account

After the customer has logged into his account, the individual discount prices for the customer appear. Here you can see Customer Price samples.

Product Listing Page:

customer price frontend product isting

Product Detail Page:

customer price frontend product detail

Mini Basket:

customer price frontend mini basket

Shopping Cart:

customer price frontend shopping cart

Checkout:

customer price frontend checkout

Display customer price as your price in Frontend:

“your price” will be displayed at product listing and product detail page.

customer price frontend pdl yourprice

customer price frontend pdp yourprice

Configurable products displayed as your price from:

“your price from” will be displayed at product listing and product detail page.

customer price frontend config product pdl