Passer au contenu principal
Les détails du produit sont affichés en anglais. Traductions à venir.
Website/Portal Returns Self-Service for Odoo — Customers raise and track returns from your Odoo website/portal — auto-creatin — 1/1Aperçu illustratif

Customers raise and track returns from your Odoo website/portal

— auto-creating RMAs and reverse pickings, built and installed by ECOSIRE.

Qu'est-ce que Website/Portal Returns Self-Service for Odoo ?

Customers raise and track returns from your Odoo website/portal — auto-creating RMAs and reverse pickings, built and installed by ECOSIRE. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $999.00 USD; request a quote for a scoped proposal.

Fonctionnalités clés

Self-service return request from the Odoo customer portal — logged-in customers open 'My Returns', pick a delivered order and select the exact order lines and quantities to send back
Automatic RMA creation: each submission generates an rma.request record linked to the source sale.order and delivery stock.picking, with customer, reason and state
Auto-generated reverse picking on approval — a return-type stock.picking is created from the original delivery back to your configured returns/quality location, fully inside Odoo Inventory
Structured return reasons (damaged, wrong item, no longer needed, defective, size/fit, etc.) configurable per catalog and used for reporting and automated routing
Photo and document upload — customers attach images/proof of the item condition via ir.attachment, visible to your review team on the RMA
QWeb PDF return label and packing-slip generation with your logo, RMA number and return address, downloadable by the customer
Real-time status tracking for the customer: Requested → Approved → Rejected → In Transit → Received → Refunded/Exchanged, surfaced in the portal and mirrored on the back-office RMA
Automated approval and notification rules via server actions + automated actions (base.automation) — e.g. auto-approve within an N-day window, auto-notify on state change through mail.thread
Per-customer data isolation with ir.model.access.csv plus record rules so each portal user only ever sees and acts on their own RMAs
Refund and exchange branching — approved returns can trigger a credit note / refund path or an exchange sale order, wired to your finance and sales flow
Computed fields with @api.depends (return value, days-since-delivery, SLA/approval countdown) driving eligibility and dashboards
Return eligibility window enforcement — configurable N-day policy checked against the delivery date so out-of-window items are flagged or blocked
Back-office review workspace: list, kanban and form views for your team to approve, reject, add internal notes and receive returned stock in one place
XML-RPC/JSON-RPC exposure of the RMA object so carriers, 3PLs or a headless/Shopify storefront can create and query returns programmatically
Multi-warehouse and multi-company aware routing so returns land at the correct returns location for the order's origin warehouse

Fait sur commande, clé en main

Aucune configuration à faire vous-même — une app fonctionnelle conçue, installée et prise en charge par ECOSIRE.

  1. 1

    Vous commandez

    Commencez par un prix de développement unique. Nous cadrons le projet avec vous au lancement.

  2. 2

    Nous développons et installons

    ECOSIRE la développe, la configure et l'installe sur votre Odoo.

  3. 3

    Mise en ligne + assistance

    Vous êtes en ligne en une semaine ouvrée environ, avec deux semaines d’assistance après la mise en production. Les défauts du code que nous livrons sont corrigés gratuitement.

Spécifications techniques

Compatibilité Odoo
Odoo 17, Odoo 18, Odoo 19
Éditions
Enterprise et Community
Licence
Licence à confirmer
Version Python requise
Python 3.10+
Base de données
PostgreSQL 12+

À propos de ce produit

Returns are where most D2C brands leak money and goodwill. On stock Odoo, a customer who wants to send something back has to email support, an agent digs up the original delivery, manually builds a return picking under Inventory, and the customer is left in the dark until the refund lands. It doesn't scale, it burns support hours, and it feels nothing like the Amazon-style experience shoppers now expect.

Website/Portal Returns Self-Service closes that gap. It is a net-new Odoo module that ECOSIRE designs, builds, installs and supports specifically for your instance — not a generic apps.odoo.com download. Once live, a logged-in customer opens "My Returns" in the Odoo portal, picks the delivered order and the exact lines they want to send back, chooses a return reason, uploads photos of the item, and submits. The module creates a proper RMA record and, on approval, generates the reverse picking (stock.picking in the return type of the delivery warehouse) back to your returns location — fully wired into Odoo Inventory, no spreadsheet, no re-keying.

Under the hood it is real Odoo engineering. A new rma.request model (models.Model) carries the customer, source sale.order/stock.picking, reason, state and computed fields via @api.depends (for example an approval-window countdown or a total-return-value). Portal access is governed by ir.model.access.csv plus record rules so each customer sees only their own returns, never anyone else's. The customer journey is served through website controllers and QWeb/portal templates that match your theme, while the back-office review screens are standard Odoo form/list/kanban views. Approvals can be automated with server actions and automated actions (base.automation), and every status change fires a mail.thread message so the customer is notified and can watch the RMA move from Requested → Approved → In Transit → Received → Resolved right inside the portal. Return labels are produced as QWeb PDF reports, and the whole object is reachable over XML-RPC/JSON-RPC if you want to sync with a carrier or a headless storefront.

The module targets Odoo 17, 18 and 19 and runs on Community or Enterprise (Enterprise studio/portal niceties are used when present but never required). Because we build it to order, your return reasons, approval rules, restocking logic, refund/exchange branching, warehouse routing and portal wording are configured to how your brand actually operates — then handed over with source, docs and a support window. Typical delivery is one working week after we confirm scope.

Ce que vous obtenez

  • Complete, installable Odoo module (source code) with a proper __manifest__.py declaring dependencies (sale, stock, website/portal), version-pinned for your Odoo 17, 18 or 19 instance
  • Configured return policy: your reason list, eligibility window, approval rules, restocking/refund-vs-exchange branching and warehouse-to-returns-location routing set up in your database
  • Portal & website templates (QWeb/OWL) styled to match your existing theme, plus the QWeb PDF return-label report
  • Security layer: ir.model.access.csv and record rules reviewed and applied so portal customers are strictly scoped to their own returns
  • Deployment to your environment (staging first, then production) including data migration checks and a smoke-tested end-to-end return flow
  • Admin and support playbook documentation covering how to review, approve, receive stock and issue refunds/exchanges
  • A live training session for your operations/support team plus a short recorded walkthrough
  • A defined post-launch support & warranty window with bug fixes and minor adjustments, and a clear path for future enhancements

Pour qui c'est

D2C brand operations lead

Runs fulfillment for an online-first brand on Odoo and wants an Amazon-style self-service returns flow so customers stop emailing support for every RMA and reverse pickings stop being built by hand.

Customer support manager

Owns the support queue and is drowning in 'how do I return this?' tickets. Needs returns to move to a self-service portal with clear statuses and automated notifications so agents only touch exceptions.

Ecommerce / IT manager on Odoo

Responsible for the Odoo website and integrations, and needs the returns experience to be native to Odoo (portal, Inventory, security) and reachable over XML-RPC/JSON-RPC for carrier or headless-storefront sync — without a fragile third-party bolt-on.

Comment Website/Portal Returns Self-Service for Odoo se compare

CritèreÉCOSIREConstruction personnaliséeConcurrentNatif Odoo
Customer self-service returns from the portalNative 'My Returns' portal flow built for your themePossible but you design and build it from scratchSometimes, quality and theme-fit varyNon inclus
Auto-creates RMA + reverse picking in InventoryInclusOnly if you engineer the stock.picking logicPrise en charge partielleNon inclus
Return reason + photo/document uploadInclusBuild it yourself with ir.attachmentPrise en charge partielleNon inclus
Built and configured to your exact policyReasons, window, routing, refund/exchange all tailoredFully custom but on your time and riskFixed to the vendor's assumptionsNon inclus
Per-customer data isolation (record rules)Reviewed ir.model.access.csv + record rulesYou must design and test the security yourselfUsually yes but must be verifiedPrise en charge partielle
Deployment, training and support windowStaging→prod deploy, docs, training, warranty windowYour team owns all of itDocs only, support often limited/paidn/a
XML-RPC/JSON-RPC access for carrier/headless syncExposed and documentedOnly if you build the model and permissionsVaries by modulePrise en charge partielle
Odoo 17 / 18 / 19 compatibilityBuilt and verified for your versionYou maintain it across upgradesDepends on vendor's update cadenceInclus

Foire aux questions sur Website/Portal Returns Self-Service

How long does delivery take, and is this an instant download?

This is a build-to-order module, not an instant apps.odoo.com download. After we confirm scope (your return reasons, approval rules, warehouse routing and portal wording), typical delivery is one working week: we build and unit-test against your Odoo version, deploy to a staging copy for you to test the full return flow, then promote to production. You never download an unfinished package — we hand over a working, configured module.

How is support and updates handled after launch?

Every build includes a post-launch support and warranty window during which we fix bugs and make minor adjustments at no extra charge. You receive the full module source, so nothing is locked to us. We also verify compatibility as you move across Odoo 17, 18 and 19, and any larger enhancements (new reasons, carrier integrations, exchange logic) can be scoped as follow-on work under a support retainer or a fixed quote.

Does it work on Odoo Community or only Enterprise?

Both. The module is built on core Odoo (sale, stock, website/portal, mail) and runs on Odoo Community 17, 18 and 19. Where your instance is Enterprise, we take advantage of the richer portal and Studio-adjacent niceties, but nothing in the returns flow requires Enterprise to function.

How does the reverse picking actually get created in Inventory?

When an RMA is approved, the module programmatically creates a return-type stock.picking from the original delivery back to your configured returns/quality location, respecting the order's origin warehouse. Your team receives the returned goods with the normal Inventory receipt flow, so stock levels, traceability and valuation all stay correct — there's no separate spreadsheet or manual re-keying.

Can customers only see their own returns?

Yes. Portal access is enforced with ir.model.access.csv plus record rules so each logged-in customer can only view and create returns tied to their own orders and contact. Your back-office team sees everything through standard list, kanban and form views, while customers are strictly scoped to their own RMAs.

Can it integrate with our carrier or a headless/Shopify storefront?

Yes. The RMA object is exposed over Odoo's XML-RPC/JSON-RPC API, so an external carrier system, a 3PL, or a headless/Shopify front end can create return requests and read their status programmatically. Return labels are generated as QWeb PDFs, and we can wire in a carrier's label API as a scoped add-on if you use one.

Can we customize return reasons, the eligibility window and refund-vs-exchange rules?

Absolutely — that's the point of build-to-order. Your reason list, the N-day return eligibility window (checked via a computed field against the delivery date), auto-approval rules (using server actions and automated actions), and whether an approved return triggers a refund/credit note or an exchange sale order are all configured to your brand's real policy before handover.

Demander un devis

Website/Portal Returns Self-Service

Customers raise and track returns from your Odoo website/portal — auto-creating RMAs and reverse pickings, built and installed by ECOSIRE.

  • Self-service return request from the Odoo customer portal — logged-in customers open 'My Returns', pick a delivered order and select the exact order lines and quantities to send back
  • Automatic RMA creation: each submission generates an rma.request record linked to the source sale.order and delivery stock.picking, with customer, reason and state
  • Auto-generated reverse picking on approval — a return-type stock.picking is created from the original delivery back to your configured returns/quality location, fully inside Odoo Inventory
  • Structured return reasons (damaged, wrong item, no longer needed, defective, size/fit, etc.) configurable per catalog and used for reporting and automated routing

Demander un devis

Décrivez vos besoins pour Website/Portal Returns Self-Service et nous vous enverrons les tarifs, les options de licence et une proposition sur mesure, généralement sous un jour ouvré.

Aucun paiement maintenant. Ceci envoie une demande de devis à notre équipe — nous vous recontacterons par e-mail avec les tarifs et les prochaines étapes.