-
Notifications
You must be signed in to change notification settings - Fork 228
Factura Electronica Python 3
Ejemplo completo: factura_electronica.py
- Obtención de CAE AFIP (webservices WSAA y WSFEv1)
- Generación de PDF (con código de barra y demás consideraciones)
Para probarlo descargar la rama py3k:
git clone https://github.com/pyar/pyafipws.git -b py3k
cd pyafipws
mkvirtualenv py3k
pip install -r requirements.txt
python setup.py install
Si no tienen GIT, descargar:
- https://github.com/reingart/pyafipws/archive/py3k.zip <-- "PyAfipWs para Python 3"
- https://github.com/pysimplesoap/pysimplesoap/archive/stable_py3k.zip (dependencia)
- https://github.com/reingart/pyfpdf/archive/master.zip (dependencia)
NOTA: descomprimir e instalar con python setup.py install
c/u
Es necesario un certificado de pruebas, pueden descargar reingart2017.zip y descomprimirlo en la carpeta de pyafipws
.
No tiene muchos requerimientos externos (ver en los requirements, python3 compat):
- m2crypto -> binding openssl (opcional, si no esta instalado lo usa directamente como programa externo)
- httplib2
- las bibliotecas custom para generar PDF y comunicación SOAP
Para más información ver Instalación
Para correr el ejemplo:
cd ejemplos
python factura_electronica.py
Como resultado se debería ver algo así (agregar --trace
--debug
para que loggue):
Factura autorizada 237 69073727604929
PDF generado /tmp/factura_237.pdf
El PDF es genérico, pueden revisarlo y cambiar las opciones de configuración en el mismo .py Se le puede cambiar el logo y obviamente todos los datos.
Este ejemplo es simple, lo único que hay que pasarle es una lista de dicts:
from factura_electronica import facturar
facturas = [{"dni": 12345678, "nombre": "Juan Perez", "domicilio": "Balcarce 50",
"descripcion": "Cuota Enero", "precio": 300.00,
"periodo_desde": "20190101", "periodo_hasta": "20190131",
}]
facturar(facturas)
Si son productos, no hace falta indicar el período.
Para un ejemplo genérico de los métodos de WSFEv1 ver Factura Electronica Python