Esta aplicación tiene como objetivo explicar el comportamiento del tipo de contrato Contra Entrega en contratos de compra/venta de granos: cómo fija precio y cantidad, qué cambia según se use o no transacción de fijación, cómo interactúan las pautas de fijación, y qué ocurre al ampliar, reducir o liquidar.
12 min
¿Para qué sirve?
El tipo de contrato Contra Entrega se utiliza cuando el precio queda definido al momento de cerrar el contrato y el sistema debe considerar toda la cantidad pactada como ya fijada, sin un proceso posterior de “ir fijando” como en contratos A Fijar Precio.
A diferencia de otros tipos:
- No usa solapa Escalera ni órdenes de fijación.
- Exige precio en cabecera del contrato.
- Fija automáticamente la cantidad total ajustada (pactada + ampliaciones − reducciones) al precio del contrato.
- Permite ampliar y reducir toneladas; las reducciones respetan lo ya liquidado.
- Opcionalmente, con pautas de fijación, controla límites de cantidad por período y ajustes de precio por tramo de fechas.
Antes de empezar
Configuraciones en el subtipo de documento del contrato de granos (compra o venta):
- Definir el Tipo de contrato con comportamiento Contra Entrega en el maestro de tipos de contrato.
- Configurar si el subtipo usa transacción de fijación (Usa transacción de fijación):
- Sí: las fijaciones se gestionan como transacciones independientes vinculadas al contrato.
- No: la fijación vive como ítems dentro del propio contrato.
- Si aplica, activar Usa pautas de fijación en el subtipo para habilitar la solapa de pautas.
- Definir el subtipo de fijación y, si corresponde, el workflow de fijación (requerido cuando se usa transacción de fijación).
- Verificar la moneda de liquidación del subtipo de fijación (afecta conversión de precios en ítems).
En contratos Contra Entrega ya guardados, la moneda de cabecera suele quedar solo lectura.
Modo de uso
Menú → Comercialización → Granos → Contrato de compra/venta de granos
1. Crear un contrato Contra Entrega
- Crear un nuevo contrato de granos con un subtipo que permita tipo Contra Entrega.
- Seleccionar el Tipo de contrato = Contra Entrega.
- Completar los datos de cabecera:
- Cantidad pactada (*) (cantidad mínima).
- Precio (*) en cabecera — obligatorio para este tipo.
- Producto, moneda, contraparte, fechas y demás datos del negocio.
Solapas visibles según configuración del subtipo:
| Solapa | Con transacción de fijación | Sin transacción de fijación |
|---|---|---|
| Fijaciones de Precio | Visible (vínculo a transacciones de fijación) | Oculta |
| Fijación Precio/Cantidades | Oculta | Visible (ítems en el contrato) |
| Ampliación | Visible | Visible |
| Reducción | Visible | Visible |
| Pautas de fijación | Visible si el subtipo usa pautas | Igual |
| Escalera | Oculta | Oculta |
| Órdenes de fijación | Oculta | Oculta |
- Guardar el contrato.
Efecto al guardar (alta):
- Con transacción de fijación: el sistema crea automáticamente una transacción de Fijación vinculada al contrato, marcada como generada por contra entrega. Esa fijación toma:
- Cantidad = cantidad máxima del contrato (pactada ajustada).
- Precio = precio de cabecera.
- Producto, moneda, campaña y cotizaciones del contrato.
- Si la moneda del contrato coincide con la moneda de liquidación del subtipo de fijación, también genera el ítem de fijación con ese precio.
- Sin transacción de fijación: el sistema genera un ítem de fijación dentro del contrato con cantidad = cantidad máxima y precio = precio de cabecera. El usuario no necesita cargar líneas manualmente.
2. Comportamiento sin transacción de fijación
En este modo la fijación es parte del contrato (solapa Fijación Precio/Cantidades).
- Al guardar, el sistema normaliza un único ítem (o sincroniza el existente) con:
- Cantidad = cantidad máxima ajustada del contrato.
- Precio = precio de cabecera.
- Moneda = moneda del contrato (si el ítem no trae otra).
- El importe del contrato se calcula sobre ese ítem (con conversión de moneda si el ítem tiene moneda distinta a la del contrato).
- Si hay reducciones, antes de guardar el sistema reparte la baja con lógica LIFO sobre los ítems de fijación embebidos (ver sección Reducción).
En contratos de venta, si un ítem de fijación tiene cantidad pero no precio, el sistema no permite guardar.
3. Comportamiento con transacción de fijación
En este modo la fijación es una transacción aparte (solapa Fijaciones de Precio).
- Al dar de alta el contrato, se crea la fijación automática (no es una fijación manual del usuario).
- Al modificar el contrato (precio, producto o cantidad ajustada), el sistema actualiza la fijación vinculada:
- Sincroniza precio y producto.
- Ajusta cantidad a la cantidad máxima del contrato (no la mínima pactada).
- Actualiza los ítems del contrato vinculados a cada ítem de la fijación.
- La fijación generada por contra entrega:
- No se puede eliminar ni anular desde la transacción de fijación.
- Mensaje del sistema: “El tipo de contrato es Contra Entrega o Forward. No se puede eliminar/anular la fijación.”
- Si existen varias fijaciones vinculadas y hay reducciones, el reparto se hace primero sobre las fijaciones más recientes y, dentro de cada una, LIFO por ítem.
4. Pautas de fijación
Disponibles cuando el subtipo tiene activo Usa pautas de fijación (solapa Pautas de fijación / Límites de fijación).
Qué se carga en cada pauta (por tramo de fechas):
- Fecha desde / Fecha hasta (*) — el tramo no puede solaparse con otro.
- Cantidad máxima diaria, semanal y/o mensual — al menos una cantidad es obligatoria si la pauta define ajustes de precio.
- Importe adicional 1 / Importe adicional 2 — montos que se suman al precio base.
- Porcentaje adicional 1 / Porcentaje adicional 2 — porcentajes sobre el precio base.
- Moneda (*) de la pauta — obligatoria cuando hay importes adicionales.
Reglas al guardar fijaciones (en contrato o en transacción de fijación):
- La fecha de cada ítem de fijación no puede ser posterior a hoy ni anterior a la fecha del contrato.
- Si hay pautas, el sistema valida que la suma de cantidades fijadas en el día, semana o mes del ítem no supere los máximos del tramo que corresponde a esa fecha.
- Mensajes posibles: cantidad máxima diaria/semanal/mensual de fijación superada.
- Para el cálculo de precio con pautas: el precio base es la cotización de la moneda del contrato a la fecha del ítem; luego se aplican los importes o porcentajes adicionales del tramo vigente, con conversión de moneda si la pauta está en otra moneda.
Las pautas controlan cómo y cuánto se puede fijar por período; en Contra Entrega la cantidad total ya viene fijada automáticamente, pero las pautas igual aplican si el subtipo las tiene activas y hay ítems con fechas dentro de los tramos.
5. Ampliar el contrato
- Ir a la solapa Ampliación.
- Cargar una o más líneas con fecha y cantidad a sumar al pactado.
Efecto del sistema:
- Recalcula la cantidad máxima del contrato:
- Cantidad máxima = Cantidad pactada + Σ ampliaciones − Σ reducciones
- Las ampliaciones aumentan el techo de toneladas fijadas.
- Al guardar:
- Sin transacción de fijación: el ítem de fijación embebido pasa a la nueva cantidad máxima.
- Con transacción de fijación: la fijación vinculada actualiza su cantidad a la nueva cantidad máxima (salvo que haya aplicado reparto LIFO por reducciones previas).
- Las fechas de ampliación nuevas no pueden ser futuras.
6. Reducir el contrato
- Ir a la solapa Reducción.
- Cargar líneas con fecha y cantidad a restar.
Efecto del sistema:
- Recalcula la cantidad máxima (misma fórmula que arriba).
- La reducción se aplica sobre la fijación existente con criterio LIFO (últimos ítems / últimas fijaciones primero).
- Regla crítica: ningún ítem puede quedar con cantidad por debajo de lo ya liquidado.
- Si la reducción viola esa condición, el sistema rechaza el guardado con el mensaje: “La reducción que intenta hacer reduce la fijación por debajo de cantidades ya liquidadas, no es posible realizar la acción”.
- Si un ítem de fijación queda en cero tras la reducción, el sistema lo elimina.
- Si una transacción de fijación entera queda sin cantidad pesificada tras reducciones múltiples, puede eliminarse automáticamente.
- Con un solo ítem de fijación y reducciones, la cantidad del ítem se sincroniza directamente a la cantidad máxima ajustada.
7. Liquidar la fijación
La liquidación de granos consume los ítems de fijación del contrato (identificados por el campo de fijación en la liquidación).
Al generar una liquidación vinculada a una fijación:
- El sistema busca el ítem de fijación del contrato seleccionado.
- Toma el precio del ítem de fijación (en Contra Entrega no aplica lógica de escalera).
- Si el ítem tiene prima, la suma al precio (con cotización si la moneda de prima difiere).
- La cantidad a liquidar considera la cantidad disponible del ítem (total fijado menos lo ya aplicado/liquidado).
- Si no hay traslados seleccionados, arma el ítem de liquidación directamente desde la fijación con la cantidad disponible acumulada.
- Si la moneda de la liquidación difiere de la de la fijación, convierte el precio según cotización.
Después de liquidar:
- El ítem de fijación reduce su cantidad disponible; cuando se liquida todo, queda en cero.
- La fijación pasa a estado no modificable:
- “La fijación se encuentra liquidada. Debe desvincular la liquidación si desea modificar o eliminar el ítem.”
- Las fijaciones Por Contra Entrega no se pueden eliminar ni anular aunque no estén liquidadas (salvo flujos excepcionales fuera del estándar).
- La fecha del comprobante de liquidación no puede ser anterior a la fecha de la fijación.
Impacto en reducciones posteriores: solo se puede reducir hasta el piso de lo ya liquidado; el saldo no liquidado es el que puede achicarse.
8. Resumen de validaciones frecuentes
| Situación | Comportamiento |
|---|---|
| Falta precio en cabecera | No guarda: “Debe indicar el precio del contrato.” |
| Falta subtipo de fijación (con transacción de fijación) | No crea la fijación automática |
| Reducción > saldo no liquidado | Error por cantidad ya liquidada |
| Eliminar fijación contra entrega | Bloqueado |
| Modificar fijación liquidada | Bloqueado hasta desvincular liquidación |
| Pauta con ajustes de precio sin cantidades máximas | Error: “Falta cantidad en los ítems de Pautas” |
| Superar tope diario/semanal/mensual de pauta | Error de límite de cantidad fijada en el período |
Nota aclaratoria: Los campos marcados con un asterisco (*) son de carácter obligatorio según la configuración del subtipo y el tipo de contrato.