Skip to Content
Odoo Suite · Returnable Packaging

Never lose another container.

Charge, track and refund returnable deposits across Sales, Point of Sale and your webshop, from one ledger.

Container Deposit Command Center dashboard in Odoo
The Problem

Deposits leak money quietly.

Containers walk away

Bottles, kegs, crates and cylinders leave with customers and are never seen again. That is silent margin loss, month after month.

Spreadsheets can't keep up

Nobody knows who holds what, or for how long. The numbers live in three files and none of them agree.

Refund chaos

Staff refund deposits from memory, sometimes twice for the same crate. There is no single balance to check.

The Solution

Three modules. One central ledger.

Sold as a suite on the Odoo Apps Store. Start with the core ledger and add the channels you sell through.

Core

Deposit & Container Ledger

  • Tag any product as deposit-carrying. Deposit lines are added to sales and purchase orders automatically and stay in sync with quantities.
  • Every deposit charged or refunded lands in one central ledger, giving a live per-customer balance of containers and money owed back.
  • Guided return wizard with over-refund protection, optional automatic credit notes, and a Return Requests pipeline for pickups and drop-offs.
Add-on

Point of Sale

  • Deposit added automatically when a deposit-carrying product is scanned. It follows numpad quantity changes and disappears with the product.
  • A Return Containers button shows the customer's live outstanding balance from the ledger, with refunds capped so nobody is paid twice.
  • Paid orders write straight into the central ledger and feed a POS Out / Returned Today KPI on the dashboard.
Add-on

eCommerce

  • A refundable-deposit note appears next to the shop price, and deposit lines are added to the cart automatically, protected from tampering.
  • Customers get their own portal page: refund waiting, outstanding containers, activity history, and a return-request form.
  • Web orders flow into the same central ledger and add a Web Out / Returned Today KPI to the dashboard.
How It Works

From first sale to final refund.

1

Tag products

Mark any product as carrying a deposit. The deposit price is fixed; pricelists and discounts never alter it.

2

Sell anywhere

Backend order, POS scan, or webshop cart. Deposit lines follow automatically, combined per container type.

3

Ledger records it

Every deposit charged lands in the central ledger against the customer's balance.

4

Customer returns

Portal request or walk-in. The Return Requests pipeline tracks it from New to Scheduled to Done.

5

Refund, done

The wizard refunds with over-refund protection, raises the credit note if you want one, and the dashboard updates.

A website return request in the Return Requests pipeline, from New to Scheduled to Done

The Return Requests pipeline: every pickup and drop-off, one click away from processing.

Container Deposit Command Center with liability, aging buckets and channel KPIs
Command Center

Your whole deposit float, on one screen.

  • Liability at a glance: outstanding deposit money and containers in the field, live.
  • FIFO aging buckets: 0-30, 31-60, 61-90 and 90+ days, so you see what is drifting away.
  • Risk-scored top holders: a deterministic 0-100 non-return risk score for your biggest container holders.
  • Trends and float: 12-month given-out vs returned trend and deposit float by container type.
  • Channel KPIs, light and dark: POS and Web daily counters, in whichever mode your team prefers.
Optional AI Layer

AI-assisted recovery. Off by default.

When you switch it on, the AI helps you get containers back sooner. When you leave it off, everything else works exactly the same.

Reclaim emails drafted from real ledger facts. They open in the mail composer for your review and are never sent automatically.
A weekly digest with anomaly detection, so unusual deposit movement gets noticed early.
Deterministic risk scoring computed by Odoo, shown alongside the AI-written text.
Your numbers are never generated by AI. Odoo computes them; the AI only writes the words. Works with OpenAI, Anthropic, or fully private via self-hosted Ollama.
Built For

If it goes out and should come back, it fits.

Breweries & beverage distributors Water suppliers Gas cylinders Kegs & casks Crates & pallets EU bottle-deposit retail
Why Ours

One suite. Every channel. Nothing bolted on.

Most deposit tools cover a single channel. This suite covers the backend, the till and the webshop with one central ledger underneath them all.

One ledger across backend, POS and webshop
Customer self-service portal with return requests
Live aging dashboard with FIFO buckets
Fixed deposit pricing under any pricelist
Return-request pipeline from request to refund
Optional AI recovery, off by default
Good to Know

Questions, answered.

Does it work with Community and Enterprise?
Yes, both editions are supported.
Can customers see their own balance?
Yes. The portal page shows their refund waiting, outstanding containers, activity history, and a return-request form that feeds your backend pipeline.
What if a customer returns fewer containers than requested?
The return wizard is adjustable and capped at the true outstanding balance, so a partial return is handled cleanly and nobody is ever refunded twice.
Do I need the AI features?
No. They are off by default and everything works without them.
Can deposits be tax-free?
Yes. Tax treatment is configured on the deposit product, so you can apply whatever your jurisdiction requires.

See it on your own data.

Book a 30-minute demo and watch your deposit float turn into a number you can act on.