|Numero/ID of module||50|
|User doc. of module||This page|
|Developer doc. of module||Module Products (developer)|
This module manages the product catalog.
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.
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:
- Customs code = Commodity code = License code = HTS (An international 6 character code to define the category of product)
Virtual products (kits, also called Pack products)
A product or service may be registered as a virtual (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 virtual 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.
Note: 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 "virtual 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
- different prices per customer
- different prices per quantity (experimental)
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