Ejemplos de XML
Tenemos ejemplos XML de la mayoría de los tipos de DTE que se pueden emitir. Incluye intercambio entre contribuyentes.
Se ilustrará mediante ejemplos en un proyecto Desktop el funcionamiento de SIMPLE SDK. Este proyecto se encuentra disponible en github. Si bien se trata de un proyecto Desktop, se utiliza de la misma manera para ambientes web
Esta guía solo ilustra el uso del proyecto Demo que utiliza Simple SDK. En este proyecto podrás encontrar todo el código que necesitas.
El proyecto está dividido en grupos de interés y utilidad. En el primero se encuentra la generación de documentos, luego la generación de otros documentos menos convencionales, un grupo de utilitarios donde se pueden validar archivos y consultar el estado de los documentos, y finalmente otro grupo para las muestras impresas.
Instalar con Nuget
Desde la línea de comandos:
nuget install SIMPLESDK
Desde Package Manager:
PM> Install-Package SimpleSDK
Con .NET CLI:
dotnet add package SimpleSDK
Desde Visual Studio:
- Abrir el explorador de soluciones.
- Clic derecho en un proyecto dentro de tu solución.
- Clic en Administrar paquetes NuGet.
- Clic en la pestaña Examinar y busque SimpleSDK
- Clic en el paquete SimpleSDK, seleccione la versión que desea utilizar y finalmente selecciones instalar.
Las operaciones básicas y su orden es el siguiente:
La generación de un documento se compone de 2 pasos principales:
Las notas de crédito se utilizan con 3 fines:
Para enviar uno o más DTE al SII, se debe generar un nuevo XML llamado Sobre de Envío, y existen dos tipos:
Para generar un sobre de envío se requiere lo siguiente:
Siempre se deben generar dos sobres de envío, uno para el SII y otro para el receptor del DTE.
El sobre del SII se envía mediante webservice, es decir, mediante nuestra API.
El sobre del cliente se envía mediante correo electrónico y es responsabilidad del desarrollador realizar esa implementación
El SII solo admite los siguientes tipos de XML:
SimpleSDK retorna directamente la misma respuesta que entrega el SII:
El obtener un TrackID, significa que el documento fue recibido por el SII pero no necesariamente que fue aceptado.
El Registro de ventas diarias (ex-RCOF) es un archivo XML que se debe enviar todos los días al SII sólo si emites boletas electrónicas por software de mercado
En el, se informan todos los folios ocupados durante el día en cuestión y los totales de los documentos.
El RCOF se debe generar independiente si hubo ventas en el día. El archivo XML resultante se debe enviar de la misma forma que un EnvioDTE, directamente al SII.
El SII ofrece servicios web para consultar por el estado de un documento y por TrackId o "código de seguimiento". Con SIMPLE SDK el consumo de esos servicios web es transparente y sencillo, entregando la misma respuesta que entrega directamente el SII.
Disponemos también de un validador, que procurará que el XML cumpla con su Schema y su firma sea válida, es decir, que el documento no haya sido adulterado.
Para consultar por el estado de un documento, se requiere los siguientes datos:
La respuesta que entregará el SII indicará si el documento fue recibido, rechazado o si los datos coinciden con lo informado.
¿Que es la opción "Servidor de Boletas"?
Las boletas electrónicas pueden enviarse a dos servidores diferentes en el SII y cada uno de ellos con su propio ambiente. Si el checkbox "Servidor de Boletas" está chequeado, la API irá a consultar mediante REST a los servidores rahue y pangal según el ambiente. Si el checkbox no está chequeado, la API irá a consultar mediante SOAP al servidor maullin solamente (certificación y pruebas) ya que palena (producción) no está disponible. Esto último se ocupa por lo general, para consultar por envíos que se realizan en el proceso de certificación.
Para consultar por el estado de un envío, se requiere los siguientes datos:
La respuesta que entregará el SII indicará de forma genérica, es si el envío fue procesado y cuántos documentos fueron aceptados, aceptados con reparos o rechazados.
¿Que es la opción "Servidor de Boletas"?
Las boletas electrónicas pueden enviarse a dos servidores diferentes en el SII y cada uno de ellos con su propio ambiente. Si el checkbox "Servidor de Boletas" está chequeado, la API irá a consultar mediante REST a los servidores rahue y pangal según el ambiente. Si el checkbox no está chequeado, la API irá a consultar mediante SOAP al servidor maullin solamente (certificación y pruebas) ya que palena (producción) no está disponible. Esto último se ocupa por lo general, para consultar por envíos que se realizan en el proceso de certificación.
Hay dos validaciones que se deben realizar antes para asegurarnos de que el DTE esté correcto. La validación de Schema y de Firma.
La validación de schema consiste en verificar que el contenido del XML cumpla con las normas de formato y estructura que define el SII.
La validación de firma consiste en verificar que la firma digital del XML sea válida, es decir, que el contenido no haya sido adulterado en el tiempo.
Puedes validar DTE, Sobres de Envío, RVD y Libros
La representación impresa del DTE debe entregarse al receptor una vez se haya enviado el documento al SII. Si bien esto no se da mucho en la práctica, es aconsejable estar enviando constantemente los documentos al SII.
El documento en formato impreso debe cumplir con ciertas normas y requisitos que establece el SII.
El timbre es un código de barras en formato PDF417 que permite validar si el folio del documento está autorizado por el SII.
Todos los DTE deben llevarlo, y SIMPLE SDK te permite obtenerlo desde un XML:
El timbre debe insertarse en la muestra impresa. La API lo retorna como un string base64.
Disponemos de dos formatos genéricos para la impresión de documentos. Uno carta y otro de 58mm para impresoras térmicas.
Para generarlos, se debe indicar el tipo de salida y el tipo de formato, además de otros opcionales:
El objetivo es poder entregar una guía para el desarrollo de sus propios formatos o que los puedan utilizar como base.
Tenemos ejemplos XML de la mayoría de los tipos de DTE que se pueden emitir. Incluye intercambio entre contribuyentes.
Tenemos tutoriales en video para ayudarle mejor a implementar sus DTE con SIMPLE API.