Romania - Retail Price Change (Proces Verbal Schimbare Pret)
Rumanía - Cambio de precio minorista (Proces Verbal de Schimbare Pret)
Añade el documento de cambio de precio a la contabilidad de mercancías minoristas de l10n_ro_stock_account_retail.
l10n.ro.retail.price.change es un documento persistente numerado PVSP/YYYY/00000 a partir de una secuencia de su propia compañía. Captura el almacén, la fecha, los productos en existencias y el precio de estantería antiguo frente al nuevo (PVA, IVA incluido) por línea, con el desglose del margen (378) y el IVA diferido (4428).
El lado antiguo es lo que soporta el stock —coste, margen e IVA diferido por unidad, leídos del libro de márgenes— y se vuelve a leer cuando se contabiliza el documento, de modo que el delta siempre mide la brecha que existe en el momento en que se realiza el asiento. Un documento contabilizado es definitivo: se revoca contabilizando otro, nunca se restablece, cancela ni elimina.
Hay tres flujos:
- Manual - crear un borrador, cargar los productos en existencias, editar los nuevos precios y luego contabilizar. La contabilización escribe los nuevos precios en la tarifa minorista del almacén, registra la revalorización y la anota en el libro de márgenes, de modo que la siguiente venta libera el nuevo margen y no el antiguo.
- Automático - se genera un documento en borrador para cada almacén minorista afectado siempre que se mueve un precio de estantería, y el usuario lo revisa y lo contabiliza. Lo que decidió el precio no importa: una regla fija, una regla sobre una categoría o toda la tienda, cualquier término de una fórmula, un cambio en otra tarifa de la que deriva la tienda, o el propio precio de venta del producto. El precio anterior y el precio posterior se comparan por producto y por tienda, de modo que una regla que nombra todo un rango genera un documento que contiene las etiquetas que realmente se movieron. Una tienda tiene como máximo un documento automático abierto, que se completa a medida que los precios siguen moviéndose, por lo que siempre cotiza el precio que está en la etiqueta. La contabilización escribe una regla fija de vuelta en la tarifa solo donde la tarifa no responde ya con el precio decidido, que es lo que mantiene una tienda con precios por fórmula con precios por fórmula.
- Reconciliado - un cron diario, Retail: Reconcile Shelf Prices, compara lo que el libro de márgenes dice que soporta cada unidad en la estantería con lo que la tarifa dice que lee la etiqueta, y genera un borrador dondequiera que los dos se hayan separado. Eso captura los precios que se mueven sin que nadie escriba nada: el día que se abre una promoción con fecha, un precio de estantería calculado sobre un coste que ha movido una recepción, un cambio de tipo de IVA. El stock que el libro aún no contabiliza se deja al asistente de saldo de apertura.
Informe
El documento se imprime como Proces-verbal privind modificarea pretului de vanzare cu amanuntul, enumerando cantidad, precio antiguo y nuevo, valor antiguo y nuevo y la diferencia por producto, con el desglose de margen e IVA mostrado por separado.
Historial de precios
Cada documento contabilizado es un registro fechado del precio de estantería de los productos que cubre. El botón Price History de un producto muestra las líneas que le conciernen, de más antigua a más reciente, de modo que la secuencia de precios de estantería y el documento que decidió cada uno de ellos son visibles en un solo lugar.
Traducción automática al español (DeepSeek) de la descripción original de OCA, que está en inglés.
auto_awesome Qué hace este módulo
Generado por IA a partir del código · Odoo 20.0Permite a los minoristas rumanos registrar un cambio de precio de estantería (Proces Verbal de Schimbare Pret) para los bienes en existencias, actualizando la lista de precios minorista y contabilizando el asiento contable del margen y la diferencia de IVA diferido.
Este módulo añade un nuevo documento, el Retail Price Change (Proces Verbal de Schimbare Pret), numerado PVSP/YEAR/00001 por compañía. Se encuentra en Inventory > Warehouse Management > Retail Price Changes, y cada formulario de producto también muestra un recuento de cambios de precio de venta al público con un botón que abre su historial de precios.
En un documento en borrador el usuario elige un almacén minorista y una fecha, y luego pulsa Load Products para traer todo lo que hay actualmente en las estanterías de la tienda con su cantidad y su precio de estantería actual. Para cada línea el usuario introduce el nuevo precio de estantería (IVA incluido). El coste antiguo, el margen y el IVA diferido por unidad se leen del libro de márgenes, y las diferencias de margen y de IVA se calculan automáticamente.
Cuando el documento se contabiliza, las cantidades y los valores antiguos se vuelven a leer del stock, la lista de precios minorista se actualiza con los nuevos precios (una regla fija solo se escribe donde la lista de precios no da ya ese precio), se contabiliza un asiento contable que mueve el margen (378) y el IVA diferido (4428) contra la cuenta de stock, y el libro de márgenes se actualiza para que las ventas posteriores liberen el margen correcto. La contabilización se rechaza si el libro no cubre la misma cantidad que el documento.
Un documento contabilizado no se puede eliminar ni restablecer; se revoca contabilizando otro. Solo los borradores se pueden cancelar. Hay disponible un informe imprimible.
Los cambios de precio también se detectan automáticamente: editar o eliminar una regla de la lista de precios, o cambiar el precio de venta de un producto, crea o completa un documento en borrador para las tiendas afectadas. Un trabajo programado concilia los precios de estantería con las cuentas.
Depende de
Menús que añade
Modelos y campos (7)
- res.company · amplía un modelo existente
- product.product · amplía un modelo existentel10n_ro_retail_price_change_count (Retail Price Changes)
- product.template · amplía un modelo existentel10n_ro_retail_price_change_count (Retail Price Changes)
- product.pricelist.item · amplía un modelo existente
- l10n.ro.retail.markup.line · amplía un modelo existenteprice_change_id
- l10n.ro.retail.price.change · modelo nuevodate, name, notes, state, line_ids (Lines), company_id, journal_id, auto_created, pricelist_id, warehouse_id, account_move_id, markup_line_ids (Markup Ledger)
- l10n.ro.retail.price.change.line · modelo nuevostate, quantity, cost_unit (Cost / Unit), company_id, product_id, currency_id, document_id, location_id, new_vat_unit (New VAT / Unit), old_vat_unit (Old VAT / Unit), warehouse_id (Warehouse), document_date (Date), vat_diff_total (VAT Delta), new_markup_unit (New Markup / Unit), old_markup_unit (Old Markup / Unit), markup_diff_total (Markup Delta), new_price_with_vat (New PVA), old_price_with_vat (Old PVA)
Texto generado por IA (DeepSeek) al leer el código de la versión 20.0 en GitHub; puede contener errores, así que verifícalo en el código antes de decidir. El módulo es muy grande y solo se ha leído una parte del código. Ver el código en GitHub
Disponibilidad por versión
Revisado: 2026-11-03Estado de confirmación: 2 confirmadas, 7 sin información de 9 versiones.
Fuentes · Odoo 20.0
Confirmado el 2026-11-03 en la rama 20.0 de OCA/l10n-romania.
terminal Instalación y uso
Documentación de OCA · Odoo 20.0Configuración
Fuente · Odoo 20.0Nada que configurar más allá de lo que l10n_ro_stock_account_retail ya pide. Lo que ese módulo necesita, este se apoya en ello:
- Almacén minorista. Marca Retail Warehouse en la tienda y asígnale su Retail Pricelist. Esa tarifa contiene el precio de estantería (PVA), IVA incluido, y es a la que este documento escribe de vuelta.
- Cuentas. 371, 378 y 4428 deben resolverse para cada producto que la tienda maneja — en la ubicación, el producto, su categoría o la compañía, mapeadas a través de la posición fiscal del almacén si tiene una. La publicación se niega en lugar de adivinar.
- Diario de existencias. El asiento se publica en el diario de existencias de la compañía; el documento también te permite elegir otro por documento.
Hay dos cosas que vale la pena hacer una vez, antes del primer cambio de precio:
- Liquidar el saldo de apertura. Las existencias que estaban en la estantería antes de que se instalara
l10n_ro_stock_account_retailestán en los quants y no en el libro mayor de recargos. Ejecuta Retail Opening Balance hasta que no encuentre nada. Un documento de cambio de precio se niega a publicarse mientras el libro mayor no contabilice la misma cantidad que revaloriza, porque la tasa que aplica se deriva del libro mayor. - Numeración. Cada compañía obtiene su propia secuencia
PVSP/YYYY/00000, creada al instalar y cada vez que se añade una compañía. Cambia el prefijo o el relleno por compañía en Ajustes → Técnico → Secuencias si la numeración propia de la tienda difiere. - La conciliación nocturna. Retail: Reconcile Shelf Prices está programada a diario en Ajustes → Técnico → Acciones programadas. Genera borradores, nunca publica nada, y es lo que detecta un precio que se movió sin que nadie escribiera una regla - una promoción con fecha que se abre, un precio de estantería calculado sobre un coste que movió la última recepción, un cambio de tipo de IVA. Déjala activada: los hooks de escritura en la tarifa solo hacen inmediatos los casos comunes, no pueden ver esos.
Cambiar un precio de estantería
La tienda puede empezar por cualquiera de los dos extremos.
Desde el documento. Inventory → Retail → Price Changes, cree uno, elija el almacén, Load Products. Cada producto disponible en las ubicaciones minoristas de la tienda entra con lo que actualmente soporta a la izquierda —coste, margen y IVA diferido por unidad, leídos del libro de márgenes, no de la lista de precios— y el precio de estantería actual a la derecha. Edite el New PVA de las líneas que cambian, elimine el resto y, a continuación, Post.
Desde la lista de precios. Cambie el precio de un producto en una lista de precios minorista de una tienda y se generará un Proces Verbal en borrador por cada almacén minorista que tenga ese producto disponible. Es un borrador a propósito: alguien lo revisa y lo publica. Eliminar una regla también genera uno, porque la etiqueta también cambia entonces.
La publicación hace cuatro cosas, en una sola transacción: escribe los nuevos precios en la lista de precios minorista, publica la revalorización de 371 contra 378 y 4428, la registra en el libro de márgenes para que la siguiente venta libere el nuevo margen, e imprime como el Proces-verbal privind modificarea pretului de vanzare cu amanuntul.
El lado antiguo y la cantidad se vuelven a leer en el momento de la publicación, no en el momento de la carga. Un borrador generado esta mañana y publicado esta tarde se mide contra lo que la tienda tiene esta tarde, de modo que dos documentos sobre los mismos bienes no pueden revalorizar cada uno desde el mismo punto de partida.
Corregir un documento
No hay restablecimiento a borrador, y un documento publicado no se puede cancelar ni eliminar. Escribió precios, publicó un asiento y movió lo que soporta el stock; el rastro documental es lo esencial. Una decisión de precio que resultó errónea se revoca tal como se tomó: publique otro Proces Verbal que devuelva el precio. Solo un documento que aún esté en borrador se puede cancelar o eliminar.
Historial de precios
Price History en un producto enumera cada línea publicada que le concierne, de la más antigua a la más reciente: la fecha, la tienda, el PVA antiguo y el nuevo y el documento que decidió cada uno. Ese es el historial de precios de estantería que la tienda tiene que poder mostrar.
Qué genera un documento
Se genera un Proces Verbal por cada precio de estantería que se mueve, sea lo que sea lo que lo decidió. Lo que se compara es el precio antes y el precio después, por producto y por tienda, de modo que una regla que nombra toda una gama produce un documento que contiene las etiquetas que realmente cambiaron, no la gama.
Detectado a medida que ocurre, desde una escritura en la lista de precios:
- un precio fijo en un producto o una plantilla;
- una regla sobre una categoría, o una regla global;
- cualquier término de una fórmula: la base de la que parte, el descuento o margen, el redondeo, la tarifa adicional, los márgenes;
- un cambio en otra lista de precios de la que la tienda deriva, por larga que sea la cadena: el comprador mueve un precio en la lista de compra y las etiquetas de la tienda se mueven con él;
- eliminar una regla, porque la etiqueta también cambia entonces;
- un cambio en el precio de venta del producto, para las tiendas que fijan sus estanterías a partir de él, que es la configuración predeterminada.
Detectado durante la noche, por Retail: Reconcile Shelf Prices:
- el día en que una promoción con fecha se abre o se cierra por sí sola;
- un precio de estantería calculado sobre el coste, que se mueve en la siguiente recepción a un coste diferente;
- un cambio de tipo de IVA, que vuelve a dividir cada precio de la tienda;
- cualquier otra cosa que movió la etiqueta sin que nadie escribiera una regla.
El cron es el mecanismo de referencia, y es en el que hay que confiar: comprueba el invariante por sí mismo —el libro de márgenes dice lo que soporta cada unidad en la estantería, la lista de precios dice lo que marca la etiqueta, y que esos dos coincidan es lo que esta familia de módulos existe para mantener—. Los hooks de escritura solo hacen inmediatos los casos comunes.
El coste deliberadamente no se vigila a medida que se escribe. standard_price se reescribe mediante la valoración en cada recepción bajo coste medio, y colgar una comprobación de precio de la ruta crítica de cada movimiento de mercancías haría que cada recepción pagara por una comprobación que casi nunca encuentra nada.
El stock que el libro de márgenes aún no contabiliza se deja en paz por la conciliación. Ese es el saldo de apertura, tiene su propio asistente, y un documento generado sobre él se negaría a publicarse de todos modos.
Un borrador abierto por tienda
Una tienda tiene como máximo un documento automático abierto. Un segundo movimiento de precio sobre los mismos bienes pone al día el borrador abierto en lugar de generar otro, de modo que tres movimientos de precio en una mañana son un solo documento que cita el precio que realmente está en la etiqueta, y la conciliación nocturna no vuelve a añadir la misma divergencia cada noche hasta que alguien la publique.
La publicación no sustituye sus reglas de precios
La publicación escribe una regla fija por variante solo donde la lista de precios no responde ya con el precio que decidió el documento. Por lo tanto, un documento generado por una regla de categoría o una fórmula de margen no escribe nada de vuelta: la regla que produjo el precio sigue alcanzando el producto después. Una regla fija es una anulación, y se escribe cuando alguien realmente anuló algo: un precio tecleado a mano en el documento.
Traducción automática al español (DeepSeek) de la documentación original de OCA; los comandos y el código no se traducen. Sin información verificada en OCA: Instalación.
Las instrucciones de instalación, el paquete de distribución, las dependencias y los pasos de configuración no se muestran porque todavía no se han verificado en la documentación del módulo para ninguna versión.
Datos importados de GitHub: esta ficha refleja la última revisión del catálogo, no una consulta en directo. Verifica siempre en la documentación del módulo y en staging antes de instalar en producción.