| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Purchase (purchase)
• Invoicing (account) • Discuss (mail) • Inventory (stock) |
| Community Apps Dependencies | Show |
| Lines of code | 1331 |
| Technical Name |
nexterp_sgr_purchase |
| License | OPL-1 |
| Website | https://www.nexterp.ro |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Purchase (purchase)
• Invoicing (account) • Discuss (mail) • Inventory (stock) |
| Community Apps Dependencies | Show |
| Lines of code | 1331 |
| Technical Name |
nexterp_sgr_purchase |
| License | OPL-1 |
| Website | https://www.nexterp.ro |
Romania - SGR on Purchases
Automatic SGR deposit child line on purchase.order.line.
Overview
Get the SGR deposit on purchase orders right the first time. Adding a beverage line subject to SGR appends a child line under it with the matching SGR product, the deposit rate effective on the order date and zero taxes — exactly the structure RetuRO expects on the vendor's invoice.
The two lines stay in sync: changing the quantity or product on the
parent updates the SGR child; removing the parent removes the child
through ondelete='cascade'. On reception, the beverage and its SGR
companion land in stock as separate moves, so quantities of bottles
and empties are tracked independently and reorder rules work the way
you'd expect.
The is_sgr_line flag is propagated through to the vendor bill via
_prepare_account_move_line, so when the bill arrives through
e-factura or manual entry and nexterp_sgr_account is installed, the
SGR line is recognized and adopted instead of duplicated.
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
- Auto SGR child line on every PO line — adding a beverage with an
sgr_product_idto a purchase order instantly appends a pairedpurchase.order.linewith the matching SGR product, the deposit rate effective ondate_orderand zero taxes. - Parent/child sync — quantity, product and UoM changes on the
parent propagate to the SGR child; removing the parent cascades to
the child via
ondelete='cascade'. - No duplication on cross-module flows — if the line was created
by an upstream sync that already carries an SGR sibling, the module
links it via
sgr_parent_line_idinstead of creating a duplicate. - Separate stock moves on receipt — the beverage and its SGR packaging come in on independent stock moves so reorder rules and on-hand quantities of empties are accurate.
- Vendor-bill propagation —
_prepare_account_move_linecarriesis_sgr_line=Trueto the resulting bill line, so the SGR line is recognized bynexterp_sgr_accountand adopted instead of duplicated. - Per-PO opt-out —
purchase.order.sgr_auto_linesadds an Auto-add SGR Lines boolean after Vendor Reference, defaulting from the company setting. Disable when the SGR line is already in the vendor catalog or upstream EDI feed. - Tracks the SGR pair —
is_sgr_lineandsgr_parent_line_idfields onpurchase.order.linemake deposits easy to filter, group and report on.
Configuration
1. Link beverage products to their SGR companion
On each beverage SKU subject to SGR, open the product in
Inventory → Products and set the SGR Deposit field to the
matching SGR product (the one carrying the correct category — Glass
Small, Plastic Large, Metal, etc.). This is the standard field
provided by nexterp_sgr; the purchase module does not add a new
field on the product itself.
From that moment on, every purchase line referencing this beverage will receive an automatic SGR child line.
2. Default behavior on new POs
Every purchase.order carries an Auto-add SGR Lines boolean
displayed after the Vendor Reference field on the order form.
It defaults from the company-wide setting found at
Settings → Inventory → SGR → Auto-add SGR Lines.
- Keep it enabled for hand-keyed POs and orders generated by reordering rules — the SGR child line will be added under each beverage line automatically.
- Disable it on POs whose lines come pre-populated with SGR rows from an EDI feed, a vendor catalog import or any upstream system. The orphan SGR sibling is then adopted by its parent line on save, without creating a duplicate.
3. Account flow on the vendor bill
If nexterp_sgr_account is installed and the company SGR Liability
Account (462 / 461) is configured, the SGR component on the resulting
bill posts to the liability account instead of the regular expense
account — keeping the deposit out of the P&L. Nothing extra to set
here, the propagation happens through _prepare_account_move_line.
How it works
Creating a PO with beverages
- Create a purchase order and add one or more beverage products subject to SGR.
- As each beverage line is saved, an SGR child line is appended under it with the matching SGR product, the deposit rate effective on the order date as Unit Price and zero taxes.
- Change the parent line quantity, product or UoM — the SGR child follows. Remove the parent — the SGR child is removed automatically.
- Confirm the PO and plan the reception normally.
Receiving the goods
On reception, the beverage and its SGR packaging land in stock as two separate stock moves, even when they were on a single PO line pair:
- The beverage hits the warehouse input location like any other good.
- The SGR product hits the same destination but on its own move, so the on-hand quantity of empties stays accurate and visible.
This is exactly what is needed for SGR reporting — the two products have to be tracked independently because their stock will diverge as soon as consumer returns start (empties come back; beverages don't).
Vendor bill
When the vendor bill arrives — either through e-factura import or as
a manual entry — both the beverage and the SGR line carry over with
the deposit on a non-taxable line. If nexterp_sgr_account is also
installed, the SGR line is recognized and linked to its parent via
sgr_parent_line_id, so the bill never duplicates the deposit.
Opt-out per PO
If a vendor's catalog already includes the SGR row on every beverage line, untick Auto-add SGR Lines on the PO header. The module then leaves the upstream lines alone and only attaches orphan SGR siblings to their parent beverage lines for traceability.
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