Promotions

  • Interview

    This module allows you to create questionnaires in Dolibarr. This module can be used alone but can also be added to the Agefodd module. (It is integrated into the Agefodd 2025 version).

    250.00 €  (600€)

New products

  • Tools for Dolibarr

    Hide the descriptions of a document's lines to show a compact list, then edit quantities, prices, discounts, VAT or labels directly in that list and save everything with one click. Delete several lines at once. For your customer and supplier documents.

    100.00 €
  • EasyScan - Digitize paper from any record

    Digitize paper with your phone camera or scanner and save it as a PDF in the Documents tab of any Dolibarr record. Automatic cropping, blank pages, split into documents and searchable text.

    79.00 €

DoliSCAN - Notes de frais 2.2.26 (V18 - V24)

c11070d20210105234307

Your employees photograph their receipts with the DoliSCAN mobile application, and Dolibarr receives the expense reports and the supplier invoices, with the PDF receipt attached.

150.00 €
Excl. tax

  • Author CAP-REL
  • Module version 2.2.26
  • Release date 01/05/2021
  • Access to download and updates Lifetime access

More info...

Module version: auto
Publisher / License: CAP-REL / Eric Seigne - GPL-v3
Languages: Français, English, Español, Deutsch, Italiano
Support: sav@doliscan.fr
Dolibarr: auto to auto - PHP: 7.4+
Read this before buying. This module is a connector: it does not work on its own. It needs a DoliSCAN server to receive and process the receipt pictures sent by the mobile application. There are two ways to get one, and only one of them is simple:
  • a subscription to the doliscan.fr service, billed separately from this module (see the pricing);
  • or hosting your own DoliSCAN server, which requires system administration skills and dedicated infrastructure. This is not a checkbox: the real cost, in hardware as well as in time, is far above that of a subscription.
Buying this module includes neither of them.

Overview

DoliSCAN is the complete expense report management solution for Dolibarr. With the doliscan.fr mobile application, your employees photograph their receipts in the field, and the DoliSCAN module for Dolibarr takes care of the rest: automatic synchronization, supplier invoice creation, expense report generation, VAT management according to current tax regulations.

The principle is simple:
➔ Any expense paid with a professional payment method (company credit card) is automatically converted into a supplier invoice in Dolibarr, with the PDF receipt attached.
➔ Any expense paid with a personal payment method is automatically added to the current expense report of the relevant user.

An important difference between standalone DoliSCAN and DoliSCAN connected to Dolibarr: everything related to accounting (special tax rule management) implemented in DoliSCAN is disabled during import into Dolibarr, to avoid conflicts with Dolibarr's accounting.

Main features

Automatic synchronization

  • Configurable automatic daily synchronization via scheduled task (cron)
  • Import of expense reports from the DoliSCAN mobile application to Dolibarr
  • Automatic download of PDF receipts and attachment to Dolibarr entries (DMS/ECM)
  • Forced resynchronization of missing receipts
  • Bidirectional synchronization of Dolibarr projects to DoliSCAN (keywords)

Professional expense management

  • Automatic creation of supplier invoices from professional expenses
  • Configurable mapping: each type of professional expense (fuel, meals, accommodation...) is linked to a Dolibarr supplier
  • Automatic creation of "generic" supplier records if needed
  • Automatic validation and payment recording (optional)
  • Application of default payment methods configured on the supplier record
  • List of supplier invoices linked to each DoliSCAN import

Personal expense management

  • Automatic addition of personal expense lines to the user's Dolibarr expense report
  • Configurable mapping of personal expense types to Dolibarr expense report entries
  • Special capping rules for meals (meal allowance only, meal with client guest)
  • Activation of special rules by user group

Advanced VAT management

  • Automatic verification and correction of VAT / net amounts during import
  • Support for French tax rules for fuel (VAT recoverable at 80% or 100% depending on vehicle type)
  • Handling of receipts with inconsistent VAT data (switch to manual mode)
  • Support for multiple VAT rates on a single receipt (meals)

Multi-entity support

  • Compatible with the Dolibarr Multi-Entity (multicompany) module
  • Each entity has its own DoliSCAN accounts, supplier mappings, and expense reports
  • Multi-entity user mapping: the same user can have different DoliSCAN emails depending on the entity
  • Dedicated diagnostics page to automatically detect and fix entity inconsistencies

User account management

  • Automatic creation of a DoliSCAN account when creating a Dolibarr user (optional)
  • Account creation directly from Dolibarr without going through the DoliSCAN server
  • Synchronized activation/deactivation between Dolibarr and DoliSCAN (via triggers)
  • Support for external users (optional)
  • Each user can have a professional credit card in different banks/accounts

Projects

  • Linking expense reports to Dolibarr projects
  • Automatic synchronization of Dolibarr projects to the DoliSCAN mobile application
  • Use of project label if the DoliSCAN code is empty (optional)
  • Option to hide closed projects

Permissions and security

  • 9 granular permissions organized in 3 categories:
    • Personal account: read, create, delete your own DoliSCAN account
    • My expenses: read, delete your own expense reports, download other users' expenses (administrator)
    • Administration: read, create, delete all user accounts
  • CAP-REL adaptive firewall management (automatic unblocking procedure if your server is blacklisted)

Compatibility

  • Dolibarr 18.x and above
  • PHP 7.4 and above (compatible with PHP 8+)
  • MySQL / MariaDB and PostgreSQL
  • Support for France and Belgium (Belgian business identification numbers BCE/KBO)
  • Interface available in French, English, Spanish, German and Italian

Module configuration

The module is set up in eight numbered tabs. Every setup page carries an Online documentation link that opens the documentation page of the tab on screen.

  1. Server - choice of the DoliSCAN server (production, free test, self-hosted), with no server imposed by default
  2. Administrator - creation or link of the administrator account, connection check, import start date
  3. Supplier Links - Dolibarr supplier of each professional expense type
  4. Type of Fee - Dolibarr expense type of each personal expense type
  5. Payment methods - bank account and payment mode of each professional payment method, business card per user
  6. Miscellaneous - automatic account creation, automatic payment, automatic validation and approval, projects
  7. Fuel - French tax rule: VAT recoverable at 100 % or 80 % depending on the vehicle category
  8. Special rules - restaurant caps per user group

On top of them come the Multi-Company tab (with the Multicompany module) and three maintenance pages for the super administrator: diagnostics, catch-up of missing expenses and removal of duplicate supplier payments.

Required Dolibarr modules

Proper operation of DoliSCAN requires the following Dolibarr modules to be enabled:

  • Suppliers - For creating supplier invoices (professional expenses)
  • Third parties - For supplier management
  • Banks/Cash - For payment methods
  • Expense reports - For creating expense reports
  • Invoices - For invoice management
  • DMS/ECM - For attaching receipts
  • Scheduled tasks - For automatic daily synchronization

Optional modules: Multi-Entity (multi-company), Projects (project linking).

What's new in version 2.2.26

Documentation for every setting

  • Every setup tab has its documentation page, illustrated and described option by option, one click away from the module
  • The French fuel tax rule is explained with a worked example

No expense lost silently any more

  • An expense whose type is mapped to nothing is reported in the synchronisation report instead of vanishing
  • The report stays open and the expense is imported at the next synchronisation, once the mapping is done

Settings that do what they say

  • Fuel: a fill-up without vehicle category, or a company not subject to VAT, no longer gives an empty invoice or an error
  • Business card per user: an empty row keeps the account of the general setup
  • The expense type and payment method lists follow the server on every edit
  • The billed server is no longer picked by default, and a self-hosted server address is saved in one go
  • Hiding closed projects works, and automatic account creation honours the external users option
  • Restaurant caps: only the listed groups count, the lowest cap applies, cents included

Interface

  • The catch-up page of missing expenses is translated into the five languages
  • Payment modes are shown in the user language
  • Replacing a supplier from the diagnostics page asks for confirmation

Details in the release notes of version 2.2.26 (in French).

Installation

Warning: Training and installation assistance for the module are not included in the price.

Warning: If you do not host your own DoliSCAN server, a subscription to the doliscan.fr service is required (and helps fund the development of the Dolibarr module, the doliscan.fr engine, and the smartphone application). Visit doliscan.fr for more information.

Demo

A fictitious company "devtemp" allows you to test the various possible accounts and the DoliSCAN application: doliscan.devtemp.fr

Full documentation (in French): doc.cap-rel.fr/doliscan

Included in the purchase

  • Access to module updates and all future developments with no time limit.
  • Functional corrections to the module based on your feedback and bug reports.

Updates

  • An email will be sent to you each time a new version of this module is published.
  • Module patches will be published on DoliStore.

Contact

Through our contact form on the cap-rel.fr website

What the purchase covers

  • The module, and access to its updates for the period stated on this sheet
  • Bug fixes, including the ones you report
  • An email on every new release

To be told automatically about new versions, of this module and of the Dolibarr ecosystem at large, subscribe on dolinews.com: that is where our release announcements are published.

Support

Support goes through our support form, not through the comments on this sheet.

Support is not free. You want competent people on the other side: it is fair that they are paid for that time. The price shown covers the module and its updates. It covers neither installing nor configuring your Dolibarr, nor training your teams, nor specific developments, nor investigating an environment we do not host.

A reproducible bug in the module is fixed at no charge, as part of the updates above.

Before buying

  • Check the Dolibarr and PHP versions stated at the top of this sheet: beyond them, the module is not tested
  • Modules are deployed from Home > Setup > Modules > Deploy an external module, which requires an active custom directory on your installation
  • When a module relies on an online service, the subscription to that service is separate from buying the module, and is stated above

Publisher

Module developed by CAP-REL, under the GPL-3.0-or-later licence. Online documentation at doc.cap-rel.fr.

Version history

2.2.26 -- 20261022

  • Open the matching documentation page from every DoliSCAN setup page
  • Read a full user guide for each setup tab, fuel VAT rules included
  • See which expense was not imported for lack of a mapped type, and get it at the next sync
  • Keep the company card account for users whose own card row is left empty
  • Import a fuel receipt without vehicle category or VAT rate instead of an empty invoice
  • See new expense types and payment methods of the server when you edit the mappings
  • Hide closed projects in the app when the option says so
  • Stop creating an account for external users unless you allow them
  • Choose the DoliSCAN server yourself, the billed one is no longer picked by default
  • Save a self-hosted server address in one go
  • Confirm before diagnostics replaces the supplier of an invoice
  • Cap restaurant expenses with the lowest cap of the listed groups only, cents included
  • Use the duplicate catch-up page in English, Spanish, German and Italian
  • Read payment modes and setup labels in your language

2.2.24 -- 20261006

  • Stop logging a PHP 8.2 deprecation when the info tab of a report is opened on Dolibarr 23

2.2.22 -- 20261005

  • Stop writing API tokens and security codes to the Dolibarr log
  • Refuse a report or an account whose company is unknown when multicompany is on
  • Only list the DoliSCAN accounts of the company being browsed
  • Stop a resynchronisation from writing into the expense report of a colleague
  • Keep the reports of two companies apart when they share a server identifier
  • Stop deleting the DoliSCAN account of another employee when a user is removed
  • Keep a receipt download inside the folder of its own expense report
  • Store the main DoliSCAN token encrypted, and never print it in a page
  • Reserve the diagnostics, catch-up and entity mapping pages to the super administrator
  • Ask for a confirmation token before launching a DoliSCAN synchronisation
  • Ask for a confirmation token before any call to the server from the setup page
  • Ask for a confirmation token before creating or deleting a remote account
  • Check every selected report before a mass import or validation
  • Gate the deletion of an account on the delete right, not on the write right
  • Gate each menu entry on the right it needs
  • Stop running MySQL-only statements on a PostgreSQL or SQLite database
  • Escape the values typed in the mobile app before showing them in a page
  • Escape the user columns of the account list
  • Filter the identifiers posted by the entity mapping pages
  • Stop a receipt label from becoming a formula when the list is opened in a spreadsheet
  • Refuse to reach the DoliSCAN server over plain http, and warn when security is lowered
  • Make the creation of the default suppliers repeatable without duplicating them
  • Fix the recoverable VAT on a fuel receipt for a utility vehicle (HT and VAT were swapped)
  • Spot and repair the expense report lines whose VAT is wrong, from the diagnostics page
  • Stop dropping an expense line when the app declares a VAT amount at a rate of zero
  • Look for an existing line only in the report being filled, never in an older one
  • Show the total line at the bottom of the expense report list
  • Keep the expense report list, the resync and the sync marker inside the current company
  • Push to DoliSCAN only the logins of the current company
  • Look for a linked supplier invoice only in the current company
  • Skip an expense report with an unusable date instead of stopping the whole nightly sync
  • Tell an unusable date from a date simply older than the import start date
  • Report a failed import in the result of the account synchronisation
  • Report every failed write, payment and update instead of staying silent
  • Show a message instead of a blank page when a database read fails
  • Stop a failed supplier invoice from breaking the transaction of its caller
  • Change the project code of a project again, even when Dolibarr omits the previous value
  • Open the info tab of a DoliSCAN account again: it read columns that do not exist
  • Name the unknown users of a diagnostic instead of showing a Dolibarr error page
  • Let the owner of a report validate it again, once granted the write right
  • Validate the import start date before saving it, and stop echoing the server answer
  • Wait after a DoliSCAN call only when the server asks to slow down, which speeds up a sync
  • Index the import key and the expense report link, for a faster sync on a large base
  • Send the feedback mail from the configured address and answer to the one typed in
  • Check the module version from the pages instead of at every include
  • Remove the mass action that silently did nothing
  • List the DoliSCAN trigger as a production trigger, no longer as a demo under development
  • Freeze an expense report through its status method, so the change is logged like the others
  • Show the module interface in English, Spanish, German and Italian, not only in French
  • Display the labels that carried stray quotation marks correctly
  • Translate the field labels, the status values and the payment deduplication page
  • Load the translation file the module really ships
  • Read every module setting through its accessor, with a default when it is not set yet
  • Make the address of the DoliSCAN side channel configurable
  • Address the DoliSCAN API with the account login, encoded per url segment

2.2.20 -- 20260924

  • enforce ownership and permissions on the module pages: an employee can no longer open, download or delete the expense report of a colleague
  • declare the missing doliscan->myndf->write permission, and offer to reinstall the module permissions from the diagnostics page
  • isolate duplicate lookups and the draft purge per entity (multicompany)
  • raise the floor to Dolibarr 18 / PHP 7.4 and drop the backport layer
  • partner configuration and permissions warning banner on the admin page
  • prevent double submit on the admin forms
  • user documentation rewritten with screenshots, README in English and French
  • static analysis green on Dolibarr 18 to 23, tests migrated to PHPUnit 11

2.2.18 -- 20260803

  • fix loop call on triggers / doliscan cron

2.2.16 -- 20260702

  • force recompute of total for dolibarr expense reports

2.2.14 -- 20260616

  • better token auto recovery tests
  • better cron tests

2.2.12 -- 20260601

  • auto renew expired token

2.2.4 -- 20260530

  • add a cron test to display message to end user "no cron ... no cron" :)
  • tool to relink accounts on entity with multicompany module
  • add a test for invalid token
  • better logs for debug
  • better error handler on api requests
  • new admin page for dedup payments

2.2.2 -- 20260513

  • improve admin connection diagnostics
  • surface the actual check-result message on admincreate failure
  • log full checkAdmin result in LOG_ERR when admincreate is aborted
  • clearer handleDoliscanTimeoutBlacklist traces

2.2.1 -- 20260428

  • auto fix duplicates ER
  • auto fix date/time settings due to servers dates

2.2.0 -- 20260426

  • big rework on base code
  • fix multi-VAT rounding
  • fix MyAccount::validate()
  • fix mod_myndf_standard / mod_myaccount_standard getNextValue
  • fix MyNDF::getNextNumRef / MyAccount::getNextNumRef
  • fix ds_vat_from_ttc
  • fix create_fact_fournisseur_common
  • fix MyDoliSCAN::syncAccount
  • DoliSCAN API keys storage
  • Re-enabled permission checks
  • add 73 unit tests (139 assertions)
  • add 142 integration tests
  • add HTTP tests

2.0.114 -- 20260407

  • fix php warnings
  • force resync missing files or temporary doliscan pdf files

2.0.113 -- 20260324

  • fix duplicates lines

2.0.110 -- 20260317

  • fix json_decode
  • fix multicompany settings
  • change search filter on ndf list
  • add mass action to validate dolibarr expense reports linked to doliscan ndf

2.0.102 -- 20260310

  • better checks on downloads & api key renew

2.0.98 -- 20260302

  • re-download file if status "is prov"

2.0.96 -- 20260220

  • add new tests and quality checks
  • better force resync system
  • better multicompany support
  • add a new tests to handle admin token errors

2.0.94 -- 20251129

  • do not sync validated expenses documents (new option for 12 month)
  • correct entity on missing documents while sync

2.0.92 -- 20251031

  • add new options to disable sync of paid or cancelled invoices
  • add new option to disable expense repports when dolibarr one is mark as validated

2.0.90 -- 20250901

  • fix siren/siret idprof1/idprof2 preflight check

2.0.88 -- 20250701

  • fix race condition ht/vat reverted values [PRIORITY]

2.0.86 -- 20250630

  • fix vat rate values on some race conditions
  • add more debug entry points for dev
  • fix include priority on files for dolibarr < 16 setup

2.0.84 -- 20250616

  • fix multicompany support thanks to InfraS

2.0.83 -- 20250522

  • fix filter syntax when multicompany thirdparties sharing is activated

2.0.82 -- 20250430

  • display user entity AND doliscan entity on all account listing

2.0.80 -- 20250425

  • better handle json_decode data as array
  • add entity number in all accounts list

2.0.76 -- 20250321

  • fix bank setup (object vs array)

2.0.74 -- 20250318

  • apply default payment rules on supplier invoices
  • add list of supplier invoices on doliscan import page of each people
  • one more check on resync missing documents to get main doliscan pdf

2.0.72 -- 20250306

  • add special rules on expenses "restaurant"

2.0.70 -- 20250303

  • code cleanup (getDolGlobalString)
  • cleanup syntax typo (double $$, single % and so on)
  • cleanup function call
  • cleanup objects and vars types
  • fix some undef vars warnings
  • switch to next phpstan value
  • fix sql for PostGreSQL thanks to Thomas
  • allow loopback setup
  • remove some debug messages

2.0.68 -- 20250213

  • add an other check to avoid expense multi-payment
  • better log messages

2.0.66 -- 20250107

  • new refresh on synchro thanks to william mead (inovea) (DOLISCAN_REFRESH_DRAFT)
  • use default payment configured on thirdpart in priority
  • and fallback to module global setup
  • better connectivity tests
  • better multicompany compatibility

2.0.64 -- 20241030

  • solution for false VAT tickets amounts

2.0.62 -- 20241028

  • better sync all missing doc via cron call
  • avoid double payment if invoice is already paid
  • new double check on ht/ttc totals

Truncated history, intermediate releases not shown: 48

The first release of this module dates from 2020-07-08.

1.0

  • Initial version

The full changelog is on the "About" page of the module once it is installed.




If you think this module is a fork of another one (published after the first one) or violates some terms or conditions of use (for users or vendors), you can make a report at dolistore@dolibarr.org