Skip to main content
EPR contribution on invoices

How EPR contribution on invoices works inside Odoo

EPR contribution on invoices puts the packaging contribution of each customer invoice on its own line, keeps a breakdown by product and by the shipment packaging of the deliveries, and records the tariff it was priced with, so that credit notes give back at those same rates. The per-invoice calculation and the tariff updates run on FlexigoTech Cloud and need a subscription; if the subscription stops, your data stays in your Odoo.

FlexigoTech · Editor in charge: Víctor Gómez · Updated 4 November 2026

Key facts

Versions
Odoo 17, 18, 19 and 20
Checked
in the module's source code, version 20.0 · against the sources linked at the end
Reading time
4 min

What the module adds to the customer invoice

Everything in this article happens on the customer invoice form. The questions follow the order in which you come across things: first the line, then where its amount comes from and, finally, what depends on the cloud service.

What does EPR contribution on invoices do on an invoice?

It moves the packaging contribution onto its own invoice line. The module listing sums it up as «Your packaging contribution as its own invoice line». That line is flagged by the epr_contribution field, labelled Packaging contribution line, and the contribution amount sits in the monetary field epr_contribution_amount, labelled Packaging contribution. On the invoice you see the product lines on one side and the contribution line on the other.

Draft customer invoice with customer, dates, product lines and an ECOTIC packaging contribution line
The packaging contribution shows up as one more line on the draft invoice, with the Confirm, Cancel and Compute packaging contribution buttons, the totals and the chatter on the right.

Where can I see what the line amount is made of?

In the text field epr_contribution_detail, labelled Contribution by product. According to its description, it records what each product adds to the contribution line and also what the shipment packaging of the deliveries adds. If someone asks about the amount on the line, the breakdown is in that field, on the invoice itself.

Packaging contribution tab of a draft customer invoice with the contribution amount, the delivery and the breakdown by product and packaging
The Packaging contribution tab shows the amount, the linked delivery and the breakdown by product and by packaging, with the history in the chatter.

How do pallets, film and corners get included?

Through the deliveries. The epr_picking_ids field, labelled Deliveries, holds the deliveries whose shipment packaging (pallets, film, corners) is charged on that invoice. It is a Many2many field, so an invoice can have more than one delivery linked to it. That shipment packaging is the part of the Contribution by product breakdown that does not belong to the products.

Tariff, registration and credit notes

Which tariff is an invoice's contribution priced with?

The one stored in the epr_fee_schedule_id field, labelled Contribution tariff. The field description says it is the fee schedule the contribution of that invoice was priced with, and that its credit notes give back at the same rates. Put another way: a credit note for an invoice uses the tariff recorded on that invoice.

Can I show the contribution without charging it?

Yes. That is what the epr_contribution_note field is for, labelled Contribution shown as a note. When it is ticked, the contribution is written at the end of the invoice lines and not charged. Credit notes for that invoice do the same: they also show it as a note.

What is the Contribution registration field?

It is the epr_registration_id field, a Many2one link to the contribution registration the invoice carries. The animated walkthrough below ends on exactly that kind of registration form.

Walkthrough of a draft customer invoice with the contribution line, its Packaging contribution tab and an EPR registration form
First the draft invoice with the ECOTIC packaging contribution line; then the Packaging contribution tab with the delivery and the breakdown, shown twice; finally the EPR registration form for Spain packaging in the Registered state, with the organisation PRO ECOTIC Envases.

What runs on FlexigoTech Cloud and what stays in your Odoo

Which part of the module depends on FlexigoTech Cloud?

According to the listing, two things: calculating the EPR contribution of each invoice and keeping scheme fee schedules up to date. Both require a FlexigoTech Cloud subscription. The local service costs €29 a month or €290 a year excluding VAT (Pro: €58 a month or €580 a year).

What happens if I have no subscription or the service is suspended?

What the subscription provides stops, which for this module means the per-invoice contribution calculation and the tariff updates. Your data stays in your Odoo.

How FlexigoTech can help

EPR contribution on invoices is published on Odoo Apps for Odoo 17, 18, 19 and 20, at €18 per Odoo version, a one-off payment excluding VAT, according to each version's listing. If you buy it on flexigotech.com and have the subscription, the module for new Odoo versions is included; on the Odoo App Store, each Odoo version is bought there.

If you are rolling out Odoo or want the packaging contribution to reach another part of your invoicing process, FlexigoTech implements Odoo 17, 18, 19 and 20 and builds bespoke connectors and integrations. You will find more about the module on its page on flexigotech.com.

Keep reading

How Argentina ARCA Supplier Invoice Validation works inside OdooGlossary of the menus, scheduled actions and data of the Argentina ARCA Supplier Invoice Validation and Withholding Management module for Odoo.Argentina ARCA Supplier Invoice Validation errors in Odoo and how to fix themError messages in Argentina ARCA Supplier Invoice Validation for Odoo: invalid CUIT, ARCA not answering, overrides and batches. When each appears and the fix.Setting up ARCA Supplier Invoice Validation in Odoo: a checklist by phaseWhich fields to fill in the ARCA configuration, how to read the WSAA ticket, which statuses the module defines and what to check in Odoo in the first week.
Checked in the module's source code (version 20.0) and the linked sources

Sources