Module UltimateMarketPlace EN
Module UltimateMarketPlace
Overview
The UltimateMarketPlace module is an extension for Dolibarr ERP/CRM published by Atoo-Net.
It provides all the features needed to publish a single-vendor online marketplace: a ready-to-use website template (product catalog, shopping cart, checkout tunnel, customer accounts) built on top of Dolibarr's Website module, to sell your own products and services directly online.
It is a simplified fork of the Dolibarr "Marketplace" module (used for dolistore.com), from which everything specific to the Dolibarr association, as well as the multi-vendor / third-party developer module submission and review workflow, has been removed.
| Property | Value |
|---|---|
| Author | Philippe Grand — Atoo-Net |
| Version | 1.0 |
| License | GNU GPL v3+ |
| Dolibarr minimum | v24.0 |
| PHP minimum | v8.0 |
Why use UltimateMarketPlace?
UltimateMarketPlace turns your Dolibarr installation into a standalone online shop, without depending on a CMS or a third-party ecommerce platform (such as PrestaShop or WooCommerce). Your catalog, orders, invoices and customers all stay natively inside Dolibarr.
Use cases
Selling physical or dematerialized products
Publish your catalog of products or services directly from Dolibarr product sheets. The module handles both physical goods (with shipping fees) and dematerialized items (downloads, licenses, services).
Loyalty for professional customers
Using automatic discounts for "preferred customers" (a dedicated third-party category), offer a negotiated preferential rate to your best customers, with the option to exclude specific products from the discount.
Promotions and coupon codes
Create discount codes (percentage or fixed amount), limited in time or in number of uses, optionally restricted to a specific product, to drive your online sales campaigns.
Cart upselling
Automatically add a complementary product to the cart (e.g. insurance, warranty, eco-contribution), calculated as a percentage of the total and restricted to the countries of your choice.
Online payment
Connect the checkout tunnel to the payment methods already configured in Dolibarr (Stripe, PayPal, bank transfer…), either through a classic redirect to your back office, or embedded in a frame inside the shop.
Audience tracking
Integrate Matomo Analytics to track traffic and purchase behavior on your shop, without relying on Google Analytics.
Installation
Requirements: the module requires the following Dolibarr modules to be enabled (they are enabled automatically if needed): Third Parties, Products, Services, Categories, Orders, Invoices, Bank, Mailing and Website.
- Download the module from DoliStore or clone the Git repository into
htdocs/custom/ultimatemarketplace - Go to Home → Setup → Modules/Applications
- Locate UltimateMarketPlace in the AtooNet section
- Enable the module by clicking the button in the Enabled column
On activation, the module automatically performs several actions:
- Creates a dedicated website (reference
ultimatemarketplace) with the "website_template-ultimatemarketplace" template imported - Creates a root product category for items visible on the marketplace
- Creates a third-party category for customers/prospects created from the storefront
- Adds 3 product extrafields: "Marketplace" separator, comment after price (
PriceComment) and public disclaimer message (DisclaimerMessage)
Setup
The module is configured under Home → Setup → Modules/Applications → UltimateMarketPlace, split into several tabs.
General: products and third parties
| Constant | Description |
|---|---|
ULTIMATEMARKETPLACE_NAME |
Marketplace name |
ULTIMATEMARKETPLACE_EMAIL |
Marketplace contact email |
ULTIMATEMARKETPLACE_ROOT_CATEGORY_ID |
Root category for products sold on the marketplace |
ULTIMATEMARKETPLACE_ROOT_CATEGORY_ID_BIS |
Category featured in the central block of the home page |
ULTIMATEMARKETPLACE_VERSIONS_CATEGORY_ID |
Category used by the "Version" widget on the home page |
ULTIMATEMARKETPLACE_SPECIAL_CATEGORY_ID |
Category used by the "Promotions" widget on the home page |
ULTIMATEMARKETPLACE_MIN_PRODUCT_PRICE |
Minimum product price (if the product is not free) |
ULTIMATEMARKETPLACE_DELAY_FOR_NEW |
Maximum age (in days) for a product to appear in the "New products" section |
ULTIMATEMARKETPLACE_PROSPECTCUSTOMER_ID |
Category assigned to all prospects/customers created from the storefront |
Discounts for preferred customers
| Constant | Description |
|---|---|
ULTIMATEMARKETPLACE_PROSPECTCUSTOMER_PREFERRED_ID |
Category for third parties labeled "Preferred", eligible for the discount |
ULTIMATEMARKETPLACE_PROSPECTCUSTOMER_PREFERRED_DISCOUNT |
Discount percentage applied to these third parties |
ULTIMATEMARKETPLACE_DISCOUNT_EXCLUDE_PRODUCTS_CATEGORY_ID |
Category of products excluded from this discount |
Website
| Constant | Description |
|---|---|
ULTIMATEMARKETPLACE_URL_FOR_LOGO |
URL of the marketplace logo |
ULTIMATEMARKETPLACE_THEME_COLOR |
Main theme color (buttons, banners, highlighted elements) |
ULTIMATEMARKETPLACE_WEBSITE_ID |
Dolibarr website used by the marketplace |
ULTIMATEMARKETPLACE_USER_MANAGE_WEBSITE |
Technical user allowed to perform website actions (adding products, managing third parties, placing orders) |
Important: if you change the associated website (ULTIMATEMARKETPLACE_WEBSITE_ID), existing users, third parties and orders remain linked to the old website and are not migrated automatically.
Email templates
Three Dolibarr email templates can be customized:
- Welcome email sent when the customer account is created
- "Forgot password" email
- Order confirmation email sent to the buyer
Additional product in cart
Automatically adds a complementary product (insurance, warranty, eco-contribution…) to the cart:
| Constant | Description |
|---|---|
ULTIMATEMARKETPLACE_ADDITIONAL_PRODUCT_IN_CART_ID |
Additional product to add |
ULTIMATEMARKETPLACE_ADDITIONAL_PRODUCT_TOTAL_PERCENT |
Price of the additional product, expressed as a % of the cart total |
ULTIMATEMARKETPLACE_ADDITIONAL_PRODUCT_APPLICABLE_COUNTRIES |
Country codes where this additional product applies |
Shipping fees
| Constant | Description |
|---|---|
ULTIMATEMARKETPLACE_SHIPPING_FEES_PRODUCT / ULTIMATEMARKETPLACE_SHIPPING_FEES_PRODUCT_ID |
Dolibarr product used to bill shipping fees |
Registration: Google reCAPTCHA
| Constant | Description |
|---|---|
ULTIMATEMARKETPLACE_GOOGLE_RECAPTCHA_REGISTER_FORM |
Enables Google Captcha on the registration form |
ULTIMATEMARKETPLACE_GOOGLE_RECAPTCHA_SITE_KEY |
Public reCAPTCHA key provided by Google |
ULTIMATEMARKETPLACE_GOOGLE_RECAPTCHA_SECRET_KEY |
Private reCAPTCHA key (keep confidential) |
Payment
| Constant | Description |
|---|---|
ULTIMATEMARKETPLACE_BLOCK_SALES |
Temporarily blocks sales on the marketplace |
ULTIMATEMARKETPLACE_CLOSE_ORDER_AFTER_PAYMENT |
Automatically closes the order after a successful payment |
ULTIMATEMARKETPLACE_MAIN_PAYMENT_METHOD |
Payment method to use |
Two payment integration modes are available:
- Separate page (default): no particular setup required, the customer is redirected to the public payment pages of your Dolibarr back office. Drawback: the back office's domain is visible to the customer.
- Frame (advanced users): the back office's payment page is called through a URL of the marketplace shop itself. Requires a proxy setup on the marketplace's web server to redirect the requests to the Dolibarr back office. Advantage: the back office's domain stays hidden.
API
| Constant | Description |
|---|---|
ULTIMATEMARKETPLACE_PUBLIC_API_KEY |
Public key used to access the products/categories API |
The API exposes an XML feed of products and categories, with the parameters categorieid, limit, page, search and lang. A proxy routing setup can be put in place to hide the real API URL behind the shop's own domain.
Matomo
| Constant | Description |
|---|---|
ULTIMATEMARKETPLACE_ENABLE_MATOMO |
Enables Matomo Analytics on the marketplace website |
ULTIMATEMARKETPLACE_MATOMO_SITE_KEY |
Matomo Site ID |
ULTIMATEMARKETPLACE_MATOMO_SERVER_URL |
Full URL of your Matomo server |
Coupon codes
A dedicated Coupon codes tab lets you create discount codes:
- Discount type: percentage or fixed amount excluding tax
- Maximum number of uses (leave empty for unlimited use)
- Can be restricted to a specific product
- Tracks the number of uses already made
The code is verified when applied to the cart: a code that does not exist, has expired, or has already been fully used is rejected ("This coupon code is invalid, expired or already used up").
Usage
Online shop (storefront)
The site generated by the module follows the branding defined in the setup (logo, main color) and provides:
- A product catalog organized by category, highlighting new products and promotions
- A product sheet showing price, a free-text comment after the price, and a public disclaimer message when configured
- A cart with coupon code redemption, automatic "preferred customer" discount calculation, and the optional additional product
- A checkout tunnel connected to the payment methods configured in Dolibarr
- A customer area (registration, login, order history) protected by Google reCAPTCHA when enabled
Product tag management
The UltimateMarketPlace → Products without tags menu lists marketplace products/services that have not yet been assigned to a category/tag, so you can bulk-apply one or more tags to them.
Statistics
The module adds statistics pages dedicated to the marketplace:
- Invoice and sales statistics (grouped by country/VAT rate or by zone/VAT rate)
- Customer statistics (latest third parties created, latest "preferred" third parties)
- Product/service statistics (ranked by popularity)
Order and invoice tracking
Two menu entries let you quickly find the orders and invoices coming from the marketplace (filtered on module_source = ultimatemarketplace).
FAQ
The marketplace website was not created automatically
Check that Dolibarr's Website module is enabled. If the website still doesn't exist after enabling the module, disable and re-enable UltimateMarketPlace.
How do I change the website used without losing existing orders?
This is not recommended: changing ULTIMATEMARKETPLACE_WEBSITE_ID does not migrate existing users, third parties and orders to the new website. They stay associated with the old one.
Can I limit the "preferred customer" discount to specific products only?
Yes, by setting ULTIMATEMARKETPLACE_DISCOUNT_EXCLUDE_PRODUCTS_CATEGORY_ID to a category grouping the products to exclude from the discount.
Is payment in a frame mandatory?
No, it is an option for advanced users. By default, payment simply redirects to the public payment pages of your Dolibarr back office, with no particular server setup.
Which payment methods are supported?
Any payment method already natively supported by Dolibarr (Stripe, PayPal, bank transfer, etc.), selected via ULTIMATEMARKETPLACE_MAIN_PAYMENT_METHOD.