Skip to main content
Website Show Price After Login — A made-to-order Odoo eCommerce module that hides product pricing and the Add-to-Cart flow fr — 1/1Illustrative preview

A made-to-order Odoo eCommerce module that hides product pricing and the Add-to-Cart flow from anonymous

visitors, revealing them only to logged-in members you approve.

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

What is Website Show Price After Login?

A made-to-order Odoo eCommerce module that hides product pricing and the Add-to-Cart flow from anonymous visitors, revealing them only to logged-in members you approve. ECOSIRE scopes, builds, installs, and supports it for your Odoo 17/18/19 site. 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

Inherits `website_sale.product_price` and product-grid/detail QWeb templates to hide price only for anonymous visitors
Gates on `not request.website.is_public_user()` so only real authenticated `res.users` see pricing, never the shared public user
Hides Add-to-Cart button, quantity selector, and wishlist/compare add controls together with the price when configured
Configurable guest call-to-action ("Log in to see pricing" / "Request access") wired to the sign-in or contact route
Server-side guard on `/shop/cart/update` and `/shop/cart/update_json` controllers rejects public-user cart mutations when gating is active
Strips price fields from storefront JSON/RPC payloads so scrapers cannot read hidden prices from network responses
Admin-configurable via `res.config.settings` toggles under Website settings — no code edits to change behavior
Optional approval-gated mode using a dedicated `res.groups` (e.g. "Verified Buyer") instead of any-login access
`ir.model.access.csv` and record rules scope member-only data correctly across models
Optional automated action / portal-signup rule to auto-grant the buyer group on approval or on verified signup
Respects existing pricelists — once revealed, the correct partner/pricelist price is shown unchanged
SEO-aware handling of hidden prices to avoid emitting misleading structured-data or empty price schema to crawlers
Packaged with a versioned `__manifest__.py` depending on `website_sale`, installable and upgradable via standard `-u` with no core patching
Compatible with Odoo 17.0, 18.0, and 19.0, and adaptable to Community or Enterprise website themes

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

Many B2B and wholesale operations run their catalog on Odoo eCommerce but cannot show public list prices to the open internet. Distributor pricing leaks to competitors, retail shoppers see wholesale rates, and price-scraping bots harvest your margins. Odoo core gives you pricelists and a portal login, but out of the box the website product pages still render the price, the Add to Cart button, and quantity selectors to every anonymous visitor. There is no supported switch that says "gate all pricing behind authentication," and the pricelist mechanism controls which price shows, not whether it shows at all. This is exactly where teams hit the wall and start hand-hacking QWeb templates.

ECOSIRE builds a dedicated website_show_price_after_login module that cleanly conditions price visibility on the authenticated session. Technically, we inherit and override the relevant eCommerce QWeb templates (website_sale.product_price, the product grid item, and the product detail product template) so the price block, Add to Cart, quantity input, and any wishlist/compare add-to affordances render only when the visitor is authenticated — evaluated via not request.website.is_public_user() so we match a real logged-in res.users, never the shared public user. A configurable call-to-action ("Log in to see pricing" / "Request access") replaces the hidden price for guests and drives them to the sign-in or contact flow. The behavior is exposed as res.config.settings toggles under Website settings, so switching gating on, choosing whether to also hide Add-to-Cart, and setting the CTA text are admin-configurable rather than hard-coded.

Because bots and crafted requests can skip the UI, we do not rely on template hiding alone. We add a server-side guard so cart mutation controllers (the /shop/cart/update and JSON /shop/cart/update_json routes) reject additions from the public user when gating is active, and we suppress price data from the JSON payloads that hydrate the storefront so scrapers cannot read prices out of the network response. Access is enforced with ir.model.access.csv plus record rules where a member group is involved, and — when your scope needs approval-gated access rather than any-login access — we introduce a dedicated res.groups (e.g. "Verified Buyer") and gate on group membership, with an optional automated action or portal-signup rule to grant it. Everything ships as a proper module with its own __manifest__.py declaring dependencies on website_sale, versioned for your target series, so it installs and upgrades through the normal -u path without touching core.

This is delivered build-to-order: after a short scoping call we confirm your exact rules (any-login vs. approved-group, hide-price-only vs. hide-the-whole-buy-box, guest CTA wording, and how prices behave in search/SEO), then build against your Odoo version, validate on a staging copy, and hand over installable source with a git repo and docs. Typical delivery is one working week from confirmed scope. Pricing starts from $999 (indicative, single-company base scope); multi-company or multi-website deployments, approval-workflow group provisioning, and deeper localization or theme-specific template overrides increase the quoted scope.

What you get

  • Installable source code for your Odoo version (17.0 / 18.0 / 19.0), packaged as a standard module
  • Installation and configuration on your staging environment, with the settings toggles walked through
  • Technical documentation (template overrides, controller guards, groups/record rules, config options)
  • End-user and admin guide plus a live training session for your team
  • UAT on a staging copy with a documented rollback plan before production go-live
  • Post-go-live support window for defect fixes and configuration questions
  • Git repository handover with full commit history and tagged release
  • Manifest and dependency notes so future upgrades apply cleanly via `-u`

Who this is for

B2B / Wholesale Distributor

Sells to trade accounts at negotiated rates and must keep wholesale pricing off the public site while still letting approved buyers self-serve orders online.

Odoo Website Administrator

Runs the eCommerce site and needs a supported, upgrade-safe way to gate pricing behind login without hand-editing QWeb on every theme update.

Members-Only or Trade Retailer

Operates a gated storefront where only registered or verified members should see prices and buy, using a dedicated buyer group and approval flow.

Brand Protecting Margins from Scrapers

Wants prices hidden from competitors and bots, requiring server-side enforcement and stripped JSON payloads, not just visual hiding in the template.

How Website Show Price After Login Compares

CriterionECOSIRECustom BuildCompetitorOdoo Native
Price visibility controlGated per-session; any-login or approved-group modesWhatever you build; often login-onlyUsually login-only, fixed behaviorPrice always shown to guests; pricelists pick which price, not whether
Bot / scraper protectionServer-side guard + price stripped from JSON payloadsOnly if you explicitly build itTypically template-hide only; price often still in payloadNone — prices in HTML and JSON for all
Add-to-Cart gatingConfigurable: hide price only or full buy box + controller guardPossible but hand-wiredOften hides price but leaves cart routes openAdd-to-Cart available to everyone
ConfigurabilityAdmin toggles in Website settings; no code editsDepends on how it's builtLimited fixed optionsNo such setting
Upgrade safetyClean module, versioned manifest, standard `-u` upgradesDirect QWeb hacks tend to break on updatesVaries; may lag new Odoo releasesN/A — feature doesn't exist
Odoo version supportBuilt for your 17.0 / 18.0 / 19.0 targetOnly what you commissionWhatever the listing supportsAll, but without the feature
Delivery & ownershipBuild-to-order, git handover, source you ownYou own it but carry all build cost/riskInstant download, generic, vendor-controlledIncluded with Odoo
Support & accountabilityScoping call, UAT, training, post-go-live windowInternal team or contractorVendor ticket queue, genericCommunity/support plan, no custom feature

Frequently Asked Questions about Website Show Price After Login

How long does delivery take?

This is a build-to-order module. After a scoping call to confirm your exact rules, typical delivery is one working week from confirmed scope, including a staging build and UAT before go-live. Tighter timelines can sometimes be accommodated depending on complexity.

Is this an existing app I can download instantly?

No. ECOSIRE builds it to order for your Odoo version and requirements — there is no instant download. You receive installable source, installation on staging, documentation, training, and a support window as part of the engagement.

How does pricing and scoping work?

Pricing starts from $999 as an indicative single-company base scope. After a short scoping call we confirm exact requirements and give you a fixed written quote. Multi-company/multi-website setups, approval-workflow group provisioning, and theme-specific overrides increase the quote.

Does it only hide the price, or also stop guests from buying?

That is a config choice. It can hide just the price, or hide the entire buy box (price, Add-to-Cart, and quantity) so anonymous visitors cannot add to cart. A server-side guard also blocks cart mutations from the public user so bots can't bypass the UI.

Can I limit pricing to approved members rather than anyone who logs in?

Yes. We can gate on a dedicated `res.groups` (e.g. "Verified Buyer") instead of any authenticated user, with an optional automated action or portal-signup rule to grant that group on approval or verification.

Which Odoo versions and editions are supported?

Odoo 17.0, 18.0, and 19.0, on Community or Enterprise. The module depends on `website_sale` and installs via the standard module path; theme-specific template overrides are handled during scoping.

What about support and future upgrades?

Every build includes a post-go-live support window for defects and configuration questions. Because it ships as a versioned module with a clean `__manifest__.py`, upgrades apply via the standard `-u` path; version migrations and enhancements can be quoted separately.

Request a quote

Website Show Price After Login

A made-to-order Odoo eCommerce module that hides product pricing and the Add-to-Cart flow from anonymous visitors, revealing them only to logged-in members you approve. ECOSIRE scopes, builds, installs, and supports it for your Odoo 17/18/19 site.

  • Inherits `website_sale.product_price` and product-grid/detail QWeb templates to hide price only for anonymous visitors
  • Gates on `not request.website.is_public_user()` so only real authenticated `res.users` see pricing, never the shared public user
  • Hides Add-to-Cart button, quantity selector, and wishlist/compare add controls together with the price when configured
  • Configurable guest call-to-action ("Log in to see pricing" / "Request access") wired to the sign-in or contact route

Request a Quotation

Tell us about your Website Show Price After Login 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.