Archivador Factura Electrónica

En Costa Rica ya se está utilizando la Facturación Electrónica en casi todos los comercios. El Ministerio de Hacienda compartió el estándar que deberían de seguir los archivos al momento de realizar cualquier compra de un bien o servicio. Es por esto que decidí crear un archivador de factura electrónica.

En resumen, cuando realizamos una compra recibimos los siguientes archivos:

  • Un archivo con extensión XML: este archivo es el que recibe Hacienda para ser procesado y registrado en sus sistemas.
  • Un archivo PDF: este archivo es legible por todos nosotros (lo podemos entender) y viene como respaldo del papel que nos dieron al momento de la compra del bien o servicio, es decir, es la factura.
  • Un acuse de recibido con extensión XML: este archivo nos indica que la factura fue recibida en Hacienda.

Para cada archivo XML que recibimos luego de una compra, es necesario registrarla como Aceptada en el Ministerio de Hacienda. Además, es necesario descargar los 3 archivos para luego enviarlos a la persona que se encarga de llevar la contabilidad o bien, si usted mismo realiza la contabilidad, los necesita para poder completar los diferentes formularios.

Esto significa muchas horas de tiempo abriendo cada archivo, y almacenarlo en un directorio específico, para luego ser utilizado a final de mes. Por ejemplo, ¿cómo manejamos los archivos si realizamos 5 compras en diferentes comercios en un mismo día? Se imaginan descargar los archivos, luego abrir la versión PDF para saber a qué comercio pertenece, para seguidamente buscar los otros dos archivos que pertenecen a la factura en PDF?

No sé ustedes, pero creo que llevaría mucho tiempo.

Yo mismo estuve experimentando este problema, al final del día invertía unos minutos descargando todos los archivos y los acomodaba por carpetas, pero luego se me acumulaban 2 días, luego 3, luego 5. Y recuerden que no sólo es descargarlos, también es enviarlos a Hacienda aceptándolos.

Mi directorio de descargas estaba creciendo y era mucho desorden.

Por eso, me dí a la tarea de crear un pequeño programa que se encarga de archivar los 3 documentos que recibimos en el correo de manera automática.

La aplicación simplemente lee los archivos, crea la carpeta del año y el mes en que se realizó la compra, luego crea una carpeta más con el día. Para finalizar crea una última carpeta con el nombre de la razón social del comercio en el que se realizó la compra y mueve los 3 archivos a esa carpeta.

Por ejemplo, antes de ejecutar la aplicación, el directorio se parecía mucho a esto:

Lista de archivos antes de ejecutar la aplicación.

No hay forma de saber a simple vista, dónde fueron realizadas esas compras, qué día, etc.

Luego de ejecutar la aplicación, se crearon los siguientes directorios:

Directorio creado por la aplicación
Directorio con el año y el mes.
Directorio creado por la aplicación
Directorio con el año, mes y día.
Directorios con los clientes creado por la aplicación
Directorios con la razones sociales de los comercios para el día específico.
Lista de facturas dentro de un cliente específico - Archivador Factura Electrónica
Archivos que corresponden a la razón social Automercado S.A.
Lista de facturas dentro de un cliente específico
Archivos que corresponden a la razón social Farmavalue.

Como pueden ver, de esta forma mantengo ordenados todos los archivos de factura electrónica. Inclusive puedo ir descargando los archivos cada día y almacenarlos en un directorio que va a ser utilizado por el Archivador de Factura Electrónica para procesarlos. Luego, al final de la semana solo ejecuto el programa y automáticamente crea los directorios necesarios y mueve los archivos.

El único problema es, que actualmente, cada comercio puede elegir el nombre de los archivos. En ocasiones, el nombre del archivo PDF es sólo el número de factura o inclusive un número interno del comercio, en esos casos el archivo no va a ser movido automáticamente y requiere moverlo de manera manual. Pero por lo menos, ya va a tener la estructura necesaria.

Si Hacienda llegará a estandarizar los nombres de los archivos y la estructura del PDF, sería más fácil poder mover los archivos, pero por ahora, debido a que cada comercio puede utilizar el formato de factura que guste para el PDF, no es posible crear un método efectivo para esos casos.

Esto también facilita la búsqueda, por ejemplo, si necesitamos realizar algún reclamo a un comercio, podemos localizar el PDF de la factura más rápidamente.

Si desean obtener el Archivador Factura Electrónica solamente tiene que suscribirse al blog aquí y enviarme un correo a carlos.marin@runnablepatterns.com solicitando el link de descarga. Además, si quiere el código fuente para realizar los cambios que quiera, también puede solicitarlo en el correo.

¡Pura Vida!

2 comments / Add your comment below

  1. Una solución al tema del nombre del archivo PDF es “parsear” internamente el archivo y extraer los metadatos, así no dependería del nombre del archivo

    1. Hola Alejandro,

      Buena idea. Voy a actualizar el código para incluir esta mejora.

      ¡Muchas gracias!

Leave a Reply

Your email address will not be published. Required fields are marked *