Skip to main content
Payment Links & Pay-by-Link for Odoo — Generate secure, shareable payment links from invoices, quotes & ad-hoc charges — sent — 1/1Illustrative preview

Generate 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

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
Partial-payment toggle — allow the customer to pay any amount up to the balance, with residual tracking until fully cleared
Per-link multi-gateway selection: choose which payment.provider records (Stripe, PayPal, Adyen, Mollie, Razorpay, local/manual) are offered on that specific link
Email delivery via native Odoo mail templates with a branded, mobile-friendly QWeb landing page
SMS delivery through Odoo IAP or a Twilio/other gateway integration for instant mobile reach
WhatsApp delivery via the Enterprise WhatsApp connector or a Meta Cloud API integration for Community editions
Auto-reconciliation: on a completed payment.transaction the module registers account.payment and reconciles it against the open receivable, updating invoice payment status automatically
Cryptographically strong, single-use, expirable access tokens on a rate-limited, CSRF-safe public website controller route
Automated action to generate and send a link the instant an invoice is posted, or on a schedule for overdue balances
Real-time compute fields (@api.depends) for amount paid, outstanding balance and link status shown on the form and in list/kanban views
Full audit trail per link: created-by, delivery channel, sent/opened/paid/expired timestamps and the resulting payment reference
Security via ir.model.access.csv groups and record rules — only authorized finance users can create, resend or void links
Reporting views and filters (paid vs. outstanding vs. expired links) plus optional QWeb receipt/confirmation PDF
Multi-company and multi-currency aware, respecting the customer's and company's currency and the correct receivable account
XML-RPC / JSON-RPC endpoints so external systems or portals can request a link programmatically

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

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

CriterionECOSIRECustom BuildCompetitorOdoo Native
Generate link from invoice / SO / ad-hoc chargeIncludedPartial supportPartial supportPartial support
Custom amount, expiry & partial-payment control per linkIncludedPartial supportPartial supportNot included
Email + SMS + WhatsApp deliveryIncludedPartial supportNot includedNot included
Per-link choice of multiple payment gatewaysIncludedPartial supportPartial supportNot included
Auto-reconcile payment against the originating invoiceIncludedPartial supportPartial supportPartial support
Tailored to your gateways, branding & chart of accountsIncludedIncludedNot includedNot included
Built, installed & supported for you (one working week delivery)IncludedNot includedNot includedNot included
Source-code ownership + Odoo 17/18/19 compatibility guaranteeIncludedPartial supportPartial supportPartial support
XML-RPC / JSON-RPC programmatic link generationIncludedPartial supportNot includedNot 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.

Request a quote

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

Request a Quotation

Tell us about your Payment Links & Pay-by-Link 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.