Buscar en este blog

lunes, 29 de julio de 2013

Flujo Básico Módulo Recepción DTE


Flujo Básico Módulo Recepción DTE


Una de las cosas que solicita el SII para la implementación del sistema de Facturación Electrónica, es poner en funcionamiento el modulo de Recepción DTE, Este tiene como misión recuperar los documentos XML que los emisores electrónicos nos envían para realizar su facturación.

El siguiente es un modelo básico de Recepción de los documentos XML:






Servidor Correo Pop

En este ejemplo utilizo una cuenta de correo de gmail denominada hefesto.fe.valida.dte la cual me permite almacenar los emails de los clientes que me envían sus documentos XML  DTE. Puede en todo caso ser una cuenta de correo de empresa con su propio servidor de correo, lo importante aquí no es la tecnología sino mas bien el sentido que esta toma para el proceso de facturación electrónica.




Servidor de recepción DTE

El servidor de recepción DTE tiene como misión recepcionar los documentos XML enviados por los emisores electrónicos. Dicho esto, debe realizar la descarga de los emails enviados a nuestra casilla y verificar que los documentos recepcionados  sean documentos XML exigidos por el SII en forma y fondo. Para esto se debe realizar una validación de los documentos XML que fueron enviados y posterior a esto determinar si es posible agregarlos a nuestro sistema, o bien regresarlo al emisor del documento rechazando el envío.




Recuperación de emails de la casilla

Antes que nada es necesario recuperar los emails de nuestra casilla de correo, esto es debido a que el SII indica que los receptores de documentos tributarios electrónicos deben tener activo un método de transmisión de los documentos XML entre contribuyentes electrónicos. Este proceso debe ser automático y periódico.
En particular, el contenido de los emails no es relevante, pues lo que realmente importa es el archivo XML adjunto a este. Si el documento XML  adjunto  es efectivamente un DTE, se puede extraer de el los datos necesarios para identificar la empresa que lo envía y de esta forma agregarlos a nuestro sistema.




Validación de archivos adjuntos XML

La primera validación que debemos realizar es si el documento adjunto al email es un documento XML, puede darse el caso que por error, no se envíe el adjunto o simplemente el documento adjunto sea un XML no valido para nuestros procesos. Si no hay un documento adjunto del tipo XML o este no es valido para nosotros, descarte el documento y notifique al emisor del mismo del error, para su pronta solución. En este caso no es necesario una repuesta formal, sino mas bien una email simple indicando al emisor del problema.



Determinación de XML (DTE)

Una vez extraído el documento xml desde el email es necesario saber si este es un documento xml valido para el proceso de facturación electrónica. Para realizar esta función podemos utilizar los schemas del SII para verificar la estructura y forma del documento XML decepcionado. No entraré en detalles de como realizar la validación contra los schemas del SII. Solo expondré la idea a desarrollar.
Si el resultado de validar los schemas del SII es incorrecta, se debe notificar al emisor del documento, que esta enviando un documento xml no valido para los efectos de la facturación electrónica.




Validación exitosa

Sabiendo que ya contamos con un documento xml del tipo DTE, podremos entonces almacenarlo en nuestro sistema para su procesamiento. Aunque no es obligatorio, es prudente enviar un email al emisor del mismo indicando que tenemos conocimiento  del documento que nos enviaron.


Continua...

10 comentarios:

  1. Marcelo:

    Excelente blog, me ha servido muchisimo, y gracias a tus ideas, codigo que has puesto a disposicion, he logrado por fin conseguir mi primer xml.
    Ahora estoy revisando, la forma de enviar por lotes los xml, la confeccion del pdf, y la firma mediante codigo pdf.417

    muy agradecido
    Hector Pezoa

    ResponderEliminar
    Respuestas
    1. Me alegra mucho que esta información te ayude.

      Atte,
      Marcelo Rojas R.

      Eliminar
  2. Hola acabo de encontrar tu blog muy bueno.
    Soy desarrollador y tengo que implementar Factura Electronica en Nuestro Sistema de Gestion Interno que esta en Visual Basic 6. Crees tu que pueda hacerlo en VB.6?

    Cesar

    ResponderEliminar
    Respuestas
    1. Cesar,

      Efectivamente puedes hacerlo en VB6.0, sin embargo el esfuerzo es muy grande, pues necesitaras varias dlls externas para lograr realizar muchos procesos claves, como por ejemplo la firma de documentos. Te recomiendo que utilices .Net para que no pierdas tiempo en el desarrollo. Pero como respuesta es que si se puede realizar en VB6.0.

      Atte.
      Marcelo Rojas R.
      Analista Desarrollador

      Eliminar
  3. Hola nuevamente

    Me surge otra duda con el tema de la recepción del correo. En un solo mensaje ¿Pueden venir uno o más documentos (DTE e IECV)? Y si es así, en el caso de los DTE vendrán como EnvioDTE o como un solo DTE?

    Gracias.

    ResponderEliminar
    Respuestas
    1. Estimado Edgardo,

      Efectivamente un EnvioDte puede tener varios dtes insertos, por lo cual es necesario crear tus rutinas utilizando logica para leer todos los Dtes insertos.

      Eliminar
    2. Este comentario ha sido eliminado por el autor.

      Eliminar
    3. Gracias por responder.

      ¿Entonces en un mismo correo electronico pueden venir muchos adjuntos? (en donde cada adjunto es un EnvioDTE)

      Saludos!
      EDIT: Me quedo mal escrito.

      Eliminar
    4. Eso es correcto, en un email pueden venir varios EnvioDTE y en cada EnvioDTE puede venir uno o varios DTE.

      Eliminar
  4. Usas la librería de nicchile para trabajar con facturación electrónica?

    ResponderEliminar