Customer Offer

Previously, Customer offers were limited to one offer line per Customer offer, which led to a disproportionate amount of supply lines.

In the 2025v1 release, the Customer offers have been improved by seperating the offer lines from the Customer offers:

  • A supplier organization may now create a single Customer offer with multiple Customer offer lines.
  • A supplier organization may now edit a customer offer without editing the Customer offer lines.
  • A supplier organization may now add new Customer offer lines to an existing Customer offer.
  • A supplier organization may now edit and delete single customer offer lines from an existing Customer offer.
  • A supplier organization may now edit the number of pieces and the prices of a single customer offer line.

This page describes how to implement the new endpoints for the improved version of Customer offers.

For the business rules concerning Customer offers, please read Direct sales Customer Offer.

👍

Previous Customer offer endpoints

The previous endpoints used for adding, updating, deleting and syncing Customer offers are still active and usable.

We recommend implementing the improved version and phasing out the previous Customer offers as soon as possible.



Supported scenarios

  • Syncing Customer Offers;
  • Create a Customer Offer with one or more Customer Offer lines;
  • Update a Customer Offer without editing Customer Offer lines;
  • Delete a Customer Offer.
  • Add a Customer offer line to an existing Customer offer.
  • Update a Customer Offer line.
  • Delete a Customer Offer line.
  • Edit the number of pieces and prices of a Customer Offer line.


Prerequisites:

  • The supplier application has the latest update of Organizations;
  • The supplier application has the latest update of Trade items;
  • The supplier application has the latest update of Batches;
  • The supplier application has the latest update of Warehouses;


Implementation - Customer Offers

This section describes how to sync, create, edit and delete Customer Offers.



Guidance

These steps allow you to synchronize the Customer offers created for a supplier organization to the supplier application.

Start by retrieving the maximum sequence number found in Customer Offers using the GetCustomerOffersMaxSequence endpoint.

Next, retrieve changed Customer Offers since last sequence number using the GetSupplyLinesBySequenceNumber endpoint. Repeat this step until all Customer Offers are synchronised.




Implementation - Customer Offer Lines

This section describes how to create, edit and delete Customer Offers Lines.



Guidance

These steps allow you to add new Customer Offer Lines to an existing Customer Offer.

Customer Offer Lines can be added using the AddCustomerOfferLine endpoint and requires a customerOfferId. The endpoint contains the following properties. Properties that may require further explanation are listed below.

📘

Customer Offer Lines added to Customer Offers may have different Order and Delivery periods.

📘

For the mandatory properties, please consult the Model on the Swagger page.


{
  "customerOfferLineId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "tradeItemId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "despatchWarehouseId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "numberOfPieces": 2147483647,
  "pricePerPiece": {
    "currency": "EUR",
    "value": 10000000000000000
  },
  "volumePrices": [
    {
      "unit": "LAYER",
      "pricePerPiece": 9999999
    }
  ],
  "salesUnit": "PACKAGE",
  "orderPeriod": {
    "startDateTime": "2025-06-25T07:04:10.655Z",
    "endDateTime": "2025-06-25T07:04:10.655Z"
  },
  "deliveryPeriod": {
    "startDateTime": "2025-06-25T07:04:10.655Z",
    "endDateTime": "2025-06-25T07:04:10.655Z"
  },
  "usesCatalogAvailability": true,
  "batchId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "packingConfiguration": {
    "piecesPerPackage": 9999,
    "vbnPackageCode": 999,
    "customPackageId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "packagesPerLayer": 9999,
    "layersPerLoadCarrier": 9999,
    "loadCarrier": "NONE",
    "photoUrl": "string"
  },
  "includedServices": [
    "DELIVERY"
  ]
}
  • volumePrices: This property may be used to set a quantity discount by adding a price per volume. By default, the price per piece must be filled. The property volumePrices is optional and allows supplier organizations to add a seperate price per Layer or per Load Carrier to their Customer Offer lines. Once a customer organization orders the amount required for a Layer/Load Carrier, the price per piece for the Customer Offer line changes accordingly.
    • Take note that a volumePrice only affects the corresponding Customer Offer line. For instance, a Customer Offer consists of two Customer Offer lines and both have a lower volumePrice when a layer is ordered. When a customer organization orders a layer of the first Customer Offer line, the price per piece of the second Customer Offer line is not adjusted. A layer of the second Customer Offer line must be ordered for the volumePrice of that line to take effect.
  • salesUnit: This limits the customer organization to only being able to place order in set amounts defined by the salesUnit, such as by Layer, by Load carrier, by entire Supply line.
  • usesCatalogAvailability: Sets the method of availability for the Customer offer.
    • true: The availability of Customer Offer lines is based on the availability of the trade items used in Catalog supply. This feature was created to allow supplier organizations to easily manage the availability of their Direct supply by only having to toggle the availability of their Catalog Supply lines.
    • false: The availability of Customer Offer lines in the Customer Offer is linked directly to the amount specified in the Customer Offer line. This amount counts down, meaning a Customer Offer line with 0 of a salesUnit is considered sold out.
  • includedServices:
    • Set DELIVERY if Transport and Delivery costs should not be settled for sales orders placed on the Customer Offer.
    • Set STICKERING if sticker costs should not be settled for sales orders placed on the Customer Offer.



Implementation - Update Customer Offer Lines

This section describes how to seperately update the Number of pieces and prices of Customer Offer Lines.



Guidance

These steps allow you to update the number of pieces of a Customer Offer Line.

The number of pieces of a Customer Offer Line can be updated using the SetNumberOfPiecesOfCustomerOfferLine endpoint and requires a customerOfferId and a customerOfferLineId. The updated number of pieces must be added to the body of the request.