Eco-contribution, WEEE and regulatory fees on sales documents
Showing the eco-contribution clearly on a quote and an invoice, even though its amount changes from one variant to the next and treating it as a tax would give a wrong amount.
The need
For one of our distributor clients, all sales go through public tenders and purchasing organizations, which imposes strict document requirements.
The furniture eco-contribution (France's eco-participation fee) must be shown clearly on quotes and invoices. Its amount depends on the product's weight, so it changes from one variant to the next. A 90 cm mattress and the same one in 140 cm do not carry the same contribution. On top of that come a specific flat-rate contribution and GTIN coding required by purchasing organizations.
A contribution included in the price, carried by the variant, shown as a separate line on six documents, and a total excluding eco-contribution that public buyers match against their contract.
What Odoo does out of the box, and where it stops
None of these limits is a configuration issue. They are design choices in the software, perfectly sound for most businesses, and unsuited to this specific case.
A tax is added to the price, the eco-contribution is included in it
Odoo can apply a tax to a product, but a tax rolls up into the VAT block. The eco-contribution is included in the price and must be shown as a separate line. Treating it as a tax gives a wrong amount.
The total excluding eco-contribution does not exist anywhere
Public buyers match the quote against their contract on an amount excluding the contribution. This column is not present in any standard template.
A field added on the product does not flow down to the variant
Yet it is the variant that carries the weight, and therefore the contribution. A field set at the product level would give the same value to every size.
The line must appear on four documents, and none of them provides for it
Quote, order confirmation, invoice and credit note, with a summary at the bottom of the invoice. Every print template has to be reworked.
What we built
Eco-tax carried by the variant
Built on the exact model of Odoo's barcode field. The data is stored on the variant, and a related field on the product form works across the relationship in both directions. Entry therefore remains possible from a simple product, without ever duplicating the value.
Entry column in the order
A unit Eco-tax column directly in the order line grid, to check and correct the value at the time of sale.
Line under each product
The line Dont Eco-Part. Mobilier hors taxes, in italics under each product line, on sales and invoicing documents.
Total excluding eco-tax column
Added before the document total, with sections and subtotals of the original template realigned so the layout stays correct.
Summary at the bottom of the invoice
An eco-contribution summary table, placed after the payment schedule so it does not overlap it.
Flat-rate contribution and GTIN
The flat rate is handled as a separate product rather than as a tax, so it stays readable on the document and can be managed by the client. The GTIN coding required by purchasing organizations was added to the products.
What it looks like
The result
Each variant inherited the original value and was then differentiated by weight. Print templates were rewired first, so the migration stayed seamless from the point of view of the documents sent to buyers.
Do you sell with a regulatory fee?
WEEE, furniture eco-contribution, packaging fee, private copying levy. The principle is the same: a line to display without skewing the calculation. We know where to step in within Odoo.
Discuss your project