$ 230.80
In-App Purchases| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Point of Sale (point_of_sale)
• Discuss (mail) • Inventory (stock) • Invoicing (account) |
| Community Apps Dependencies | Show |
| Lines of code | 1695 |
| Technical Name |
nexterp_sgr_pos |
| License | OPL-1 |
| Website | https://www.nexterp.ro |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Point of Sale (point_of_sale)
• Discuss (mail) • Inventory (stock) • Invoicing (account) |
| Community Apps Dependencies | Show |
| Lines of code | 1695 |
| Technical Name |
nexterp_sgr_pos |
| License | OPL-1 |
| Website | https://www.nexterp.ro |
Romania - SGR at Point of Sale
Automatic SGR deposit line on POS orders and handling of empty-packaging returns at the till.
Overview
Bring SGR deposits and consumer returns into Point of Sale without slowing the cashier down. Scanning a beverage that is subject to SGR adds two lines to the cart: the beverage at its sale price and the SGR companion at the current deposit rate, immediately visible to the consumer on the screen and on the receipt.
A dedicated SGR Return button in the cashier's more actions menu opens a popup listing the five SGR categories with quantity inputs, so the cashier can credit empties received from the consumer in a few taps. The refund method (Cash, Voucher or Bank Transfer) is selected on the same popup and persisted on the POS order for later audit.
On order close, the returned empties take a separate stock route: a dedicated picking moves them from the Customers location to the warehouse's SGR Returns location — so the empties don't pollute the regular POS stock and are ready to be handed over to RetuRO. Both the auto-add logic and the SGR return flow are split between the OWL front-end (so the cart updates instantly, even offline) and the server side (as a safety net on order sync).
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
- Instant SGR line in the cart — an OWL override of
addLineToCurrentOrderappends the SGR child line as soon as the cashier adds a beverage with ansgr_product_id, before any sync. Quantity changes on the parent propagate to the child. - Server-side safety net —
pos.order.line._sync_sgr_linesruns the same logic on order persistence, so orders synced from offline mode still get the SGR companion and any orphan sibling is adopted viasgr_parent_line_id. - SGR Return cashier button — a new entry in the more actions popup of the product screen opens a dedicated SGR return modal listing all five categories with live total refund calculation.
- Refund method tracking — the popup forces the cashier to pick
Cash / Voucher / Bank Transfer; the choice is persisted on
pos.order.sgr_refund_methodfor audit and exposed to the POS UI via_load_pos_data_fields. - Stock routing to SGR Returns —
_create_picking_from_pos_order_linessplits negative SGR lines into their own picking from the Customers location to the warehouse'ssgr_return_location_id, leaving regular POS stock untouched. - Per-POS opt-out —
pos.config.sgr_auto_lineslets you disable auto-add on a specific terminal (e.g. a non-beverage POS); the SGR Return button stays available either way because it is an explicit cashier action. - Invoice propagation —
is_sgr_lineis carried through_get_invoice_lines_valuesso that invoicing a POS order does not duplicate the SGR line whennexterp_sgr_accountis also installed.
Configuration
1. Warehouse SGR Return Location
The base module's SGR Return Location on the warehouse used by the POS must be configured. Open the warehouse under Inventory → Configuration → Warehouses and either pick an existing internal sub-location for empties or let the base module create the default SGR Returns location for you on save.
Without this location, the negative-SGR stock routing falls back to the regular POS stock destination — empties get mixed with sales stock, which breaks the SGR Position and Stock & Movements reports.
2. Warehouse SGR Collection Type
On the same warehouse form, set SGR Collection Type to:
- RVM (Automated) — automatic reverse vending machine.
- Manual — most common for a till-counter return point.
- HoReCa — restaurants, bars, cafés.
The collection type drives which handling-fee tariff (TG) RetuRO will pay you back for the empties collected at this site.
3. Per-POS opt-out
Open each Point of Sale under Point of Sale → Configuration → Point of Sale, switch to the Configuration tab and find the SGR group. The Auto-add SGR Lines toggle defaults from the company setting.
- Keep it on for terminals that sell beverages subject to SGR.
- Turn it off for terminals that don't sell SGR-bearing products (e.g. a service desk POS) — the SGR Return button stays available so consumers can still drop off empties there.
4. Permissions
POS users get read-only access to nexterp.sgr.category so that the
SGR Return popup can list the five categories. No further
configuration is required.
5. Receipt template
The SGR child line is rendered as a regular cart line, so it appears
on the receipt with no extra template work. If you customize the
receipt, make sure your override forwards lines flagged is_sgr_line
through to the print.
How it works
Cashier flow: selling a beverage
- The cashier scans or taps a beverage product with an
sgr_product_idconfigured. - The cart immediately shows two lines: the beverage at its sale price and the SGR companion (e.g. SGR Glass Small) at the deposit rate effective today.
- Adjusting the beverage quantity propagates to the SGR line in real time. Removing the beverage removes the SGR line.
- Payment proceeds normally; the receipt shows both lines.
Cashier flow: accepting empty packaging
- A consumer arrives with empty bottles or cans.
- The cashier opens the more actions menu on the product screen and taps SGR Return.
- A popup lists the five SGR categories — Plastic Small/Large, Metal, Glass Small/Large — each with a quantity input.
- The cashier enters the quantities; Total Refund updates live.
- The cashier picks the refund method:
- Cash — subtracted from the next payment.
- Voucher — recorded on the order for later voucher issuance.
- Bank Transfer — recorded for off-line settlement.
- Confirm. Negative SGR lines are appended to the cart and the order total drops by the refund amount.
What happens on order close
- Positive SGR lines (the deposit on sold beverages) follow the regular POS picking out to the Customers location.
- Negative SGR lines (empties received) are split into a dedicated picking from Customers to the warehouse's SGR Returns location, validated automatically.
- The refund method is persisted on
pos.order.sgr_refund_methodso the accounting team can reconcile cash drawer counts and vouchers issued at the end of the shift.
After a few POS days, check Inventory → Reports → SGR:
- SGR Stock & Movements should show the
in_customerdirection populated for the returns at the configured collection type. - SGR Position —
Qty In Returnsreflects what's collected but not yet handed over to RetuRO.
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