TechnoVision WhatsApp Core
by TechnoVision · Odoo App
The plumbing every WhatsApp module needs, written once. One call to send, one place to see what was sent, to whom, and what the provider said back. Meta ships with it; the interface means the next gateway is a subclass rather than a rewrite.
One-off licence per Odoo instance, invoiced directly. Not on the Odoo Apps Store yet. That is the add-on price. Installation and support are optional and priced separately.
Security Center
Live82
Score
1.2k
Events / 24h
3
Alerts
Export volume · 14 days
Unusual export detected
res.partner · 4,812 rows · outside business hours
Illustrative UI. Product screenshots to be dropped into this frame.
What it does
A gateway is a subclass with one method. Meta’s WhatsApp Cloud API ships with it, and nothing above the interface knows which provider is configured - so the second gateway is a small file rather than a search across the codebase.
Recipient, full text, template, the record it came from, state, the provider’s own message id and its own error text, attempt count and next attempt. The question after something goes wrong is never "did the API return 200".
Delivered and Read move only when the provider says so, and never backwards - providers repeat and reorder callbacks. A channel that marks its own messages delivered is telling you what it hopes happened.
Exponential backoff up to an attempt limit for a failure that could plausibly succeed later. No retry at all for one the provider says never will: a number that is not on WhatsApp, a malformed request, a missing credential.
Written {{ object.field }} and rendered through Odoo’s own engine rather than by evaluating user content. A template with placeholders refuses to render without a record, because "Dear , your invoice is overdue" reaching a customer is worse than a visible failure.
The simulated provider records exactly what would have been sent, with the full text and the delivery state, and sends nothing. Install it, configure it, demonstrate it and test it while the WhatsApp Business approval is still pending.
Pricing & Services
The add-on licence is the product. Installation and a support plan are separate, optional, and neither is added to anything unless you choose it. The licence is bought into your own account, so you own it outright whether or not you ever buy a service from us.
The module, licensed directly by TechnoVision.
$39
one-off, per Odoo instance · paid to TechnoVision
We have not priced installing this one yet. Tell us about your instance and we will quote it.
Request a quote
No price has been agreed for this one yet.
Request InstallationWe have not priced a support plan for this one yet. Ask and we will quote it.
Request a quote
No price has been agreed for this one yet.
Request SupportA support plan adds to what you already have. It never replaces it: defect fixes and help with the module stay free for every licence holder, plan or no plan.
Odoo 18, Community and Enterprise. We have not set an installation or support price for this module yet, so both are quoted rather than listed.
Supported: Odoo 18, Community and Enterprise. Licensed per Odoo instance, with no user limit and no expiry. Prices exclude any tax that applies where you are, and we tell you before you pay if any is due.
Screenshots
5 captures of the shipped product: message log, a single message, account, templates, composer.

Message log

A single message

Account

Templates

Composer
How it works
Depends on base and mail. No extra Python library unless you are actually sending.
Leave the provider on Simulated. Everything works; nothing is sent.
From the composer, to yourself. It appears in the log with its full text.
When Meta approves you, the token goes in a system parameter - never a field, never a backup, never a screenshot.
FAQ
No. It is the channel. Another module - or your own code - decides what to send and when. That separation is why the payment-reminder module does not contain its own copy of the retry logic.
Yes. On the simulated provider everything works except the sending: the message is created, queued, rendered, logged and shown with its full text and state. It is how the module is tested - 80 tests, no network, no Meta account.
In ir.config_parameter, which Odoo encrypts and only a system administrator can read. Deliberately not a field: a token in a column is a token in every backup, every duplicated database and every screenshot of that form.
It applies to your account whichever software sends. Outside it Meta requires a pre-approved template; a free-text send is rejected, and the rejection appears on the message in Meta’s own words.
Not yet. It is finished, tested and licensable direct - talk to us. It goes on the store once the suite has its first dependent module.
The module itself, for one Odoo instance, with no user limit and no expiry; every 18.0 release of the module, including security fixes; the module documentation, in the module and on this site; and defect fixes and help with configuration, at no extra cost and with no support plan required. It is a one-off licence for one Odoo instance, with no user limit and no expiry. It does not include installation on your instance, and configuration against your data; changes to the module for your own requirements; migration of the module or your data to another Odoo series; and work on your Odoo, your server, your network, or on other vendors’ modules.
No. Installation is optional, and we have not set a price for installing TechnoVision WhatsApp Core yet, so it is quoted rather than listed. Tell us about your instance and we will put a figure on it before you commit to anything.
Odoo 18, on Community and Enterprise. We do not claim a series until there is a branch for it, its tests pass on that series, and somebody has run it there — so the list on this page is what is actually supported rather than what is planned.
Twelve months of module updates, including security fixes; configuration support by email; priority handling: your ticket is looked at before unpaid enquiries; and help reproducing and reporting a defect, and a fix or a workaround. A plan runs for twelve months and is bounded by stated limits rather than by the word "reasonable": Up to 10 support requests in the twelve months; up to 4 hours of remote assistance in total; one Odoo minor-version upgrade of the module, within the same series; response within 2 business days, Sunday to Thursday, Cairo time; and covers the module. It does not cover your Odoo, your server, your network, or work on other modules.. The plan runs for 12 months from the day it starts and then stops. It renews only if you ask us to renew it — nothing renews automatically and no card is stored. It does not cover your Odoo, your server, your network, your backups, or other vendors’ modules; custom development or changes to how the module behaves; migration to another Odoo series — 18.0 to 19.0 is a project, not a ticket; on-site attendance, and work outside the hours below; and anything an external vendor charges for.
No, and this is the line worth being clear about. Defect fixes, at no charge, for the life of the 18.0 series; help when the module does not behave as its description says it does; answers to configuration questions about the module itself; and security fixes, released to everyone whether or not they hold a support plan — all of that comes with the licence, for every buyer, at no extra cost and whether or not a plan is ever bought. A paid plan adds updates, priority over unpaid enquiries and an allowance of assistance hours on top. It never takes anything away.
No, in any of the three options. A change to how a module behaves, a migration between Odoo series, and connecting a system we do not publish a connector for are each their own piece of work, quoted on their own. They are listed as exclusions on the cards rather than left to be discovered: they are the three things buyers most often assume are covered.
Use the buttons in the Pricing & Services section above. Neither has an agreed price for this module, so the button takes you to a quotation request instead: the same form, with the module and the service you asked for already filled in, and no figure invented along the way. No card details are taken on this site, and nothing is added to anything unless you choose it.
This module is built and shipping, and is not on the Odoo Apps Store yet. We licence it directly in the meantime - same code, same support, same price.