Point of sale

TakePOS wallet

dolixportemonnaie · version 1.0.0

Your customers or members pay an amount in advance, and TakePOS spends it at each visit to the till, until it runs out.

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

€79 excl. VAT.

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

Buy on the DoliStore — €79 excl. VAT
TakePOS payment screen for a €107.60 sale incl. VAT: the “Porte-monnaie (51,60 €)” button (Wallet) appears under the keypad, alongside the “Espèce”, “Chèque” and “Carte bancaire” (cash, cheque, card) payment methods.
TakePOS payment screen for a €107.60 sale incl. VAT: the “Porte-monnaie (51,60 €)” button (Wallet) appears under the keypad, alongside the “Espèce”, “Chèque” and “Carte bancaire” (cash, cheque, card) payment methods. Screenshot of the French-language interface.
01

What the module does

  • Top-up from the “Wallet” tab of the third-party or member card: amount, payment method, bank account, note. The balance and the history of top-ups and purchases are shown in the same place.
  • A top-up is a one-line down payment invoice at 0% VAT, validated, paid, deposited in the bank if the Banks & Cash module is enabled, then converted into Dolibarr available credit.
  • On the member card, the tab shows the wallet of the linked third party. A member with no linked third party has no wallet: the tab says so.
  • At the till, the “Wallet (balance)” button appears on the payment screen when the customer has a balance and the sale is not settled.
  • The browser sends no amount: the server applies at most the remaining amount, and at most the balance. The oldest credits are used first, and a credit larger than needed is split.
  • If the balance covers the sale, it is validated and paid with no other payment. Otherwise the screen shows the remaining amount, to be paid by another method. The “Cancel” link gives the balance back.
  • The balance is protected: if a draft sale is edited (line added, modified or deleted), deleted, or changes customer after the wallet was used, the applied amount is given back.
  • The receipt keeps its lines and its VAT: the credit is applied as a payment, with no negative line. The customer's ordinary credit notes and down payments are never used.
  • From 19 to 22, TakePOS does not display buttons added by modules: the module then prints its button itself.
02

Who it is for

Your members pay an amount in advance and draw on it at each visit to the till, but TakePOS offers no way to pay with a prepaid balance.

In a community grocery, a food co-op or a cooperative, the member pays €50 in advance and draws on it purchase after purchase. TakePOS cannot do this: its payment screen offers no way to pay with a prepaid balance.

The workarounds tried on the Dolibarr forum — €1 vouchers managed as stock, products with a negative price on the receipt — were judged unsatisfactory by the people using them.

Who it is for: Community groceries, food co-ops, cooperatives, cafés or canteens that take payments with TakePOS and whose members pay in advance.

03

What the module does not do

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

  • The printed receipt shows neither the part paid with the wallet nor the remaining balance.
  • Top-ups are made from the third-party or member card, not from the TakePOS screen.
  • A top-up is always recorded at 0% VAT. The single-purpose voucher case, where VAT is due at top-up, is not handled.
  • One wallet per third party. A member uses the one of its linked third party; there is no separate balance per member.
  • No negative balance, no balance expiry, no online top-up, no top-up bonus.
  • No manual correction or refund of the balance from the module.
  • A cash-type bank account only accepts cash: this is a Dolibarr rule. A top-up by cheque on that account is refused, and the balance stays unchanged.
  • The LNE-certified version of Dolibarr has not been tested.
04

How it works

The module gives each third party a prepaid balance. It keeps no separate accounting: it relies on Dolibarr’s available credit, the one the core already uses for down payments and credit notes.

Top-up

It is done from the “Wallet” tab of the third-party card or the member card: amount, payment method, bank account, note. The module then runs, in a single transaction:

  1. a one-line down payment invoice at 0% VAT, validated;
  2. the payment of that invoice, deposited in the bank if the Banks & Cash module is enabled;
  3. the invoice is classified as paid;
  4. its conversion into available credit for the customer.

If one step fails, nothing is recorded in the database. The same tab shows the available balance and the history of top-ups and purchases.

On the member card, the tab shows the wallet of the third party linked to the member. A member who is not linked to any third party has no wallet: the tab says so.

At the till

On the TakePOS payment screen, a “Wallet (balance)” button appears when the customer of the sale has a balance and the sale is not settled.

  • The browser sends no amount. The server applies at most the remaining amount, and at most the balance.
  • The oldest credits are used first. A credit larger than needed is split in two: the part used, and the rest, which stays available.
  • If the balance covers the sale, it is validated and paid with no other payment.
  • Otherwise, the screen shows the remaining amount, to be paid in cash, by card or by cheque.
  • The “Cancel” link gives the balance back.

The credit is applied as a payment, not as a discount: the receipt keeps its lines and its VAT, with no negative line.

Only credits coming from a top-up are used. The customer’s ordinary credit notes and down payments are never touched.

The balance is protected

If a draft sale to which the wallet has been applied is edited — line added, modified or deleted —, deleted, or changes customer, the applied amount is given back to the wallet. A new click on the button is enough.

This fills a gap in the core: when an invoice is deleted, Dolibarr does not release the credits applied to it as a payment.

Depending on the Dolibarr version

From 19 to 22, the TakePOS payment screen does not display buttons added by modules. On those versions, the module displays its button itself.

VAT

A top-up is recorded at 0% VAT: VAT is due at purchase time, on the receipt. This is the multi-purpose voucher treatment, valid when your products have different VAT rates.

If all your products share the same rate — for example food only at 5.5% —, the balance is a single-purpose voucher: VAT is due at top-up, and version 1.0.0 does not handle that case (French tax guidance BOI-TVA-CHAMP-10-10-40-50). Not relevant if your organisation is not liable for VAT. If in doubt, ask your accountant.

On the TakePOS payment screen, for a €107.60 sale incl. VAT, the “Porte-monnaie (51,60 €)” button (Wallet) appears under the keypad, alongside the “Espèce”, “Chèque” and “Carte bancaire” (cash, cheque, card) payment methods.

After a click, the balance does not cover the whole sale: €51.60 is applied, and the screen shows “Reste à payer: 56,00 €” (remaining amount), to be paid by another method. The button has disappeared, since the balance is used up. Under the buttons, the line “Porte-monnaie appliqué : 51,60 €” (Wallet applied) carries the “Annuler” (Cancel) link.

The “Porte-monnaie” (Wallet) tab of a member’s card, on Dolibarr 24.0.1: available balance of €51.60, linked third party, top-up form (amount, payment method, bank account, note), then the history — two top-ups of €50.00 and €20.00, two purchases of €12.00 and €6.40. Each row links to its invoice.

“Porte-monnaie” (Wallet) tab of a member's card on Dolibarr 24.0.1: available balance of €51.60, linked third party, top-up form (amount, payment method, bank account, note) and history — two top-ups of €50.00 and €20.00, two purchases of €12.00 and €6.40.
“Porte-monnaie” (Wallet) tab of a member's card on Dolibarr 24.0.1: available balance of €51.60, linked third party, top-up form (amount, payment method, bank account, note) and history — two top-ups of €50.00 and €20.00, two purchases of €12.00 and €6.40. Screenshot of the French-language interface.
After a click on the button: “Porte-monnaie appliqué : 51,60 €” (Wallet applied), and “Reste à payer: 56,00 €” (remaining amount) to be paid by another method. The “Annuler” (Cancel) link gives the balance back.
After a click on the button: “Porte-monnaie appliqué : 51,60 €” (Wallet applied), and “Reste à payer: 56,00 €” (remaining amount) to be paid by another method. The “Annuler” (Cancel) link gives the balance back. Screenshot of the French-language interface.
05

Settings

The module’s setup page is reserved for administrators. It opens with a reminder of how VAT is handled.

Setting Default Effect
Label of the top-up line empty: “Wallet top-up” Text of the line of the down payment invoice created at each top-up.
Default bank account offered for top-ups none Account preselected in the top-up form. Shown only if the Banks & Cash module is enabled.
06

Security and safeguards

  • Three dedicated permissions, not granted by default: “See wallet balances” opens the tab, “Top up a wallet” shows the top-up form, “Pay with the wallet at the till” shows the button in TakePOS.
  • Dolibarr’s permission on top: to pay at the till, the user also needs the permission to create invoices.
  • The tab respects permissions on third parties: it only opens on a third party the user has access to.
  • The amount is calculated by the server. The browser only asks to apply or to cancel; the server applies at most the remaining amount and at most the balance.
  • Protected requests: applying and cancelling only accept POST requests carrying Dolibarr’s anti-CSRF token. They are refused on a credit note, a down payment invoice or an invoice already paid.
  • Transactions: a top-up or an application of the balance that fails midway is cancelled entirely.
  • Automatic release of the balance when a draft sale changes or disappears.
07

What you get

What the module writes to your installation
Database tables createdOne table: llx_dolixpm_recharge. It keeps one row per top-up (third party, down payment invoice, amount, date, user, note, entity). The balance is not stored there: it is the sum of the Dolibarr available credits coming from those down payment invoices.
PermissionsThree permissions: “See wallet balances”, “Top up a wallet”, “Pay with the wallet at the till”. The first opens the tab, the second shows the top-up form, the third shows the button in TakePOS. To pay at the till, the user also needs the Dolibarr permission to create invoices. The setup page is reserved for administrators.
Uninstalling
  • Disable the module in SetupModules/Applications. The tab and the till button disappear.
  • Down payment invoices, payments and credits already created remain: they are data in your database. Unspent balances remain available credits of the customer in Dolibarr.
  • The llx_dolixpm_recharge table and the module's settings are not deleted.
  • The module folder, dolixportemonnaie, to drop into htdocs/custom/ or to install from the zip.
  • Three languages: French (fr_FR), English (en_US) and German (de_DE).
  • No README or ChangeLog in the module folder.
  • GPL v3 or later licence, complete and readable source code.
  • One table is added: llx_dolixpm_recharge. It keeps one row per top-up: third party, down payment invoice, amount, date, user, note, entity. The balance is not stored there: it is the sum of the Dolibarr available credits coming from those down payment invoices.
  • What is written at each top-up, through the core classes: a down payment invoice, its payment, the bank entry if the Banks & Cash module is enabled, and an available credit for the customer. On validation, Dolibarr generates the PDF of the down payment invoice, as for any invoice.
  • What is written at the till: the credit used is linked to the sale, as a payment. The module adds no line to the sale.
  • No Dolibarr file is modified. No outgoing connection.
  • When the module is disabled, the tab and the till button disappear. Down payment invoices, payments and credits remain: they are data in your database, and unspent balances remain available credits of the customer in Dolibarr. The llx_dolixpm_recharge table and the module’s settings are not deleted.
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 TakePOS wallet module
Dolibarr versionsDolibarr 19.0 minimum. Installed and run on 19.0.4, 20.0.4, 21.0.4, 22.0.5, 23.0.4, 24.0.0 and 24.0.1.
Minimum PHP7.4
Dolibarr modules to enableInvoices, POS TakePOS
LicenceGPL v3 or later, full source code
LanguagesFrench, English, German
MenuNo menu entry. “Wallet” tab on the third-party card and on the member card; “Wallet” button on the TakePOS payment screen.
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 dolixportemonnaie folder into htdocs/custom/.
  3. Enable “TakePOS wallet” in the list of modules. It requires the Invoices and POS TakePOS modules. The top-up table is created at that point.
  4. Grant the users concerned the “See wallet balances”, “Top up a wallet” and “Pay with the wallet at the till” permissions. To pay at the till, they also need the Dolibarr permission to create invoices.
  5. In the module's setup page, choose the label of the top-up line and the bank account offered by default. The page recalls how VAT is handled.

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's integration tests have been run on 19.0.4, 20.0.4, 21.0.4, 22.0.5, 23.0.4, 24.0.0 and 24.0.1 with MariaDB, and on 24.0.0 with PostgreSQL. The till screen has been used in a browser on 19.0.4 and 24.0.0. If you have any doubt, write before buying.

Does the module change my database?

It creates one table, llx_dolixpm_recharge, which lists the top-ups. Everything else goes through Dolibarr objects: down payment invoice, payment, bank entry if the Banks & Cash module is enabled, customer available credit. No Dolibarr file is modified.

What happens if the balance does not cover the sale?

The module applies the whole balance, and the payment screen shows the remaining amount. The customer pays the rest in cash, by card or by cheque. There is no negative balance.

How is VAT handled?

A top-up is recorded at 0% VAT; VAT is due at purchase time, on the receipt. This is the multi-purpose voucher treatment, valid when your products have different VAT rates. If all your products share the same rate, the balance is a single-purpose voucher: VAT is due at top-up, and version 1.0.0 does not handle that case (French tax guidance BOI-TVA-CHAMP-10-10-40-50). Not relevant if your organisation is not liable for VAT. If in doubt, ask your accountant.

Does a member have their own wallet?

The wallet belongs to the third party. On the member card, the tab shows and tops up the wallet of the third party linked to the member. A member who is not linked to any third party has none: link them to a third party first.

What if I uninstall?

The tab and the till button disappear. Down payment invoices, payments and credits remain in your database; unspent balances remain available credits of the customer. The top-up table and the settings also remain; you can delete them yourself.

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.09 October 2026

First version: top-up from the third-party or member card through a 0% down payment invoice converted into available credit, “Wallet” button on the TakePOS payment screen, full or partial payment, cancellation, automatic release of the balance when the draft sale changes, history, three permissions and setup page.

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 dolixportemonnaie 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 — €79 excl. VAT
Also

The other modules