Offers and Prices
Introduction
An offer represents a specific commercial proposal linked to a variant.
It allows users (operators/suppliers) to propose different configurations and purchasing conditions for the same item.
An offer can include information about the supplier, price, stock, purchasing conditions, and other specific parameters.
Creating an Offer
There are several ways to create an offer in Djust:
Via the Back Office (BO)
The user can create an offer from:
- The Offer page.
- The variant product detail page.
Via Data Import
To create multiple offers in bulk, the import tool via the Data Hub** can be used.
📌 [Link to Data Hub Offers page]
Offer Composition
Offer Definition
An offer is defined by several key elements that impact its availability and purchasing conditions:
- Available stock
- Stock alert threshold
- Shipping time
- Currency (a default currency is set but can be modified)
- Associated supplier
- Packaging (a default value is set but can be adjusted)
- Quantity per unit (a default value is set)
- Minimum order quantity (defaults to 1 when not provided — see below)
- Purchasing conditions (a default configuration is set but can be customized based on the client or client group)
Minimum Order Quantity Default
The minimum order quantity of an offer (minOrderQuantity) defaults to 1 whatever the channel used to create or update the offer:
| Channel | Behaviour when the value is not provided |
|---|---|
API — createOfferInventories (POST /v1/offer-inventories) | Field absent or null → 1 |
API — updateOfferInventory (PUT /v1/offer-inventories/{offerInventoryId}) | Field absent or null → 1 |
| Back Office — offer creation | Field left empty → 1 |
| Data Hub — offer import | Empty column → 1 |
An explicit 0 is kept as is: it is distinguished from an absent field, and any provided value is respected.
Note: Cart and order validation treat0and1the same way, so this default has no impact on checkout. Offers that were previously created with0are not modified — the default applies to future creations and updates only.
Price Management
An offer can contain multiple price configurations that adapt according to the target audience.
Available Price Types
- Unit price: Price applied to a single unit of the product.
- Bulk price: Specific rate for a defined purchase volume.
Price Assignment
A price can be set for:
- A specific account (e.g., VIP clients, partner accounts)
- A group of accounts (e.g., resellers, distributors) (link to be added)
- A public price (visible to all clients)
💡 An offer can contain multiple prices with different conditions.
💡 Users can also create offers without prices by enabling the setting: "Offers without prices allowed" in Application Settings.
Custom Fields in Offers
Custom Fields allow users to add specific information to offers and can be used to filter and enhance offer management.
Using Offer Custom Fields
- They enable the storage of additional information specific to an offer.
- They can be used to refine searches and filters in the catalog.
- Some custom fields may be mandatory, depending on the platform configuration.
Custom Fields with Specific Roles
Certain Custom Fields serve specific purposes, such as:
- Offer Custom Fields
These custom fields help manage the taxation applied to an offer:- Product tax rate
- Product tax code
- Shipping tax rate
- Shipping tax code
📌 Important: Proper configuration of Custom Fields is essential for ensuring smooth and consistent offer management.
Offer Status and Visibility
Status and visibility are two distinct pieces of information:
| Information | Values | Meaning |
|---|---|---|
| Status | Active / Inactive | The state of the offer itself. An inactive offer is never exposed on the storefront. |
| Visibility | Online / Offline | Whether the offer is actually visible on the site for the store being consulted, according to the last catalog indexation. |
An active offer can be offline — for instance when its product or variant is inactive, when it is out of the catalog views of the store, or simply when the catalog has not been indexed since the last change. The offer list displays the two in separate columns so that these cases can be spotted at a glance.
Note: Visibility reflects the last catalog indexation. An offer activated a few seconds ago staysOfflineuntil the next indexation. See Indexation.
Filtering on visibility
getPaginatedOffers (GET /v1/offer-inventories) accepts a visibility query parameter:
| Value | Returns |
|---|---|
ONLINE | The offers visible on the site in the current store |
OFFLINE | The offers that are not visible on the site in the current store |
- The value is case-insensitive; a blank value applies no filter; any other value is rejected with a
400(F-E-012). - The filter is applied before pagination and combines with the search and with every existing criterion (
status,supplierIds,stockMin,priceMin, custom fields, and so on). - The same parameter is accepted by the offer export (
POST /v1/offer-inventories/export), with the same rules.
GET /v1/offer-inventories?status=ACTIVE&visibility=OFFLINE&page=0&size=50
dj-client: OPERATOR
dj-api-key: <your-api-key>
Tip:status=ACTIVEcombined withvisibility=OFFLINEisolates the offers that are supposed to sell but are not exposed on the site.
Stock not set versus zero stock
An offer without any stock value is not an offer out of stock. The list shows — when no stock has ever been set, and 0 when the stock is set to zero. Only the second one is a stock-out.
For the full error reference, see Error / Warning codes.
Store Context and Offer Management
An offer is always defined within a store context. It can be:
- Specific to a store: Available only in a particular store.
- Shared across multiple stores: If the platform configuration allows it.
Users must ensure they associate the offer with the correct store to maintain catalog consistency and product availability.
📌 Useful Links:
Updated 10 days ago

