KSIDol documentation > KSIDol modules > WhatsApp (KsiWhatsapp)
Module guide: WhatsApp (KsiWhatsapp)
Non-technical user guide: what the module does, how to use it and how it fits in with Dolibarr.
Objects coveredQuotations, orders, invoices
ChannelWhatsApp Web
Send form100% native Dolibarr
CompatibilityDolibarr 24.0
1. Module overview
The WhatsApp module adds a "Send by WhatsApp" button on the cards of quotations, sales orders and validated invoices. It reuses the exact native Dolibarr "Send email" form: recipients, email templates and attachments remain those of Dolibarr, nothing is reimplemented. A second button, added inside this form, turns the composed message — subject, body converted to plain text and public download link for the PDF — into a WhatsApp Web link opened in a new tab. Sending remains entirely manual and relies on no external service: no WhatsApp Business API, no third-party account, no key.
- A "Send by WhatsApp" button appears next to the native action buttons of quotations, sales orders and invoices.
- The send form is 100% native Dolibarr: the module changes nothing in it, it only adds one extra button.
- The WhatsApp message takes the subject and body composed in the form (native email templates included), converted to plain text, followed by a download link for the PDF document.
- WhatsApp Web opens in a new tab with the message prefilled: the user triggers the sending, nothing is automatic.
- No WhatsApp Business API, no third-party account, no key: zero external services.
2. Installation and activation
Installation follows the usual Dolibarr module process; activation automatically prepares everything the download link needs in order to work.
- Unzip the module archive into Dolibarr's htdocs/custom/ directory.
- Enable the "KsiWhatsapp" module in Setup → Modules/Applications.
- The native "Social Networks" module is enabled automatically: it carries the WhatsApp field of the third-party card.
- The "whatsapp" entry of the social networks dictionary is created or re-enabled if needed.
- On activation, the three external download permissions (invoices, commercial proposals, orders) are set: they are required for the public link attached to the message.
- The module creates no menu: its setup opens through the gear icon on the module's row in the module list (administrator access).
3. Configuration
The setup page gathers four settings, all prefilled when the module is activated.
- "Web WhatsApp URL": the address used to compose the message (default https://web.whatsapp.com/send?).
- "Allow invoice external download": required so the link sent via WhatsApp can download the invoice.
- "Allow proposal external download": required so the link sent via WhatsApp can download the quotation.
- "Allow order external download": required so the link sent via WhatsApp can download the order.
4. Day-to-day use
The "Send by WhatsApp" button appears on the object's card under the same conditions as the native email send button: suitable status and sending permissions respected.
- Invoices: button shown on a validated or paid invoice; credit notes are excluded.
- Quotations: button shown on a validated or signed quotation.
- Sales orders: button shown on a validated or accepted order.
- Native Dolibarr sending permissions are respected: a user who cannot send the object by email cannot send it by WhatsApp either.
- If no usable number is found, the button is shown greyed out, like the native button when the third party has no email address.
- Workflow: clicking "Send by WhatsApp" opens the native send form; optionally pick an email template, adjust the subject and message, then click the second "Send by WhatsApp" button: WhatsApp Web opens in a new tab with the message and the download link.
- The button remains available after applying an email template or adding an attachment in the form.
5. Destination number
The module looks for the best available number, then normalises it before composing the WhatsApp link.
- Search order: the WhatsApp field on the third party's Social Networks tab, then the third party's phone numbers (mobile, landline, personal), then the phone numbers carried by the document itself.
- The selected number is normalised to digits: only numbers of 8 to 15 digits are accepted.
- Recommendation: enter numbers in international format (+33…); without the KSI SendSMS module, no dialling code is added automatically.
- If the KSI SendSMS module is installed, the international dialling code is completed automatically.
6. Document download link
The WhatsApp message ends with a link that lets the recipient download the document's PDF.
- The link reuses the public share link of the already generated PDF, as it exists in Dolibarr's document management (ECM).
- If the PDF does not exist yet or has no share link, the message goes out without a link: generate the document before sending.
- The three external download permissions set at activation let the recipient download the document from this link.
7. Frequently asked questions
Answers to the most common questions about how the module works.
- Is sending automatic? No: the module prepares the message and opens WhatsApp Web; sending is always done manually.
- Is the PDF attached to the message? No: the message contains a download link for the document.
- Why is the button greyed out or missing? Greyed out: no usable number was found on the third party or the document. Missing: the document's status does not allow sending, or the user has no sending permission.
- Are credit notes covered? No, credit notes are excluded.
- Does the module alter the native send form? No: it only adds a button; recipients, email templates and attachments remain handled by Dolibarr.
8. Requirements
What the module needs in order to work.
- Dolibarr 24.0.
- PHP 8.1.
- Native "Social Networks" module (enabled automatically with the module).
- Invoices, Commercial proposals and/or Sales orders modules, depending on intended use.
- JavaScript enabled in the browser (the button added to the send form depends on it).
9. Links with Dolibarr
The module does not work in isolation: it integrates with the native building blocks of Dolibarr.
- Third parties (social networks and phone numbers) : The destination number comes first from the WhatsApp field on the Social Networks tab of the third-party card, then from the third party's phone numbers (mobile, landline, personal), and finally from those carried by the document.
- Invoices, quotations and sales orders : The "Send by WhatsApp" button is added on the cards of these three objects, under the same status and permission conditions as the native email send button; credit notes are excluded.
- Email send form and templates : The module reuses Dolibarr's native "Send email" form, with its recipients, email templates and attachments, without altering it: it only adds one extra button.
- Documents (ECM) : The download link in the message relies on the public share link of the PDF already generated and stored in Dolibarr's document management (ECM).
- Social Networks module : A native dependency of the module, enabled automatically: it carries the WhatsApp field of the third-party card and the social networks dictionary, whose "whatsapp" entry is guaranteed at activation.
- Multi-entity : Multi-entity partitioning is respected: the button only acts on documents of the current entity, and the download link is built from the document directory of the object's entity.