Módulos de Contabilidad electrónica para OpenERP/Odoo

Buen día tengan todos.

Por medio de esta entrada me es muy grato publicar el anuncio oficial de los módulos para OpenERP/Odoo para la Contabilidad Electrónica.

Mas de medio año, durante 2014, se ha venido trabajando por reforzar y concretar estos módulos que ayudaran a las empresas mexicanas a cumplir con esta disposición que el SAT ha decidido implementar.

Estos módulos tienen una gran cantidad de características que ayudan tanto en el manejo de los procesos de:

  • Facturación
  • Pagos
  • Validación de CFDi de manera integrada al momento de validar facturas de proveedor.

Ademas, se ha trabajado para cumplir en la medida de lo posible con las disposiciones en cuanto a:

  • manejo y control de IVA, tal como lo es IVA efectivamente Pagado/Cobrado.
  • Asi como la generación del reporte de DIOT requerido por la Autoridad.

En fin, enlazo directamente a la Web oficial de este Anuncio Oficial en donde se tendra mayor información:

http://openpyme.mx/es/contenido/m-dulos-de-contabilidad-electr-nica-para-openerpodoo#sthash.z4nDq0MR.Tt0o6t6A.dpbs

Cualquier duda o comentario pueden por favor escribirme en los comentarios de esta entrada.

Reciban un cordial saludo.

Anuncios

Agradecimiento en este Año que Finaliza

Buen día tengan todos ustedes, Lectores de este Blog.

con esta entrada, es mi sentir realizar un agradecimiento a todos ustedes que hacen de este blog lo que es.

Es muy gratificante el saber que a muchos de ustedes les ha servido como guía para sus labores e investigaciones, y eso claro me da mucho gusto, ya que el fin de mis entradas es el contribuir conocimiento, y a la vez aprender de todos ustedes.

Así que, por todo esto, les envío un sincero agradecimiento esperando que en estas fechas se llenen de energía y buenos sentimientos para tener un magnifico y excelente Año 2015, que tengan muchos nuevos propósitos y que poco a poco en el transcurso del tiempo vayan realizándolos, logrando cumplir todos sus objetivos.

Animo y a cumplir con su Destino, siempre con la cara en alto, mirando hacia adelante.

Feliz Navidad!
Feliz Año Nuevo 2015!

Reciban un cordial Saludo!


Chava

Instalación de OpenERP 7.0 y Odoo 8.0 en Linux Ubuntu Server 14.04 LTS

Buen día tengan todos.

En esta entrada, como parte de una actualización a la pasada guía en donde les enseñe los pasos de instalación para OpenERP 7.0 en Ubuntu 12.04, Ahora lo haremos para Odoo sobre Ubuntu Server 14.04, ademas, otra característica, es que el código será descargado de los repositorios de Odoo en GitHub. Y debido a esto, podremos usar cualquiera de sus versiones, para efecto de esta guía, probaremos la versión de OpenERP 7.0 y Odoo 8.0.

Instalar dependencias

supervisor@Server:~$ sudo apt-get install bzr bzrtools graphviz postgresql postgresql-client-common python python-dateutil python-dev python-egenix-mxdatetime python-egenix-mxdatetime python-feedparser python-gdata python-hippocanvas python-imaging python-ldap python-libxml2 python-libxslt1 python-lxml python-mako python-matplotlib python-numpy python-openid python-psycopg2 python-pybabel python-pychart python-pydot python-pyparsing python-reportlab python-setuptools python-simplejson python-tz python-vatnumber python-vobject python-webdav python-werkzeug python-xlwt python-yaml python-zsi python-psutil python-docutils docutils-common docutils-doc python-jinja2 python-mock python-pygments python-roman python-unittest2 openssl xmlstarlet xsltproc python-soappy git python-decorator python-pypdf

Configuración de PostgreSQL

supervisor@Server:~$ sudo su postgres 
postgres@Server:/home/supervisor$ psql --version
psql (PostgreSQL) 9.3.5
postgres@Server:/home/supervisor$ exit
supervisor@Server:~$ sudo nano /etc/postgresql/9.3/main/pg_hba.conf

Agregar la linea:

local      all       openerp       md5

Reiniciar el servidor de Postgres:

supervisor@Server:~$ sudo service postgresql restart 
 * Restarting PostgreSQL 9.3 database server [ OK ]

Creacion de Usuario openerp

Se deben crear los usuarios openerp, tanto en Postgres como en Ubuntu.

Crear el usuario en Postgres:

supervisor@Server:~$ sudo su postgres
postgres@Server:/home/supervisor$ createuser -d -R -S -P openerp
Enter password for new role: 
Enter it again: 
postgres@Server:/home/supervisor$ exit

Crear el usuario en Linux Ubuntu:

supervisor@Server:~$ sudo adduser openerp
Añadiendo el usuario `openerp' ...
Añadiendo el nuevo grupo `openerp' (1001) ...
Añadiendo el nuevo usuario `openerp' (1001) con grupo `openerp' ...
Creando el directorio personal `/home/openerp' ...
Copiando los ficheros desde `/etc/skel' ...
no talloc stackframe at ../source3/param/loadparm.c:4864, leaking memory
Introduzca la nueva contraseña de UNIX: 
Vuelva a escribir la nueva contraseña de UNIX: 
passwd: password updated successfully
Changing the user information for openerp
Enter the new value, or press ENTER for the default
 Full Name []: OpenERP System User
 Room Number []: 
 Work Phone []: 
 Home Phone []: 
 Other []: 
¿Es correcta la información? [S/n] s

Creación de Directorios

Antes de descargar el código, crearemos una estructura de directorios para alojar él código del sistema Odoo, para eso crearemos una estructura similar a la siguiente:

supervisor@Server:~$ sudo su openerp 
openerp@Server:/home/supervisor$ mkdir /home/openerp/instancias/estable/odoo -p
openerp@Server:/home/supervisor$ cd /home/openerp/instancias/estable/odoo/
openerp@Server:~/instancias/estable/odoo$

Descarga de Fuentes de Odoo desde GitHub

openerp@Server:~/instancias/estable/odoo$ git clone https://github.com/odoo/odoo.git server
Clonar en «server»...
remote: Counting objects: 1379020, done.
remote: Compressing objects: 100% (156/156), done.
remote: Total 1379020 (delta 118), reused 91 (delta 63)
Receiving objects: 100% (1379020/1379020), 528.83 MiB | 307.00 KiB/s, done.
Resolving deltas: 100% (1167424/1167424), done.
Checking connectivity... hecho.
Checking out files: 100% (13568/13568), done.
openerp@Server:~/instancias/estable/odoo/server$ git status 
En la rama 8.0
Your branch is up-to-date with 'origin/8.0'.
nothing to commit, working directory clean

Por default, la rama seleccionada es para la versión de Odoo 8.0, pero en este caso, mi objetivo es usar la versión 7.0, entonces cambio a la rama estable para dicha versión 7.0:

openerp@Server:~/instancias/estable/odoo/server$ git branch
 * 8.0
openerp@Server:~/instancias/estable/odoo/server$ git checkout 7.0
 Checking out files: 100% (14043/14043), done.
 Branch 7.0 set up to track remote branch 7.0 from origin.
 Switched to a new branch '7.0'
openerp@Server:~/instancias/estable/odoo/server$ git branch
 * 7.0
 8.0

Probando el servidor OpenERP 7.0

Observación: En el paso anterior, al descargar el código de GitHub, nos hemos posicionado en la rama 7.0. Es por eso que la versión que estaremos probando con la ejecucion de las instrucciones siguientes, es la versión 7.0.

Notase al final de la instrucción el parámetro -s y ténganlo en cuenta para un paso mas adelante.

openerp@Server:~/instancias/estable/odoo/server$ ./openerp-server -w openerp -r openerp --addons-path=addons -s
2014-10-10 05:51:31,716 2786 INFO ? openerp: OpenERP version 7.0
2014-10-10 05:51:31,716 2786 INFO ? openerp: addons paths: /home/openerp/instancias/estable/odoo/server/addons
2014-10-10 05:51:31,716 2786 INFO ? openerp: database hostname: localhost
2014-10-10 05:51:31,717 2786 INFO ? openerp: database port: 5432
2014-10-10 05:51:31,717 2786 INFO ? openerp: database user: openerp
2014-10-10 05:51:35,141 2786 INFO ? openerp.addons.google_docs.google_docs: GData lib version `%s GData-Python/2.0.18` detected
2014-10-10 05:51:37,909 2786 INFO ? openerp.service.wsgi_server: HTTP service (werkzeug) running on 0.0.0.0:8069
2014-10-10 05:51:37,909 2786 INFO ? openerp: OpenERP server is running, waiting for connections...

openerp-inicio-db-manager

Contro + C para detener el servidor.

Probando el servidor Odoo 8.0

Posicionarnos en la rama 8.0:

openerp@Server:~/instancias/estable/odoo/server$ git checkout 8.0

Ejecutando el servidor:

openerp@Server:~/instancias/estable/odoo/server$ ./openerp-server --addons-path=addons -w openerp -r openerp
2014-10-10 06:29:07,636 5645 INFO ? openerp: OpenERP version 8.0
2014-10-10 06:29:07,636 5645 INFO ? openerp: addons paths: ['/home/openerp/.local/share/Odoo/addons/8.0', u'/home/openerp/instancias/estable/odoo/server/addons', '/home/openerp/instancias/estable/odoo/server/openerp/addons']
2014-10-10 06:29:07,637 5645 INFO ? openerp: database hostname: localhost
2014-10-10 06:29:07,637 5645 INFO ? openerp: database port: 5432
2014-10-10 06:29:07,637 5645 INFO ? openerp: database user: openerp
2014-10-10 06:29:07,754 5645 INFO ? openerp.service.server: HTTP service (werkzeug) running on 0.0.0.0:8069

odoo-inicio-db-manager

Control + C para detenerlo.

Crear directorio de archivos de Configuración

openerp@Server:~/instancias/estable/odoo/server$ mkdir /home/openerp/instancias/config -p

Ahora, en el paso anterior, al momento de ejecutar y probar la version de OpenERP 7.0, entonces, hice la aclaración de que al final de la instrucción le pasamos el parametro -s y esto se hizo con la intencion de que se creara en automático el archivo de configuración en base a los parámetros de dicha ejecución. Por lo que sigue ahora es copiar dicho archivo generado al directorio antes creado para este fin.

Entonces, solo por aclarar, mi intención es dejar funcionando en este servidor la versión 7.0, pero si ustedes quieren dejar funcionando la version de Odoo 8.0, entonces basta con ejecutar de nueva cuenta la linea que usamos para probar Odoo 8.0, pero agregando la opcion -s:

openerp@Server:~/instancias/estable/odoo/server$ git checkout 8.0
openerp@Server:~/instancias/estable/odoo/server$ ./openerp-server --addons-path=addons -w openerp -r openerp -s

Entonces, como comentaba, voy a copiar el archivo a mi directorio de archivos de configuración:

openerp@Server:~/instancias/estable/odoo/server$ cp ~/.openerp_serverrc /home/openerp/instancias/config/estable_70.conf

Crear directorio para logs del sistema

openerp@Server:~/instancias/estable/odoo/server$ mkdir /home/openerp/instancias/logs
openerp@Server:~/instancias/estable/odoo/server$ nano /home/openerp/instancias/config/estable_70.conf

Ahora, editar el archivo de configuración y buscar la linea del parámetro “logfile” y complementarla como sigue:

logfile = /home/openerp/instancias/logs/system.log

Generar un servicio del sistema para ejecutar OpenERP al inicio del servidor
Script de ejecucion de OpenERP:

openerp@Server:~/instancias/estable/odoo/server$ exit
supervisor@Server:~$ nano openerp-server

Pegar el contenido siguiente:

#!/bin/sh
### BEGIN INIT INFO
# Provides: openerp-server
# Required-Start: $syslog
# Required-Stop: $syslog
# Should-Start: $network
# Should-Stop: $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Enterprise Resource Management software
# Description: Open ERP is a complete ERP and CRM software.
### END INIT INFO

PATH=/sbin:/bin:/usr/sbin:/usr/bin

NAME=openerp-server
DESC=openerp-server
SERVEREXE=openerp-server

LOG=TRUE
# path al directorio de instancias de OpenERP
OERPPATH=/home/openerp/instancias

# Default OpenERP server python executable
DAEMON=${OERPPATH}/estable/odoo/server/${SERVEREXE}

# Default server config file
CONFIGFILE=${OERPPATH}/config/estable_70.conf

# Specify the user name (Default: openerp).
USER=openerp

# Assign order (start, stop, restart|force-reload, status)to $ORDER
if [ -z $1 ]; then
   N=/etc/init.d/${NAME}
   echo "Usage: ${NAME} {start|stop|restart|force-reload|status} [openerp-options ]" >&2
   exit 1
fi

ORDER="${1}"
shift

# Additional options that are passed to the Daemon.
PARAM=""
if [ $# -ge 1 ]; then
    while [ ! -z "${1}" ]; do
        PARAM="${PARAM} ${1}"
        shift
    done
fi

test -x ${DAEMON} || exit 0

set -e

start_daemon () {
    #Comprobamos que el usuario que esta ejecutando el comando es root.
    if [ $(whoami) != "root" ]; then
        echo "Por favor, ejecuta el comando como superusuario (sudo)"
        exit 1
    fi

    if [ -f ${PIDFILE} ]; then
        echo "${NAME} already running: `cat ${PIDFILE}`"
        return
    fi

    echo -n "Starting ${DESC}: "
    if [ $LOG = "TRUE" ] ; then
        echo "\nstart-stop-daemon --start --pidfile ${PIDFILE} --chuid ${USER} --make-pidfile --exec ${DAEMON} "
        start-stop-daemon --start --oknodo --background --user ${USER} --chuid ${USER} --name ${NAME} --pidfile ${PIDFILE} --make-pidfile --startas ${DAEMON} -- ${DAEMON_OPTS}
    else
        start-stop-daemon --start --oknodo --background --user ${USER} --chuid ${USER} --name ${NAME} --pidfile ${PIDFILE} --make-pidfile --startas ${DAEMON} -- ${DAEMON_OPTS}
    fi

    echo "${NAME}: `cat ${PIDFILE}`: running."
}

stop_daemon () {
    #Comprobamos que el usuario es root.
    if [ $(whoami) != "root" ]; then
        echo "Por favor, ejecuta el comando como superusuario (sudo)"
        exit 1
    fi

    if [ ! -f ${PIDFILE} ]; then
        echo "${NAME}: not running"
        return
    fi

    echo -n "Stopping ${DESC}: "

    start-stop-daemon --stop --oknodo --pidfile ${PIDFILE} --retry 5

    echo "${NAME}: `cat ${PIDFILE}`: stopped."
    rm -f ${PIDFILE} # remove pidfile
}

status_daemon(){
    echo -n "Checking ${DESC} ${SERVER}: "
    if [ -f ${PIDFILE} ]; then
        echo "`cat ${PIDFILE}` running."
    else
        echo "stopped."
    fi
}

case "${ORDER}" in
    start)
        PIDFILE="/var/run/${NAME}.pid"
        DAEMON_OPTS="--config=${CONFIGFILE} ${PARAM}"
        start_daemon
    ;;

    stop)
        PIDFILE="/var/run/${NAME}.pid"
        DAEMON_OPTS="--config=${CONFIGFILE} ${PARAM}"
        stop_daemon
    ;;

    restart|force-reload)
         PIDFILE="/var/run/${NAME}.pid"
         DAEMON_OPTS="--config=${CONFIGFILE} ${PARAM}"
         stop_daemon
         start_daemon
    ;;

    status)
        PIDFILE="/var/run/${NAME}.pid"
        status_daemon
    ;;

    *)
        N=/etc/init.d/${NAME}
        echo "Usage: ${NAME} {start|stop|restart|force-reload|status} [openerp-options]" >&2
        exit 1
    ;;
esac
exit 0

Guardar cambios.

Despues, copiar el script de ejecuacion a /etc/init.d/

supervisor@Server:~$ sudo cp openerp-server /etc/init.d/

Agregar permisos de ejecución al Script:

supervisor@Server:~$ sudo chmod +x /etc/init.d/openerp-server

Agregar el script ejecutable como un servicio:

supervisor@Server:~$ sudo update-rc.d openerp-server defaults 
 Adding system startup for /etc/init.d/openerp-server ...
 /etc/rc0.d/K20openerp-server -> ../init.d/openerp-server
 /etc/rc1.d/K20openerp-server -> ../init.d/openerp-server
 /etc/rc6.d/K20openerp-server -> ../init.d/openerp-server
 /etc/rc2.d/S20openerp-server -> ../init.d/openerp-server
 /etc/rc3.d/S20openerp-server -> ../init.d/openerp-server
 /etc/rc4.d/S20openerp-server -> ../init.d/openerp-server
 /etc/rc5.d/S20openerp-server -> ../init.d/openerp-server

Arrancar, Reiniciar, Detener el servicio de OpenERP

Inicio:

supervisor@Server:~$ sudo service openerp-server start

Reincio:

supervisor@Server:~$ sudo service openerp-server restart

Detener Servidor OpenERP:

supervisor@Server:~$ sudo service openerp-server stop

Con esto tenemos una instalación funcional básica de OpenERP 7.0 y Odoo 8.0, en la cual ya podremos instalar módulos, configurar y probar el potencial de esta herramienta.

Sin mas por el momento, me despido, suerte y hasta la próxima.

Espero muchos comentarios al respecto de esta guía y espero poder ir aportando aun mas temas sobre Odoo – OpenERP.

Saludos cordiales!

Instalación de WkHtmlToPdf en Linux Ubuntu para Reportes WebKit en OpenERP

Buen dia tengan todos.

En esta entrada pongo los pasos basicos para tener funcionando WkHtmlToPdf en Linux Ubuntu 12.04. En teoria deberia de funcionar para cualquier distribución Linux Ubuntu, Mint y similares/derivados, etc.

Debido a que el informe para el Formato Impreso de la Factura Electronica usa el motor de informes de WebKit, es por eso necesaria su correcta instalación en el Sistema Operativo.

Configuracion de WkHtmlToPDF en Ubuntu.

Para esto, lo haremos en la terminal.

1. Descargar Wkhtmltopdf

En mi caso, descargue la ultima versión Static alojada en GoogleCode: https://code.google.com/p/wkhtmltopdf/downloads/list?can=1

Para arquitectura de 32 Bit:

wget http://wkhtmltopdf.googlecode.com/files/wkhtmltopdf-0.11.0_rc1-static-i386.tar.bz2

Para 64 Bits:

wget https://wkhtmltopdf.googlecode.com/files/wkhtmltopdf-0.11.0_rc1-static-amd64.tar.bz2

2. Descomprimir:

Para la version 32 Bits:

tar -xvf wkhtmltopdf-0.11.0_rc1-static-i386.tar.bz2

Para version 64 Bits:

tar -xvf wkhtmltopdf-0.11.0_rc1-static-amd64.tar.bz2

3. Renombrar

Para 32 Bit:

mv wkhtmltopdf-i386 wkhtmltopdf

Para 64 Bits:

mv wkhtmltopdf-amd64 wkhtmltopdf

4. Copiar o Mover a /usr/bin

sudo cp wkhtmltopdf /usr/bin/

5. Realizar una prueba de funcionamiento:

wkhtmltopdf https://www.openerp.com openerp2.pdf

*Nota: Tengo entendido hasta estos momentos que la versión que se debe usar para utilizar WkHtmlToPdf para los modulos de WebKit OpenERP, se debe usar la versión estática.

Espero que la información aqui publicada les sea de utilidad.

Reciban un cordial Saludo!

Chava

Instalación de OpenERP 7 sobre Ubuntu 12.04

Buen día tengan todos.

Para esta entrada me he basado en la Wiki de openerp.org.ve

Intentare explicar como instalar OpenERP 7.0 sobre la plataforma Ubuntu 12.04, en la Wiki que me base me sirvió de mucha ayuda, pero aquí intentare poner mi granito de arena complementando las instrucciones para que todo función OK, ya que faltaban algunas cosas por considerar, por ejemplo, la dependencia python-unittest2, entre otros.

Un punto a mencionar es que, descargaremos también los modulos de la localización mexicana.

Continúa leyendo Instalación de OpenERP 7 sobre Ubuntu 12.04

Facturación Electrónica CFDi con OpenERP…

Buen dia tengan todos.

La facturación electrónica es un tema que esta en estos momentos, o al menos debería, en la mente de muchas o la mayoría de las empresas mexicanas, esto debido a las normas establecidas por el SAT.

Para todos aquellos que lleguen a leer este post y que estén interesados en el tema, les comento que tienen una manera de emitir sus facturas CFDi desde OpenERP, además de aprovechar este sistema para realizar otros controles, como lo son:

  • Compras
  • Inventarios
  • Ventas
  • Contabilidad (Incluyendo en este puntos la emisión de CFDi)

Entre otros cientos de funciones (módulos) que están disponibles.

Continúa leyendo Facturación Electrónica CFDi con OpenERP…

Linux Mint

En esta entrada solo voy a hablar acerca de Linux Mint 13 Maya.

Resulta que mi instalación la he realizado con Cinnamon, la otra opción es MATE.

Hay un cosa que pasa con mi sistema, en ocasiones se me ha “Colgado” la sesión Gráfica. En ocasiones al estar asi mi sistema, lo que hacía era teclear Ctrol+Alt+BackSpace y se reiniciaba el gestor de sesiones y me mostraba la pantalla de login nuevamente.

Pero en esta ocasión no respondia a nada, solo el puntero del mouse es el que presentaba movimiento, pero de ahi en mas no respondia.Para esto mi ultima opción fue entrar con los atajos de teclado Ctrol+Alt+F1 a la consola, ahi puse la instrucción:
sudo service mdm restart

Con este comando lo que hice fue reiniciar el gestor de sesiones de Linux Mint, y fue como logre tener de nueva cuenta mi sesión gráfica en la pantalla de login.Espero que esta experiencia sirva para alguien mas.Reciban un cordial saludo.

Chava