Skip to main content

Documentation Index

Fetch the complete documentation index at: https://sailia-mintlify-donation-export-1774886756.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

Custom pricing lets you override the default price of a shop product when selling through the POS. This is useful for products where the price varies — items sold by weight, negotiated prices, or situational discounts that don’t fit a standard discount code.

How it works

When custom pricing is enabled on a shop product, POS operators see a price entry keypad before the item is added to the basket. The operator enters the price manually, and that price is used for the transaction instead of the product’s default price. If custom pricing is not enabled, the product is added at its default price as usual.
Custom pricing only applies to shop products sold through the POS. It does not affect online checkout or other product types.

Enable custom pricing on a product

You can enable custom pricing from the product details page or when editing a variant.

On the product

1

Open the product

Open the shop product in the product dashboard.
2

Edit the default price

Click Default Price in the product info list.
3

Toggle custom pricing

Toggle Allow Custom Pricing on and click Save.
The product info list shows the default price with a “(with custom pricing)” label when enabled.

On a variant

1

Select the variant

Open the shop product and select the variant you want to edit.
2

Enable custom pricing

Toggle Allow Custom Pricing on in the variant editor.
3

Save

Click Save to apply the change.
Each variant can have custom pricing enabled or disabled independently. In the POS variant selector, variants with custom pricing show “Custom Price” instead of a fixed price.

Using custom pricing in the POS

When you tap a product or variant with custom pricing enabled in the POS:
  1. A keypad appears prompting you to enter the price.
  2. Type the price using the keypad or keyboard.
  3. Click Add to Basket to add the item at the entered price.
The custom price must be greater than zero. If you enter zero or leave it blank, you see an error and the item is not added.
Items with different custom prices are treated as separate line items in the basket, even if they are the same product. Adding the same product at two different custom prices creates two basket entries.

Custom pricing and the basket API

When adding a shop product to a basket programmatically, pass a CustomPrice field (in pence) alongside the standard ShopProductID and Quantity fields. The product must have custom pricing enabled — otherwise the request is rejected with an error.
{
  "ProductType": "SHOP_PRODUCT",
  "ShopProductID": 123,
  "Quantity": 1,
  "CustomPrice": 1500
}
In this example, the product is added at a custom price of £15.00 (1500 pence). The CustomPrice value must be greater than zero.

Permissions

Custom pricing uses the same permissions as shop product management. Any user with access to edit shop products can enable or disable custom pricing. POS operators can set custom prices on enabled products when processing sales.