Skip to main content
POS WhatsApp Receipt Sender — A build-to-order Odoo Point of Sale extension that delivers each order receipt to the customer' — 1/1Illustrative preview

A build-to-order Odoo Point of Sale extension that delivers each order receipt to the customer's WhatsApp number

— either automatically at payment validation or manually from the POS session.

ECOSIRE scopes, builds, installs and supports it for your Odoo 17, 18 or 19.

What is POS WhatsApp Receipt Sender?

A build-to-order Odoo Point of Sale extension that delivers each order receipt to the customer's WhatsApp number — either automatically at payment validation or manually from the POS session. ECOSIRE scopes, builds, installs and supports it for your Odoo 17, 18 or 19. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $999.00 USD; request a quote for a scoped proposal.

Key Features

Extends `pos.order` with a delivery-state model (`queued`/`sent`/`failed`) and `@api.depends` compute fields for retry count and last-attempt timestamp
Automatic send on payment validation, hooked into the POS `on_payment`/order-finalization flow so no cashier action is required
Manual send button added to the POS payment screen (OWL component) for capturing the number mid-transaction
Outbound gateway service abstraction so your WhatsApp Business API provider can be swapped without touching POS logic
Receipt rendered from your existing QWeb POS ticket template — plain-text summary, PDF attachment, or approved media template per provider capability
WhatsApp credentials stored as encrypted config parameters, never hardcoded; managed under `res.config.settings` per POS config
Per-POS-config toggle for auto-send vs manual-only, with a default sender number and fallback behavior when no partner phone is present
Phone-number normalization to E.164 with country-code inference from the POS company/partner country
`ir.cron` or automated-action retry-on-failure with a bounded retry ceiling to survive transient provider outages
Delivery audit log (recipient, template, timestamp, provider message id, status) queryable via XML-RPC/JSON-RPC for reconciliation and BI
Access controlled via `ir.model.access.csv` plus record rules — POS users read their logs, only managers edit gateway credentials
Optional chatter post on the order documenting each send for a native, per-order paper trail
Graceful handling of missing/invalid numbers — order still completes, delivery is flagged failed rather than blocking checkout
Built and tested against Odoo 17.0, 18.0 and 19.0, Community and Enterprise, with edition-appropriate transport

Built to order, done for you

No DIY setup — a working app, built, installed and supported by ECOSIRE.

  1. 1

    You order

    Start with a one-time build price. We scope it with you at kickoff.

  2. 2

    We build & install

    ECOSIRE builds, configures and installs it on your Odoo.

  3. 3

    Go live + support

    You go live in about one working week, with two weeks of go-live support. Defects in the code we deliver are fixed free of charge.

Technical Specifications

Odoo Compatibility
Odoo 17, Odoo 18, Odoo 19
Editions
Enterprise & Community
License
Licence confirmation required
Python Requirement
Python 3.10+
Database
PostgreSQL 12+

About this Product

Most retail and hospitality teams still hand over a thermal paper slip or ask for an email that customers rarely open. Odoo's native Point of Sale can email a receipt when a partner is attached to the order, but there is no built-in path to WhatsApp — the channel your customers actually read within minutes. The result is wasted paper, lost proof-of-purchase, and a missed re-engagement touchpoint at the exact moment a buyer is holding your product. Odoo core runs out of road here: point_of_sale has no WhatsApp transport, no per-session toggle, no delivery audit trail, and Enterprise's WhatsApp connector is oriented toward marketing and discuss threads rather than transactional receipts fired at on_payment from the POS front end.

This is where our build-to-order module comes in. We build a dedicated Odoo application that extends pos.order and the POS OWL front end so that, the moment an order is validated, the receipt is rendered from your existing QWeb POS ticket and pushed to the customer's WhatsApp number. Technically, we add a models.Model extension carrying the delivery state (queued, sent, failed) with @api.depends compute fields for retry counts, an outbound gateway service that talks to your chosen WhatsApp Business API provider over its REST endpoint, and a settings layer in res.config.settings so cashiers and managers control default behavior per POS config. A cashier can also trigger a manual send from an added OWL button in the payment screen — useful when the phone number is captured mid-transaction. Every send writes a log line and (optionally) posts to the order's chatter, giving you a queryable delivery history over the standard XML-RPC/JSON-RPC API for reconciliation or BI.

Because it is a real Odoo module and not a bolt-on, everything respects the framework: access is governed by ir.model.access.csv plus record rules so only POS users see delivery logs and only managers change gateway credentials; the WhatsApp API key is stored as a config parameter rather than hardcoded; and the receipt payload can be a plain text summary, a PDF of the QWeb report, or a media template, depending on what your provider account supports. We target Odoo 17.0, 18.0 and 19.0, and we account for Community vs Enterprise differences — on Community we ship the full transport ourselves; on Enterprise we can either reuse the platform WhatsApp infrastructure or run standalone, whichever keeps your upgrade path clean. Automated actions or ir.cron handle retry-on-failure so a transient provider outage does not silently drop a receipt.

Delivery is build-to-order: after a short scoping call we confirm your Odoo version, edition, POS configuration and WhatsApp provider, agree the exact behavior, then build on a staging copy of your database, run UAT with you, and deploy to production with a rollback plan. Typical delivery is one working week from confirmed scope. Pricing starts from $999 (indicative, single-company base scope); multi-company POS estates, multiple WhatsApp sender numbers, deeper provider integrations (interactive templates, delivery-status webhooks) and localization of receipt content increase the quoted scope. You receive a fixed quote after the scoping call — never a surprise invoice.

What you get

  • Installable source code for your Odoo version(s) — clean module with `__manifest__.py`, models, views, security and QWeb assets
  • Installation and configuration on your environment (or guided setup on your Odoo.sh / self-hosted / on-prem instance)
  • Technical documentation: model/field reference, gateway configuration, security rules and extension points
  • End-user guide plus a live training session for cashiers and POS managers
  • UAT on a staging copy of your database with a documented rollback plan before production cutover
  • Post-go-live support window for defect fixes and configuration adjustments
  • Git repository handover with tagged release and commit history
  • Provider-onboarding notes covering WhatsApp Business API credential setup and number verification

Who this is for

Retail operations manager

Runs one or several stores on Odoo POS and wants every customer to leave with a digital receipt on WhatsApp instead of paper — reducing print costs and giving buyers instant proof of purchase for returns.

Hospitality / QSR owner

Fast-paced counter service where email capture slows the line. Needs an automatic send at payment so staff never break stride, with a manual fallback when a regular gives their number.

Odoo administrator / in-house developer

Owns the Odoo instance and wants a properly scoped module — respecting `ir.model.access.csv`, config-parameter secrets and a clean upgrade path across 17/18/19 — rather than a fragile in-house patch to `point_of_sale`.

Multi-company finance/BI lead

Needs a queryable delivery audit trail over XML-RPC/JSON-RPC to reconcile receipts sent against orders, and consistent behavior across companies and multiple sender numbers.

How POS WhatsApp Receipt Sender Compares

CriterionECOSIRECustom BuildCompetitorOdoo Native
WhatsApp receipt deliveryPurpose-built transport, auto + manualPossible but you build it allOften marketing-oriented, not POS receiptsNot available — email only
Fit to your Odoo version/editionBuilt for your 17/18/19, Community or EnterpriseDepends on in-house skillGeneric; version gaps commonCore POS behavior only
Delivery audit trailLogged model, queryable via XML-RPC/JSON-RPCOnly if you design itVaries, often minimalNone for WhatsApp
Security & secrets handling`ir.model.access.csv`, record rules, config-param keysYour responsibility to get rightUnknown; sometimes hardcodedN/A
Retry on provider failure`ir.cron`/automated-action retry ceilingMust be built and testedRarely includedN/A
Support & upgrade pathSupport window + git handover, upgrade-awareSelf-maintainedVendor-dependent, per-version paidFollows Odoo release cycle
Time to running solutionone working week from confirmed scopeUnpredictable; internal backlogInstant install but integration/fit work remainsImmediate but lacks the feature
Cost modelIndicative from $999, fixed quote after scopingDeveloper time, open-endedLow list price, hidden fit/support costIncluded, but no WhatsApp

Frequently Asked Questions about POS WhatsApp Receipt Sender

How long does delivery take?

This is a build-to-order module, so it is built for your environment rather than downloaded. Typical delivery is one working week from confirmed scope — the exact timeline depends on your Odoo version, WhatsApp provider and any multi-company or localization requirements, and we lock it in during the scoping call.

How does pricing and scoping work?

Pricing starts from $999 as an indicative single-company base-scope figure. After a short scoping call we confirm your Odoo edition, POS configuration, provider and delivery behavior, then send a fixed written quote. Drivers like multi-company POS estates, multiple sender numbers, interactive templates or receipt localization increase the quoted scope — there is no surprise billing.

What about support and future Odoo updates?

Every build includes a post-go-live support window for defect fixes and configuration tweaks, plus a git repository handover so your team owns the code. We build against Odoo 17.0, 18.0 and 19.0; version upgrades and new features are handled as a scoped follow-on so your production instance stays stable.

Do I need a WhatsApp Business API account?

Yes. WhatsApp transactional messaging runs through the WhatsApp Business API via a provider. We integrate against your chosen provider and include onboarding notes for credential setup and sender-number verification. If you have not selected a provider, we advise on options during scoping.

Does it work with Odoo Community or only Enterprise?

Both. On Community we ship the full outbound transport ourselves; on Enterprise we can either reuse the platform's WhatsApp infrastructure or run standalone, whichever keeps your upgrade path cleanest. The behavior is identical from the cashier's point of view.

Will it slow down or block checkout?

No. The send is designed to be non-blocking: the order completes normally and delivery runs against the delivery-state model. If a number is missing or the provider is temporarily unreachable, the receipt is flagged failed and retried via `ir.cron` rather than holding up the till.

Can we send automatically and also manually?

Yes. Each POS config has a toggle for automatic send at payment validation, and we add a manual send button to the POS payment screen for cases where the customer's number is captured mid-transaction or a resend is needed.

Request a quote

POS WhatsApp Receipt Sender

A build-to-order Odoo Point of Sale extension that delivers each order receipt to the customer's WhatsApp number — either automatically at payment validation or manually from the POS session. ECOSIRE scopes, builds, installs and supports it for your Odoo 17, 18 or 19.

  • Extends `pos.order` with a delivery-state model (`queued`/`sent`/`failed`) and `@api.depends` compute fields for retry count and last-attempt timestamp
  • Automatic send on payment validation, hooked into the POS `on_payment`/order-finalization flow so no cashier action is required
  • Manual send button added to the POS payment screen (OWL component) for capturing the number mid-transaction
  • Outbound gateway service abstraction so your WhatsApp Business API provider can be swapped without touching POS logic

Request a Quotation

Tell us about your POS WhatsApp Receipt Sender requirements and we'll send pricing, licensing options and a tailored proposal — usually within one business day.

No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.