- Home
- Apps
- SaaS Tools
- Payment Links & Pay-by-Link for Odoo
Illustrative previewGenerate secure, shareable payment links from invoices, quotes & ad-hoc charges
— sent by email, SMS or WhatsApp, auto-reconciled on payment.
What is Payment Links & Pay-by-Link for Odoo?
Generate secure, shareable payment links from invoices, quotes & ad-hoc charges — sent by email, SMS or WhatsApp, auto-reconciled on payment. 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
Built to order, done for you
No DIY setup — a working app, built, installed and supported by ECOSIRE.
- 1
You order
Start with a one-time build price. We scope it with you at kickoff.
- 2
We build & install
ECOSIRE builds, configures and installs it on your Odoo.
- 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
Payment Links & Pay-by-Link for Odoo is a build-to-order module that ECOSIRE designs, builds, installs and supports for your database — not an off-the-shelf apps.odoo.com download. It closes the gap between "invoice sent" and "cash received" by letting your team spin up a secure, shareable payment link in one click from any invoice (account.move), sales order or quotation (sale.order), or an ad-hoc charge with no source document at all.
Odoo core can email a portal link, but it is rigid: the amount is fixed to the document total, there is no expiry, no partial-payment control, no per-link gateway choice, and delivery is email-only. This module turns pay-by-link into a first-class workflow. A new ecosire.payment.link model captures the amount, currency, allowed payment providers, expiry datetime, partial-payment flag and a cryptographically strong access token. Server actions and smart buttons wire it onto the invoice and sales-order forms, and an automated action can generate a link the moment an invoice is validated (posted). The link resolves to a hardened public QWeb/website controller route that presents your branded checkout, runs the customer through the selected payment.provider records (Stripe, Adyen, PayPal, Mollie, Razorpay, local gateways, or manual/offline), and returns them to a themed confirmation page.
The reconciliation story is what makes it pay for itself. When a payment.transaction completes, the module registers the account.payment, links it to the originating account.move, and reconciles it against the open receivable — so a paid link updates the invoice's payment status to "In Payment" or "Paid" with zero manual journal work. Partial payments are supported end-to-end: a customer can settle part of a large invoice, the residual is tracked, and the link can stay live until the balance clears. Compute fields with @api.depends keep paid, outstanding and status figures accurate in real time, and every link carries an immutable audit trail (created by, sent channel, opened, paid, expired).
Delivery is omni-channel. Beyond Odoo's native email templates, ECOSIRE integrates SMS (Odoo IAP or your Twilio/gateway) and WhatsApp (Enterprise WhatsApp connector, or a Meta Cloud API integration for Community) so you can push a link to a customer in whichever channel they answer fastest — critical for remote B2B and service billing where the buyer is not in front of a laptop. Security is enforced with ir.model.access.csv groups and record rules so only authorized users mint or void links, tokens are single-purpose and expirable, and the public route is rate-limited and CSRF-safe.
The module is built clean against Odoo's ORM and manifest conventions, ships with tests, and is installable and upgrade-safe on Odoo 17, 18 and 19 (Community or Enterprise — provider availability differs). Because it is build-to-order, ECOSIRE tailors the gateways, branding, channels and reconciliation rules to how your finance team actually works, then hands over documented, maintainable code you own.
What you get
- Fully custom Odoo module (source code) with clean __manifest__.py, ORM models, security CSV, XML/OWL views and QWeb templates — packaged and installed in your database
- Configured and tested payment.provider connections (e.g. Stripe/PayPal/local gateway) wired to the pay-by-link flow in your environment
- Configured delivery channels — email templates plus your chosen SMS and/or WhatsApp integration — with your branding on the checkout and confirmation pages
- Auto-reconciliation rules mapped to your chart of accounts, receivable accounts and journals, verified against real test invoices
- Admin & end-user documentation: how to generate, send, void and reconcile links, plus a short configuration/runbook guide
- Live training session for your finance/sales team (recorded) covering the day-to-day workflow and edge cases
- Post-launch support & bug-fix window with defined response times, plus an Odoo 17/18/19 upgrade-compatibility guarantee for the delivered version
- Source-controlled handover (Git repository access) so you fully own and can maintain or extend the code
Who this is for
Remote-invoicing B2B & service firm
Consultancies, agencies and service businesses that invoice clients they rarely meet in person. They need to send a legitimate, branded payment link the moment work is delivered and get paid faster without chasing bank transfers or reading out card details over the phone.
Finance / accounts-receivable team
AR staff drowning in manual reconciliation. They want links that auto-register the payment against the right invoice and update its status in Odoo, cutting the month-end matching work and eliminating 'did this transfer land?' back-and-forth.
Sales rep closing deals in the field
Reps who quote and close remotely and want a deposit or full payment captured on the spot. A one-click link from the quotation, delivered by WhatsApp or SMS to the buyer's phone, turns a verbal yes into settled cash before the buyer cools off.
How Payment Links & Pay-by-Link for Odoo Compares
| Criterion | ECOSIRE | Custom Build | Competitor | Odoo Native |
|---|---|---|---|---|
| Generate link from invoice / SO / ad-hoc charge | Included | Partial support | Partial support | Partial support |
| Custom amount, expiry & partial-payment control per link | Included | Partial support | Partial support | Not included |
| Email + SMS + WhatsApp delivery | Included | Partial support | Not included | Not included |
| Per-link choice of multiple payment gateways | Included | Partial support | Partial support | Not included |
| Auto-reconcile payment against the originating invoice | Included | Partial support | Partial support | Partial support |
| Tailored to your gateways, branding & chart of accounts | Included | Included | Not included | Not included |
| Built, installed & supported for you (one working week delivery) | Included | Not included | Not included | Not included |
| Source-code ownership + Odoo 17/18/19 compatibility guarantee | Included | Partial support | Partial support | Partial support |
| XML-RPC / JSON-RPC programmatic link generation | Included | Partial support | Not included | Not included |
Frequently Asked Questions about Payment Links & Pay-by-Link
Is this an instant download from the Odoo App Store?
No. This is a build-to-order module. ECOSIRE designs, builds, installs and supports it specifically for your Odoo database. You are buying an engineering engagement with a deliverable, not a self-install ZIP — which is why the gateways, delivery channels, branding and reconciliation rules are tailored to your business.
What is the delivery timeline / lead time?
Typical lead time is one working week from the confirmation of requirements, depending on how many payment gateways and delivery channels (email/SMS/WhatsApp) you need and the complexity of your reconciliation and chart-of-accounts setup. We share a milestone plan up front: requirements sign-off, a demo build on a staging database, your UAT, then production install and go-live.
What support and updates do I get after go-live?
Every engagement includes a post-launch support and bug-fix window with defined response times, plus documentation and a recorded training session. Because we hand over the source in a Git repository, you own the code. For the delivered version we provide an Odoo 17/18/19 compatibility guarantee, and we offer optional retainers for future enhancements, additional gateways or major-version migration work.
Which Odoo versions and editions does it support?
It is built to install and upgrade cleanly on Odoo 17, 18 and 19, on both Community and Enterprise. Some capabilities depend on edition — for example the native WhatsApp connector is an Enterprise feature, so on Community we integrate the Meta Cloud API directly. We confirm your exact version and edition during requirements and build against it.
How does auto-reconciliation actually work — will it touch my accounts safely?
When a customer completes a payment on the link, Odoo records a payment.transaction; the module then registers an account.payment and reconciles it against the originating invoice's open receivable, flipping its status to 'In Payment' or 'Paid'. All of this maps to journals and receivable accounts you approve, and we validate it end-to-end on a staging database with test transactions before anything runs in production. No manual SQL, no raw journal edits.
Can one link handle partial payments or a custom amount instead of the full invoice total?
Yes. Each link can override the amount (for a deposit or milestone), set an expiry, and enable partial payments so a customer can pay any amount up to the balance. The residual is tracked and the link can stay live until the invoice is fully settled — something Odoo's native portal link cannot do out of the box.
Can external systems request a payment link automatically?
Yes. The module exposes the link-generation logic through Odoo's XML-RPC / JSON-RPC API and supports automated actions, so your website, CRM, or an external app can request a secure link on demand — for example, generating and emailing a link automatically the moment an invoice is posted.
Related Modules

Partner Statement Report
A build-to-order Odoo module that generates polished customer and vendor account statements — open balances, aging, and full transaction history — as branded QWeb PDFs you can email or batch-send. ECOSIRE scopes, builds, installs, and supports it for your Odoo 17/18/19.

Password Manager for Odoo
A made-to-order encrypted credential vault built natively inside Odoo, with per-user and per-group access control, audit logging, and record-rule isolation. ECOSIRE designs, builds, installs, and supports it after your scoping call — this is not an off-the-shelf download.

Payment Surcharge & Convenience Fee for Odoo
Automatically add a per-payment-method surcharge or convenience fee to Odoo orders and online checkout, with tax-aware fee lines, country/threshold caps, and refund-safe handling. ECOSIRE scopes, builds, installs and supports it for your Odoo 17/18/19.

Paymob Payment Gateway for Odoo (MENA)
A build-to-order Odoo payment provider that connects your store and Sales checkout to Paymob for Egyptian and MENA cards, mobile wallets, and ValU installments. ECOSIRE scopes, builds, installs, and supports it on Odoo 17.0, 18.0, or 19.0.
Payment Links & Pay-by-Link
Generate secure, shareable payment links from invoices, quotes & ad-hoc charges — sent by email, SMS or WhatsApp, auto-reconciled on payment.
- One-click 'Generate Payment Link' smart button on customer invoices (account.move), sales orders and quotations (sale.order)
- Ad-hoc / standalone links with no source document — bill a deposit, retainer or one-off charge by entering an amount, currency and customer
- Custom amount override, so a link can request a deposit or partial figure instead of the full document total
- Configurable expiry datetime per link, with an automatic status flip to 'Expired' and optional auto-regeneration