Bloggers recientes

 

[ Blog ]
[ Wiki ]
[ Slideshare ]
[ Twitter ]
[ YouTube ]
Cesar Capillas Mensajes: 157
Estrellas: 7
Fecha: 29/09/14
Silvia Rodriguez Mensajes: 7
Estrellas: 0
Fecha: 17/09/14

Archivo

Tags

noBlogo - El blog de zylk.net

Entradas con etiqueta <em>facturacion electronica</em>.

Enviando facturas via email a Alfresco

Uno de los canales más comunes para nuestros documentos de empresa, independientemente que diseñemos sistemas complejos de gestión y almacenamiento, sigue siendo el correo electrónico. Revisando un artículo del blog key to content, he pensado una solución para la denominada "data ingestion" de determinados contenidos en un gestor documental, para uno de nuestros procesos de firma digital.

Hemos hablado aquí en algunas ocasiones de los clientes de firma digital (sinadura) y facturación electrónica (ef4ktur) y la integración de ciertos procesos y conectores con Alfresco. En ambos clientes existe la posibilidad de enviar un PDF firmado o un XML Facturae firmado a un destinatario a través de un cliente de correo externo. Y de eso precisamente trata el artículo de hoy, de inyectar o subir un contenido a nuestro repositorio de Alfresco enviando un correo electrónico.

Para ello brevemente debemos configurar las opciones de correo electronico (alfresco > 3.2) en el fichero alfresco-global.properties de modo que:

email.inbound.enabled=true
email.server.enabled=true
email.server.port=1125
email.server.domain=zylk.net
email.inbound.unknownUser=anonymous
email.server.allowed.senders=.*

Tras reiniciar el servidor son necesarios un par de cosas:

  • Definir los usuarios senders de contenidos en el grupo EMAIL_CONTRIBUTORS
  • Elegir un espacio (por ejemplo el espacio Facturas), aplicarle el aspecto Email Alias y editarlo como "facturas". 

De este modo, cuando un usuario autorizado (desde el email que tiene definido en alfresco) envie un correo a facturas AT alfresco.dominio.net el correo y el adjunto se guardarán en la carpeta definida (también se puede usar el email ID). De este modo, imaginemos que firmamos una factura desde el cliente de facturación electrónica ef4ktur y la enviamos por correo electrónico con la opción Enviar que incluye el programa, esta se guardará automáticamente en el espacio Facturas. Si ademas lo conectamos con otros procesos de extracción de metadatos de los que hablamos en artículos anteriores tenemos nuestras facturas, guardadas, firmadas digitalmente, tipificadas y con sus correspondientes metadatos extraídos automáticamente a través de una regla de contenido.

 

Las propiedades del mensaje de correo enviado:

Y la factura adjunta de la cual se han extraido los metadatos correspondientes:

 

Otra posibilidad sencilla, no sólo de almacenaje, es que la misma regla lance un flujo de trabajo simple de aprobación en Alfresco para que un responsable valide la factura a enviar.

Por otro lado, como peros de este procedimiento, diriamos tres:

  • que no hay enlace/relación directa entre el adjunto y el mensaje de correo, solo el metadato Archivos Adjuntos.
  • que no se pueden enviar dos emails con asunto igual (da un error de envío de correo)
  • que no se pueden enviar ficheros adjuntos con nombres iguales a los anteriormente enviados, porque los machaca.

Además, esta característica de inyección de datos puede explotarse para hacer cargas sencillas de documentos via scripts de shell con el comando mail aunque no es el procedimiento indicado para cargas masivas. Por poner un ejemplo de uso de scripting, en un artículo de hace algún tiempo escribía sobre la utilización de cups-pdf como impresora virtual de firma digital con las características de línea de comandos de sinadura. Pues bien, en ese script podemos incluir una sentencia del estilo:

id=`date +%DT%T`

uuencode factura316-signed.pdf factura316-signed.pdf | mail -s "Printed and signed by cups-pdf at ${id}" facturas@alfresco.dominio.net

y además subiremos nuestro documento impreso convertido a pdf (un formulario web, un documento de openoffice, una imagen.....) firmado digitalmente en nuestro repositorio de Alfresco.

 

 

Mostrando 1 resultado.