domingo 24 de agosto de 2008

El sistema de aprovisionamientos en OpenERP

OpenERP tiene un sistema de control de necesidades de productos basado en una entidad clave denominada aprovisionamientos o procurements en inglés.

El sistema de aprovisionamientos estandariza la solicitud de necesidades de materiales (e incluso servicios) de forma que se pueda proceder de forma conjunta y coherente a su suministro. El sistema de planificación (pedidos de compra a proveedores, ordenes de fabricación, etc. ) centralizan sus necesidades mediante aprovisionamientos, por lo que constituyen estos una pieza clave de cualquier empresa con necesidades de control de stocks (esto es... ¡casi todas!).

Para comprender bien como funciona el sistema vamos a definir los campos que componen un aprovisionamiento. En mensajes posteriores explicaremos cómo se generan éstos y cómo actua el planificador para generar las correspondientes ordenes de compra, etc.



Campos:
  • Nombre('name') Como en todas las entidades de OpenERP, los aprovisionamientos tienen un nombre. Si el aprovisionamiento ha sido generado automáticamente por el sistema el nombre lo compone utilizando una secuencia numérica.
  • Origen('origin') Es un campo meramente informativo. Permite indicar si el aprovisionamiento surgen desde un pedido de cliente, una orden de producción, etc.
  • Prioridad('priority'): Actualmente la prioridad asignada a un aprovisionamiento no tiene efectos prácticos desde el punto de vista del programa. Puede servir en el caso de realizarse aprovisionamientos manuales para indicar la urgencia de la misma, pero en cualquier caso será alguien quien valore la prioridad definitivamente.
  • Fecha Compromiso, o fecha planeada('date_planned'). Es un campo obligatorio y MUY importante. La fecha de compromiso del aprovisionamiento indica cuando debe hacerse efectivo dicho aprovisionamiento. Una vez que la fecha de compromiso está definida el planificador la utilizará para calcular cuando tiene que realizar los pedidos, fabricaciones, etc. para cumplir con esa fecha dados una serie de parámetros (plazos de entrega, margenes de seguridad, etc.).
  • Fecha de cierre('date_close'). Fecha de cierre del aprovisionamiento. Es un campo informativo.
  • Producto('product_id'). Producto que debemos aprovisionar
  • Cantidad('product_qty'). Cantidad de producto a aprovisionar
  • Unidad de Medida('product_uom'). Unidad de medida a la que se refiere la cantidad anterior.
  • Reserva('move_id') Es un enlace al movimientos de almacén que ha generado el aprovisionamiento.
  • Localización('location_id'). Localización sobre la que se debe realizar el aprovisionamiento.
  • Método de aprovisionamiento('procure_method'). Este campo es extremadamente importante. Cuendo un producto se abastece desde el almacén (stock), cada vez que vamos a necesitar de éste producto se genera un aprovisionamiento con método Desde el stock o 'make to stock'. Estos aprovisionamientos se satisfacen una vez que se asigna la mercancía. Si no hubiese stock suficiente, el sistema deberá generar un aprovisionamiento Bajo pedido o 'make to order', para poder lanzar las órdenes de compra o producción más adelante.
  • Orden de compra('purchase_id'). Si tenemos instalado el módulo de compras, éste añade el campo de orden de compra a los aprovisionamientos. Este campo no es visible por defecto y para verlo hay que añadirlo manualmente a la vista.
  • Propiedades('property_ids'). En el caso de estar usando propiedades de productos, en este campo se recogerían las propiedades del aprovisionamiento.
  • Ultimo Error('message'). La generación y procesamiento de aprovisionamientos suele hacerse de forma automatizada. Los fallos que se produzcan tratando de realizar o procesar un aprovisionamiento se muestran en este campo. Por ejemplo, cuando el aprovisionamiento debe generar un pedido de compra y el producto no tiene asignado un proveedor.
  • Estado('state'). Puede tomar los valores de borrador('draft'), confirmado('confirmed'), en excepción('exception'), ejecutándose('running'), cancelado('cancel'), o hecho('done')
En nuevos post veremos como generar aprovisionamientos manualmente y su integración con el circuito de compras y como funciona el planificador.

3 comentarios:

ferran dijo...

Pedro felicitarte por esta gran iniciativa a la hora de acercarnos a este pequeño gran ERP. Con tu experiencia en openErp lo podrías comparar con otros ERP del mercado opensource: openbravo, ...

Muchas gracias

Pedro dijo...

@ferran

Gracias por tu comentario.

La idea de este blog es fundamentalmente ayudar a usuarios de OpenERP más que mostrar sus bondades frente a otras alternativas. Existen comparativas e información en foros, etc. que pueden guiar al indeciso, pero lo ideal es estudiar en cada caso que alternativa es la idonea.

Un saludo,
Pedro

gcordoba dijo...

Hola buenos dias
estoy trabajando con abanq actualmente y ahora estoy tambien trabajando con Openerp.
Necesito ayuda para conocer como hacer los formularios.
por supuesto sin compromiso y que me puedan dar una mano.
desde ya muchas gracias!
German
mi correo es gscordoba@gmail.com