| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Inventory (stock)
• Discuss (mail) |
| Lines of code | 1224 |
| Technical Name |
nexterp_sgr |
| License | OPL-1 |
| Website | https://www.nexterp.ro |
Romania - SGR Base
Romanian SGR (Sistem Garanție-Returnare) base: deposit as a stockable product with category, rate history and stock tracking. Retailer-oriented.
Overview
Base module for the Romanian SGR (Sistem Garanție-Returnare / RetuRO) deposit-return system in Odoo, retailer-oriented out of the box.
The 0.50 RON deposit is modeled as a separate, stockable product (one per RetuRO category) that companion modules attach automatically to every sale, purchase, invoice, POS or manufacturing order line of a beverage product subject to SGR. Empties received from consumers are then routed to a dedicated SGR Returns location on the warehouse, ready to be handed over to RetuRO.
What this module provides
- Five SGR categories matching the RetuRO retailer view: Plastic Small (≤1000 ml), Plastic Large (>1000 ml), Metal, Glass Small (≤500 ml), Glass Large (>500 ml).
- Historical rate tables:
nexterp.sgr.category.rate— deposit per category and effective date (0.50 RON since RetuRO launch on 2023-11-30).nexterp.sgr.handling.rate— handling fee (TG) paid by RetuRO to the retailer per category × collection method (RVM / Manual / HoReCa), pre-loaded with 2025 final, 2026 interim and 2026 final values.
- Product-level fields:
is_sgr_productflags an SGR packaging item;sgr_product_idlinks a regular product to its SGR companion. - Per-warehouse SGR setup:
sgr_collection_type(RVM / Manual / HoReCa) and a dedicatedsgr_return_location_idfor collected empties. - Company-wide
sgr_auto_linestoggle plus per-document override on every document that can carry SGR lines. - Two stock-based reports:
- SGR Stock & Movements — period breakdown of in/out flows by direction and collection type.
- SGR Position — consolidated value blocked in stock, receivable from RetuRO, liability owed to consumers and the resulting net position.
Companion modules
Install one or more depending on the channels you use:
| Module | Adds |
|---|---|
nexterp_sgr_sale |
auto SGR child line on sale orders |
nexterp_sgr_purchase |
auto SGR child line on purchase orders |
nexterp_sgr_account |
auto SGR child line on manual invoices + 462/461 account defaults |
nexterp_sgr_pos |
auto SGR line at POS + cashier SGR Return button + stock routing to SGR Returns + refund-method tracking |
nexterp_sgr_mrp |
auto SGR raw component on manufacturing orders (bottling) |
nexterp_sgr_returo |
seals lifecycle, pickup events to the transporter, RetuRO partner role, and the three required monthly export reports |
Built & supported by NextERP Romania
Romanian Odoo specialists, here for the long run — from implementation to localization and day-to-day production support.
What we do
Odoo Solutions
From quick-start rollouts to multi-company deployments and custom modules built for your processes.
Romanian Localization
SAF-T (D406), e-Factura, e-Transport, D300 / D390 / D394, ANAF integration, full chart of accounts and fiscal positions.
Our Services
Implementation, customization, migration, integration, support and consultancy — Romanian-speaking, SLA-backed.
Features
- Deposit modeled as a stockable product — one separate product per RetuRO category (Plastic Small/Large, Metal, Glass Small/Large), so the 0.50 RON deposit moves through your books as inventory rather than revenue.
- Five pre-loaded RetuRO categories matching the retailer
view, with historical deposit rate tables (
nexterp.sgr.category.rate). - Handling fee history (TG) seeded for 2025 final, 2026 interim
and 2026 final per category × collection method
(
nexterp.sgr.handling.rate). - Per-warehouse SGR setup — pick RVM / Manual / HoReCa collection type, and a dedicated SGR Returns internal location for empties before pickup.
- Auto-add SGR lines company-wide toggle, with per-document override on every Sale Order, Purchase Order, Invoice, Manufacturing Order and POS configuration.
- Two stock-based reports: SGR Position (consolidated daily picture — value blocked in stock, receivable from RetuRO, owed to consumers, net position) and SGR Stock & Movements (period breakdown by direction, warehouse and collection type).
- Companion modules for each channel:
nexterp_sgr_sale,_purchase,_account,_pos,_mrp,_returo(seal lifecycle and monthly RetuRO exports). Install only what your retail mix needs. - Romanian first, but localization-agnostic — RON-denominated by default, but the deposit/handling values are stored per category so the same architecture can be reused under other deposit-return schemes.
Configuration
After installing nexterp_sgr, follow the steps below.
1. Company-wide default
Go to Settings → Inventory → Warehouse → SGR and choose whether new documents auto-add SGR lines. This is the default that every new sale, purchase, invoice, manufacturing order and POS terminal inherits. Disable it only if SGR lines are pre-filled by an external integration (EDI, e-factura, sync from another ERP).
2. SGR Liability Account (if nexterp_sgr_account is installed)
Go to Settings → Accounting → Fiscal Localization → SGR Liability Account
and pick the account that should hold deposits. For Romania, the typical
choice is account 462 "Creditori diverşi" (or 461 "Debitori diverşi").
This account becomes the default Income Account and Expense Account on
every product flagged Is SGR Product, so the deposit flows as a
liability/receivable on bookings, not as revenue.
3. Warehouse setup
For each retail location you operate, open Inventory → Configuration → Warehouses, and on each warehouse set:
- SGR Collection Type —
RVM (Automated),ManualorHoReCa. This drives the RetuRO handling-fee tariff (TG) applied to empties received from consumers at that site. - SGR Return Location — a dedicated internal sub-location where empties are collected before pickup. If empty, the module's stock helper creates one named SGR Returns under the warehouse view location.
4. SGR Categories and rates
The five RetuRO categories are pre-loaded under Inventory → Configuration → SGR Categories. Each category exposes:
- Deposit Rate History — when the legal deposit amount changes, add a new row with the new effective date; older rates are kept for historical document re-pricing.
- Handling Fee History (TG) — three sets (RVM / Manual / HoReCa) per category, with their effective date. The 2025 final, 2026 interim and 2026 final values from RetuRO publications are seeded.
You normally never need to edit these unless RetuRO publishes a new schedule.

Opening a category exposes the current deposit, the handling fees (TG) per collection method (RVM / Manual / HoReCa) and the full historical rate tables:

5. SGR products
In Inventory → Products, create one stockable product per SGR
category and flag it Is SGR Product, picking the matching category.
Demo data ships five ready-to-use SGR products (SGR-GLASS-S,
SGR-GLASS-L, SGR-PLASTIC-S, SGR-PLASTIC-L, SGR-METAL).
6. Beverage products subject to SGR
On every beverage SKU subject to SGR, set the SGR Deposit field on the product to point at the matching SGR product (the one with the right category). From that moment on, any sale/purchase/invoice/POS/MO line referencing this beverage will get an automatic SGR child line.
7. RetuRO operations (if nexterp_sgr_returo is installed)
In Contacts, create the RetuRO administrator partner and flag it RetuRO Administrator. Set it on the company under Settings → Companies → SGR. Add at least one logistics operator and flag it SGR Transporter.
Installation
Install from the Apps menu. The base module depends only on stock.
Suggested install set per role
| Use case | Modules to install |
|---|---|
| Small retailer with manual collection | nexterp_sgr + nexterp_sgr_purchase + nexterp_sgr_pos + nexterp_sgr_returo |
| Retailer with B2B sales | add nexterp_sgr_sale and nexterp_sgr_account |
| Brewery / bottling plant | add nexterp_sgr_mrp |
The base module installs cleanly with only Inventory configured. The
companion modules pull in sale_stock, purchase_stock, account,
point_of_sale or mrp respectively.
With demo data
If you install the module with demo data and l10n_ro_account_enterprise
demo is also loaded, all SGR demo data is attached to the
NextERP Romania SRL demo company. Otherwise the module looks for any
company already located in Romania, falling back to creating a minimal
SGR Demo Romania company so the demo dataset is always self-contained.
Post-install
Refer to CONFIGURE and USAGE for the operational walk-through.
How it works
Day-to-day flows
Receiving a delivery from a beverage supplier
With nexterp_sgr_purchase installed, the standard purchase flow handles
SGR automatically:
- Create a Purchase Order with one or more beverage products.
- On adding each beverage line, an SGR child line appears underneath with the matching category and the current deposit rate.
- Confirm and receive the goods. Both the beverage and its SGR packaging land in stock as separate stock moves (separate stock quants).
- When the supplier invoices you, the vendor bill carries the same two lines: beverage + SGR. The SGR line is recognized as pre-existing, so no duplication occurs.
Selling a beverage
With nexterp_sgr_sale and/or nexterp_sgr_pos:
- On a Sale Order or POS receipt, scanning/adding a beverage adds the SGR companion line automatically.
- At invoicing, the customer invoice carries beverage + SGR as separate lines (with the SGR line non-taxable).
- The SGR product leaves stock at the same time as the beverage.
Receiving empty packaging at the till (POS)
With nexterp_sgr_pos installed:
- In POS, open the more actions button on the product screen and click SGR Return.
- Enter the quantity of empties received per SGR category.
- Pick the refund method (Cash / Voucher / Bank Transfer) — recorded on the POS order for later audit.
- Confirm — negative SGR lines are added to the cart, the order total drops by the deposit value (the cashier refunds the consumer using the chosen method during payment).
- On order close, the empties' stock moves are routed to the warehouse's SGR Returns location automatically (not to the regular POS stock).
Bottling (manufacturing)
With nexterp_sgr_mrp installed, every MO producing a finished product
that has an sgr_product_id automatically consumes one SGR packaging
unit per produced item, as an extra raw move on top of the BoM.
Sending empties to RetuRO
With nexterp_sgr_returo installed:
- When the transporter delivers empty bags + seals, register the seal
serial numbers under Inventory → Reports → SGR → RetuRO → Seals
(state
Available). - When the transporter comes for pickup, create a Pickup under
Inventory → Reports → SGR → RetuRO → Pickups:
- Pick the date, warehouse, transporter and the RetuRO partner.
- Add one line per category with the quantity handed over.
- Attach the seal serials applied on the handed-over bags.
- Confirm the pickup. The module creates a stock transfer from
SGR Returns to the Customers location (i.e. out of your books to
RetuRO), and flags the seals as
Used. - When RetuRO confirms the counts at their sorting center,
Mark Reconciled on the pickup — the seals become
Confirmed.
Monthly RetuRO reports
Three CSV templates are required monthly by RetuRO. Generate them under Inventory → Reports → SGR → RetuRO → Export Monthly Reports by picking the period, then clicking each of the three buttons:
- Sales — beverages put on market (out-to-customer moves).
- Seals Handed Over — seals used in pickups during the period.
- Consumer Returns — empties received from consumers (in-from-customer moves).
Send the three CSV files to raportare_comercianti@returosgr.ro on the
first day of the month for the previous month.
Reports
-
SGR Position (Inventory → Reports → SGR → SGR Position) shows the consolidated SGR financial picture for the current day: how much value is blocked in stock, how much is receivable from RetuRO and how much is owed to consumers. The Net Position column highlights whether the retailer is a net creditor (green) or debtor (red) of the system.

-
SGR Stock & Movements (Inventory → Reports → SGR → SGR Stock & Movements) breaks down all SGR stock moves by direction (in-supplier / in-customer / out-customer / out-supplier), warehouse and collection type, with the historical deposit rate applied.

Opt-out
When SGR lines come pre-filled from an EDI/external sync, you can opt out in two places:
- Globally in Settings → Inventory → SGR → Auto-add SGR Lines — toggles the default on all new documents.
- Per document — every Sale Order, Purchase Order, Invoice,
Manufacturing Order and POS configuration has its own
Auto-add SGR Linestoggle, defaulting from the company setting.
When opt-out is active and the source already carries an SGR line, the
account.move.line _sync_sgr_lines adopts the existing sibling line via
its sgr_parent_line_id link instead of creating a duplicate.
Screenshots
Captured from a running Odoo instance.
Nexterp sgr category action
Nexterp sgr position report action
Nexterp sgr stock report action
Versions
19.0.1.0.0 (2026-05-25)
- Changelog tracking starts at this release.
Discover the NextERP suite
Other modules from the same publisher, built to work together.
NextERP Romania
Odoo implementation, customization, Romanian localization and long-term support since 2018.
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


Please log in to comment on this module