OdooWiki OCA HUB

Romania - Retail Landed Cost (Marfa in Magazin)

l10n_ro_stock_account_retail_landed_cost folder_open OCA/l10n-romania open_in_new
Localization License: AGPL-3

Romania - Retail Landed Cost (Marfa in Magazin)

Keeps account 371 at the shelf price when a landed cost raises the cost of goods that are sitting in a retail warehouse.

Goods in a shop are carried at the price on the shelf label. A landed cost - transport, customs, a purchase price difference - debits 371 with the extra cost, which for a shop is wrong: the shelf price has not moved, so the value on 371 must not move either. What changes is how that value splits: the cost goes up and the markup goes down by the same amount.

This module posts the compensating entry, Dr 378 / Cr 371, and records it in the markup ledger, so the next sale releases the markup that is really left rather than the one loaded at reception.

Price differences from vendor bills are handled by the same mechanism: in this localization a price difference is a landed cost, of type price_diff.

If the extra cost would push the markup below zero - the goods now cost more than they are priced at - the landed cost is refused, naming the product and the shelf price that would make it work. A shop that genuinely sells below cost ticks Allow Selling Below Cost on the warehouse, the same flag the reception path honours.

auto_awesome What this module does

AI-generated from the code · Odoo 20.0

When a landed cost (transport, customs, price difference) adds cost to goods held in a Romanian retail shop, this module keeps the stock value at the shelf price and books the extra cost against the commercial markup instead.

In a Romanian shop, goods are valued at the price on the shelf label. A landed cost normally increases that stock value, which would be wrong for a shop. This module corrects it automatically when the landed cost is validated.

What happens when a user validates a landed cost: - The extra cost that landed on goods still sitting in a retail location is taken out of the markup: an accounting entry is posted debiting the markup account (378) and crediting the stock account (371), so the stock value stays at the shelf price. If the amount is negative, the two sides are swapped. - A line is written in the retail markup ledger, linked to the landed cost, so the next sale releases the markup that is really left. - A price difference from a vendor bill is treated the same way and recorded with the origin type "price difference".

Business rule and blocking check: before posting, the module compares the extra cost with the markup still carried for each product and warehouse. If the goods would end up costing more than they are priced at, validation is stopped with a message asking the user to raise the shelf price first, or to tick the warehouse option allowing sales below cost.

Where it appears: on the landed cost form there is a read-only "Retail Markup Correction" tab listing warehouse, product, markup, stock move and the generated accounting entry. The module touches stock.landed.cost and the retail markup ledger l10n.ro.retail.markup.line.

Models and fields (2)
  • stock.landed.cost · extends an existing modell10n_ro_retail_markup_line_ids (Retail Markup Ledger)
  • l10n.ro.retail.markup.line · extends an existing modellanded_cost_id

Text generated by AI (DeepSeek) from reading the Odoo 20.0 code on GitHub; it may contain mistakes, so check the code before deciding. View the code on GitHub

Availability by version

Reviewed: 2026-11-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation status: 2 confirmed, 7 with no information of 9 versions.

Sources · Odoo 19.0

Confirmed on 2026-11-03 in branch 19.0 of OCA/l10n-romania.

terminal Installation and usage

No verified information

Installation instructions, the distribution package, dependencies and configuration steps are not shown because they have not yet been verified in the module documentation for any version.

info

Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.