En primer lugar vale la pena aclarar que es conveniente instalar la localización Argentina en un ambiente Linux, en mi caso con Debian 12, ya que en mi experiencia, tratar de instalarla en Odoo bajo ambiente Windows se hace realmente complicado, para no decir imposible.
Veremos una serie de pasos han sido probados en varias instalaciones.
Primero vamos a crear la carpeta en dónde clonar los módulos de la localización, por ejemplo...
mkdir /opt/odoo17/sources/
mkdir /opt/odoo17/sources/odoo-argentina
Para luego asignarle a la carpeta el mismo propietario que el usuario de odoo, tanto para sources como para odoo-argentina chown odoo: /opt/odoo17/sources
Luego dentro de la carpeta sources clonamos la localización
sudo git clone https://github.com/a2systems/odoo-argentina.git -b 17.0
Dentro de la carpeta odoo-argentina instalamos los requerimientos
sudo pip3 install -r requirements.txt
y un paquete de python necesario
sudo apt-get install python3-m2crypto
En el archivo odoo.conf hay que agregarle las nuevas carpetas en el path y es importante reiniciar el servicio de Odoo
sudo systemctl restart odoo
Vamos al menú aplicaciones de Odoo y actualizamos la lista de aplicaciones (para esto hay que estar en modo desarrollador). Una vez actualizada, buscamos e instalamos.
- l10n_ar (contabilidad argentina) (Debería estar Instalado)
- l_10n_ar_bank (listado de bancos argentinos)
- l10n_ar_percepciones (listado de percepciones)
- l10n_ar_afipws_fe (módulo que implementa la factura electrónica)
Luego pasamos a configurar Odoo. En la compañía indicamos el CUIT, el número de la empresa y el tipo de responsable (Responsable Inscripto, monotributo,.....)
En la versión 17, como al instalar Odoo la localización básica está instalada por defecto. Hay que ir a ajustes y poner el paquete del plan contable que se necesita para la empresa, que hasta las versiones anteriores al instalar l10n_ar se fijaba el paquete contable del tipo de responsabilidad de la empresa. Ahora lo hacemos en ajustes
El certificado y las facturas electrónicas se harán a nombre de la empresa que estamos configurando. Ahora vamos al menú Ajustes>Técnico>Servicios Web de Afip>Certificados, para agregar un nuevo certificado. Aquí creamos un nuevo certificado y agregamos el certificado.key, el certificado.csr y el certificado.crt (que fueron creados posiblemente por la línea de comandos, no pretenda que Odoo lo haga por usted) y luego debe confirmar los mismos.
Luego debemos configurar el punto de venta que se conectará a AFIP. Para eso debemos configurar un diario de ventas. Para ello debemos ir al Menú Facturación/Contabilidad > Configuración > Diarios Contables y crear un diario contable con las siguientes características:
- Del tipo Ventas (sino no funciona)
- Indicar que Usa documentos (que es lo que permite caracterizar la factura, si es Factura A, factura de crédito, etc)
- El webservice de Afip ws : WSFEv1 (o si es factura de exportación o bono fiscal)
- Dirección Pdv AFIP : el contacto de la empresa
- Número de punto de ventas
Luego se deben configurar las secuencias iniciales (son solo iniciales) de los documentos (en posteriores versiones esto no será necesario. Para ello debe ir a la solapa de secuencias y crear uno para cada tipo de documento a utilizar, Factura A, Factura B, Nota de crédito A, Nota de Débito A, Nota de Crédito B, Nota de Débito B, etc.
Luego se deben configurar las secuencias iniciales (son solo iniciales) de los documentos (en posteriores versiones esto no será necesario. Para ello debe ir a la solapa de secuencias y crear uno para cada tipo de documento a utilizar, Factura A, Factura B, Nota de crédito A, Nota de Débito A, Nota de Crédito B, Nota de Débito B, etc.
Luego se deben cambiar los permisos de la carpeta de pyafipws. Esto depende de la instalacion pero supongamos que pyafipws está instalado en la carpeta /opt/odoo/odoo-env/lib/python3.11/site-packages/pyafipws
cd /usr/local/lib/python3.11/site-packages/pyafipws
sudo mkdir cache
sudo chmod -R 777 cache
Paso seguido debemos indicarle al sistema si va a trabajar con el ambiente de producción o de homologación de AFIP. Para ello vamos al menú Ajustes>Técnico>Parámetros del Sistema, y creamos un nuevo parámetro Clave : afip.ws.env.type
Valor : homologation o production (según queramos hacer pruebas o ya usar el sistema en producción)
Instalar el módulo om_account_accountant que además de agregar varios listados contables al sistema, permite al facturar poder elegir el diario que voy a utilizar, pudiendo seleccionar el diario creado para la factura electrónica (sino vamos a estar obligados a usar un solo diario del tipo ventas) Ir al Menú Facturación/Contabilidad>Configuración>Impuestos, elegir los impuestos a utilizar, ingresar a cada uno y en la solapa de Opciones avanzadas, abrir Grupo de Impuestos y ponerle Tipo de Impuestos : IVA
Si sale el siguiente error con la factura electrónica cuando pasa a producción "Key is too small"
Hay que poner en la línea de comandos del server :
sudo sed -i 's/CipherString = DEFAULT@SECLEVEL=2/CipherString = DEFAULT@SECLEVEL=1/' /etc/ssl/openssl.cnf
Bueno, estos fueron los pasos para configurar la factura electrónica. Pueden probar la validez de la conexión yendo al diario de ventas configurado y clickleando en Test Conexión obtendremos el siguiente mensaje