ProConnect Docs
Importers

Customer pricing

Customer pricing CSV format, validation, and per-customer price, description, and visibility rules.

Overview

The customer pricing importer sets customer-specific prices for products, with optional per-customer short descriptions and per-customer product hiding. Each row applies to one customer and one product.

The file is a full snapshot of all customer pricing for the store - every customer, every product - not one customer's price list.

The background job processes uploaded pricing files about every 15 minutes.

Never upload a file covering a single customer. Any active price row missing from the file is deactivated, so a partial file removes every other customer's prices.

Requirements

  • Customer-specific pricing, descriptions, and visibility are store features that must be enabled for your store. Contact ProConnect if you're unsure which are active.
  • CUSTOMER_ID must match the CUSTOMER_ID in the customer CSV, and SKU must match a product SKU from the product CSV. Rows without a matching customer or product import successfully but have no effect until the match exists.

File format

  • Header row required. Headers are case-insensitive.
  • Unknown columns are ignored. Duplicate headers are rejected.
  • Files must be UTF-8. A leading UTF-8 BOM is allowed.

Columns

ColumnRequiredRules
CUSTOMER_IDYesMust exactly match the customer's CUSTOMER_ID, including letter case.
SKUYesMust exactly match the product's SKU, including letter case.
PRICEYesPlain decimal with up to 2 decimal places, from 0 to 9999999.99, e.g. 12.50. No currency symbols or thousands separators. A third decimal place rounds half-up. Negative prices are not supported.
SHORT_DESCRIPTIONNoReplaces the product's short description for this customer. A blank cell clears any existing override.
HIDDENNo1, true, or yes hides the product from this customer. 0, false, no, or blank keeps it visible. Defaults to no.

If the same CUSTOMER_ID and SKU pair appears more than once, the last row wins.

Validation

Pricing imports are all-or-nothing. If one row fails validation, the whole file is rejected and nothing is imported.

When validation fails, the Import log shows a failure report with the rejected rows and reasons.

How updates are applied

Rows in the file are upserted as active price entries. Every field is rewritten on each import, so a blank SHORT_DESCRIPTION or HIDDEN cell clears the stored value - omitting the column does not preserve it.

Active price entries missing from the file are deactivated. They are reactivated, with the values from the file, when the same customer and SKU pair reappears in a later import.

What customers see

When the signed-in customer has a matching row:

  • PRICE replaces the product's standard price everywhere: listings, search, product pages, the cart, and order totals.
  • SHORT_DESCRIPTION replaces the product's short description on listings.
  • HIDDEN removes the product from that customer's search and browse results entirely.

Example

CUSTOMER_ID,SKU,PRICE,SHORT_DESCRIPTION,HIDDEN
ACME001,SKU-001,3.49,Contract price - case of 24,0
ACME001,SKU-003,17.99,,1
ACME002,SKU-001,3.75,,0

Download the sample customer pricing CSV to use as a template.

On this page