Module Products

From Dolibarr ERP CRM Wiki
Jump to navigation Jump to search
Numero/ID of module 50
User doc. of module This page
Developer doc. of module Module Products (developer)


This module manages the product catalog.

See also Modules Services to manage a catalog of services, or page Module Stocks to manage warehouses and stock.


This module is included with the Dolibarr distribution, so there is no need to install it.


To use this module, you must first enable it using an administrator account, via the menu option "Home - Setup - Modules".

Choose the tab where the module is listed. Then click on "Activate".

The module is now activated.

If a cog icon appears Cog circle.svg on module thumb or at end of the line of the module, click on it to access the setup page specific to the module.



A product is an object you sell to customers or it is an object you buy from suppliers. It is a physical object as opposed to Services.

A product follows this rules:

  • A product can be stocked into a warehouse (only products appears in module Stock. Services are not visible).
  • A product can be delivered (only products appears in module Shipment. Services are not visible. Services are realized but cannot be shipped).
  • A product is a material good. It's value often decreases with time (the value of a used product is less than a new product).

Some fields are dedicated to products and not available for Services like:

  • Weight
  • Size
  • Customs code = Commodity code = License code = HTS (An international 6 character code to define the category of product)

Kits products (also called Pack Products or Virtual Products)

A product or service may be registered as a Kit (a "parent") product, that is, containing other (single) products. This function is activated from the Products or the Service module settings page. It allows "packages" or "kits" of products to be dealt with as a single lot, within orders, invoices and inventory, instead of dealing individually with the components.

A Kit product complies with the following rules:

  • When adding a product in a document (proposals, invoice, order), only the line of the virtual product (the "parent") is shown.
  • The stock of each individual component inside the virtual product is incremented / decremented when the parent product is acquired / delivered.
  • A virtual product may itself be composed of other virtual products that contain other (single) products.


This is meant as a distinct function from "manufacturing / production" where another "container" product uses the existing stock of its sub-components to produce an additional product which will then be kept in stock as such. Here in fact, in the "kit product or service" function, the sub-components of a virtual product will only be decrementing the respective stock at the time of delivery of the virtual product. Till then, these sub-products remain at full disposal, to be possibly integrated in other sales processes as single independent products also.

Again, the manufacturing module acted differently : from the moment it registered a "container product", it immediately purveyed that its by-products were unusable for any other purpose. Therefore, their stock was immediately decremented whether or not the container product left the store, as it was to be considered that the sub-components could no longer be reverse engineered as single products in stock.

Rules to manage sales prices

There are 4 ways to manage sales prices in Dolibarr.

  • One and only one price per product
  • Different prices per segment of customers (see next chapter)
  • Different prices per customer
  • Different prices per quantity (experimental)

You must choose one and only one into the Setup of the module "Products".

Price per segment of customers

Dolibarr can accept several prices per customer segment. By default, there are 5 segments (i.e. 5 groups of different customers), but you can also edit this figure. Each customer can be associated with 1 and only 1 segment, and therefore he or she will be assigned the price defined for that segment (segment 1 if the customer segment is not yet defined).

As of v12 the REST API supports getting, but not setting, multiprices per segment for a product. Prices for a product and customer segment can be set from the backoffice only.


Products can be added to one or to multiple categories.

To set categories of a product with API, you must use the APIs /categories/...


A product can have one or multiple images. This can be manually set from the tab "Linked files" of a product.

To get or set an image of a product using the APIs, you must use the API /documents (with "modulepart" parameter = "product" or "service").


A product can have multiple variants, e.g. for sizes or colors.

As of v12 the REST API supports both getting, setting and deleting variants for a product.

Life cycle / Business rules

En verysmall.png Page waiting to complete. To complete, create an account, go back and clic on "Modify".
Fr verysmall.png Page en attente d'être complété. Pour compléter, créez un compte, revenez et cliquez sur "Modifier".
Es verysmall.png Página a completar. Para completarla, cree una cuenta, vuelva a la página y haga clic en "editar"
De verysmall.png Seite wartet auf Vervollständigung. Um zu helfen, erstelle ein Konto, gehe zurück und klicke auf "Bearbeiten".
Cn verysmall.png 待完成,欲帮助完成,注册帐号,点击“编辑"
Jp verysmall.png ページは未完成の状態です。完成させるにはアカウントを作成し、ページに戻って「編集」をクリックして下さい。

Related videos

(vocal in french but subtitles are available and review in this language)