Buscar en este blog

lunes, 22 de abril de 2013

Libro de compra venta en formato plano


Para poder realizar el procesamiento de los libros de compras y ventas de una empresa es necesario que esta pueda entregarnos la información en un formato y estructura claros para poder realizar el proceso. Es verdad que existen varias formas de realizar este proceso, pero en este ejemplo se intenta definir un método genérico para quienes deseen implementar sus propios procesos de generación de la información IECV.

Para tales efectos generaremos un ejemplo de como estructurar un archivo plano para recopilar la información del cliente.

El por que un archivo plano?

Una de las ventajas de utilizar un archivo plano para realizar la carga de datos, es la simpleza y comodidad que esto conlleva al cliente, pues no debe invertir mucho tiempo y esfuerzo en crear estos archivos versus otras tecnologías. La mayoría de los clientes no presentan muchos problemas al momento de generar estos archivos planos, pero si al momento de pedirles la misma información en un formato XML.

Problema

El cliente x necesita construir sus libros de compra y venta electrónicos. Para tales efectos el disponible de toda la información necesaria en archivos planos para su procesamiento. Estos archivos planos son el resultado de una consulta SQL a su base de datos donde deposita la información contable de su empresa.
El cliente prefiere no dar acceso a su base de datos para el trabajo directo de extracción de los datos, sino más bien está interesado en enviar estos archivos planos a la empresa que le ofrece el servicio de facturación electrónica para que ellos interpreten la data y creen los libros.
El cliente necesita que se le especifique cual es el formato necesario para que la empresa de facturación electrónica pueda leer su información.

Análisis

Para poder generar los archivos planos con la información necesaria se debe identificar los diferentes cuerpos del archivo a generar. Particularmente en los archivos electrónicos de compras y ventas esta es la estructura más adecuada a utilizar:

Elementos que componen la estructura del archivo plano deberían ser:

1000 Carátula para información electrónica de compra y ventas
2000 Resumen Segmento/Periodo
2100 Sub Resumen Segmento/Periodo (Explicación en Metodología)
2200 Sub Resumen Segmento/Periodo (Explicación en Metodología)
3000 Detalle
3100 Sub Detalle (Explicación en Metodología)
3200 Sub Detalle (Explicación en Metodología)

Donde el índice numérico identifica el segmento del libro, de esta forma se estandariza la construcción de los libros y su posterior lectura e interpretación. El siguiente es el detalle de los diferentes segmentos del documento.

1000: Carátula
Contiene datos generales de la información del envío

2000: Resumen Segmento/Periodo
Contiene los totales por tipo de documento inserto en el libro.

2100: Sub Resumen Segmento/Periodo
Representa datos adicionales o tablas de contenido que están asociadas al registro del Resumen Segmento/Periodo.

3000: Detalle
Detalle de cada documento individual incluso los documentos anulados electrónicos o no.

3100: Sub Detalle
Representa datos adicionales  o tablas de contenido que están asociadas al registro  detalle.

Metodología

Definida la estructura que debería asumir el  archivo plano del cliente, es necesario agregar la información (DATA) para su procesamiento. Para lograr esto debemos utilizar la metodología del SII acerca de la forma y fondo de los datos que necesita para procesar los libros. Esto nos permitirá generar un archivo fuertemente tipificado tanto para poder leer la data del cliente como también, para su posterior procesamiento y envío al SII.

NOTA:
La verdad es que puede utilizar la metodología que Ud. crea necesaria, yo utilizo la estructura del SII, pero no debe ser una norma, sino mas bien una guía. Para desarrollar este ejemplo utilizare la descripción del SII para armar la carátula del libro, pero como ya le explique Ud. Puede utilizar la metodología que Ud considere mejor.


El resultado de aplicar esta estructura nos arrojará un archivo como este:

















El largo del archivo dependerá de los registros detalle que el cliente tenga para procesar.


Agregar datos a la estructura Carátula.

Ahora bien sabiendo cual es la estructura del archivo es necesario agregar la información del libro, para esto utilizaré el detalle de campos que suministra el SII para crear la carátula del documento suponiendo que este es un libro de Ventas.

Según el SII este es el detalle de cómo esta compuesta la carátula de libro de Ventas:

  1. Rut Contribuyente
  2. Rut Enviador
  3. Periodo Tributario
  4. Fecha Resolución
  5. Número Resolución
  6. Tipo de Operación
  7. Tipo de Libro
  8. Tipo de Envío
  9. Número de segmento
  10. Folio de Notificación
  11. Código de autorización de reemplazo de libro electrónico

Ahora completaré la información de la carátula utilizando mis datos y pondré la descripción a su lado para que entienda que tipo de datos se debe agregar. Cada dato lo separaré con un caracteres '|'. Recuerde, lo importante aquí son los datos y no las descripciones.

Libro plano I












Ahora voy a quitar las descripciones y los retorno de carros utilizados para formatear el ejercicio.






Finalmente quitaremos los caracteres '|' para dejar nuestra cadena limpia:






Posterior a esto ya podríamos construir nuestro archivo intermedio, este nos permitirá extraer la información utilizando los elementos de xslt. Para tales efectos debemos tomar la linea actual ( Carátula ) y llevarlo a formato xml tal como se muestra en la siguiente imagen:







Ahora puede transformar este documento xml utilizando un documento de transformación xslt como este:







 



 
  
 
 
  
 
 
  
 
 
  
 
 
  
 
 
  
 
 
  
 
 
  
 





El resultado de dicha transformación regresará lo siguiente:



    9999999-9
    8888888-8
    2013-01
    2013-01-01
    123456
    VENTA
    MENSUAL
    TOTAL



Donde podemos ver que los datos estructurados en el documento plano ahora se encuentran disponibles en el archivo xml parcial.

Este es un ejemplo simple de como transformar sus datos, pudiendo en todo caso realizar esta misma operación de distintas formas según necesite. Solo proponemos esta por su simplicidad.


Agregar datos a la estructura Resumen/Segmento



Para agregar datos a esta estructura es necesario tener en consideración el tipo de servicio que se ofrece al cliente del libro. Puesto que las empresas que ofrecen Facturación Electrónica pueden o no generar este apartado utilizando la información del cliente. En la mayoría de los casos los clientes calculan sus propios resúmenes de datos en su  contabilidad y luego los plasman en los archivos planos enviados a las empresas facturadoras. Pero si no es así es una buena fuente de valor agregado para las empresas facturadoras.

En el caso que el cliente envíe los datos en el archivo plano, secuencia es muy parecida a la de generación de la caratula.

5 comentarios:

  1. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  2. Hola!
    Estoy en el ambiente de certificación y tengo problemas al enviar los libros de compra venta, los rechaza por carátula inválida, no sé qué podría estar malo ya que está tal cual el instructivo y todos los libros que he visto. Adjunto el extracto del XML de un libro generado.


    7XXXXXX-3

    1XXXXXX-1

    2015-02

    2015-01-20

    0

    VENTA

    ESPECIAL

    TOTAL

    1







    33

    1

    4

    48670

    6568415

    1247999

    7865084





    61

    1

    3

    35056

    2638873

    501386

    3175315





    56

    1

    1

    0

    0

    0

    0





    Saludos y muchas gracias de antemano!

    ResponderEliminar
  3. Estimado junto con agradecer su blog que es de gran ayuda, sobre todo tecnica, le cuento que estoy atrasado en enviar unos libros de compra y venta, por ahora no tengo un software que lo pueda hacer y del SII me dijeron que lo podia subir manualmente por https://alerce.sii.cl/dior/dej/html/dj_iecv.html a través de un archivo xml, nosotros ya estamos autorizados x el sii. asi que me gustaria si me puede oriente para la creación del xml. gracias.

    ResponderEliminar
    Respuestas
    1. Estimado,

      La construcción del libro de compras o ventas esta directamente relacionado con las operaciones de la empresa. a parte de generar el detalle de las operaciones manuales y electrónicas deben calcular el resumen del libro. Es una labor grande si lo hacen sin un software. mandeme un email a abaddon.1974@solicitndome un ejemplo de libro de compra o venta. Si luego tiene alguna duda lo podemos ver con mas detalle.

      Atte.
      Marcelo Rojas Rojas

      Eliminar
  4. Gracias por la informacion me ha servidor para orientarme a hacer un sistema de facturacion en php.

    ResponderEliminar