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.

  1. Download the module from DoliStore or clone the Git repository into htdocs/custom/ultimatemarketplace
  2. Go to Home → Setup → Modules/Applications
  3. Locate UltimateMarketPlace in the AtooNet section
  4. Enable the module by clicking the button in the Enabled column
 
Activating the UltimateMarketPlace module in the AtooNet section

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
 
Coupon codes administration tab

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:

  1. A product catalog organized by category, highlighting new products and promotions
  2. A product sheet showing price, a free-text comment after the price, and a public disclaimer message when configured
  3. A cart with coupon code redemption, automatic "preferred customer" discount calculation, and the optional additional product
  4. A checkout tunnel connected to the payment methods configured in Dolibarr
  5. A customer area (registration, login, order history) protected by Google reCAPTCHA when enabled
 
Home page of the shop generated by UltimateMarketPlace

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.

See also

Other languages