Skip to content

free OCA e‑commerce modules for intuitive ordering

free OCA e‑commerce modules

iodoo e-commerceIn this tutorial, we show you how to use free OCA e‑commerce modules to build a smooth and intuitive customer ordering journey on Odoo. First, we explain what these modules offer. Then, we guide you step by step through installation, configuration, and testing. Finally, we provide code examples and links to help you get started right away. Moreover, we keep each sentence in active voice and use transition words to guide you clearly.

What are free OCA e‑commerce modules?

You may ask, “What makes free OCA e‑commerce modules unique?” Simply put, the Odoo Community Association (OCA) maintains a set of open‑source extras that extend Odoo’s website‑sale features. Therefore, you can add advanced checkout controls, price hiding, unit packaging, and legal compliance without paid apps.

Why use free OCA e‑commerce modules?

First, you save on licensing costs because OCA modules remain free under the LGPL license. Next, you access community‑driven updates regularly. Additionally, you gain specialized features for B2B and B2C workflows. Finally, you support a thriving open‑source ecosystem that Odoo funds and many partners back.

How free OCA modules enhance the ordering journey

Moreover, these free OCA modules help you:

  • Skip payment steps automatically for specific customers.
  • Hide product prices from public users.
  • Display secondary unit measures, like packs and bulk sizes.
  • Enforce legal terms on checkout pages.

As a result, customers enjoy a clearer path to purchase, and you reduce support questions.

Prerequisites for free OCA e‑commerce modules

Before you install free OCA e‑commerce modules, ensure that you meet the following requirements.

Odoo version compatibility

  • Check that you run Odoo 17 (or later).
  • Note that some modules already exist on OCA 18 branch.

Server and system setup

  • Install Python 3.10+.
  • Use Git to clone repositories.
  • Ensure you have access to your Odoo server’s configuration file (odoo.conf).

Outgoing link and resources

You can find all free OCA e‑commerce modules on GitHub under the OCA website-sale organization. Moreover, you can explore module docs on the OCA website.

Install free OCA e‑commerce modules

Next, let’s install the modules on your Odoo server. We use active commands and short steps.

Clone free OCA e‑commerce modules repository

First, connect to your server via SSH. Then run:

cd /opt/odoo/custom-addons
git clone https://github.com/OCA/website-sale.git

This command saves the repo under website-sale. Next, you can pick the branches you need:

cd website-sale
git checkout 17.0

Add addons path in Odoo configuration

Then, open your odoo.conf and add the clone path:

[options]
addons_path = /opt/odoo/addons,/opt/odoo/custom-addons/website-sale

Save the file, and then restart the Odoo service.

Restart Odoo and update apps list

After you edit the config, run:

sudo systemctl restart odoo

Next, log in to your Odoo backend. Then go to Apps > click Update Apps List. Finally, search for your new modules to install.

Configure free OCA e‑commerce modules for intuitive ordering

Now we configure key modules. Each section shows code snippets and UI steps.

Skip payment checkout Odoo with free OCA modules

First, install website_sale_skip_payment:

  1. In Apps, search for Skip Payment Checkout.
  2. Click Install.

Next, activate it for specific customers:

  1. Go to Customers > choose a record.
  2. Under Sales & Purchases, check Skip Payment.
  3. Save the changes.

Then, we test:

  • When this customer orders, Odoo confirms the sale right after checkout without asking for payment.
  • Meanwhile, backend shows a draft sale order (state: draft).

Code example: Automated confirmation

If you prefer code, you can apply this logic in a custom module:

from odoo import models

class SaleOrder(models.Model):
    _inherit = 'sale.order'

    def _payment_init(self):
        # Skip payment for flagged customers
        if self.partner_id.skip_payment:
            self.action_confirm()
        else:
            super()._payment_init()

This snippet runs before payment. It confirms the order if skip_payment is true. Otherwise, it proceeds normally.

Hide product price with free OCA modules

Next, we install website_sale_hide_price:

  1. In Apps, search Hide Price.
  2. Click Install.

After that, configure:

  1. Go to Customers > Public User.
  2. Under Access Rights, uncheck Portal or set to a group you define.
  3. Save the user.

Then, public visitors cannot see any price. Meanwhile, B2C or B2B can see once they log in.

Example: Hide price for specific products

To hide price only on select items:

  1. Edit your product.
  2. In the Website tab, mark Hide Price.
  3. Save.

This method requires no code and uses a built‑in checkbox.

Setup secondary unit measure Odoo

Now, install sale_stock_secondary_uom:

  1. In Apps, search Secondary Unit Measure.
  2. Click Install.

Then, configure the unit:

  1. Go to Inventory > Configuration > Units of Measure.
  2. Create a new UoM called Pack.
  3. Set factor to 12 (if 12 items per pack).
  4. Save.

Next, edit a product:

  1. Open Products > select an item.
  2. Under Sales, choose Pack as the secondary unit.
  3. Save.

Finally, test on the website:

  • You will see an extra field to choose Pack units.
  • The price updates accordingly (e.g., 12× base price).

Enforce legal compliance on checkout

Furthermore, you can require terms acceptance:

  1. Install website_sale_terms_conditions.
  2. In Apps, search Legal Terms.
  3. Click Install.

Then, go to Website > Configuration > Settings:

  • Under Checkout, enable Terms and Conditions.
  • Paste your legal text or a link.
  • Save.

Now, users must tick a checkbox before placing an order. This step helps you meet local regulations.

Test and verify your improvements

After you set up each module, you must test both B2C and B2B flows.

B2C vs. B2B price display

First, log out. Then visit your store as a guest:

  • You should see no price if you hid it.

Next, log in as a B2C customer:

  • You see base price and discount labels.

Then, switch to a B2B user:

  • You see unit pack pricing and tax‑included amounts.

Unit measure packaging test

Moreover, test the secondary unit:

  • Choose Pack on the product page.
  • Add a pack to the cart.
  • Confirm the cart updates the right quantity and price.

Checkout skip payment scenario

Also, test skip payment:

  1. Log in as a user flagged for skip payment.
  2. Place an order.
  3. Observe that Odoo confirms the sale without payment.

Code summary and explanation

# Clone repo
git clone https://github.com/OCA/website-sale.git

# Switch to branch
cd website-sale && git checkout 17.0

# Edit odoo.conf
addons_path = /opt/odoo/addons,/opt/odoo/custom-addons/website-sale

# Restart service
sudo systemctl restart odoo

Next, use Python hooks to customize behavior:

from odoo import models

class SaleOrder(models.Model):
    _inherit = 'sale.order'

    def _payment_init(self):
        if self.partner_id.skip_payment:
            self.action_confirm()
        else:
            return super()._payment_init()

This code sits in your custom module and ensures skip payment works at the right time.

Additional resources

Conclusion

In summary, free OCA e‑commerce modules give you powerful tools to improve your Odoo store. Moreover, they let you skip payment steps, hide prices, offer pack units, and enforce legal terms—all at no additional cost. Therefore, follow this tutorial, install the modules, and configure them to match your business needs. Finally, test thoroughly, and enjoy a seamless and intuitive customer ordering journey.


Discover more from teguhteja.id

Subscribe to get the latest posts sent to your email.

1 thought on “free OCA e‑commerce modules for intuitive ordering”

  1. Pingback: OCA Contribution Guide: 5 Powerful Secrets for Success

Leave a Reply

WP Twitter Auto Publish Powered By : XYZScripts.com