OdooWiki OCA HUB

Variable quantity in contract recurrent invoicing

contract_variable_quantity folder_open OCA/contract open_in_new
Contract Management Licencia: AGPL-3

Con este módulo, podrás definir en contratos recurrentes algunas líneas con cantidad variable según una fórmula proporcionada.

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 19.0

Permite establecer líneas de contrato para facturar una cantidad calculada mediante una fórmula en lugar de un número fijo, y opcionalmente omitir las líneas cuya cantidad calculada sea cero.

Este módulo amplía los contratos recurrentes para que cada línea de contrato pueda ser de cantidad fija o de cantidad variable.

  • En las líneas de contrato y en las líneas de plantilla de contrato aparece una opción "Tipo de cantidad" (Cantidad fija / Cantidad variable). Al seleccionar Cantidad variable, el campo de cantidad normal se oculta y en su lugar aparece un campo "Fórmula de cantidad".
  • Las fórmulas se gestionan en una nueva pantalla, "Fórmulas (cantidad)", que se encuentra en el menú de configuración de Contratos. Cada fórmula tiene un nombre y un bloque de código Python que debe almacenar la cantidad a facturar en una variable llamada 'result'. El código puede usar el usuario actual, el contexto, la línea de contrato, el contrato y la factura que se está creando.
  • Cuando se genera una factura recurrente, la cantidad de una línea variable se calcula ejecutando su fórmula para el periodo de facturación; las líneas fijas conservan su cantidad habitual.
  • En la cabecera del contrato hay una opción "Omitir líneas con cantidad cero". Si está marcada, las líneas de contrato cuya cantidad calculada sea cero no crean ninguna línea de factura.
  • Las fórmulas se validan al guardarse: un código no válido o un código que no produzca un 'result' genera un error.

Modifica contract.contract, contract.line, contract.template.line y añade el nuevo modelo contract.line.qty.formula. Solo los responsables de contabilidad pueden crear o modificar fórmulas; los usuarios de contabilidad pueden leerlas.

Depende de

Menús que añade

menu_contract_quantity_formula
Modelos y campos (4)
  • contract.line · amplía un modelo existente
  • contract.contract · amplía un modelo existenteskip_zero_qty (Skip Zero Qty Lines)
  • contract.template.line · amplía un modelo existenteqty_type (Qty. type), qty_formula_id (Qty. formula)
  • contract.line.qty.formula · modelo nuevocode, name

Texto generado por IA (DeepSeek) al leer el código de la versión 19.0 en GitHub; puede contener errores, así que verifícalo en el código antes de decidir. Ver el código en GitHub

Disponibilidad por versión

Revisado: 2026-11-03
Confirmado (verificado en repositorio y rama) Estimado (sin verificar) Sin información

Estado de confirmación: 8 confirmadas, 1 sin información de 9 versiones.

terminal Instalación y uso

Documentación de OCA · Odoo 19.0
  • Vaya a Facturación \> Configuración \> Contratos \> Fórmulas (cantidad).
  • Defina cualquier fórmula basada en código Python que almacene en algún momento un valor float/integer de la cantidad a facturar en la variable 'result'. Puede usar estas variables para calcular su fórmula:
  • env: Variable de entorno para obtener otros modelos.
  • context: Diccionario de contexto actual.
  • user: Usuario actual.
  • line: Línea de factura recurrente del contrato que activa esta fórmula.
  • contract: Contrato al que pertenece la línea.
  • invoice: Factura (cabecera) que se está creando.

Para usar este módulo, necesita:

  • Vaya a Facturación \> Clientes \> Contratos de clientes y seleccione o cree un nuevo contrato.
  • Marque Generar facturas recurrentes automáticamente.
  • Añada una nueva línea de facturación recurrente.
  • Seleccione "Cantidad variable" en la columna "Tipo de cantidad".
  • Seleccione una de las posibles fórmulas a usar (creada previamente).

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.

info

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.