Requisiciones Internas para Odoo 19
Organiza la solicitud, aprobación y entrega de materiales desde Inventario.
Cada requisición conserva su referencia RQ, solicitante, departamento, fecha
requerida, responsable de aprobación y transferencias vinculadas. Forma parte
del catálogo de la nueva localización E&M y funciona como aplicación independiente.
Vista rápida
El esquema resume el recorrido real del módulo: el solicitante crea la petición,
el responsable la aprueba y Almacén atiende la transferencia desde Inventario.
Es una ilustración funcional, no una captura de una base de cliente.
Esquema ilustrativo del flujo de Requisiciones Internas
Funcionalidades
- Solicitar varios productos, cantidades, descripciones y unidades en una orden.
- Revisar existencias libres y confirmar las ubicaciones antes de enviar.
- Separar solicitantes, responsables de aprobación y personal de almacén.
- Crear transferencias vinculadas y atender pedidos completos o parciales.
- Mantener trazabilidad de pendientes, devoluciones, compañías, lotes y series.
El flujo genera traslados internos u órdenes de entrega de Inventario. La compra
a proveedores, las solicitudes de cotización, las aprobaciones por varios niveles
y un informe PDF propio de requisición quedan fuera del alcance de este módulo.
Las impresiones de transferencias usan los reportes nativos de Inventario.
Compatibilidad y dependencias
| Requisito |
Detalle |
| Versión |
Odoo 19.0, módulo 19.0.1.0.3 |
| Aplicaciones |
Inventario (stock), Empleados (hr) y Conversaciones (mail) |
| Instalación |
Servidor propio u Odoo.sh con acceso a addons personalizados |
| Ediciones |
Usa los modelos nativos de Community; puede instalarse en Enterprise con esas dependencias |
| Python |
Usa pytz, dependencia del entorno Odoo; sin paquetes Python adicionales propios |
El paquete conserva el nombre técnico l00c_pe_internal_requisition y los
identificadores de sus modelos. Su instalación actual no necesita l00c_pe_base
ni la aplicación Aprobaciones. La disponibilidad del código para Odoo 19 no
implica compatibilidad con versiones anteriores ni instalación automática en el
servidor del comprador. Odoo Online no admite este addon Python personalizado.
Instalación
- Respalda la base y el filestore y valida primero en una copia de pruebas.
- Descomprime el ZIP comprado. La carpeta
l00c_pe_internal_requisition, que
contiene __manifest__.py, debe quedar directamente en una ruta de addons.
- Incluye la ruta en
addons_path y reinicia el proceso Odoo. En Odoo.sh,
incorpora la carpeta al repositorio de la rama correspondiente.
- Activa el modo desarrollador, abre Aplicaciones → Actualizar lista de
aplicaciones y busca Requisiciones Internas. Instala el módulo.
- Asigna los roles y configura el tipo de operación antes de crear la primera
solicitud. Para actualizar una instalación existente, conserva la misma
carpeta técnica y actualiza el módulo desde Aplicaciones.
La compra entrega el paquete y las condiciones de acceso indicadas en su ficha;
la instalación, migración de otras aplicaciones y personalizaciones dependen
del alcance contratado.
Roles y configuración inicial
En Ajustes → Usuarios y compañías → Usuarios, configura los accesos:
| Función |
Acceso |
Operaciones |
| Solicitante |
Requisiciones / Solicitante |
Crea y modifica sus borradores, confirma y consulta sus solicitudes y transferencias |
| Responsable |
Requisiciones / Responsable |
Revisa las solicitudes de las compañías permitidas, aprueba, rechaza y cancela cuando corresponde |
| Almacén |
Permisos estándar de Inventario |
Reserva y valida las transferencias; consulta las requisiciones vinculadas |
El responsable de requisiciones puede aprobar sin recibir acceso general de
escritura en Inventario. Si una persona también atiende almacén, asígnale ambos
accesos. La selección de un departamento identifica la solicitud; la autorización
corresponde al rol Responsable, sin una cadena de aprobaciones por departamento.
En Inventario → Configuración → Tipos de operación, prepara un traslado
interno con origen y destino diferentes. El origen debe ser interno y el destino
interno o de tránsito. También se admiten tipos de entrega con destino cliente.
Las ubicaciones iniciales se copian del tipo de operación y deben pertenecer al
contexto de compañía permitido.
Configura los bienes y sus unidades en Productos. Las unidades alternativas
deben formar parte de los empaques/unidades configurados para ese producto en
Odoo 19. Para productos con seguimiento, configura los lotes o series y las
existencias de origen en Inventario.
Primer recorrido: solicitar diez unidades
- El solicitante abre Requisiciones → Órdenes de Requisición → Nuevo.
- Indica la fecha requerida, el departamento si corresponde y el tipo de
operación. Agrega un bien con cantidad 10.
- Revisa origen y destino en Otra información y pulsa Confirmar
Requisición. La solicitud pasa de Borrador a A aprobar.
- El responsable revisa y pulsa Aprobar. Se registran usuario y fecha y se
crea una transferencia con la referencia de la requisición. Repetir la
aprobación no crea otra transferencia.
- Almacén abre Transferencia de Stock, reserva según el tipo de operación,
completa lotes/series si aplica y valida la cantidad atendida.
- Con las diez unidades atendidas, la requisición pasa a Transferido. Sus
líneas muestran las cantidades transferidas.
La aprobación crea el documento de stock; el movimiento real se realiza al
validarlo desde Inventario. La reserva sigue la configuración nativa: con
reserva manual puede ser necesario Comprobar disponibilidad, y una falta de
stock mantiene la transferencia pendiente.
Parciales, rechazo, cancelación y devolución
Si almacén atiende 4 de 10, se conserva una transferencia pendiente de 6
y la requisición permanece Aprobada. La demanda se conserva incluso cuando
el tipo de operación usa «Nunca crear entrega parcial». El flujo impide
descartar o cancelar el saldo de una solicitud ya atendida parcialmente.
Un responsable puede rechazar una solicitud A aprobar. El solicitante puede
volver a borrador una requisición rechazada o cancelada cuando todas sus
transferencias están canceladas. Las solicitudes confirmadas se mantienen
protegidas frente a edición directa; para cambiarlas utiliza los estados
previstos antes de generar movimientos realizados.
La cancelación de una requisición aprobada corresponde al responsable y se
permite únicamente sin movimientos realizados. Una requisición transferida se
conserva como historial. Para devolver materiales utiliza la devolución nativa
de Inventario: mantiene el vínculo y no reabre automáticamente la requisición
ni descuenta su atención histórica. Si necesitas materiales adicionales, crea
una solicitud nueva.
Solución de problemas
| Situación |
Qué revisar |
| No aparece en Aplicaciones |
Carpeta técnica, addons_path, reinicio y actualización de la lista |
| No aparece el menú |
Grupo Requisiciones asignado al usuario y compañía activa |
| Origen y destino iguales |
Ajustar el tipo de operación o las ubicaciones del borrador |
| No aparece Aprobar |
Rol Responsable y estado A aprobar |
| El responsable no puede validar stock |
Asignar el permiso de Inventario a quien atiende almacén |
| Unidad rechazada |
Usar la unidad del producto o un empaque configurado para él |
| La reserva no avanza |
Stock libre, ubicación, política de reserva y lotes/series nativos |
| Una solicitud no permite editar o borrar |
Solo los borradores propios permiten edición; los documentos atendidos conservan su trazabilidad |
Licencia y soporte
Autor: E&M. El manifiesto declara Other proprietary, licencia comercial
E&M. Se aplican la ficha, documentación y condiciones aceptadas en la compra;
esta guía no concede derechos adicionales de distribución ni cambia los de las
dependencias. Los componentes Odoo y de terceros conservan sus licencias.
Las actualizaciones disponibles, asistencia e implementación se rigen por la
oferta contratada. Para soporte, utiliza la compra en E&M Cloud o los canales de
contacto de E&M. Indica versión de Odoo y del
módulo, estado de la requisición y pasos para reproducir, sin enviar claves ni
datos sensibles.
Validación técnica
En una base exclusiva de pruebas y con su configuración neutralizada:
odoo -c /ruta/odoo-qa.conf -d DB_QA -i l00c_pe_internal_requisition --without-demo=all --stop-after-init --no-http --max-cron-threads=0
odoo -c /ruta/odoo-qa.conf -d DB_QA -u l00c_pe_internal_requisition --test-enable --test-tags /l00c_pe_internal_requisition --stop-after-init --no-http --max-cron-threads=0
La suite cubre flujo completo, permisos, compañías, parciales, reservas, unidades,
lotes/series, devoluciones y preservación de transferencias ajenas. La prueba
concurrente se ejecuta después de instalar, fuera del cargador de módulos, en
odoo shell -c /ruta/odoo-qa.conf -d DB_QA --no-http:
from odoo.addons.l00c_pe_internal_requisition.tests.check_concurrency import check_concurrency
check_concurrency(env.registry)
Usa dos conexiones PostgreSQL y registros temporales comprometidos, que elimina
al finalizar. Ejecutarla únicamente en la base de pruebas exclusiva. Los cambios
de esta entrega se describen en CHANGELOG.md.