Quotes and pricing

Last customer price

dolixdernierprix · version 1.0.0

You pick a product on a proposal, order or invoice: the last price and discount granted to that customer are shown, and applied in one click.

Price
€59 excl. VAT
Dolibarr
19.0 minimum
Version
1.0.0
Licence
GPL v3+
Languages
French, English, Spanish

€59 excl. VAT.

Ordering, payment, invoicing and download are handled by the DoliStore.

Buy on the DoliStore — €59 excl. VAT
Add-line form of a draft proposal: the product “VIS-INOX-440” is chosen at its catalogue price of €18.90. Below, the badge “Dernier prix : 15,90 € HT (-8,00 %) le 03/09/2026 (Facture FA2609-0030)” (last price, from invoice FA2609-0030) and its “Appliquer” (Apply) button.
Add-line form of a draft proposal: the product “VIS-INOX-440” is chosen at its catalogue price of €18.90. Below, the badge “Dernier prix : 15,90 € HT (-8,00 %) le 03/09/2026 (Facture FA2609-0030)” (last price, from invoice FA2609-0030) and its “Appliquer” (Apply) button. Screenshot of the French-language interface.
01

What the module does

  • Badge below the entry line, as soon as the product is chosen on a draft customer proposal, order or invoice: “Dernier prix : 15,90 € HT (-8,00 %) le 03/09/2026 (Facture FA2609-0030)” (last price, date, source invoice).
  • “Appliquer” (Apply) button: the unit price excl. VAT and, if the option is ticked, the line's discount percentage are copied into the current line. The VAT rate is not copied: it is the one Dolibarr suggests today.
  • Automatic mode, optional: the last price is copied as soon as the product is chosen, without a click. Dolibarr still enforces the product's minimum price.
  • The last price is the one on the most recent line for this customer and product, by document date. The document being entered is not taken into account.
  • Sources of your choice: invoices, orders, proposals. By default only validated documents count; credit notes and down payment invoices never count.
  • Maximum age adjustable in months; 0, the default, means no limit.
  • “Historique des prix” (Price history) tab on the third-party card: the last 100 lines of products or services sold to this customer, with date, document (link), product, unit price excl. VAT, discount, VAT, quantity and total excl. VAT.
  • “Prix par client” (Prices by customer) tab on the product card: the last 100 sales of this product, customer by customer, with the same columns.
  • Dolibarr permissions applied to the badge, the tabs and automatic mode: readable document types, visible customers (sales representatives, external users).
02

Who it is for

In B2B, prices are negotiated customer by customer. When you add a product to a proposal, order or invoice, Dolibarr suggests the catalogue price, or a customer price entered by hand: it does not show the price you charged that customer last time. To find it, you have to leave the form and reopen their past documents.

In B2B, prices are negotiated customer by customer. When you add a product to a proposal, order or invoice, Dolibarr suggests the catalogue price, or a customer price you entered by hand. It does not show the price you charged that customer last time.

To find it, you have to leave the form, reopen the customer’s past invoices, note the unit price and the discount, then come back and type them in.

Who it is for: Businesses that sell to professionals at prices negotiated customer by customer, and often enter the same products for the same customers.

03

What the module does not do

This section appears on all 21 module pages, without exception.

  • Sales only: no vendor proposals, orders or invoices.
  • The badge appears when adding a line to a draft document, not when editing an existing line.
  • Only lines linked to a product or service are taken into account: free-text lines are ignored.
  • A single price: the one from the last sale, whatever the quantity. The quantity sold appears in the tabs, not in the badge.
  • Only the line's percentage discount is copied, not a global discount on the document or the customer.
  • Amounts in the company's currency: multi-currency is not handled.
  • The history tabs show the 100 most recent lines, from validated documents only. The settings (document types, maximum age) apply only to the badge and automatic mode.
  • Interface in French, English and Spanish, not in German.
  • Dolibarr versions 20 to 23 have not been tested.
04

How it works

The badge while entering a line

On a draft customer proposal, order or invoice, as soon as you choose a product or service in the add-line form, the module looks for the last sale of that item to that customer. If it finds one, a badge appears below the line:

“Dernier prix : 15,90 € HT (-8,00 %) le 03/09/2026 (Facture FA2609-0030)”

The badge gives the unit price excl. VAT, the line discount, the date and the reference of the source document. The interface is in French, English or Spanish, depending on your Dolibarr language.

The “Apply” button

One click copies the unit price excl. VAT into the current line, and the percentage discount if the copy option is ticked. The VAT rate is not copied: the line keeps the one Dolibarr suggests today. You then add the line as usual.

Optional automatic mode

In the settings, automatic mode copies the last price as soon as the product is chosen, without a click. Dolibarr still enforces the product’s minimum price. By default, the module is in suggestion mode: it shows the badge, and you decide.

The price used

It is the one on the most recent line for this customer and product, by document date, among the types chosen in the settings: invoices, orders, proposals.

  • By default, only validated documents count: invoices validated or paid, orders validated, in progress or delivered, proposals validated, signed or billed.
  • Credit notes and down payment invoices never count.
  • The document being entered is not taken into account.
  • A maximum age in months can rule out prices that are too old.

The two history tabs

  • On the third-party card, the “Price history” tab lists the last 100 lines of products or services sold to this customer: date, document (with a link), product, unit price excl. VAT, discount, VAT, quantity and total excl. VAT.
  • On the product card, the “Prices by customer” tab lists the last 100 sales of this product, customer by customer, with the same columns.

The tabs only show validated documents. The document type and maximum age settings only apply to the badge and automatic mode.

The screenshots show the French interface.

The add-line form of a draft proposal. The product “VIS-INOX-440” (stainless screws, box of 200) is chosen: Dolibarr suggests its catalogue price, €18.90. Below the line, the badge says this customer paid €15.90 excl. VAT with an 8% discount on 03/09/2026, on invoice FA2609-0030. The “Appliquer” (Apply) button is to the right of the badge.

The “Historique des prix” (Price history) tab of the demo customer Atelier Lambert, on Dolibarr 24.0.2: three lines, two from invoice FA2609-0030 of 03/09/2026 and one from invoice FA2606-0028 of 12/06/2026. The screw price went from €16.50 (5% discount) to €15.90 (8% discount).

The “Prix par client” (Prices by customer) tab of the product VIS-INOX-440: three sales to two demo customers, at €15.90 (−8%), €17.20 and €16.50 (−5%), each with a link to its invoice.

“Historique des prix” (Price history) tab of the demo customer Atelier Lambert on Dolibarr 24.0.2: three lines from invoices FA2609-0030 and FA2606-0028, with unit price excl. VAT, discount, VAT, quantity and total excl. VAT.
“Historique des prix” (Price history) tab of the demo customer Atelier Lambert on Dolibarr 24.0.2: three lines from invoices FA2609-0030 and FA2606-0028, with unit price excl. VAT, discount, VAT, quantity and total excl. VAT. Screenshot of the French-language interface.
“Prix par client” (Prices by customer) tab of the product VIS-INOX-440 on Dolibarr 24.0.2: three sales to two demo customers, at €15.90 (−8%), €17.20 and €16.50 (−5%).
“Prix par client” (Prices by customer) tab of the product VIS-INOX-440 on Dolibarr 24.0.2: three sales to two demo customers, at €15.90 (−8%), €17.20 and €16.50 (−5%). Screenshot of the French-language interface.
05

Settings

The setup page is reserved for administrators.

Setting Default Effect
Automatic price replacement no Ticked, the last price is copied as soon as the product is chosen. Unticked (recommended), the badge and the “Apply” button leave the choice to you.
Copy previous line discount yes The discount percentage of the source line is copied with the price.
Search customer invoices yes Invoices are searched for the badge.
Search customer orders yes Orders are searched for the badge.
Search commercial proposals yes Proposals are searched for the badge.
Validated documents only yes Drafts are ignored. Unticked, every status counts except cancelled orders; credit notes and down payment invoices stay excluded.
Maximum history age 0 In months. 0: no limit.

In the screenshot, the maximum age was set to 12 months; it is 0 by default.

Module setup page on Dolibarr 24.0.2: automatic replacement unticked (recommended), discount copied, invoices, orders and proposals searched, validated documents only, and a maximum age set to 12 months for the screenshot (0, no limit, by default).
Module setup page on Dolibarr 24.0.2: automatic replacement unticked (recommended), discount copied, invoices, orders and proposals searched, validated documents only, and a maximum age set to 12 months for the screenshot (0, no limit, by default). Screenshot of the French-language interface.
06

Security and safeguards

  • One dedicated permission, “View and apply last customer price”. Without it, no badge and no tabs.
  • Dolibarr permissions on top: only the document types the user may read (invoices, orders, proposals) are searched. The product card tab also requires the permission to read products or services.
  • Visible customers only: a sales representative without the permission to see all customers only sees their own customers, in the badge as in the tabs; an external user, only their company. Automatic mode follows the same rule.
  • Read only: the badge and the tabs only read. The “Apply” button fills in form fields; nothing is saved without you.
  • Setup reserved for administrators, with an anti-CSRF token when saving.
  • Queries limited to the entities visible to the user, in multi-company setups.
07

What you get

What the module writes to your installation
Database tables createdNo table. The module reads the lines of customer invoices, orders and proposals; it writes nothing into these documents. Its settings are stored as Dolibarr constants: DOLIXDERNIERPRIX_SEARCH_INVOICES, DOLIXDERNIERPRIX_SEARCH_ORDERS, DOLIXDERNIERPRIX_SEARCH_PROPALS, DOLIXDERNIERPRIX_ONLY_VALIDATED, DOLIXDERNIERPRIX_AUTO_APPLY, DOLIXDERNIERPRIX_COPY_DISCOUNT and DOLIXDERNIERPRIX_MAX_AGE_MONTHS.
PermissionsOne permission: “View and apply last customer price”. It opens the badge and both tabs. Dolibarr permissions apply on top: only the document types the user may read (invoices, orders, proposals) are searched, and only for customers the user may see. A sales representative without the permission to see all customers only sees their own customers; an external user, only their company. The product card tab also requires the permission to read products or services. The setup page is reserved for administrators.
Uninstalling
  • Disable the module in SetupModules/Applications. The badge and both tabs disappear.
  • The module wrote nothing into your proposals, orders or invoices: prices applied are ordinary entries, they remain.
  • The module's settings are not deleted.

The dolixdernierprix folder, in readable PHP, under the GPL v3 or later licence: the module descriptor, the badge hooks, the search class, the badge endpoint, the two tabs, the setup page and the icons.

  • Languages: French (fr_FR), English (en_US) and Spanish (es_ES).
  • A README.md and a ChangeLog.md.
  • No table is added. The module reads the lines of customer invoices, orders and proposals.
  • The module writes nothing into your documents. An applied price is an ordinary entry, which you save yourself.
  • The only writes are the settings, stored as Dolibarr constants (DOLIXDERNIERPRIX_…).
  • The badge queries your own Dolibarr server. No outgoing connection: nothing is sent elsewhere.
08

Compatibility

The module descriptor only declares a minimum version. No upper bound is written in the code: the versions below are those on which the module has actually been run.

Compatibility of the Last customer price module
Dolibarr versionsDolibarr 19.0 minimum. Installed and run on 19.0.4 and 24.0.2; versions 20 to 23 not tested.
Minimum PHP7.4
Dolibarr modules to enableCommercial proposals, Sales Orders or Invoices
LicenceGPL v3 or later, full source code
LanguagesFrench, English, Spanish
MenuNo menu entry. Badge below the add-line form of draft customer proposals, orders and invoices; “Historique des prix” (Price history) tab on the third-party card; “Prix par client” (Prices by customer) tab on the product card.
09

Installation

  1. Get the module from the DoliStore and download the zip file.
  2. In Dolibarr: HomeSetupModules/Applications“Deploy/install external app/module” tab, then upload the zip. Otherwise, unzip the dolixdernierprix folder into htdocs/custom/.
  3. Enable “Last Customer Price” in the list of modules. No table is created. The default settings are saved: invoices, orders and proposals searched, validated documents only, discount copied, suggestion mode.
  4. In Users & Groups, check that the users concerned have the “View and apply last customer price” permission. They also need to be able to read invoices, orders or proposals, and to see the customer.
  5. If needed, adjust the settings in the module's setup page.

The details — permissions on the custom folder, shared hosting, upgrades, uninstalling — are on the page Installation and upgrades.

10

Frequently asked questions

Which Dolibarr versions does this module work on?

The descriptor requires Dolibarr 19.0 minimum and PHP 7.4 minimum. The module has been installed and run on 19.0.4 and 24.0.2, under PHP 8.2. Versions 20 to 23 have not been tested: if you are on one of them, or have any doubt, write before buying.

Does the module change my documents?

No. It reads the lines of your invoices, orders and proposals. The “Appliquer” (Apply) button only fills in the fields of the line being entered: you are the one who adds it to the document. No table is created, no Dolibarr file is modified.

Which price counts as the “last price”?

The most recent line for this customer and product, by document date, among the types chosen in the settings. By default only validated documents count: invoices validated or paid, orders validated, in progress or delivered, proposals validated, signed or billed. Credit notes, down payment invoices and the document being entered are ignored. The price shown is the line's unit price excl. VAT; its discount is shown separately.

What about VAT?

The VAT rate of the old document is not copied: the line keeps the rate Dolibarr suggests today for this product and customer. The history tabs show the rate of each past line.

What does a sales representative see?

The badge and the tabs follow Dolibarr permissions. Only the document types they may read are searched, and only for customers they may see: without the permission to see all customers, their own customers; for an external user, their company.

What if I uninstall?

The badge and both tabs disappear. The module wrote nothing into your documents: there is nothing to restore. The module's settings remain stored.

Who handles support, and how do updates work?

Support is provided by the person who wrote the module, at support@dolix.fr. Ordering, payment, the invoice and the download are handled by the DoliStore, where new versions are published.

11

Version history

Taken from the module’s ChangeLog.md file: a single source.

1.0.018 October 2026

First version: last-price badge on customer proposals, orders and invoices, “Apply” button, optional automatic mode, “Price history” tab on the third-party card and “Prices by customer” tab on the product card. Settings for the documents searched, validated documents only, maximum age and copying the discount. Credit notes and down payment invoices ignored. Interface in French, English and Spanish.

12

Support for this module

Write to support@dolix.fr. The person who wrote the module is the one who replies.

Reply within two working days. This is not an on-call service.

To include in your message

  • The exact Dolibarr version.
  • The module concerned and its version — here dolixdernierprix 1.0.0.
  • What you did, and what you expected.
  • The error message copied exactly, or a screenshot.
  • How Dolibarr is installed, if you know.

This module is on sale on the DoliStore.

Ordering, payment, invoicing and download are handled by the DoliStore.

Buy on the DoliStore — €59 excl. VAT
Also

The other modules