CIRUGÍA DEL SOFTWARE

Cabezera
You are here: Home Blog 2011 January 31 Venta y devolución de mercancías con OpenERP 6

Venta y devolución de mercancías con OpenERP 6

by alberto — last modified Jan 31, 2011 11:58 AM
Filed Under:

Tutorial para la venta y devolución de mercancías en la versión 6.0.1 estable utilizando tanto el módulo 'point_of_sale' como el módulo base 'sale'

Nota: Este tutorial se ha elaborado utilizando la versión 6.0.1 estable de OpenERP, concretamente con las siguientes revisiones:

-Addons: 4347 (20-01-2011 20:22:28)

-Servidor: 3317 (21-01-2011 05:58:28)

-Cliente GTK: 1793 (22-01-2011 06:03:35)

Los procesos aquí explicados pueden aplicarse también a la versión 5.0.x (aunque no se garantiza la funcionalidad de los mismos).

 

    Hace poco nos surgió a través de un cliente una consulta acerca de cómo sería un proceso correcto de devolución de mercancías utilizando los módulos “mrp” y “point_of_sale” / ”sale” (claro ejemplo de uso de OpenERP como herramienta de gestión de ventas de productos almacenables en un entorno de mostrador). Revisando las distintas partes del flujo, lo cierto es que hay algunos puntos que pueden llevar a confusión o dejar al usuario en un punto en el que no sepa avanzar. Mediante este tutorial intentaremos reflejar un proceso de venta y devolución completo, en el que se refleje tanto el movimiento de mercancías a nivel de almacén como la contabilización de los distintos asientos contables generados.

    Esta entrada está dividida en dos partes:

  1. PARTE 1: VENTA Y DEVOLUCIÓN DE MERCANCÍAS CON EL MÓDULO TERMINAL PUNTO DE VENTA
  2. PARTE 2: VENTA Y DEVOLUCIÓN DE MERCANCÍAS CON EL MÓDULO BASE DE VENTAS

 

Módulos necesarios

 

    Tras haber instalado la versión 6.0.1 estable de OpenERP con las revisiones anteriormente mencionadas (o alguna posterior) y arrancado el cliente GTK, procederemos a instalar en una BD limpia (u otra con datos) los siguientes módulos:

 

-”point_of_sale”: Módulo para gestionar las ventas de forma más rápida y sencilla, emulando los procesos de un Terminal Punto de Venta. El módulo ha sido desarrollado por ZikZakMedia, cuenta con una extensión llamada “point_of_sale_extension” y se encuentra disponible en los addons.

 

-”mrp”: Módulo base de gestión de almacén. Nos permitirá configurar las políticas de envío de productos, sus distintas ubicaciones, etc. Se complementa con el módulo “stock” con el que conseguimos, entre otras cosas, trazabilidad de productos, soporte a códigos de barras o implementar métodos de gestión de inventario (FIFO, LIFO, etc). Ambos módulos se encuentran también en los addons.

 

-”sale”: Módulo base de gestión de ventas: clientes, facturación, albaranes, etc. También se encuentra en los addons.

 

-”account”: Módulo base de gestión contable. Lo utilizaremos para manejar diarios, comprobar asientos, trabajar con facturas, etc. Disponible también en los addons.

 

Habiendo instalado estos módulos, deberíamos tener (por lo menos) las siguientes entradas de menú:

 

imagen_1.png

 

Configuración de clientes

 

    Trabajando de forma habitual tendremos confeccionada ya en el ERP una lista de clientes/proveedores con sus datos de contacto. Sin embargo, es importante destacar la pestaña “Contabilidad” dentro de la ficha de cada uno, ya que, por defecto, OpenERP le asigna a cada nuevo Partner una cuenta 43000000 genérica de cobro y una 41000000 genérica de pago, lo que puede llevar a quebraderos de cabeza revisando después la contabilidad:

 

imagen_2.png

 

 

Configuración de diarios (opcional)


    A la hora de contabilizar las ventas que realicemos por caja, es necesario configurar un diario bancario de tipo “Banco/Caja”. Para ello, la instalación básica de OpenERP trae varios por defecto (con nombres Cash, Cash Journal -(test) o Visa Journal). Podemos elegir uno de estos y modificarlo a nuestro gusto o crear uno nuevo desde Contabilidad-->Configuración-->Contabilidad Financiera-->Diarios. A mayores, podemos observar que en la pestaña “Terminal Punto de Venta” podremos especificar opciones como “Apertura automática de caja” o la lista de usuarios que tienen permisos para imputar ventas contra ese diario. En el caso que estamos desarrollando:

 

imagen_3.png

 

Configuración de productos (opcional)


    Una de las limitaciones que tendremos a la hora de elaborar un pedido de venta con el módulo point_of_sale es que no podremos introducir un texto libre como concepto de línea de venta (al contrario que en los propios pedidos de venta del módulo sale). Por tanto, es recomendable configurar los productos (si es que no lo hemos hecho ya o hemos instalado una BD sin datos demo). Para este ejemplo, vamos a utilizar los que vienen por defecto con la instalación básica de OpenERP. Si no, podríamos definir los que nos interesasen desde el menú Terminal Punto de Venta-->Productos.

 

Configuración de hojas de caja


    Para realizar el flujo de ventas desde el módulo “Terminal Punto de Venta” deberemos contar con un registro de caja abierto sobre el que se van a contabilizar los distintos movimientos de efectivo. Así, desde Terminal Punto de Venta-->Registro de caja podremos definir un nuevo registro de caja en el que figurará el saldo inicial repartido en las distintas cantidades y las transacciones que ha realizado dicha caja. Una vez introducidos los saldos, pulsaremos el botón “Abrir caja” para que nos actualice el saldo de apertura y el calculado. Un ejemplo de Hoja de Caja en estado abierto podría ser:

 

imagen_4.png

 

Configuración de tiendas


    Para llevar a cabo estadísticas y análisis de ventas es importante que tengamos correctamente configuradas las tiendas desde las que vamos a vender. Para ello, nos dirigiremos a Ventas-->Configuración-->Ventas-->Tienda para editar o crear una tienda nueva. En este caso, hemos creado una tienda llamada “Tienda Principal” con las siguientes características:

 

imagen_5.png

 


PARTE 1: VENTA Y DEVOLUCIÓN DE MERCANCÍAS CON EL MÓDULO TERMINAL PUNTO DE VENTA

 

PASO 1: IMPUTAR UNA VENTA EN OPENERP CON EL MÓDULO TERMINAL PUNTO DE VENTA

 

    Realizados los pasos previos de configuración, nos dirigimos ahora al menú Terminal Punto de Venta-->Operaciones Diarias-->Pedido de Venta

    En la parte superior de este formulario rellenaremos el cliente (si es que ya lo tenemos registrado), un número de contrato (si es que aplica) y la tienda desde la que estamos vendiendo (nuestra “Tienda Principal” definida en el paso anterior). De momento, indicaremos en el campo “Ref. Venta” un texto libre (por ejemplo, una fecha y hora, el nombre del cliente, etc...).

Hecho esto, confeccionaremos nuestras líneas de pedido de venta introduciendo los distintos productos con sus cantidades, precios y descuentos (OpenERP establecerá los valores correspondientes de estas cantidades siempre basándose en la tarifa que hemos elegido aplicar para nuestro cliente):

 

imagen_6.png

 

    Una vez revisada nuestra orden de venta (prestando también especial atención a la pestaña “Información extra” en la que indicaremos parámetros como “Cajero”, “Vendedor” o “Método de precio”), pulsaremos el botón “Realizar pago” para hacerla efectiva. En este caso, además, le hemos indicado que nos genere una factura de cliente:

 

imagen_7.png

 

    Hecho esto, nos debería haber generado (al cabo de unos segundos) la factura en forma de documento PDF (que podremos reimprimir en cualquier momento con el botón “Reimprimir” que acaba de habilitarse en la vista principal de la venta):

 

imagen_8.png

 

y una entrada en la pestaña “Pago” de la orden de venta con el importe total:

 

imagen_22.png

 

    Asimismo, en el registro de caja asociado (Terminal Punto de Venta -->Registros de caja) podremos observar cómo se ha imputado la transacción anterior (de 355,50 €):

 

imagen_10.png

 

    Por último, si nos dirigimos al listado de Facturas de Cliente (Contabilidad-->Clientes-->Facturas de cliente) podremos ver qué nuestra factura está confirmada y contabilizada:

 

imagen_11.png

 

imagen_12.png

 

     Y que se han realizado correctamente los movimientos de stock de los productos (desde Almacén-->Trazabilidad-->Movimientos de stock):

 

imagen_13.png

 

De esta forma, ya tendríamos finalizada nuestra venta.

 

PASO 2: DEVOLUCIÓN DE MERCANCÍAS


    Supongamos que al día siguiente de imputar la venta del Paso 1, vuelve nuestro cliente para devolver la carcasa de la torre que había adquirido (código de producto: [TOW1] Torre de tamaño medio ATX) porque tiene una tara en un lateral. Para reflejar el movimiento de stock correspondiente y contabilizar la factura rectificativa, deberemos lanzar el asistente "Devolver albarán" (dentro de la orden de venta). En este asistente, elegiremos las cantidades de productos que queremos devolver a stock y si queremos reemplazar el producto que estamos devolviendo por otro:


imagen_14.png


    En nuestro caso (devolviendo sólo la torre) y eligiendo la opción "Refund without exchange", obtendríamos un pedido de venta rectificativo ("Refunded order") del siguiente estilo (tras haber agregado el campo 'cliente'):

 

imagen_15.png


 

  • Nuestra venta habrá quedado de la siguiente forma:
  • imagen_16.png

 

  •  La hoja de caja habrá registrado correctamente la transacción:
imagen_17.png
 
  • Y finalmente, el movimiento de stock también se habrá producido:
imagen_18.png

 

 

Nota: En caso de que hubiésemos escogido la opción "Return with Exchange" en el asistente de devolución, nos aparecería la siguiente pantalla preguntándonos qué producto queremos utilizar como sustituto:


imagen_19.png

  

    Para a continuación crear un nuevo pedido de venta de la forma habitual (en este caso, he realizado el cambio por un módulo de memoria RAM de 22,50 € -simplemente por ilustrar el proceso-).


imagen_20.png

 

 

    Quedándonos finalmente la venta original modificada de la siguiente forma:

 

imagen_21.png

 

 

 

 

 

PARTE 2: VENTA Y DEVOLUCIÓN DE MERCANCÍAS CON EL MÓDULO BASE DE VENTAS

 

 

PRERREQUISITOS

 

     Antes de abordar este proceso es importante haber configurado el plan contable de la compañía del usuario activo (desde Contabilidad-->Configuración-->Contabilidad Financiera-->Configuración financiera para una nueva compañía), ya que si no, tendremos problemas a la hora de validar las facturas que generemos. Asimismo, es importante tener definidas ubicaciones, almacenes y tiendas para reflejar correctamente los movimientos de stock en el proceso de venta.

   


PASO 1: REALIZACIÓN DE UNA VENTA CON EL MÓDULO BASE DE VENTAS

 

    Para esta parte, vamos a presuponer que existe un diario de ventas asociado a la compañía del usuario actual correctamente configurado y asociado a un diario analítico, como por ejemplo:

 

imagen_23.png

 

y que realizamos una venta de forma habitual (desde el menú Ventas-->Pedidos de Ventas):


imagen_24.png



    En el momento en que confirmemos dicha venta (mediante el botón correspondiente), se nos habrán generado dos albaranes de salida (uno con el movimiento de stock desde “Stock” a “Salida” y otro con el movimiento desde “Salida” a “Clientes”) que podremos comprobar desde la pestaña “Historial” de la orden de venta:


imagen_25.png


    Vamos ahora a crear la factura correspondiente a esta orden de ventas mediante el botón “Crear factura final”. Esto hará que se nos abra una nueva pestaña con los datos de la factura rellenados en gran medida:

 

imagen_26.png


    Si ahora validamos la factura, ya tendríamos nuestra venta contabilizada en forma de un asiento contable similar a este:

imagen_27.png

 



    Si ahora volvemos a los pedidos de venta, podremos comprobar que el pedido que hemos modificado aparece facturado al 100%. Lo que nos resta ahora es hacer efectivo el movimiento de mercancías. Para ello, nos dirigimos a la pestaña “Historial” y hacemos doble click encima de uno de los albaranes creados (uno con el movimiento virtual y otro con el movimiento real: de nuestra Ubicación a la ubicación “Clientes”).


imagen_28.png

 

 Ahora le indicaremos bien comprobar disponibilidad o bien forzar disponibilidad (según nos interese) y finalmente pulsaremos encima de “Process” para hacer efectivo el albarán. Hecho esto, nuestra orden de venta tendrá el siguiente aspecto:

 

imagen_29.png

 

    En este punto ya podríamos dar por finalizado el proceso de venta.


PASO 2: DEVOLUCIÓN DE MERCANCÍAS CON EL MÓDULO BASE DE VENTAS


    Dada la situación descrita en el Paso 1 y el siguiente albarán de salida asociado: 

imagen_30.png

 

supongamos que al día siguiente nos vuelve el cliente y quiere devolver la mercancía;entonces volveríamos a nuestro albarán de salida (podemos poner los "Albaranes de Salida" como atajo en el menú principal para acelerar el proceso) y lanzar el asistente "Devolver productos". En este asistente lo interesante es saber diferenciar qué hacen los dos estados de facturación disponibles:

a) 'Para ser abonado/facturado': Nos permitirá facturar desde el albarán

b) 'No facturación': Tendremos que crear una factura rectificativa de abono a mano

 

Por tanto, vamos a elegir el estado 'Para ser abonado/facturado', ya que nos aligerará el proceso.

imagen_31.png

 

    Confirmando el asistente nos habrá creado nuestro 'Albarán de Entrada' correspondiente en estado "Disponible" (y con la coletilla “-return” en la referencia). En este momento, todavía no se ha hecho "efectivo" el movimiento stock, pero sí que se ha registrado un movimiento "virtual". Para hacer efectivo ese movimiento de stock (que vuelva ese producto a stock), tendremos que pulsar en "Procesar" y validar el movimiento de productos asociado. Tras la ejecución de este asistente, ya habremos finalizado el flujo relativo a la mercancía. Lo podemos comprobar porque ha cambiado el estado del albarán a "Realizado".

imagen_32.png

    Lo que nos falta ahora es contabilizar ese movimiento de entrada de stock mediante una factura rectificativa de abono. Para ello, desde el propio albarán, lanzamos el asistente de "Crear factura" en el que elegiremos una fecha de facturación y un diario donde reflejar los apuntes procedentes de facturas rectificativas:

Obtendremos una factura rectificativa de abono de cliente como la siguiente, habiendo cambiado además el campo “Control de factura” del albarán por “Facturado”.


imagen_33.png


    Ahora lo que nos restaría sería confirmar esta factura de forma habitual para que se refleje en el movimiento contable correspondiente (pestaña "Otra información" de la factura).

cerrar caja de cash

Posted by Anonymous User at May 24, 2011 10:45 PM
tengo una duda con el flujo que siguieron en el terminal punto de venta:

Tengo entendido que para poder hacer una venta en el POS se tiene que tener abierta una caja, en esa caja se registran todas las transacciones y solo al final del dia se reflejan en la contabilidad al cerrar la caja.

En su ejemplo se paga la factura y se hacen los asientos directamente y en la contabilidad todo se refleja normal, pero si despues cierras la caja aparecera duplicado ese pago (uno dira que viene el pago de facturacion y el otro del POS). Eso me ha pasado a mi, pero me gustaria saber si tengo que hacer un cambio en mi contabilidad, use la que viene en la doc de openERP.

Por su atencion gracias edroshz@hotmail.com

 
Logotipo pexego