---
title: Overview
date: 2026-06-13T16:01:00+01:00
author: John Henry Donovan
canonical_url: "https://johnhenry.ie/plugins/container-deposits/docs/getting-started/overview"
section: Plugins
---
esc

↑↓ to navigate↵ to selectesc to close

Menu On this page 

- [Return to top](#)

Documentation

Documentation

# Overview

**Container Deposits** brings container deposits into Craft Commerce. It was built around Ireland's [Re-turn](https://re-turn.ie/) Deposit Return Scheme, but it works just as well for any DRS or container deposit programme.

## What it does

- An admin keeps a list of **deposit types** in the Craft control panel (e.g. *Small Container - €0.15*, *Large Container - €0.25*).
- A **Container Deposit Type** field goes onto product/variant field layouts, and merchandisers pick the right deposit for each SKU.
- When a shopper adds a product to their cart, the matching deposit shows up as a **separate line item**, with its own quantity tied to the parent product.
- Deposit line items are **non-promotable** (catalog pricing rules skip them) and sit under a dedicated **VAT-exempt tax category**.

## How it works under the hood

Each deposit type is backed by a `DepositPurchasable` element - a real Craft Commerce purchasable with a price, SKU, and snapshot, but invisible to shoppers since it's never linked to a product page.

A listener on `Order::EVENT_BEFORE_SAVE` reconciles the order's line items every time the cart changes:

1. Walk the non-deposit line items and look up the assigned deposit type on each purchasable's field layout.
2. Sum the expected deposit quantities, grouped by deposit type.
3. Update existing deposit line items in place, add new ones for new types, and remove orphans.

End result: one deposit line item per deposit type, always in step with the cart, no front-end JS needed.

## Next

- [Installation](https://johnhenry.ie/plugins/container-deposits/docs/getting-started/installation)
- [Managing deposit types](https://johnhenry.ie/plugins/container-deposits/docs/guide/managing-deposit-types)
- [Assigning deposits to products](https://johnhenry.ie/plugins/container-deposits/docs/guide/assigning-deposits-to-products)
- [VAT treatment](https://johnhenry.ie/plugins/container-deposits/docs/guide/vat-treatment)

On this page
