Romania - Stock Accounting

l10n_ro_stock_account
REPOSITORY
REPOSITORYOCA/l10n-romania
GIT
GIThttps://github.com/OCA/l10n-romania.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/l10n-romania/tree/19.0/l10n_ro_stock_account
VERSION
VERSION 0.23.0
CATEGORY
CATEGORYLocalization
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), NextERP Romania, Forest and Biomass Romania, Dorin Hongu
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), NextERP Romania, Forest and Biomass Romania, Dorin Hongu
COMMITTERS
COMMITTERSGitHub, Weblate, OCA-git-bot, Mihai Fekete, oca-ci, Dorin Hongu, Sima Elisabeta, Flavia0320, IoanaComaniciu00
WEBSITE
WEBSITEhttps://github.com/OCA/l10n-romania
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:40:47
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/l10n-romania:
    - l10n_ro_stock
    - l10n_ro_config
odoo/odoo:
    - stock_dropshipping
    - sale_purchase_stock
    - sale_stock
    - sale
    - sales_team
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - html_editor
    - account_payment
    - account
    - onboarding
    - product
    - uom
    - analytic
    - portal
    - http_routing
    - auth_signup
    - digest
    - resource
    - payment
    - utm
    - stock_account
    - stock
    - barcodes_gs1_nomenclature
    - barcodes
    - purchase_stock
    - purchase
    - sale_purchase
    - l10n_ro
    - base_vat
    - account_edi_ubl_cii
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This module provides Romanian-specific stock accounting features that align with Romanian accounting standards and regulations. Below are the configuration options available.

## Overview

The module extends Odoo's standard stock accounting to meet Romanian accounting requirements, providing:

- Location-specific accounting configurations
- Romanian-specific stock valuation accounts
- Product category stock account customization
- Warehouse fiscal position management
- Specialized accounts for stock operations
- Per-location FIFO valuation (vs. Odoo's default company-wide FIFO)
- Automatic negative stock compensation for FIFO products

## Per-location FIFO

For products with `cost_method=fifo`, the module values outgoing moves
against the FIFO stack of the **source location** rather than the
company-wide stack. Each outgoing move is automatically split into one
`stock.move` per FIFO layer (e.g. an outgoing of 4 units from a location
with `IN 2@10` + `IN 3@8` produces a `2x10` move + a `2x8` move).

Internal transfers (`internal → internal` or via transit) are treated as
both `is_in` and `is_out` on the same move:

- they consume from the FIFO stack of the source location,
- they enter the FIFO stack of the destination location with the value
  pulled from the source,
- they generate an accounting entry through the location's valuation
  account (or the company-level transfer account if locations share an
  account).

Controlled by `res.company.fifo_per_location` (defaults to `True` for
Romanian companies, computed from `country_id`, editable per company).

## Negative stock compensation

When a FIFO outgoing move happens before the corresponding incoming move
(i.e. the location FIFO stack is empty), the outgoing value falls back to
the product's `standard_price`. The pending quantity is tracked on the
outgoing move via `fifo_neg_pending_qty` / `fifo_neg_origin_value`.

When the next matching incoming move is posted, the module:

1. allocates the new incoming value across pending outgoing moves (FIFO);
2. updates `stock.move.value` on the outgoing moves to reflect the real
   purchase price;
3. emits an `account.move` correction that debits the variation/COGS
   account and credits the stock valuation account for the delta;
4. links that correction back to the originating IN move via
   `account.move.fifo_neg_origin_move_id` for traceability.

Compensation is idempotent — if `_set_value` is re-invoked on the same IN
move (e.g. when the supplier invoice is posted), the existing
compensation is detected and not duplicated.

Controlled by `res.company.fifo_location_negative_compensation`
(defaults to `True` for Romanian companies, editable per company).

## Performance notes

- Partial composite index on `stock_move(product_id, location_dest_id,
  date DESC, id DESC) WHERE state='done' AND is_in=true` powers the FIFO
  stack lookup with index-only scans on large histories.
- Partial index on `stock_move(...) WHERE fifo_neg_pending_qty > 0`
  keeps the compensation search constant-time even with millions of
  historical moves.
- A request-scoped cache (`context['fifo_stack_cache']`) reuses the same
  `_run_fifo_get_stack` result across batched lookups in
  `product._compute_value` and `stock.quant._compute_value` — large
  Inventory Valuation reports drop from O(N) queries to O(distinct
  (product, location)) queries.

Code Analysis

Views touched (8)
XML IDNameModelTypeStatus
product_template_form_view product.normal.form.inherit.stock product.template field Inherits account.product_template_form_view
view_account_form account.account.form account.account field Inherits account.view_account_form
view_company_form_fifo_location res.company.form.fifo.location res.company xpath Inherits base.view_company_form
view_location_form_inherit view_location_romania_form stock.location xpath Inherits stock_account.view_location_form_inherit
view_picking_form view_picking_form stock.picking xpath Inherits stock.view_picking_form
view_product_category_add_romania_form view_product_category_add_romania_form product.category field Inherits stock_account.view_category_property_form
view_stock_move_form_fifo_neg stock.move.form.fifo.neg stock.move xpath Inherits stock.view_move_form
view_warehouse stock.warehouse.form stock.warehouse field Inherits stock.view_warehouse
Models touched (13)

New fields (2)
  • l10n_ro_reception_in_progress_account_id Many2one → account.account
    string='Romania - Reception in Progress Account' args: 'account.account'
  • l10n_ro_stock_consume_account_id Many2one → account.account
    company_dependent=True domain=ACCOUNT_DOMAIN help='Account used for stock consume and usage giving operations' string='Consume Account' args: 'account.account'
Public methods (0)

No public methods.

New fields (2)
  • fifo_neg_origin_move_id Many2one → stock.move
    copy=False help='The incoming stock move that triggered this FIFO negative stock compensation accounting entry.' index='btree_not_null' readonly=True string='Source IN move for negative stock compensation' args: 'stock.move'
  • l10n_ro_extra_stock_move_id Many2one → stock.move
    readonly=True string='Romania - Extra Stock Move' args: 'stock.move'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (1)
  • l10n_ro_stock_account_change Boolean
    help='Only for Romania, to change the accounts to the ones defined on stock locations' string='Allow stock account change from locations'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (1)
  • l10n_ro_property_stock_valuation_account_id Many2one → account.account
    company_dependent=True domain=ACCOUNT_DOMAIN help='In Romania accounting is only one account for valuation/input/output. If this value is set, we will use it, otherwise will use the category value. ' ondelete='restrict' string='Stock Valuation Account' args: 'account.account'
Public methods (0)

No public methods.

New fields (2)
  • fifo_location_negative_compensation Boolean
    compute='_compute_fifo_location_negative_compensation' help='When a FIFO outgoing move happens before the corresponding incoming move (negative stock on the location), its initial value is the standard_price. On the next incoming move, the module emits a correction accounting entry to align the outgoing value with the actual incoming price. Defaults to True for Romanian companies; editable per company.' readonly=False store=True string='FIFO Negative Stock Compensation'
  • fifo_per_location Boolean
    compute='_compute_fifo_per_location' help='Enable FIFO valuation at the source location level (instead of the company level). Outgoing moves for products with cost_method=fifo are automatically split into one stock.move per FIFO layer. Defaults to True for Romanian companies; editable per company.' readonly=False store=True string='FIFO per Location'
Public methods (0)

No public methods.

New fields (3)
  • l10n_ro_property_account_expense_location_id Many2one → account.account
    company_dependent=True domain=ACCOUNT_DOMAIN help='This account will overwrite the expense accounts from product or category.' string='Expense Account' args: 'account.account'
  • l10n_ro_property_account_income_location_id Many2one → account.account
    company_dependent=True domain=ACCOUNT_DOMAIN help='This account will overwrite the income accounts from product or category.' string='Income Account' args: 'account.account'
  • l10n_ro_property_stock_valuation_account_id Many2one → account.account
    company_dependent=True domain=ACCOUNT_DOMAIN string='Stock Valuation Account Romania' args: 'account.account'
Public methods (1)
  • propagate_account(self)

New fields (4)
  • l10n_ro_account_id Many2one → account.account
    compute='_compute_account' store=True string='Romania - Valuation Account' args: 'account.account'
  • l10n_ro_extra_account_move_ids One2many → account.move
    copy=False readonly=True string='Romania - Extra Account Moves' args: 'account.move', 'l10n_ro_extra_stock_move_id'
  • l10n_ro_move_type Selection
    compute='_compute_l10n_ro_move_type' help='Specify the type of stock move for Romanian localization.' store=True string='Romanian - Move Type' args: [('reception', 'Reception'), ('reception_return', 'Reception Return'), ('reception_notice', 'Reception Notice'), ('reception_notice_return', 'Reception Notice Return'), ('reception_in_progress', 'Reception In Progress'), ('reception_in_progress_return', 'Reception In Progress Return'), ('delivery', 'Delivery'), ('delivery_return', 'Delivery Return'), ('delivery_notice', 'Delivery Notice'), ('delivery_notice_return', 'Delivery Notice Return'), ('plus_inventory', 'Plus Inventory'), ('minus_inventory', 'Minus Inventory'), ('consumption', 'Consumption'), ('consumption_return', 'Consumption Return'), ('usage_giving', 'Usage Giving'), ('usage_giving_return', 'Usage Giving Return'), ('production', 'Production'), ('production_return', 'Production Return'), ('internal_transfer', 'Internal Transfer'), ('internal_transit_out', 'Internal Transit Out'), ('internal_transit_in', 'Internal Transit In'), ('dropshipped', 'Dropshipped'), ('dropshipped_return', 'Dropshipped Return')]
  • l10n_ro_transfer_account_id Many2one → account.account
    compute='_compute_account' store=True string='Romania - Transfer Valuation Account' args: 'account.account'
Public methods (0)

No public methods.

New fields (3)
  • fifo_neg_compensation_move_ids One2many → account.move
    readonly=True string='Negative Stock Compensation Entries' args: 'account.move', 'fifo_neg_origin_move_id'
  • fifo_neg_origin_value Monetary
    copy=False currency_field='company_currency_id' readonly=True string='Negative Stock Initial Value'
  • fifo_neg_pending_qty Float
    copy=False help='Quantity from a FIFO outgoing move that was valued at standard_price because the location stack was empty. Compensated FIFO on the next incoming move for the same (product, location) pair.' readonly=True string='Negative Stock Pending Qty'
Public methods (1)
  • search_remaining_qty(self, operator, value)
    For companies with ``fifo_per_location``, iterate per location so the search result matches the per-location ``remaining_qty`` computed by ``_compute_remaining_qty``. Falls back to the base behavior for companies that use company-wide FIFO.

New fields (2)
  • l10n_ro_notice Boolean
  • l10n_ro_reception_in_progress Boolean
Public methods (1)
  • action_l10n_ro_view_account_moves(self)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (1)
  • l10n_ro_fiscal_position_id Many2one → account.fiscal.position
    string='Fiscal Position' args: 'account.fiscal.position'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/l10n-romania
GIT
GIThttps://github.com/OCA/l10n-romania.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/l10n-romania/tree/18.0/l10n_ro_stock_account
VERSION
VERSION 1.28.0
CATEGORY
CATEGORYLocalization
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), NextERP Romania, Forest and Biomass Romania, Dorin Hongu
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), NextERP Romania, Forest and Biomass Romania, Dorin Hongu
COMMITTERS
COMMITTERSWeblate, OCA-git-bot, oca-ci, Dorin Hongu, Stana Natanaela, Marius
WEBSITE
WEBSITEhttps://github.com/OCA/l10n-romania
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:30:08
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/l10n-romania:
    - l10n_ro_config
    - l10n_ro_stock
odoo/odoo:
    - sale_stock
    - sale
    - sales_team
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - html_editor
    - account_payment
    - account
    - onboarding
    - product
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - payment
    - utm
    - stock_account
    - stock
    - barcodes_gs1_nomenclature
    - barcodes
    - purchase_stock
    - purchase
    - stock_dropshipping
    - sale_purchase_stock
    - sale_purchase
    - l10n_ro
    - base_vat
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
Stock accounting determination for receptions, deliveries, consume,
usage\_giving, inventory and production.

Code Analysis

Views touched (8)
XML IDNameModelTypeStatus
product_template_form_view product.normal.form.inherit.stock product.template field Inherits account.product_template_form_view
stock_valuation_layer_form stock.valuation.layer.form stock.valuation.layer xpath Inherits stock_account.stock_valuation_layer_form
view_account_form account.account.form account.account field Inherits account.view_account_form
view_location_form_inherit view_location_romania_form stock.location xpath Inherits stock_account.view_location_form_inherit
view_picking_add_price_unit_form view_picking_add_price_unit_form stock.picking xpath Inherits stock.view_picking_form
view_picking_type_form stock.picking.type.inherit stock.picking.type xpath Inherits stock.view_picking_type_form
view_product_category_add_romania_form view_product_category_add_romania_form product.category field Inherits stock_account.view_category_property_form
view_warehouse stock.warehouse.form stock.warehouse field Inherits stock.view_warehouse
Models touched (12)

New fields (1)
  • l10n_ro_stock_consume_account_id Many2one → account.account
    company_dependent=True domain="[('deprecated', '=', False)]" help='Account used for stock consume and usage giving operations' string='Consume Account' args: 'account.account'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • action_post(self)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (2)
  • l10n_ro_hide_stock_in_out_account Boolean
    compute='_compute_hide_accounts' help='Only for Romania, to hide stock_input and stock_output accounts because they are the same as stock_valuation account' string='Hide Odoo Stock In/Out Accounts'
  • l10n_ro_stock_account_change Boolean
    help='Only for Romania, to change the accounts to the ones defined on stock locations' string='Allow stock account change from locations'
Public methods (0)

No public methods.

New fields (1)
  • l10n_ro_property_stock_valuation_account_id Many2one → account.account
    check_company=True company_dependent=True domain="[('deprecated', '=', False)]" help='In Romania accounting is only one account for valuation/input/output. If this value is set, we will use it, otherwise will use the category value. ' string='Stock Valuation Account' args: 'account.account'
Public methods (1)
  • get_product_accounts(self, fiscal_pos=None)

New fields (2)
  • anglo_saxon_accounting Boolean
    default=True
  • l10n_ro_stock_acc_price_diff Boolean
    default=True
Public methods (0)

No public methods.

New fields (3)
  • l10n_ro_property_account_expense_location_id Many2one → account.account
    company_dependent=True domain="[('deprecated', '=', False)]" help='This account will overwrite the expense accounts from product or category.' string='Expense Account' args: 'account.account'
  • l10n_ro_property_account_income_location_id Many2one → account.account
    company_dependent=True domain="[('deprecated', '=', False)]" help='This account will overwrite the income accounts from product or category.' string='Income Account' args: 'account.account'
  • l10n_ro_property_stock_valuation_account_id Many2one → account.account
    company_dependent=True domain="[('deprecated', '=', False)]" string='Stock Valuation Account' args: 'account.account'
Public methods (1)
  • propagate_account(self)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • action_l10n_ro_view_account_moves(self)

New fields (1)
  • l10n_ro_fiscal_position_id Many2one → account.fiscal.position
    args: 'account.fiscal.position'
Public methods (0)

No public methods.

New fields (6)
  • company_id Many2one
    index=True
  • l10n_ro_account_id Many2one → account.account
    compute='_compute_account' store=True string='Valuation Account' args: 'account.account'
  • l10n_ro_invoice_id Many2one → account.move
    string='Invoice' args: 'account.move'
  • l10n_ro_invoice_line_id Many2one → account.move.line
    string='Romania Invoice Line' args: 'account.move.line'
  • l10n_ro_valued_type Selection
    string='Valued Type' args: VALUED_TYPE
  • product_id Many2one
    index=True
Public methods (1)
  • create(self, vals_list)
    @api.model_create_multi

New fields (1)
  • l10n_ro_property_stock_journal_id Many2one → account.journal
    company_dependent=True string='Stock Journal' args: 'account.journal'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/l10n-romania
GIT
GIThttps://github.com/OCA/l10n-romania.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/l10n-romania/tree/17.0/l10n_ro_stock_account
VERSION
VERSION 1.36.0
CATEGORY
CATEGORYLocalization
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), NextERP Romania, Forest and Biomass Romania, Dorin Hongu
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), NextERP Romania, Forest and Biomass Romania, Dorin Hongu
COMMITTERS
COMMITTERSGitHub, Weblate, OCA-git-bot, Mihai Fekete, oca-ci, Dorin Hongu, Stana Natanaela, Sima Elisabeta, Marcel Cojocaru
WEBSITE
WEBSITEhttps://github.com/OCA/l10n-romania
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:20:02
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/l10n-romania:
    - l10n_ro_config
    - l10n_ro_stock
odoo/odoo:
    - sale_stock
    - sale
    - sales_team
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - account_payment
    - account
    - onboarding
    - product
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - payment
    - utm
    - stock_account
    - stock
    - barcodes_gs1_nomenclature
    - barcodes
    - purchase_stock
    - purchase
    - stock_dropshipping
    - sale_purchase_stock
    - sale_purchase
    - l10n_ro
    - base_vat
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
Stock accounting determination for receptions, deliveries, consume,
usage\_giving, inventory and production.

Code Analysis

Views touched (8)
XML IDNameModelTypeStatus
product_template_form_view product.normal.form.inherit.stock product.template field Inherits account.product_template_form_view
stock_valuation_layer_form stock.valuation.layer.form stock.valuation.layer xpath Inherits stock_account.stock_valuation_layer_form
view_account_form account.account.form account.account field Inherits account.view_account_form
view_location_form_inherit view_location_romania_form stock.location xpath Inherits stock_account.view_location_form_inherit
view_picking_add_price_unit_form view_picking_add_price_unit_form stock.picking xpath Inherits stock.view_picking_form
view_picking_type_form stock.picking.type.inherit stock.picking.type xpath Inherits stock.view_picking_type_form
view_product_category_add_romania_form view_product_category_add_romania_form product.category field Inherits stock_account.view_category_property_form
view_warehouse stock.warehouse.form stock.warehouse field Inherits stock.view_warehouse
Models touched (12)

New fields (1)
  • l10n_ro_stock_consume_account_id Many2one → account.account
    company_dependent=True domain="[('deprecated', '=', False), ('company_id', '=', current_company_id)]" help='Account used for stock consume and usage giving operations' string='Consume Account' args: 'account.account'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • action_post(self)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (2)
  • l10n_ro_hide_stock_in_out_account Boolean
    compute='_compute_hide_accounts' help='Only for Romania, to hide stock_input and stock_output accounts because they are the same as stock_valuation account' string='Hide Odoo Stock In/Out Accounts'
  • l10n_ro_stock_account_change Boolean
    help='Only for Romania, to change the accounts to the ones defined on stock locations' string='Allow stock account change from locations'
Public methods (0)

No public methods.

New fields (1)
  • l10n_ro_property_stock_valuation_account_id Many2one → account.account
    check_company=True company_dependent=True domain="[('company_id', '=', allowed_company_ids[0]),('deprecated', '=', False)]" help='In Romania accounting is only one account for valuation/input/output. If this value is set, we will use it, otherwise will use the category value. ' string='Stock Valuation Account' args: 'account.account'
Public methods (1)
  • get_product_accounts(self, fiscal_pos=None)

New fields (2)
  • anglo_saxon_accounting Boolean
    default=True
  • l10n_ro_stock_acc_price_diff Boolean
    default=True
Public methods (0)

No public methods.

New fields (3)
  • l10n_ro_property_account_expense_location_id Many2one → account.account
    company_dependent=True domain="['&', ('deprecated', '=', False),('company_id', '=', current_company_id)]" help='This account will overwrite the expense accounts from product or category.' string='Expense Account' args: 'account.account'
  • l10n_ro_property_account_income_location_id Many2one → account.account
    company_dependent=True domain="['&', ('deprecated', '=', False),('company_id', '=', current_company_id)]" help='This account will overwrite the income accounts from product or category.' string='Income Account' args: 'account.account'
  • l10n_ro_property_stock_valuation_account_id Many2one → account.account
    company_dependent=True domain="[('company_id', '=', current_company_id),('deprecated', '=', False)]" string='Stock Valuation Account' args: 'account.account'
Public methods (1)
  • propagate_account(self)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • action_l10n_ro_view_account_moves(self)

New fields (1)
  • l10n_ro_fiscal_position_id Many2one → account.fiscal.position
    args: 'account.fiscal.position'
Public methods (0)

No public methods.

New fields (6)
  • company_id Many2one
    index=True
  • l10n_ro_account_id Many2one → account.account
    compute='_compute_account' store=True string='Valuation Account' args: 'account.account'
  • l10n_ro_invoice_id Many2one → account.move
    string='Invoice' args: 'account.move'
  • l10n_ro_invoice_line_id Many2one → account.move.line
    string='Romania Invoice Line' args: 'account.move.line'
  • l10n_ro_valued_type Selection
    string='Valued Type' args: VALUED_TYPE
  • product_id Many2one
    index=True
Public methods (1)
  • create(self, vals_list)
    @api.model_create_multi

New fields (1)
  • l10n_ro_property_stock_journal_id Many2one → account.journal
    company_dependent=True string='Stock Journal' args: 'account.journal'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/l10n-romania
GIT
GIThttps://github.com/OCA/l10n-romania.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/l10n-romania/tree/16.0/l10n_ro_stock_account
VERSION
VERSION 1.28.0
CATEGORY
CATEGORYLocalization
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), NextERP Romania, Forest and Biomass Romania, Dorin Hongu
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), NextERP Romania, Forest and Biomass Romania, Dorin Hongu
COMMITTERS
COMMITTERSGitHub, Weblate, OCA-git-bot, Mihai Fekete, oca-ci, Cojocaru Marcel, Dorin Hongu, Adrian Vacaru, Stana Natanaela, Sima Elisabeta, Larisa-nexterp
WEBSITE
WEBSITEhttps://github.com/OCA/l10n-romania
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:53:41
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/l10n-romania:
    - l10n_ro_config
    - l10n_ro_stock
odoo/odoo:
    - sale_stock
    - sale
    - sales_team
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - account_payment
    - account
    - product
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - payment
    - utm
    - stock_account
    - stock
    - barcodes_gs1_nomenclature
    - barcodes
    - purchase_stock
    - purchase
    - stock_dropshipping
    - sale_purchase_stock
    - sale_purchase
    - l10n_ro
    - base_vat
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (6)
XML IDNameModelTypeStatus
product_template_form_view product.normal.form.inherit.stock product.template field Inherits account.product_template_form_view
stock_valuation_layer_form stock.valuation.layer.form stock.valuation.layer xpath Inherits stock_account.stock_valuation_layer_form
view_account_form account.account.form account.account field Inherits account.view_account_form
view_location_form_inherit view_location_romania_form stock.location xpath Inherits stock_account.view_location_form_inherit
view_picking_add_price_unit_form view_picking_add_price_unit_form stock.picking xpath Inherits stock.view_picking_form
view_product_category_add_romania_form view_product_category_add_romania_form product.category field Inherits stock_account.view_category_property_form
Models touched (10)

New fields (1)
  • l10n_ro_stock_consume_account_id Many2one → account.account
    company_dependent=True domain="[('deprecated', '=', False), ('company_id', '=', current_company_id)]" help='Account used for stock consume and usage giving operations' string='Consume Account' args: 'account.account'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • action_post(self)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (2)
  • l10n_ro_hide_stock_in_out_account Boolean
    compute='_compute_hide_accounts' help='Only for Romania, to hide stock_input and stock_output accounts because they are the same as stock_valuation account' string='Hide Odoo Stock In/Out Accounts'
  • l10n_ro_stock_account_change Boolean
    help='Only for Romania, to change the accounts to the ones defined on stock locations' string='Allow stock account change from locations'
Public methods (0)

No public methods.

New fields (1)
  • l10n_ro_property_stock_valuation_account_id Many2one → account.account
    check_company=True company_dependent=True domain="[('company_id', '=', allowed_company_ids[0]),('deprecated', '=', False)]" help='In Romania accounting is only one account for valuation/input/output. If this value is set, we will use it, otherwise will use the category value. ' string='Stock Valuation Account' args: 'account.account'
Public methods (0)

No public methods.

New fields (2)
  • anglo_saxon_accounting Boolean
    default=True
  • l10n_ro_stock_acc_price_diff Boolean
    default=True
Public methods (0)

No public methods.

New fields (3)
  • l10n_ro_property_account_expense_location_id Many2one → account.account
    company_dependent=True domain="['&', ('deprecated', '=', False),('company_id', '=', current_company_id)]" help='This account will overwrite the expense accounts from product or category.' string='Expense Account' args: 'account.account'
  • l10n_ro_property_account_income_location_id Many2one → account.account
    company_dependent=True domain="['&', ('deprecated', '=', False),('company_id', '=', current_company_id)]" help='This account will overwrite the income accounts from product or category.' string='Income Account' args: 'account.account'
  • l10n_ro_property_stock_valuation_account_id Many2one → account.account
    company_dependent=True domain="[('company_id', '=', current_company_id),('deprecated', '=', False)]" string='Stock Valuation Account' args: 'account.account'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • action_l10n_ro_view_account_moves(self)

New fields (6)
  • company_id Many2one
    index=True
  • l10n_ro_account_id Many2one → account.account
    compute='_compute_account' store=True string='Valuation Account' args: 'account.account'
  • l10n_ro_invoice_id Many2one → account.move
    string='RO Invoice' args: 'account.move'
  • l10n_ro_invoice_line_id Many2one → account.move.line
    string='RO Invoice Line' args: 'account.move.line'
  • l10n_ro_valued_type Selection
    string='Valued Type' args: VALUED_TYPE
  • product_id Many2one
    index=True
Public methods (1)
  • create(self, vals_list)
    @api.model_create_multi
REPOSITORY
REPOSITORYOCA/l10n-romania
GIT
GIThttps://github.com/OCA/l10n-romania.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/l10n-romania/tree/15.0/l10n_ro_stock_account
VERSION
VERSION 3.41.0
CATEGORY
CATEGORYLocalization
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), NextERP Romania, Forest and Biomass Romania, Dorin Hongu
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), NextERP Romania, Forest and Biomass Romania, Dorin Hongu
COMMITTERS
COMMITTERSGitHub, Weblate, OCA-git-bot, Mihai Fekete, oca-ci, Cojocaru Marcel, Dorin Hongu, Stana Natanaela, danila12, Sima Elisabeta
WEBSITE
WEBSITEhttps://github.com/OCA/l10n-romania
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:46:30
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/l10n-romania:
    - l10n_ro_config
    - l10n_ro_stock
odoo/odoo:
    - stock_landed_costs
    - stock_account
    - stock
    - product
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - uom
    - barcodes
    - digest
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - resource
    - account
    - analytic
    - purchase_stock
    - purchase
    - sale_stock
    - sale
    - sales_team
    - payment
    - utm
    - l10n_ro
    - base_vat
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (9)
XML IDNameModelTypeStatus
product_template_form_view product.normal.form.inherit.stock product.template field Inherits account.product_template_form_view
stock_valuation_layer_form stock.valuation.layer.form stock.valuation.layer xpath Inherits stock_account.stock_valuation_layer_form
stock_valuation_layer_revaluation_form_view stock.valuation.layer.revaluation.form stock.valuation.layer.revaluation xpath Inherits stock_account.stock_valuation_layer_revaluation_form_view
view_account_form account.account.form account.account field Inherits account.view_account_form
view_location_form_inherit view_location_romania_form stock.location xpath Inherits stock_account.view_location_form_inherit
view_picking_add_price_unit_form view_picking_add_price_unit_form stock.picking xpath Inherits stock.view_picking_form
view_product_category_add_romania_form view_product_category_add_romania_form product.category field Inherits stock_account.view_category_property_form
view_stock_landed_cost_form stock.landed.cost notebook Inherits stock_landed_costs.view_stock_landed_cost_form
view_stock_return_picking_form Return lines stock.return.picking xpath Inherits stock.view_stock_return_picking_form
Models touched (18)

New fields (1)
  • l10n_ro_stock_consume_account_id Many2one → account.account
    company_dependent=True domain="[('deprecated', '=', False), ('company_id', '=', current_company_id)]" help='Account used for stock consume and usage giving operations' string='Romania - Consume Account' args: 'account.account'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (2)
  • action_post(self)
  • button_create_landed_costs(self)
    Update account of the landed cost ine with the one from invoice line.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (4)
  • quantity Float
  • svl_dest_id Many2one → stock.valuation.layer
    args: 'stock.valuation.layer'
  • svl_src_id Many2one → stock.valuation.layer
    args: 'stock.valuation.layer'
  • value Float
Public methods (0)

No public methods.

New fields (2)
  • l10n_ro_hide_stock_in_out_account Boolean
    compute='_compute_hide_accounts' help='Only for Romania, to hide stock_input and stock_output accounts because they are the same as stock_valuation account' string='Romania - Hide Odoo Stock In/Out Accounts'
  • l10n_ro_stock_account_change Boolean
    help='Only for Romania, to change the accounts to the ones defined on stock locations' string='Romania - Allow stock account change from locations'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (1)
  • l10n_ro_property_stock_valuation_account_id Many2one → account.account
    check_company=True company_dependent=True domain="[('company_id', '=', allowed_company_ids[0]),('deprecated', '=', False)]" help='In Romania accounting is only one account for valuation/input/output. If this value is set, we will use it, otherwise will use the category value. ' string='Romania - Stock Valuation Account' args: 'account.account'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • init(self)
    This method will set romanian companies correctly

New fields (1)
  • l10n_ro_cost_type Selection
    default='normal' states={'done': [('readonly', True)]} string='Romania - Landed Cost Type' args: [('normal', 'Normal')]
Public methods (7)
  • button_validate(self)
  • l10n_ro_create_account_move(self, line, svl, cost_to_add)
  • l10n_ro_create_valuation_layer(self, linked_layer, amount)
  • l10n_ro_distribute_cost(self, line, svl, cost_to_add_byproduct, cost_to_add, propagate=False)
  • l10n_ro_distribute_cost_propagate(self, line, svls, cost_to_add_byproduct, cost_to_add=0, propagate=False)
  • l10n_ro_get_move_vals(self, cost)
  • l10n_ro_propagate_cost(self, line, svl, cost_to_add_byproduct, cost_to_add)

New fields (3)
  • l10n_ro_property_account_expense_location_id Many2one → account.account
    company_dependent=True domain="['&', ('deprecated', '=', False),('company_id', '=', current_company_id)]" help='This account will overwrite the expense accounts from product or category.' string='Romania - Expense Account' args: 'account.account'
  • l10n_ro_property_account_income_location_id Many2one → account.account
    company_dependent=True domain="['&', ('deprecated', '=', False),('company_id', '=', current_company_id)]" help='This account will overwrite the income accounts from product or category.' string='Romania - Income Account' args: 'account.account'
  • l10n_ro_property_stock_valuation_account_id Many2one → account.account
    company_dependent=True domain="[('company_id', '=', current_company_id),('deprecated', '=', False)]" string='Romania - Stock Valuation Account' args: 'account.account'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (1)
  • stock_valuation_ids One2many → stock.valuation.layer
    args: 'stock.valuation.layer', 'l10n_ro_stock_move_line_id'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • action_l10n_ro_view_account_moves(self)

New fields (1)
  • company_id Many2one
    index=True
Public methods (0)

No public methods.

New fields (2)
  • l10n_ro_origin_ret_move_qty Float
    compute='_compute_l10n_ro_origin_ret_move_qty'
  • l10n_ro_origin_ret_move_qty_warn Boolean
    compute='_compute_l10n_ro_origin_ret_move_qty'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (15)
  • company_id Many2one
    index=True
  • l10n_ro_account_id Many2one → account.account
    compute='_compute_account' store=True string='Romania - Valuation Account' args: 'account.account'
  • l10n_ro_invoice_id Many2one → account.move
    string='Romania - Invoice' args: 'account.move'
  • l10n_ro_invoice_line_id Many2one → account.move.line
    string='Romania - Invoice Line' args: 'account.move.line'
  • l10n_ro_location_dest_id Many2one → stock.location
    compute='_compute_l10n_ro_svl_locations_lot' index=True store=True string='Romania - Destination Location' args: 'stock.location'
  • l10n_ro_location_id Many2one → stock.location
    compute='_compute_l10n_ro_svl_locations_lot' index=True store=True string='Romania - Source Location' args: 'stock.location'
  • l10n_ro_lot_ids Many2many → stock.production.lot
    compute='_compute_l10n_ro_svl_locations_lot' index=True store=True string='Romania - Serial Numbers' args: 'stock.production.lot'
  • l10n_ro_qty_returned Float
  • l10n_ro_stock_move_line_id Many2one → stock.move.line
    index=True readonly=True string='Romania - Stock Move Line' args: 'stock.move.line'
  • l10n_ro_svl_dest_ids Many2many → stock.valuation.layer
    compute='_compute_l10n_ro_svl_tracking' string='Romania - Source Valuation' args: 'stock.valuation.layer'
  • l10n_ro_svl_src_ids Many2many → stock.valuation.layer
    compute='_compute_l10n_ro_svl_tracking' string='Romania - Destination Valuation' args: 'stock.valuation.layer'
  • l10n_ro_svl_track_dest_ids One2many → l10n.ro.stock.valuation.layer.tracking
    string='Romania - Source Tracking' args: 'l10n.ro.stock.valuation.layer.tracking', 'svl_src_id'
  • l10n_ro_svl_track_src_ids One2many → l10n.ro.stock.valuation.layer.tracking
    string='Romania - Destination Tracking' args: 'l10n.ro.stock.valuation.layer.tracking', 'svl_dest_id'
  • l10n_ro_valued_type Char
    string='Romania - Valued Type'
  • product_id Many2one
    index=True
Public methods (1)
  • create(self, vals_list)
    @api.model_create_multi

New fields (1)
  • l10n_ro_location_id Many2one → stock.location
    args: 'stock.location'
Public methods (2)
  • action_validate_revaluation(self)
  • onchange_location_id(self)
    @api.onchange('l10n_ro_location_id')
REPOSITORY
REPOSITORYOCA/l10n-romania
GIT
GIThttps://github.com/OCA/l10n-romania.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/l10n-romania/tree/14.0/l10n_ro_stock_account
VERSION
VERSION 8.40.0
CATEGORY
CATEGORYLocalization
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), NextERP Romania, Forest and Biomass Romania, Dorin Hongu
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), NextERP Romania, Forest and Biomass Romania, Dorin Hongu
COMMITTERS
COMMITTERSFekete Mihai, GitHub, OCA Transbot, Weblate, OCA-git-bot, Mihai Fekete, oca-ci, Cojocaru Marcel, Dorin Hongu, oca-git-bot, Adrian Vacaru, Stana Natanaela, Sima Elisabeta
WEBSITE
WEBSITEhttps://github.com/OCA/l10n-romania
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:40:51
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/l10n-romania:
    - l10n_ro_config
    - l10n_ro_stock
odoo/odoo:
    - stock_landed_costs
    - stock_account
    - stock
    - product
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - uom
    - barcodes
    - digest
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - resource
    - account
    - analytic
    - purchase_stock
    - purchase
    - sale_stock
    - sale
    - sales_team
    - payment
    - utm
    - l10n_ro
    - base_vat
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (9)
XML IDNameModelTypeStatus
product_template_form_view product.normal.form.inherit.stock product.template field Inherits account.product_template_form_view
stock_valuation_layer_form stock.valuation.layer.form stock.valuation.layer xpath Inherits stock_account.stock_valuation_layer_form
stock_valuation_layer_revaluation_form_view stock.valuation.layer.revaluation.form stock.valuation.layer.revaluation xpath Inherits stock_account.stock_valuation_layer_revaluation_form_view
view_account_form account.account.form account.account field Inherits account.view_account_form
view_location_form_inherit view_location_romania_form stock.location xpath Inherits stock_account.view_location_form_inherit
view_picking_add_price_unit_form view_picking_add_price_unit_form stock.picking xpath Inherits stock.view_picking_form
view_product_category_add_romania_form view_product_category_add_romania_form product.category field Inherits stock_account.view_category_property_form
view_stock_landed_cost_form stock.landed.cost notebook Inherits stock_landed_costs.view_stock_landed_cost_form
view_stock_return_picking_form Return lines stock.return.picking xpath Inherits stock.view_stock_return_picking_form
Models touched (18)

New fields (1)
  • l10n_ro_stock_consume_account_id Many2one → account.account
    company_dependent=True domain="[('deprecated', '=', False), ('company_id', '=', current_company_id)]" help='Account used for stock consume and usage giving operations' string='Romania - Consume Account' args: 'account.account'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (2)
  • action_post(self)
  • button_create_landed_costs(self)
    Update account of the landed cost ine with the one from invoice line.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (4)
  • quantity Float
  • svl_dest_id Many2one → stock.valuation.layer
    args: 'stock.valuation.layer'
  • svl_src_id Many2one → stock.valuation.layer
    args: 'stock.valuation.layer'
  • value Float
Public methods (0)

No public methods.

New fields (2)
  • l10n_ro_hide_stock_in_out_account Boolean
    compute='_compute_hide_accounts' help='Only for Romania, to hide stock_input and stock_output accounts because they are the same as stock_valuation account' string='Romania - Hide Odoo Stock In/Out Accounts'
  • l10n_ro_stock_account_change Boolean
    help='Only for Romania, to change the accounts to the ones defined on stock locations' string='Romania - Allow stock account change from locations'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (1)
  • l10n_ro_property_stock_valuation_account_id Many2one → account.account
    check_company=True company_dependent=True domain="[('company_id', '=', allowed_company_ids[0]),('deprecated', '=', False)]" help='In Romania accounting is only one account for valuation/input/output. If this value is set, we will use it, otherwise will use the category value. ' string='Romania - Stock Valuation Account' args: 'account.account'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • init(self)
    This method will set romanian companies correctly

New fields (1)
  • l10n_ro_cost_type Selection
    default='normal' states={'done': [('readonly', True)]} string='Romania - Landed Cost Type' args: [('normal', 'Normal')]
Public methods (7)
  • button_validate(self)
  • l10n_ro_create_account_move(self, line, svl, cost_to_add)
  • l10n_ro_create_valuation_layer(self, linked_layer, amount)
  • l10n_ro_distribute_cost(self, line, svl, cost_to_add_byproduct, cost_to_add, propagate=False)
  • l10n_ro_distribute_cost_propagate(self, line, svls, cost_to_add_byproduct, cost_to_add=0, propagate=False)
  • l10n_ro_get_move_vals(self, cost)
  • l10n_ro_propagate_cost(self, line, svl, cost_to_add_byproduct, cost_to_add)

New fields (3)
  • l10n_ro_property_account_expense_location_id Many2one → account.account
    company_dependent=True domain="['&', ('deprecated', '=', False),('company_id', '=', current_company_id)]" help='This account will overwrite the expense accounts from product or category.' string='Romania - Expense Account' args: 'account.account'
  • l10n_ro_property_account_income_location_id Many2one → account.account
    company_dependent=True domain="['&', ('deprecated', '=', False),('company_id', '=', current_company_id)]" help='This account will overwrite the income accounts from product or category.' string='Romania - Income Account' args: 'account.account'
  • l10n_ro_property_stock_valuation_account_id Many2one → account.account
    company_dependent=True domain="[('company_id', '=', current_company_id),('deprecated', '=', False)]" string='Romania - Stock Valuation Account' args: 'account.account'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (1)
  • stock_valuation_ids One2many → stock.valuation.layer
    args: 'stock.valuation.layer', 'l10n_ro_stock_move_line_id'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • action_l10n_ro_view_account_moves(self)

New fields (1)
  • company_id Many2one
    index=True
Public methods (0)

No public methods.

New fields (2)
  • l10n_ro_origin_ret_move_qty Float
    compute='_compute_l10n_ro_origin_ret_move_qty'
  • l10n_ro_origin_ret_move_qty_warn Boolean
    compute='_compute_l10n_ro_origin_ret_move_qty'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (15)
  • company_id Many2one
    index=True
  • l10n_ro_account_id Many2one → account.account
    compute='_compute_account' store=True string='Romania - Valuation Account' args: 'account.account'
  • l10n_ro_invoice_id Many2one → account.move
    string='Romania - Invoice' args: 'account.move'
  • l10n_ro_invoice_line_id Many2one → account.move.line
    string='Romania - Invoice Line' args: 'account.move.line'
  • l10n_ro_location_dest_id Many2one → stock.location
    compute='_compute_l10n_ro_svl_locations_lot' index=True store=True string='Romania - Destination Location' args: 'stock.location'
  • l10n_ro_location_id Many2one → stock.location
    compute='_compute_l10n_ro_svl_locations_lot' index=True store=True string='Romania - Source Location' args: 'stock.location'
  • l10n_ro_lot_ids Many2many → stock.production.lot
    compute='_compute_l10n_ro_svl_locations_lot' index=True store=True string='Romania - Serial Numbers' args: 'stock.production.lot'
  • l10n_ro_qty_returned Float
  • l10n_ro_stock_move_line_id Many2one → stock.move.line
    index=True readonly=True string='Romania - Stock Move Line' args: 'stock.move.line'
  • l10n_ro_svl_dest_ids Many2many → stock.valuation.layer
    compute='_compute_l10n_ro_svl_tracking' string='Romania - Source Valuation' args: 'stock.valuation.layer'
  • l10n_ro_svl_src_ids Many2many → stock.valuation.layer
    compute='_compute_l10n_ro_svl_tracking' string='Romania - Destination Valuation' args: 'stock.valuation.layer'
  • l10n_ro_svl_track_dest_ids One2many → l10n.ro.stock.valuation.layer.tracking
    string='Romania - Source Tracking' args: 'l10n.ro.stock.valuation.layer.tracking', 'svl_src_id'
  • l10n_ro_svl_track_src_ids One2many → l10n.ro.stock.valuation.layer.tracking
    string='Romania - Destination Tracking' args: 'l10n.ro.stock.valuation.layer.tracking', 'svl_dest_id'
  • l10n_ro_valued_type Char
    string='Romania - Valued Type'
  • product_id Many2one
    index=True
Public methods (1)
  • create(self, vals_list)
    @api.model_create_multi

New fields (1)
  • l10n_ro_location_id Many2one → stock.location
    args: 'stock.location'
Public methods (2)
  • action_validate_revaluation(self)
  • onchange_location_id(self)
    @api.onchange('l10n_ro_location_id')
REPOSITORY
REPOSITORYOCA/l10n-romania
GIT
GIThttps://github.com/OCA/l10n-romania.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/l10n-romania/tree/13.0/l10n_ro_stock_account
VERSION
VERSION 1.2.0
CATEGORY
CATEGORYLocalization
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), NextERP Romania, Forest and Biomass Romania, Dorin Hongu
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), NextERP Romania, Forest and Biomass Romania, Dorin Hongu
COMMITTERS
COMMITTERSGitHub, oca-travis, Weblate, OCA-git-bot, Mihai Fekete, Cojocaru Marcel, Dorin Hongu
WEBSITE
WEBSITEhttps://github.com/OCA/l10n-romania
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:34:10
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/l10n-romania:
    - l10n_ro_config
    - l10n_ro_stock
odoo/odoo:
    - stock_account
    - stock
    - product
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - uom
    - barcodes
    - account
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - sale_stock
    - sale
    - sales_team
    - payment
    - utm
    - purchase_stock
    - purchase
    - l10n_ro
    - base_vat
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (8)
XML IDNameModelTypeStatus
stock_picking_kanban stock.picking.kanban stock.picking field Inherits stock.stock_picking_kanban
stock_valuation_layer_form stock.valuation.layer.form stock.valuation.layer xpath Inherits stock_account.stock_valuation_layer_form
view_location_form_inherit view_location_romania_form stock.location xpath Inherits stock_account.view_location_form_inherit
view_picking_add_notice_form view_picking_add_note_form stock.picking field Inherits stock.view_picking_form
view_picking_add_notice_tree view_picking_add_notice_tree stock.picking field Inherits stock.vpicktree
view_picking_internal_add_notice_search view_picking_internal_add_notice_search stock.picking filter Inherits stock.view_picking_internal_search
view_product_category_add_romania_form view_product_category_add_romania_form product.category field Inherits stock_account.view_category_property_form
view_stock_return_picking_form Return lines stock.return.picking xpath Inherits stock.view_stock_return_picking_form
Models touched (13)

New fields (0)

No new fields.

Public methods (1)
  • init(self, *a)
    init called at every install to change the user_type_id for accounts 408, 418.This is required to be able to create a invoice with a line with this accounts and a invoice with right base from sale and purchase

New fields (0)

No new fields.

Public methods (3)
  • get_reception_account(self)
  • is_reception_notice(self)
  • post(self)

New fields (0)

No new fields.

Public methods (2)
  • get_stock_valuation_difference(self)
    Se obtine diferenta dintre evaloarea stocului si valoarea din factura
  • modify_stock_valuation(self, price_unit_val_dif)

New fields (2)
  • hide_stock_in_out_account Boolean
    compute='_compute_hide_accounts' help='Only for Romania, to hide stock_input and stock_output accounts because they are the same as stock_valuation account'
  • stock_account_change Boolean
    help='Only for Romania, to change the accounts to the ones defined on stock locations' string='Allow stock account change from locations'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (1)
  • property_stock_valuation_account_id Many2one → account.account
    check_company=True company_dependent=True domain="[('company_id', '=', allowed_company_ids[0]),('deprecated', '=', False)]" help='In Romania accounting is only one account for valuation/input/output. If this value is set, we will use it, otherwise will use the category value. ' args: 'account.account', 'Stock Valuation Account'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • init(self)
    This method will set romanian companies correctly

New fields (3)
  • property_account_expense_location_id Many2one → account.account
    company_dependent=True domain="['&', ('deprecated', '=', False),('company_id', '=', current_company_id)]" help='This account will overwrite the expense accounts from product or category.' string='Expense Account' args: 'account.account'
  • property_account_income_location_id Many2one → account.account
    company_dependent=True domain="['&', ('deprecated', '=', False),('company_id', '=', current_company_id)]" help='This account will overwrite the income accounts from product or category.' string='Income Account' args: 'account.account'
  • property_stock_valuation_account_id Many2one → account.account
    company_dependent=True domain="[('company_id', '=', current_company_id),('deprecated', '=', False)]" string='Stock Valuation Account' args: 'account.account'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (1)
  • notice Boolean
    default=False help='With this field the reception/delivery is set as a notice. The generated account move will contain accounts 408/418.' states={'done': [('readonly', True)], 'cancel': [('readonly', True)]} args: 'Is a notice'
Public methods (0)

No public methods.

New fields (2)
  • origin_ret_move_qty Float
    compute='_compute_origin_ret_move_qty'
  • origin_ret_move_qty_check Boolean
    compute='_compute_origin_ret_move_qty'
Public methods (0)

No public methods.

New fields (4)
  • account_id Many2one → account.account
    compute='_compute_account' store=True args: 'account.account'
  • invoice_id Many2one → account.move
    string='Invoice' args: 'account.move'
  • invoice_line_id Many2one → account.move.line
    string='Invoice Line' args: 'account.move.line'
  • valued_type Char
Public methods (2)
  • create(self, vals_list)
    @api.model_create_multi
  • init(self)
    This method will compute values for valuation layer valued_type