Saltar a contenido

🏛️ AAPP2FACe

AAPP2FACe es una librería Python para interactuar con los servicios web de FACe, el Punto General de Entrada de Facturas de la Administración General del Estado, desde el lado de las Administraciones Públicas Españolas.

Está diseñada para ser fácil de usar por desarrolladores y dispone de una interfaz de línea de comandos (CLI) que también le permite ser usada por usuarios finales.


Documentación: https://antmartinez68.github.io/aapp2face

Código fuente: https://github.com/antmartinez68/aapp2face


Requisitos

  • Python v3.10

Instalación

Como librería

Aunque depende de cómo estés gestionando las dependencias de tu proyecto, por lo general querrás hacer:

$ pip install aapp2face

Como aplicación de línea de comandos (CLI)

Si solo pretendes usar la interfaz de línea de comandos, es recomendable instalar AAPP2FACe usando pipx:

$ pipx install aapp2face

Uso básico

Como librería

El siguiente script de ejemplo muestra cómo puedes crear los objetos necesarios para conectar con FACe y recuperar la información de las nuevas facturas que están disponibles para su descarga:

>>> from aapp2face import FACeConnection, FACeSoapClient
>>> cliente = FACeSoapClient(
...     "https://se-face-webservice.redsara.es/facturasrcf2?wsdl",
...     "cert.pem",
...     "key.pem"
... )
>>> face = FACeConnection(cliente)
>>> nuevas_facturas = face.solicitar_nuevas_facturas()
>>> for factura in nuevas_facturas:
...    print(
...        factura.numero_registro,
...        factura.fecha_hora_registro,
...        factura.oficina_contable,
...        factura.organo_gestor,
...        factura.unidad_tramitadora,
...    )
...

Como aplicación de línea de comandos (CLI)

La misma operación anterior puedes hacerla usando la CLI. Una vez tienes configurada la aplicación, basta con que ejecutes el siguiente comando:

$ aapp2face facturas nuevas

<span style="color:#66D9EF"><b>Número registro:</b></span>    <span style="color:#A6E22E"><b>202001015624</b></span>
<span style="color:#66D9EF"><b>Fecha registro:</b></span>     2023-01-19 10:57:38
<span style="color:#66D9EF"><b>Oficina contable:</b></span>   P00000010
<span style="color:#66D9EF"><b>Órgano gestor:</b></span>      P00000010
<span style="color:#66D9EF"><b>Unidad tramitadora:</b></span> P00000010

<span style="color:#66D9EF"><b>Número registro:</b></span>    <span style="color:#A6E22E"><b>202001017112</b></span>
<span style="color:#66D9EF"><b>Fecha registro:</b></span>     2013-01-20 11:05:51
<span style="color:#66D9EF"><b>Oficina contable:</b></span>   P00000010
<span style="color:#66D9EF"><b>Órgano gestor:</b></span>      P00000010
<span style="color:#66D9EF"><b>Unidad tramitadora:</b></span> P00000010

<span style="color:#A6E22E"><b>2</b></span> nuevas facturas disponibles

Constuir AAPP2FACe desde código fuente

AAPP2FACe usa Poetry como gestor de dependencias y empaquetado. Si quieres construirlo desde el código fuente, puede hacerlo mediante:

$ git clone https://github.com/antmartinez68/aapp2face
$ cd aapp2face
$ poetry install
$ poetry run pytest
$ poetry build

Nota: La versión inicial de este proyecto forma parte del TFG del Grado en Ingeniería Informática en UNIR de Antonio Martínez.