NAV Navbar
cURL Python C#
  • Introducción
  • Autenticación
  • Facturas
  • Notas de Crédito
  • Comprobantes de Retención
  • Guías de Remisión
  • Notas de Débito
  • Clave de acceso
  • Objetos comunes
  • Catálogo
  • Errores
  • Notificaciones
  • Introducción

    Integra tu aplicación con Facturación Electrónica. Este API de Dátil te permite emitir todos los tipos de comprobantes electrónicos: facturas, retenciones, notas de crédito, notas de débito y guías de remisión.

    El API de Dátil está diseñado como un servicio web REST. De esta manera resulta sencillo conversar con nuestra interfaz utilizando cualquier librería en cualquier lenguaje que provea un cliente HTTP, ya que utilizamos componentes del estándar como los verbos y los códigos de respuesta.

    Todos las operaciones responden en formato JSON, incluso los errores.

    Dátil se encarga de todo el proceso de emisión del comprobante. El proceso de emisión bajo condiciones normales, toma entre 3 a 5 segundos. Luego de ese período bastará con consultar el comprobante para conocer su estado.

    Operaciones

    Una operación REST está formada por la combinación de un verbo HTTP, la URL base del servicio y la ruta de la operación. Las cuales se encuentran descritas en cada sección donde se describe una función del API. Esta operación, por ejemplo, emite una factura:

    POST https://link.datil.co/invoices/issue

    La URI anterior en conjunto con la información en formato JSON como cuerpo del requerimiento y las cabeceras HTTP necesarias, conforman el requerimiento.

    Proceso de emisión

    Comprende las siguientes fases:

    1. Creación: Se registra el comprobante para posterior referencia.
    2. Firmado: Utilizando el certificado de firma electrónica y un algoritmo de firma digital, el comprobante es firmado para que el SRI pueda verificar su legitimidad.
    3. Envío SRI: El comprobante es enviado al SRI para ser procesado.
    4. Consulta de autorización SRI: Luego de un período de espera, Dátil consulta la autorización del comprobante.
    5. Envío por email: Se envía el comprobante al correo del receptor del comprobante, si una dirección de correo electrónico válida fue provista al momento de emitir el comprobante.

    Autenticación

    Para obtener la clave del API, inicia sesión con tu cuenta en app.datil.co, ve a la opción Configuración la sección "API Key".

    Dátil utiliza claves para autorizar el acceso al API. La clave debe estar incluída en todos los requerimientos en una cabecera:

    X-Key: <clave-del-api>

    Para emitir o re-emitir un comprobante se requiere también la clave del certificado de firma electrónica. Esta clave deberá ser provista en una cabecera:

    X-Password: <clave-certificado-firma>

    Facturas

    Emisión de una factura

    Operación

    POST /invoices/issue

    Requerimiento

    Requerimiento de ejemplo

    curl -v https://link.datil.co/invoices/issue \
    -H "Content-Type: application/json" \
    -H "X-Key: <API-key>" \
    -H "X-Password: <clave-certificado-firma>" \
    -d '{
      "ambiente":1,
      "tipo_emision":1,
      "secuencial":148,
      "fecha_emision":"2015-02-28T11:28:56.782Z",
      "emisor":{
        "ruc":"0910000000001",
        "obligado_contabilidad":true,
        "contribuyente_especial":"12345",
        "nombre_comercial":"XYZ Corp",
        "razon_social":"XYZ Corporación S.A.",
        "direccion":"Av. Primera 234 y calle 5ta",
        "establecimiento":{
          "punto_emision":"002",
          "codigo":"001",
          "direccion":"Av. Primera 234 y calle 5ta"
        }
      },
      "moneda":"USD",
      "informacion_adicional":{
        "Tiempo de entrega":"5 días"
      },
      "totales":{
        "total_sin_impuestos":4359.54,
        "impuestos":[
          {
            "base_imponible":0.0,
            "valor":0.0,
            "codigo":"2",
            "codigo_porcentaje":"0"
          },
          {
            "base_imponible":4359.54,
            "valor":523.14,
            "codigo":"2",
            "codigo_porcentaje":"2"
          }
        ],
        "importe_total":4882.68,
        "propina":0.0,
        "descuento":0.0
      },
      "comprador":{
        "email":"juan.perez@xyz.com",
        "identificacion":"0987654321",
        "tipo_identificacion":"05",
        "razon_social":"Juan Pérez",
        "direccion":"Calle única Numero 987",
        "telefono":"046029400"
      },
      "items":[
        {
          "cantidad":622.0,
          "codigo_principal": "ZNC",
          "codigo_auxiliar": "050",
          "precio_unitario": 7.01,
          "descripcion": "Zanahoria granel  50 Kg.",
          "precio_total_sin_impuestos": 4360.22,
          "impuestos": [
            {
              "base_imponible":4359.54,
              "valor":523.14,
              "tarifa":12.0,
              "codigo":"2",
              "codigo_porcentaje":"2"
            }
          ],
          "detalles_adicionales": {
            "Peso":"5000.0000"
          },
          "descuento": 0.0,
          "unidad_medida": "Kilos"
        }
      ],
      "valor_retenido_iva": 70.40,
      "valor_retenido_renta": 29.60,
      "credito": {
        "fecha_vencimiento": "2015-03-28",
        "monto": 34.21
      },
      "pagos": [
        {
          "medio": "cheque",
          "total": 4882.68,
          "propiedades": {
            "numero": "1234567890",
            "banco": "Banco Pacífico"
          }
        }
      ],
      "compensaciones": [
        {
          "codigo": 1,
          "tarifa": 2,
          "valor": 2.00
        }
      ],
      "exportacion": {
        "incoterm": {
          "termino": "CIF",
          "lugar": "Guayaquil",
          "total_sin_impuestos": "CIF"
        },
        "origen": {
          "codigo_pais":"EC",
          "puerto": "Guayaquil"
        },
        "destino": {
          "codigo_pais":"CN",
          "puerto": "China"
        },
        "codigo_pais_adquisicion": "EC",
        "totales": {
          "flete_internacional": 1000.00,
          "seguro_internacional": 200.00,
          "gastos_aduaneros": 800,
          "otros_gastos_transporte": 350.00
        }
      }
    }'
    
    import requests, json
    
    factura = {
      "ambiente":1,
      "tipo_emision":1,
      "secuencial":148,
      "fecha_emision":"2015-02-28T11:28:56.782Z",
      "emisor":{
        "ruc":"0910000000001",
        "obligado_contabilidad":true,
        "contribuyente_especial":"12345",
        "nombre_comercial":"XYZ Corp",
        "razon_social":"XYZ Corporación S.A.",
        "direccion":"Av. Primera 234 y calle 5ta",
        "establecimiento":{
          "punto_emision":"002",
          "codigo":"001",
          "direccion":"Av. Primera 234 y calle 5ta"
        }
      },
      "moneda":"USD",
      "informacion_adicional":{
        "Tiempo de entrega":"5 días"
      },
      "totales":{
        "total_sin_impuestos":4359.54,
        "impuestos":[
          {
            "base_imponible":0.0,
            "valor":0.0,
            "codigo":"2",
            "codigo_porcentaje":"0"
          },
          {
            "base_imponible":4359.54,
            "valor":523.14,
            "codigo":"2",
            "codigo_porcentaje":"2"
          }
        ],
        "importe_total":4882.68,
        "propina":0.0,
        "descuento":0.0
      },
      "comprador":{
        "email":"juan.perez@xyz.com",
        "identificacion":"0987654321",
        "tipo_identificacion":"05",
        "razon_social":"Juan Pérez",
        "direccion":"Calle única Numero 987",
        "telefono":"046029400"
      },
      "items":[
        {
          "cantidad":622.0,
          "codigo_principal":"ZNC",
          "codigo_auxiliar": "050",
          "precio_unitario": 7.01,
          "descripcion": "Zanahoria granel  50 Kg.",
          "precio_total_sin_impuestos": 4360.22,
          "impuestos": [
            {
              "base_imponible":4359.54,
              "valor":523.14,
              "tarifa":12.0,
              "codigo":"2",
              "codigo_porcentaje":"2"
            }
          ],
          "detalles_adicionales": {
            "Peso":"5000.0000"
          },
          "descuento": 0.0,
          "unidad_medida": "Kilos"
        }
      ],
      "valor_retenido_iva": 70.40,
      "valor_retenido_renta": 29.60,
      "credito": {
        "fecha_vencimiento": "2015-03-28",
        "monto": 34.21
      },
      "pagos": [
        {
          "medio": "cheque",
          "total": 4882.68,
          "propiedades": {
            "numero": "1234567890",
            "banco": "Banco Pacífico"
          }
        }
      ],
      "compensaciones": [
        {
          "codigo": 1,
          "tarifa": 2,
          "valor": 2.00
        }
      ],
      "exportacion": {
        "incoterm": {
          "termino": "CIF",
          "lugar": "Guayaquil",
          "total_sin_impuestos": "CIF"
        },
        "origen": {
          "codigo_pais":"EC",
          "puerto": "Guayaquil"
        },
        "destino": {
          "codigo_pais":"CN",
          "puerto": "China"
        },
        "codigo_pais_adquisicion": "EC",
        "totales": {
          "flete_internacional": 1000.00,
          "seguro_internacional": 200.00,
          "gastos_aduaneros": 800,
          "otros_gastos_transporte": 350.00
        }
      }
    }
    cabeceras = {
        'x-key': '<clave-del-api>',
        'x-password': '<clave-certificado-firma>',
        'content-type': 'application/json'}
    respuesta = requests.post(
        "https://link.datil.co/invoices/issue",
        headers = cabeceras,
        data = json.dumps(factura))
    
    using RestSharp;
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace DatilClient {
      class InvoicingServiceClient {
        static void Main(string[] args) {
    
          // Este ejemplo utiliza RestSharp
          // Para instalar anda al menú: tools > Library Package Manager > Package Manager Console
          // copia y pega y presiona enter: Install-Package RestSharp
    
          var client = new RestClient("https://link.datil.co/");
          var request = new RestRequest("invoices/issue", Method.POST);
          request.AddHeader("X-Key", "<clave-del-api>");
          request.AddHeader("X-Password", "<clave-certificado-firma>");
          request.AddHeader("Content-Type", "application/json");
          request.RequestFormat = DataFormat.Json;
    
          var body = (@"{
            ""ambiente"":1,
            ""tipo_emision"":1,
            ""secuencial"":148,
            ""fecha_emision"":""2015-02-28T11:28:56.782Z"",
            ""emisor"":{
              ""ruc"":""0910000000001"",
              ""obligado_contabilidad"":true,
              ""contribuyente_especial"":""12345"",
              ""nombre_comercial"":""XYZ Corp"",
              ""razon_social"":""XYZ Corporación S.A."",
              ""direccion"":""Av. Primera 234 y calle 5ta"",
              ""establecimiento"":{
                ""punto_emision"":""002"",
                ""codigo"":""001"",
                ""direccion"":""Av. Primera 234 y calle 5ta""
              }
            },
            ""moneda"":""USD"",
            ""informacion_adicional"":{
              ""Tiempo de entrega"":""5 días""
            },
            ""totales"":{
              ""total_sin_impuestos"":4359.54,
              ""impuestos"":[
                {
                  ""base_imponible"":0.0,
                  ""valor"":0.0,
                  ""codigo"":""2"",
                  ""codigo_porcentaje"":""0""
                },
                {
                  ""base_imponible"":4359.54,
                  ""valor"":523.14,
                  ""codigo"":""2"",
                  ""codigo_porcentaje"":""2""
                }
              ],
              ""importe_total"":4882.68,
              ""propina"":0.0,
              ""descuento"":0.0
            },
            ""comprador"":{
              ""email"":""juan.perez@xyz.com"",
              ""identificacion"":""0987654321"",
              ""tipo_identificacion"":""05"",
              ""razon_social"":""Juan Pérez"",
              ""direccion"":""Calle única Numero 987"",
              ""telefono"":""046029400""
            },
            ""items"":[
              {
                ""cantidad"":622.0,
                ""codigo_principal"":""ZNC"",
                ""codigo_auxiliar"": ""050"",
                ""precio_unitario"": 7.01,
                ""descripcion"": ""Zanahoria granel  50 Kg."",
                ""precio_total_sin_impuestos"": 4360.22,
                ""impuestos"": [
                  {
                    ""base_imponible"":4359.54,
                    ""valor"":523.14,
                    ""tarifa"":12.0,
                    ""codigo"":""2"",
                    ""codigo_porcentaje"":""2""
                  }
                ],
                ""detalles_adicionales"": {
                  ""Peso"":""5000.0000""
                },
                ""descuento"": 0.0,
                ""unidad_medida"": ""Kilos""
              }
          ],
            ""valor_retenido_iva"": 70.40,
            ""valor_retenido_renta"": 29.60,
            ""credito"": {
                ""fecha_vencimiento"": ""2015-03-28"",
                ""monto"": 34.21
            },
          ""pagos"": [
            {
              ""medio"": ""cheque"",
              ""total"": 4882.68,
              ""propiedades"": {
                ""numero"": ""1234567890"",
                ""banco"": "Banco Pacífico""
              }
            }
          ],
            ""compensaciones"": [
            {
                  ""codigo"": 1,
                  ""tarifa"": 2,
                  ""valor"": 2.00
            }
          ],
          ""exportacion"": {
            ""incoterm"": {
              ""termino"": ""CIF"",
              ""lugar"": ""Guayaquil"",
              ""total_sin_impuestos"": 10.25
            },
            ""origen"": {
              ""codigo_pais"":""EC"",
              ""puerto"": ""Guayaquil""
            },
            ""destino"": {
              ""codigo_pais"":""CN"",
              ""puerto"": ""China""
            },
            ""codigo_pais_adquisicion"": ""EC"",
            ""totales"": {
              ""flete_internacional"": 1000.00,
              ""seguro_internacional"": 200.00,
              ""gastos_aduaneros"": 800,
              ""otros_gastos_transporte"": 350.00
            }
          }");
          request.AddParameter("application/json", body, ParameterType.RequestBody);
          IRestResponse response = client.Execute(request);
    
          Console.WriteLine(response.Content);
          Console.ReadLine();
        }
      }
    }
    

    Para la emisión de una factura se debe enviar la información completa del comprobante en el cuerpo del requerimiento en formato JSON.

    Parámetro Tipo Descripción
    secuencial string Número de secuencia de la factura. Requerido
    emisor emisor Información completa del emisor. Requerido
    moneda string Código ISO de la moneda. Requerido
    fecha_emision string Fecha de emisión en formato AAAA-MM-DDHoraZonaHoraria, definido en el estándar ISO8601.
    guia_remision string Número de guía de remisión asociada a esta factura en formato 001-002-000000003 ([0-9]{3}-[0-9]{3}-[0-9]{9})
    ambiente integer Pruebas: 1.
    Producción 2.
    Requerido
    totales objeto tipo totales Listado de totales. Requerido
    comprador objeto tipo persona Información del comprador. Requerido
    tipo_emision integer Emisión normal: 1.
    Emisión por indisponibilidad: 2
    Requerido
    items listado de objetos tipo item Items incluídos en la factura. Requerido
    version string Versión del formato de comprobantes electrónicos de SRI. Si no se especifica, se utilizará la última revisión del formato implementada,
    clave_acceso string La clave de acceso representa un identificador único del comprobante. Si esta información no es provista, Dátil la generará.
    ¿Cómo generar la clave de acceso?
    informacion_adicional objeto Información adicional adjunta al comprobante en forma de diccionario. Ejemplo:
    {"plan": "Inicial", "vigencia": "1 mes"}
    valor_retenido_iva float Valor retenido por IVA
    valor_retenido_renta float Valor retenido por renta
    retenciones Listado de objetos de tipo retencion Retenciones incluídas en la factura. Caso específico de Retenciones en la Comercializadores / Distribuidores de derivados del Petróleo y Retención presuntiva de IVA a los Editores, Distribuidores y Voceadores que participan en la comercialización de periódicos y/o revistas.
    pagos Listado de objetos tipo pagos Listado de formas de pago aplicables a la factura. Requerido
    credito Objeto de tipo credito Información del crédito directo otorgado al cliente.
    compensaciones Objeto de tipo compensación solidaria Solo para las provincias de Manabí y Esmeraldas según la Ley Orgánica de Solidaridad y de Corresponsabilidad Ciudadana
    exportacion Objeto de tipo exportacion Solo para facturas de exportación

    Totales

    Parámetro Tipo Descripción
    total_sin_impuestos float Total antes de los impuestos. Requerido
    descuento_adicional float Descuento aplicado al subtotal de la factura expresado en valor monetario.
    descuento float Suma de los descuentos de cada ítem y del descuento adicional. Requerido
    propina float Propina total, llamado también servicio. Requerido
    importe_total float Total incluyendo impuestos. Requerido
    impuestos listado de objetos total impuesto Listado de impuesto totalizados. Requerido

    Pagos

    Parámetro Tipo Descripción
    fecha string Fecha de recepción del pago en formato AAAA-MM-DDHoraZonaHoraria, definido en el estándar ISO8601. Si no es especificado se utiliza la fecha y hora actual.
    medio string Código del tipo de forma de pago. Requerido
    total float Total aplicable a la forma de pago especificada. Requerido
    propiedades objeto Información adicional adjunta al pago en forma de diccionario. Ejemplo:
    {"plazo": "30", "unidad_tiempo": "dias"}

    Crédito

    Parámetro Tipo Descripción
    fecha_vencimiento string Fecha de vencimiento en formato AAAA-MM-DD, definido en el estándar ISO8601. Requerido
    monto float Monto otorgado de crédito. Requerido

    Compensación solidaria

    Parámetro Tipo Descripción
    codigo int Código del porcentaje de IVA . Requerido
    tarifa int Porcentaje de compensación. Requerido
    valor float Valor de la compensación. Requerido

    Exportación

    Parámetro Tipo Descripción
    incoterm Objeto de tipo incoterm Información del Incoterm . Requerido
    origen Objeto de tipo origen de exportación Origen de la exportación . Requerido
    destino Objeto de tipo destino de exportación Destino de la exportación. Requerido
    codigo_pais_adquisicion string Código de dos caracteres del país de adquisición según ISO_3166
    totales Objecto de tipo totales de exportación Totales de la exportación

    Incoterm

    Parámetro Tipo Descripción
    termino string Código de 3 letras correspondiente al Incoterm. Requerido
    lugar string Lugar Incoterm. Requerido
    total_sin_impuestos string Total sin impuestos del incoterm. Requerido

    Origen de exportación

    Parámetro Tipo Descripción
    codigo_pais string Código de dos caracteres del país origen según ISO_3166. Requerido
    puerto string Puerto de origen . Requerido

    Destino de exportación

    Parámetro Tipo Descripción
    codigo_pais string Código de dos caracteres del país destino según ISO_3166
    puerto string Puerto de destino. . Requerido

    Totales de exportación

    Parámetro Tipo Descripción
    flete_internacional float Total del flete internacional.
    seguro_internacional float Total del seguro internacional.
    gastos_aduaneros float Total de los gastos aduaneros.
    otros_gastos_transporte float Total de otros gastos de transporte.

    Emisión a partir de XML

    POST /invoices/issue/xml

    Requerimiento a partir de XML

    Para la emisión de una factura a partir de un xml se debe enviar contenido del archivo xml como parámetro en el cuerpo del requerimiento en formato JSON.

    Parámetro Tipo Descripción
    xml string Contenido del archivo xml. Requerido

    Requerimiento de ejemplo

    
    
    import requests, json
    
    factura = { 
        "xml" : "<?xml ... "
    }
    
    cabeceras = {
        'x-key': '<clave-del-api>',
        'x-password': '<clave-certificado-firma>',
        'content-type': 'application/json'}
    respuesta = requests.post(
        "https://link.datil.co/invoices/issue/xml",
        headers = cabeceras,
        data = json.dumps(factura))
    

    Respuesta

    Respuesta de ejemplo

    {
      "id": "abcdef09876123cea56784f01",
      "ambiente":1,
      "tipo_emision":1,
      "secuencial":148,
      "fecha_emision":"2015-02-28T11:28:56.782Z",
      "clave_acceso": "2802201501091000000000120010010000100451993736618",
      "emisor":{
        "ruc": "0910000000001",
        "obligado_contabilidad": true,
        "contribuyente_especial": "12345",
        "nombre_comercial": "XYZ Corp",
        "razon_social": "XYZ Corporación S.A.",
        "direccion": "Av. Primera 234 y calle 5ta",
        "establecimiento": {
          "punto_emision": "002",
          "codigo": "001",
          "direccion": "Av. Primera 234 y calle 5ta"
        }
      },
      "moneda": "USD",
      "informacion_adicional": {
        "Tiempo de entrega": "5 días"
      },
      "totales": {
        "total_sin_impuestos": 4359.54,
        "impuestos": [
          {
            "base_imponible": 0.0,
            "valor": 0.0,
            "codigo": "2",
            "codigo_porcentaje": "0"
          },
          {
            "base_imponible": 4359.54,
            "valor": 523.14,
            "codigo": "2",
            "codigo_porcentaje": "2"
          }
        ],
        "importe_total": 4882.68,
        "propina": 0.0,
        "descuento": 0.0
      },
      "comprador": {
        "email": "juan.perez@xyz.com",
        "identificacion": "0987654321",
        "tipo_identificacion": "05",
        "razon_social": "Juan Pérez",
        "direccion": "Calle única Numero 987",
        "telefono": "046029400"
      },
      "items":[
        {
          "cantidad": 622.0,
          "codigo_principal": "ZNC",
          "codigo_auxiliar": "050",
          "precio_unitario": 7.01,
          "descripcion": "Zanahoria granel  50 Kg.",
          "precio_total_sin_impuestos": 4360.22,
          "impuestos":[
            {
              "base_imponible": 4359.54,
              "valor": 523.14,
              "tarifa": 12.0,
              "codigo": "2",
              "codigo_porcentaje": "2"
            }
          ],
          "detalles_adicionales": {
            "Peso": "5000.0000"
          },
          "descuento": 0.0,
          "unidad_medida": "Kilos"
        }
      ],
      "valor_retenido_iva": 70.40,
      "valor_retenido_renta": 29.60,
      "credito": {
        "fecha_vencimiento": "2015-03-28",
        "monto": 34.21
      },
      "pagos": [
        {
          "medio": "cheque",
          "total": 4882.68,
          "propiedades": {
            "numero": "1234567890",
            "banco": "Banco Pacífico"
          }
        }
      ],
      "compensaciones": [
        {
          "codigo": 1,
          "tarifa": 2,
          "valor": 2.00
        }
      ],
      "exportacion": {
        "incoterm": {
          "termino": "CIF",
          "lugar": "Guayaquil",
          "total_sin_impuestos": "CIF"
        },
        "origen": {
          "codigo_pais":"EC",
          "puerto": "Guayaquil"
        },
        "destino": {
          "codigo_pais":"CN",
          "puerto": "China"
        },
        "codigo_pais_adquisicion": "EC",
        "totales": {
          "flete_internacional": 1000.00,
          "seguro_internacional": 200.00,
          "gastos_aduaneros": 800,
          "otros_gastos_transporte": 350.00
        }
      }
    }
    

    Retorna un objeto tipo factura que incluye un nuevo parámetro id, el cual identifica de manera única a la factura. El campo clave_acceso generado también se incluirá como parte de la respuesta.

    Consulta de una factura

    Consulta una factura para obtener toda la información del comprobante, incluyendo el estado del mismo. El parámetro estado de la respuesta obtenida al invocar esta operación, indica el estado actual del comprobante.

    Si es necesario conocer en detalle, en que estado del proceso de emisión, se debe examinar los parámetros envio_sri y autorizacion_sri de la respuesta.

    Operación

    GET /invoices/<invoice-id>

    Requerimiento

    Requerimiento de ejemplo

    curl -v https://link.datil.co/invoices/<id-factura> \
    -H "Content-Type: application/json" \
    -H "X-Key: <clave-del-api>" \
    -H "X-Password: <clave-certificado-firma>" \
    
    import requests
    cabeceras = {'x-key': '<clave-del-api>'}
    respuesta = requests.get(
        'https://link.datil.co/invoices/<id-factura>',
        headers = cabeceras)
    
    using RestSharp;
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace DatilClient {
      class InvoicingServiceClient {
        static void Main(string[] args) {
    
          var client = new RestClient("https://link.datil.co/");
          var idFactura = "<id-factura>";
          var request = new RestRequest("invoices/" + idFactura, Method.GET);
          request.AddHeader("X-Key", "<clave-del-api>");
    
          IRestResponse response = client.Execute(request);
    
          Console.WriteLine(response.Content);
        }
      }
    }
    

    Reemplaza en la ruta <invoice-ID> por el id de la factura que necesitas consultar.

    Respuesta

    Respuesta de ejemplo

    {
        "id": "abcf12343faad06785",
        "secuencial": "16",
        "fecha_emision": "2016-05-15",
        "version": "1.0.0",
        "clave_acceso": "1505201501099271255400110011000000000162092727615",
        "emisor": {
            "ruc": "0992712554001",
            "razon_social": "DATILMEDIA S.A.",
            "nombre_comercial": "Dátil",
            "direccion": null,
            "obligado_contabilidad": true,
            "contribuyente_especial": "",
            "establecimiento": {
                "codigo": "001",
                "direccion": "V.E. 112 Y CIRCUNVALACION NORTE",
                "punto_emision": "100"
            }
        },
        "estado": "AUTORIZADO",
        "correos_enviados": [
            {
                "fecha_envio": "2015-05-15T16:36:48.274604",
                "destinatarios": "juanantonioplaza@datilmedia.com"
            }
        ],
        "guia_remision": "",
        "moneda": "USD",
        "informacion_adicional": [],
        "ambiente": "1",
        "totales": {
            "total_sin_impuestos": "150.00",
            "descuento": "0.00",
            "propina": "0.00",
            "impuestos": [
                {
                    "codigo": 2,
                    "codigo_porcentaje": "2",
                    "base_imponible": "150.00",
                    "valor": "18.00"
                }
            ],
            "importe_total": "168.00"
        },
        "comprador": {
            "razon_social": "Carlos L. Plaza",
            "identificacion": "0900102222",
            "tipo_identificacion": 1,
            "email": "cplaza@gye593.com",
            "direccion": "Calle Uno y Calle Dos",
            "telefono": "043334445"
        },
        "envio_sri": {
            "mensajes": [],
            "estado": "RECIBIDA",
            "fecha": ""
        },
        "tipo_emision": "1",
        "items": [
            {
                "detalles_adicionales": {
                    "Estadía": "2 noches",
                    "Habitación": "203"
                },
                "cantidad": "1.000000",
                "codigo_principal": "HAB",
                "codigo_auxiliar": "DOB",
                "descripcion": "Habitación doble",
                "precio_unitario": "150.000000",
                "descuento": "0.00",
                "precio_total_sin_impuestos": "",
                "impuestos": [
                    {
                        "tarifa": "12.00",
                        "codigo": "2",
                        "codigo_porcentaje": "2",
                        "base_imponible": "150.00",
                        "valor": "18.00"
                    }
                ],
                "unidad_medida": "Kilos"
            }
        ],
        "valor_retenido_iva": 70.40,
        "valor_retenido_renta": 29.60,
        "credito": {
            "fecha_vencimiento": "2016-06-28",
            "monto": 34.21
        },    
        "pagos": [
          {
            "medio": "cheque",
            "total": 4882.68,
            "propiedades": {
              "numero": "1234567890",
              "banco": "Banco Pacífico"
            }
          }
        ],
        "compensaciones": [
          {
            "codigo": 1,
            "tarifa": 2,
            "valor": 2.00
          }
        ],
        "exportacion": {
          "incoterm": {
            "termino": "CIF",
            "lugar": "Guayaquil",
            "total_sin_impuestos": "CIF"
          },
          "origen": {
            "codigo_pais":"EC",
            "puerto": "Guayaquil"
          },
          "destino": {
            "codigo_pais":"CN",
            "puerto": "China"
          },
          "codigo_pais_adquisicion": "EC",
          "totales": {
            "flete_internacional": 1000.00,
            "seguro_internacional": 200.00,
            "gastos_aduaneros": 800,
            "otros_gastos_transporte": 350.00
          }
        }
        "autorizacion": {
            "estado": "AUTORIZADO",
            "mensajes": [
                {
                    "identificador": "60",
                    "mensaje": "ESTE PROCESO FUE REALIZADO EN EL AMBIENTE DE PRUEBAS",
                    "tipo": "INFORMATIVO",
                    "informacion_adicional": ""
                }
            ],
            "numero": "1505201516323509927125540010266935227",
            "fecha": "2015-05-15T16:32:35.000380"
        }
    }
    
    Parámetro Tipo Descripción
    secuencial string Número de secuencia de la factura.
    estado string Posibles valores: AUTORIZADO, NO AUTORIZADO, ENVIADO, DEVUELTO, RECIBIDO
    fecha_emision string Fecha de emisión en formato AAAA-MM-DDHoraZonaHoraria, definido en el estándar ISO8601.
    clave_acceso string La clave de acceso representa un identificador único del comprobante. Si esta información no es provista, Dátil la generará.
    ¿Cómo generar la clave de acceso?
    envio_sri objeto tipo envio sri Información luego de enviar el comprobante.
    autorizacion objeto tipo autorizacion sri Información de la autorización.org/html/rfc3339#section-5.6).
    emisor objeto tipo emisor Información completa del emisor.
    moneda string Código ISO de la moneda.
    ambiente integer Pruebas: 1.
    Producción 2.
    totales objeto tipo totales Listado de totales.
    comprador objeto persona Información del comprador.
    tipo_emision integer Emisión normal: 1.
    Emisión por indisponibilidad: 2
    items listado de objetos tipo item Items incluídos en la factura.
    pagos listado de objetos tipo pagos Listado de formas de pago aplicables a la factura.
    credito Objeto de tipo credito Información del crédito directo otorgado al cliente.
    version string Versión de la especificación, opciones válidas: 1.0.0, 1.1.0

    Re-emisión de una factura

    Operación

    POST /invoices/:id/reissue

    Requerimiento

    Esta operación debe ser utilizada para corregir comprobantes NO AUTORIZADOS o DEVUELTOS por el Servicio de Rentas Internas.

    En la URL de esta opción se debe incluir el id de la factura recibida al momento de emitirla.

    El cuerpo del requerimiento es un objeto factura con los datos corregidos para que pueda ser procesado y autorizado.

    Respuesta

    Retornará un error si el comprobante se encuentra autorizado.

    Notas de Crédito

    Emisión de una nota de crédito

    Operación

    POST /credit-notes/issue

    Requerimiento

    Requerimiento de ejemplo

    curl -v https://link.datil.co/credit-notes/issue \
    -H "Content-Type: application/json" \
    -H "X-Key: <API-key>" \
    -H "X-Password: <clave-certificado-firma>" \
    -d '{
      "ambiente":1,
      "tipo_emision":1,
      "secuencial":148,
      "fecha_emision":"2015-02-28T11:28:56.782Z",
      "emisor":{
        "ruc":"0910000000001",
        "obligado_contabilidad":true,
        "contribuyente_especial":"12345",
        "nombre_comercial":"XYZ Corp",
        "razon_social":"XYZ Corporación S.A.",
        "direccion":"Av. Primera 234 y calle 5ta",
        "establecimiento":{
          "punto_emision":"002",
          "codigo":"001",
          "direccion":"Av. Primera 234 y calle 5ta"
        }
      },
      "moneda":"USD",
      "informacion_adicional":{
        "Tiempo de entrega":"5 días"
      },
      "totales":{
        "total_sin_impuestos":4359.54,
        "impuestos":[
          {
            "base_imponible":0.0,
            "valor":0.0,
            "codigo":"2",
            "codigo_porcentaje":"0"
          },
          {
            "base_imponible":4359.54,
            "valor":523.14,
            "codigo":"2",
            "codigo_porcentaje":"2"
          }
        ],
        "importe_total":4882.68
      },
      "fecha_emision_documento_modificado": "2015-02-27T11:28:56.782Z",
      "numero_documento_modificado": "001-002-000058473",
      "tipo_documento_modificado": "01",
      "motivo": "Devolución de produtos",
      "comprador":{
        "email":"juan.perez@xyz.com",
        "identificacion":"0987654321",
        "tipo_identificacion":"05",
        "razon_social":"Juan Pérez",
        "direccion":"Calle única Numero 987",
        "telefono":"046029400"
      },
      "items":[
        {
          "cantidad":622.0,
          "codigo_principal": "ZNC",
          "codigo_auxiliar": "050",
          "precio_unitario": 7.01,
          "descripcion": "Zanahoria granel  50 Kg.",
          "precio_total_sin_impuestos": 4360.22,
          "impuestos": [
            {
              "base_imponible":4359.54,
              "valor":523.14,
              "tarifa":12.0,
              "codigo":"2",
              "codigo_porcentaje":"2"
            }
          ],
          "detalles_adicionales": {
            "Peso":"5000.0000"
          },
          "descuento": 0.0
        }
      ]
    }'
    
    import requests, json
    
    nota_credito = {
      "ambiente":1,
      "tipo_emision":1,
      "secuencial":148,
      "fecha_emision":"2015-02-28T11:28:56.782Z",
      "emisor":{
        "ruc":"0910000000001",
        "obligado_contabilidad":true,
        "contribuyente_especial":"12345",
        "nombre_comercial":"XYZ Corp",
        "razon_social":"XYZ Corporación S.A.",
        "direccion":"Av. Primera 234 y calle 5ta",
        "establecimiento":{
          "punto_emision":"002",
          "codigo":"001",
          "direccion":"Av. Primera 234 y calle 5ta"
        }
      },
      "moneda":"USD",
      "informacion_adicional":{
        "Tiempo de entrega":"5 días"
      },
      "totales":{
        "total_sin_impuestos":4359.54,
        "impuestos":[
          {
            "base_imponible":0.0,
            "valor":0.0,
            "codigo":"2",
            "codigo_porcentaje":"0"
          },
          {
            "base_imponible":4359.54,
            "valor":523.14,
            "codigo":"2",
            "codigo_porcentaje":"2"
          }
        ],
        "importe_total":4882.68
      },
      "fecha_emision_documento_modificado": "2015-02-27T11:28:56.782Z",
      "numero_documento_modificado": "001-002-000058473",
      "tipo_documento_modificado": "01",
      "motivo": "Devolución de produtos",
      "comprador":{
        "email":"juan.perez@xyz.com",
        "identificacion":"0987654321",
        "tipo_identificacion":"05",
        "razon_social":"Juan Pérez",
        "direccion":"Calle única Numero 987",
        "telefono":"046029400"
      },
      "items":[
        {
          "cantidad":622.0,
          "codigo_principal":"ZNC",
          "codigo_auxiliar": "050",
          "precio_unitario": 7.01,
          "descripcion": "Zanahoria granel  50 Kg.",
          "precio_total_sin_impuestos": 4360.22,
          "impuestos": [
            {
              "base_imponible":4359.54,
              "valor":523.14,
              "tarifa":12.0,
              "codigo":"2",
              "codigo_porcentaje":"2"
            }
          ],
          "detalles_adicionales": {
            "Peso":"5000.0000"
          },
          "descuento": 0.0
        }
      ]
    }
    cabeceras = {
        'x-key': '<clave-del-api>',
        'x-password': '<clave-certificado-firma>',
        'content-type': 'application/json'}
    respuesta = requests.post(
        "https://link.datil.co/credit-notes/issue",
        headers = cabeceras,
        data = json.dumps(nota_credito))
    
    using RestSharp;
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace DatilClient {
      class InvoicingServiceClient {
        static void Main(string[] args) {
    
          // Este ejemplo utiliza RestSharp 
          // Para instalar anda al menú: tools > Library Package Manager > Package Manager Console
          // copia y pega y presiona enter: Install-Package RestSharp
    
          var client = new RestClient("https://link.datil.co/");
          var request = new RestRequest("credit-notes/issue", Method.POST);
          request.AddHeader("X-Key", "<clave-del-api>");
          request.AddHeader("X-Password", "<clave-certificado-firma>");
    
          request.AddBody(@"{
            ""ambiente"":1,
            ""tipo_emision"":1,
            ""secuencial"":148,
            ""fecha_emision"":""2015-02-28T11:28:56.782Z"",
            ""emisor"":{
              ""ruc"":""0910000000001"",
              ""obligado_contabilidad"":true,
              ""contribuyente_especial"":""12345"",
              ""nombre_comercial"":""XYZ Corp"",
              ""razon_social"":""XYZ Corporación S.A."",
              ""direccion"":""Av. Primera 234 y calle 5ta"",
              ""establecimiento"":{
                ""punto_emision"":""002"",
                ""codigo"":""001"",
                ""direccion"":""Av. Primera 234 y calle 5ta""
              }
            },
            ""moneda"":""USD"",
            ""informacion_adicional"":{
              ""Tiempo de entrega"":""5 días""
            },
            ""totales"":{
              ""total_sin_impuestos"":4359.54,
              ""impuestos"":[
                {
                  ""base_imponible"":0.0,
                  ""valor"":0.0,
                  ""codigo"":""2"",
                  ""codigo_porcentaje"":""0""
                },
                {
                  ""base_imponible"":4359.54,
                  ""valor"":523.14,
                  ""codigo"":""2"",
                  ""codigo_porcentaje"":""2""
                }
              ],
              ""importe_total"":4882.68
            },
            ""comprador"":{
              ""email"":""juan.perez@xyz.com"",
              ""identificacion"":""0987654321"",
              ""tipo_identificacion"":""05"",
              ""razon_social"":""Juan Pérez"",
              ""direccion"":""Calle única Numero 987"",
              ""telefono"":""046029400""
            },
            ""items"":[
              {
                ""cantidad"":622.0,
                ""codigo_principal"":""ZNC""
                ""codigo_auxiliar"": ""050"",
                ""precio_unitario"": 7.01,
                ""descripcion"": ""Zanahoria granel  50 Kg."",
                ""precio_total_sin_impuestos"": 4360.22,
                ""impuestos"": [
                  {
                    ""base_imponible"":4359.54,
                    ""valor"":523.14,
                    ""tarifa"":12.0,
                    ""codigo"":""2"",
                    ""codigo_porcentaje"":""2""
                  }
                ],
                ""detalles_adicionales"": {
                  ""Peso"":""5000.0000""
                },
                ""descuento"": 0.0
              }
            ]
          }");
    
          IRestResponse response = client.Execute(request);
    
          Console.WriteLine(response.Content);
          Console.ReadLine();
        }
      }
    }
    

    Para la emisión de una nota de crédito se debe enviar la información completa del comprobante en el cuerpo del requerimiento en formato JSON.

    Parámetro Tipo Descripción
    secuencial string Número de secuencia de la nota de crédito. Requerido
    emisor emisor Información completa del emisor. Requerido
    moneda string Código ISO de la moneda. Requerido
    fecha_emision string Fecha de emisión en formato AAAA-MM-DDHoraZonaHoraria, definido en el estándar ISO8601.
    ambiente integer Pruebas: 1.
    Producción 2.
    Requerido
    comprador objeto tipo persona Información del comprador.
    totales objeto tipo totales Listado de totales. Requerido
    fecha_emision_documento_modificado string Fecha de emisión en formato AAAA-MM-DDHoraZonaHoraria, definido en el estándar ISO8601. Requerido
    numero_documento_modificado string Número completo del documento que se está afectando. Normalmente facturas. Ejm: 001-002-010023098 Requerido
    tipo_documento_modificado string Códigos de tipos de documentos. Requerido
    motivo string Motivo de la operación. Ejm: Devolución de producto. Requerido
    tipo_emision integer Emisión normal: 1.
    Emisión por indisponibilidad: 2
    Requerido
    items listado de objetos tipo item Items incluídos en la nota de crédito. Requerido
    version string Versión del formato de comprobantes electrónicos de SRI. Si no se especifica, se utilizará la última revisión del formato implementada,
    clave_acceso string La clave de acceso representa un identificador único del comprobante. Si esta información no es provista, Dátil la generará.
    ¿Cómo generar la clave de acceso?
    informacion_adicional objeto Información adicional adjunta al comprobante en forma de diccionario. Ejemplo:
    {"plan": "Inicial", "vigencia": "1 mes"}

    Totales

    Parámetro Tipo Descripción
    total_sin_impuestos float Total antes de los impuestos. Requerido
    importe_total float Total incluyendo impuestos. Requerido
    impuestos listado de objetos total impuesto Listado de impuesto totalizados. Requerido

    Respuesta

    Respuesta de ejemplo

    {
      "id": "abcdef09876123cea56784f01",
      "ambiente":1,
      "tipo_emision":1,
      "secuencial":148,
      "fecha_emision":"2015-02-28T11:28:56.782Z",
      "clave_acceso": "2802201501091000000000120010010000100451993736618",
      "emisor":{
        "ruc": "0910000000001",
        "obligado_contabilidad": true,
        "contribuyente_especial": "12345",
        "nombre_comercial": "XYZ Corp",
        "razon_social": "XYZ Corporación S.A.",
        "direccion": "Av. Primera 234 y calle 5ta",
        "establecimiento": {
          "punto_emision": "002",
          "codigo": "001",
          "direccion": "Av. Primera 234 y calle 5ta"
        }
      },
      "moneda": "USD",
      "informacion_adicional": {
        "Tiempo de entrega": "5 días"
      },
      "totales": {
        "total_sin_impuestos": 4359.54,
        "impuestos": [
          {
            "base_imponible": 0.0,
            "valor": 0.0,
            "codigo": "2",
            "codigo_porcentaje": "0"
          },
          {
            "base_imponible": 4359.54,
            "valor": 523.14,
            "codigo": "2",
            "codigo_porcentaje": "2"
          }
        ],
        "importe_total": 4882.68
      },
      "comprador": {
        "email": "juan.perez@xyz.com",
        "identificacion": "0987654321",
        "tipo_identificacion": "05",
        "razon_social": "Juan Pérez",
        "direccion": "Calle única Numero 987",
        "telefono": "046029400"
      },
      "items":[
        {
          "cantidad": 622.0,
          "codigo_principal": "ZNC",
          "codigo_auxiliar": "050",
          "precio_unitario": 7.01,
          "descripcion": "Zanahoria granel  50 Kg.",
          "precio_total_sin_impuestos": 4360.22,
          "impuestos":[
            {
              "base_imponible": 4359.54,
              "valor": 523.14,
              "tarifa": 12.0,
              "codigo": "2",
              "codigo_porcentaje": "2"
            }
          ],
          "detalles_adicionales": {
            "Peso": "5000.0000"
          },
          "descuento": 0.0
        }
      ]
    }
    

    Retorna un objeto tipo nota de crédito que incluye un nuevo parámetro id, el cual identifica de manera única a la nota de crédito. El campo clave_acceso generado también se incluirá como parte de la respuesta.

    Consulta de una nota de crédito

    Consulta una nota de crédito para obtener toda la información del comprobante, incluyendo el estado del mismo. El parámetro estado de la respuesta obtenida al invocar esta operación, indica el estado actual del comprobante.

    Si es necesario conocer en detalle, en que estado del proceso de emisión, se debe examinar los parámetros envio_sri y autorizacion_sri de la respuesta.

    Operación

    GET /credit-notes/<invoice-id>

    Requerimiento

    Requerimiento de ejemplo

    curl -v https://link.datil.co/credit-notes/<id-notacredito> \
    -H "Content-Type: application/json" \
    -H "X-Key: <clave-del-api>" \
    -H "X-Password: <clave-certificado-firma>" \
    
    import requests
    cabeceras = {'x-key': '<clave-del-api>'}
    respuesta = requests.get(
        'https://link.datil.co/credit-notes/<id-notacredito>',
        headers = cabeceras)
    
    using RestSharp;
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace DatilClient {
      class InvoicingServiceClient {
        static void Main(string[] args) {
    
          var client = new RestClient("https://link.datil.co/");
          var idNotaCredito = "<id-notacredito>";
          var request = new RestRequest("invoices/" + idNotaCredito, Method.GET);
          request.AddHeader("X-Key", "<clave-del-api>");
    
          IRestResponse response = client.Execute(request);
    
          Console.WriteLine(response.Content);
        }
      }
    }
    

    Reemplaza en la ruta <invoice-ID> por el id de la nota de crédito que necesitas consultar.

    Respuesta

    Respuesta de ejemplo

    {
        "id": "abcf12343faad06785",
        "secuencial": "16",
        "fecha_emision": "2015-05-15",
        "version": "1.0.0",
        "clave_acceso": "1505201501099271255400110011000000000162092727615",
        "emisor": {
            "ruc": "0992712554001",
            "razon_social": "DATILMEDIA S.A.",
            "nombre_comercial": "Dátil",
            "direccion": null,
            "obligado_contabilidad": true,
            "contribuyente_especial": "",
            "establecimiento": {
                "codigo": "001",
                "direccion": "V.E. 112 Y CIRCUNVALACION NORTE",
                "punto_emision": "100"
            }
        },
        "estado": "AUTORIZADO",
        "correos_enviados": [
            {
                "fecha_envio": "2015-05-15T16:36:48.274604",
                "destinatarios": "juanantonioplaza@datilmedia.com"
            }
        ],
        "guia_remision": "",
        "moneda": "USD",
        "informacion_adicional": [],
        "ambiente": "1",
        "totales": {
            "total_sin_impuestos": "150.00",
            "impuestos": [
                {
                    "codigo": 2,
                    "codigo_porcentaje": "2",
                    "base_imponible": "150.00",
                    "valor": "18.00"
                }
            ],
            "importe_total": "168.00"
        },
        "comprador": {
            "razon_social": "Carlos L. Plaza",
            "identificacion": "0900102222",
            "tipo_identificacion": 1,
            "email": "cplaza@gye593.com",
            "direccion": "Calle Uno y Calle Dos",
            "telefono": "043334445"
        },
        "envio_sri": {
            "mensajes": [],
            "estado": "RECIBIDA",
            "fecha": ""
        },
        "tipo_emision": "1",
        "items": [
            {
                "detalles_adicionales": {
                    "Estadía": "2 noches",
                    "Habitación": "203"
                },
                "cantidad": "1.000000",
                "codigo_principal": "HAB",
                "codigo_auxiliar": "DOB",
                "descripcion": "Habitación doble",
                "precio_unitario": "150.000000",
                "descuento": "0.00",
                "precio_total_sin_impuestos": "",
                "impuestos": [
                    {
                        "tarifa": "12.00",
                        "codigo": "2",
                        "codigo_porcentaje": "2",
                        "base_imponible": "150.00",
                        "valor": "18.00"
                    }
                ]
            }
        ],
        "autorizacion": {
            "estado": "AUTORIZADO",
            "mensajes": [
                {
                    "identificador": "60",
                    "mensaje": "ESTE PROCESO FUE REALIZADO EN EL AMBIENTE DE PRUEBAS",
                    "tipo": "INFORMATIVO",
                    "informacion_adicional": ""
                }
            ],
            "numero": "1505201516323509927125540010266935227",
            "fecha": "2015-05-15T16:32:35.000380"
        }
    }
    
    Parámetro Tipo Descripción
    secuencial string Número de secuencia de la nota de crédito.
    estado string Posibles valores: AUTORIZADO, NO AUTORIZADO, ENVIADO, DEVUELTO, RECIBIDO
    fecha_emision string Fecha de emisión en formato AAAA-MM-DDHoraZonaHoraria, definido en el estándar [ISO8601](http://tools.ietf.
    clave_acceso string La clave de acceso representa un identificador único del comprobante. Si esta información no es provista, Dátil la generará.
    ¿Cómo generar la clave de acceso?
    envio_sri objeto tipo envio sri Información luego de enviar el comprobante.
    autorizacion objeto tipo autorizacion sri Información de la autorización.org/html/rfc3339#section-5.6).
    emisor objeto tipo emisor Información completa del emisor.
    moneda string Código ISO de la moneda.
    ambiente integer Pruebas: 1.
    Producción 2.
    totales objeto tipo totales Listado de totales.
    comprador objeto tipo persona Información del comprador.
    tipo_emision integer Emisión normal: 1.
    Emisión por indisponibilidad: 2
    items listado de objetos tipo item Items incluídos en la nota de crédito.
    version string Versión de la especificación, opciones válidas: 1.0.0, 1.1.0

    Comprobantes de Retención

    Emisión de una retención

    Operación

    POST /retentions/issue

    Requerimiento

    Requerimiento de ejemplo

    curl -v https://link.datil.co/retentions/issue \
    -H "Content-Type: application/json" \
    -H "X-Key: <API-key>" \
    -H "X-Password: <clave-certificado-firma>" \
    -d '{
      "ambiente":1,
      "tipo_emision":1,
      "secuencial":14,
      "fecha_emision":"2015-12-25T11:28:56.782Z",
      "periodo_fiscal":"12/2015",
      "emisor":{
        "ruc":"0910000000001",
        "obligado_contabilidad":true,
        "contribuyente_especial":"12345",
        "nombre_comercial":"XYZ Corp",
        "razon_social":"XYZ Corporación S.A.",
        "direccion":"Av. Primera 234 y calle 5ta",
        "establecimiento":{
          "punto_emision":"002",
          "codigo":"001",
          "direccion":"Av. Primera 234 y calle 5ta"
        }
      },
      "informacion_adicional":{
        "Envíada al correo electónico":"contabilidad@xyz.com"
      },
      "items":[
        {
          "base_imponible": 4226.4,
          "codigo": 1,
          "codigo_porcentaje": "312",
          "fecha_emision_documento_sustento": "2015-12-04T00:00:00-05:19",
          "numero_documento_sustento": "011-007-000000251",
          "porcentaje": 1.0,
          "tipo_documento_sustento": "01",
          "valor_retenido": 42.26
        }
      ]
      "sujeto":{
        "email":"contabilidad@email.com",
        "identificacion":"0987654321",
        "tipo_identificacion":"05",
        "razon_social":"Juan Pérez",
        "direccion":"Calle única Numero 987",
        "telefono":"046029400"
      }
    }'
    
    import requests, json
    
    retencion = {
      "ambiente":1,
      "tipo_emision":1,
      "secuencial":14,
      "fecha_emision":"2015-12-25T11:28:56.782Z",
      "periodo_fiscal":"12/2015",
      "emisor":{
        "ruc":"0910000000001",
        "obligado_contabilidad":true,
        "contribuyente_especial":"12345",
        "nombre_comercial":"XYZ Corp",
        "razon_social":"XYZ Corporación S.A.",
        "direccion":"Av. Primera 234 y calle 5ta",
        "establecimiento":{
          "punto_emision":"002",
          "codigo":"001",
          "direccion":"Av. Primera 234 y calle 5ta"
        }
      },
      "informacion_adicional":{
        "Envíada al correo electónico":"contabilidad@xyz.com"
      },
      "items":[
        {
          "base_imponible": 4226.4,
          "codigo": 1,
          "codigo_porcentaje": "312",
          "fecha_emision_documento_sustento": "2015-12-04T00:00:00-05:19",
          "numero_documento_sustento": "011-007-000000251",
          "porcentaje": 1.0,
          "tipo_documento_sustento": "01",
          "valor_retenido": 42.26
        }
      ],
      "sujeto":{
        "email":"contabilidad@email.com",
        "identificacion":"0987654321",
        "tipo_identificacion":"05",
        "razon_social":"Juan Pérez",
        "direccion":"Calle única Numero 987",
        "telefono":"046029400"
      }
    }
    cabeceras = {
        'x-key': '<clave-del-api>',
        'x-password': '<clave-certificado-firma>',
        'content-type': 'application/json'}
    respuesta = requests.post(
        "https://link.datil.co/retentions/issue",
        headers = cabeceras,
        data = json.dumps(retencion))
    
    using RestSharp;
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace DatilClient {
      class InvoicingServiceClient {
        static void Main(string[] args) {
    
          // Este ejemplo utiliza RestSharp 
          // Para instalar anda al menú: tools > Library Package Manager > Package Manager Console
          // copia y pega y presiona enter: Install-Package RestSharp
    
          var client = new RestClient("https://link.datil.co/");
          var request = new RestRequest("invoices/issue", Method.POST);
          request.AddHeader("X-Key", "<clave-del-api>");
          request.AddHeader("X-Password", "<clave-certificado-firma>");
    
          request.AddBody(@"{
            ""ambiente"":1,
            ""tipo_emision"":1,
            ""secuencial"":14,
            ""fecha_emision"":""2015-12-25T11:28:56.782Z"",
            ""periodo_fiscal"":""12/2015"",
            ""emisor"":{
              ""ruc"":""0910000000001"",
              ""obligado_contabilidad"":true,
              ""contribuyente_especial"":""12345"",
              ""nombre_comercial"":""XYZ Corp"",
              ""razon_social"":""XYZ Corporación S.A."",
              ""direccion"":""Av. Primera 234 y calle 5ta"",
              ""establecimiento"":{
                ""punto_emision"":""002"",
                ""codigo"":""001"",
                ""direccion"":""Av. Primera 234 y calle 5ta""
              }
            },
            ""informacion_adicional"":{
              ""Envíada al correo electónico"":""contabilidad@xyz.com""
            },
            ""items"":[
              {
                ""base_imponible"": 4226.4,
                ""codigo"": 1,
                ""codigo_porcentaje"": ""312"",
                ""fecha_emision_documento_sustento"": ""2015-12-04T00:00:00-05:19"",
                ""numero_documento_sustento"": ""011007000000251"",
                ""porcentaje"": 1.0,
                ""tipo_documento_sustento"": ""01"",
                ""valor_retenido"": 42.26
              }
            ],
            ""sujeto"":{
              ""email"":""contabilidad@email.com"",
              ""identificacion"":""0987654321"",
              ""tipo_identificacion"":""05"",
              ""razon_social"":""Juan Pérez"",
              ""direccion"":""Calle única Numero 987"",
              ""telefono"":""046029400""
            }
          }");
    
          IRestResponse response = client.Execute(request);
    
          Console.WriteLine(response.Content);
          Console.ReadLine();
        }
      }
    }
    

    Para la emisión de una nota de crédito se debe enviar la información completa del comprobante en el cuerpo del requerimiento en formato JSON.

    Parámetro Tipo Descripción
    secuencial string Número de secuencia de la nota de crédito. Requerido
    emisor emisor Información completa del emisor. Requerido
    fecha_emision string Fecha de emisión en formato AAAA-MM-DDHoraZonaHoraria, definido en el estándar ISO8601.
    periodo_fiscal string Mes y año en el siguiente formato MM/AAAA. Ejm: 12/2015 Requerido
    ambiente integer Pruebas: 1.
    Producción 2.
    Requerido
    impuestos vector de objetos tipo impuesto Listado de impuestos retenidos. Requerido
    tipo_emision integer Emisión normal: 1.
    Emisión por indisponibilidad: 2
    Requerido
    version string Versión del formato de comprobantes electrónicos de SRI. Si no se especifica, se utilizará la última revisión del formato implementada,
    clave_acceso string La clave de acceso representa un identificador único del comprobante. Si esta información no es provista, Dátil la generará.
    ¿Cómo generar la clave de acceso?
    informacion_adicional objeto Información adicional adjunta al comprobante en forma de diccionario. Ejemplo:
    {"Email": "contabilidad@empresa.com"}

    Impuesto Retenido

    Parámetro Tipo Descripción
    base_imponible float Base imponible, máximo 2 cifras decimales. Requerido
    codigo string Código de tipo de impuesto. Requerido
    codigo_porcentaje string Código del porcentaje a aplicar dentro del tipo de impuesto Requerido
    porcentaje float Porcentaje establecido para el impuesto
    valor_retenido float Valor retenido, multiplicación de la base imponible por el porcentaje de retención, máximo 2 cifras decimales. Requerido
    fecha_emision_documento_sustento string Fecha de emisión en formato AAAA-MM-DDHoraZonaHoraria, definido en el estándar ISO8601. Requerido
    numero_documento_sustento string Número completo del documento sobre el que se aplica la retención. Ejm: 001-002-592738007
    tipo_documento_sustento string Códigos de tipos de documentos. Requerido

    Respuesta

    Respuesta de ejemplo

    {
      "id": "abcdef09876123cea56784f01",
      "clave_acceso": "2802201501091000000000120010010000100451993736618",
      "ambiente":1,
      "tipo_emision":1,
      "secuencial":14,
      "fecha_emision":"2015-12-25T11:28:56.782Z",
      "periodo_fiscal":"12/2015",
      "emisor":{
        "ruc":"0910000000001",
        "obligado_contabilidad":true,
        "contribuyente_especial":"12345",
        "nombre_comercial":"XYZ Corp",
        "razon_social":"XYZ Corporación S.A.",
        "direccion":"Av. Primera 234 y calle 5ta",
        "establecimiento":{
          "punto_emision":"002",
          "codigo":"001",
          "direccion":"Av. Primera 234 y calle 5ta"
        }
      },
      "informacion_adicional":{
        "Envíada al correo electónico":"contabilidad@xyz.com"
      },
      "items":[
        {
          "base_imponible": 4226.4,
          "codigo": 1,
          "codigo_porcentaje": "312",
          "fecha_emision_documento_sustento": "2015-12-04T00:00:00-05:19",
          "numero_documento_sustento": "011-007-000000251",
          "porcentaje": 1.0,
          "tipo_documento_sustento": "01",
          "valor_retenido": 42.26
        }
      ],
      "sujeto":{
        "email":"contabilidad@email.com",
        "identificacion":"0987654321",
        "tipo_identificacion":"05",
        "razon_social":"Juan Pérez",
        "direccion":"Calle única Numero 987",
        "telefono":"046029400"
      }
    }
    

    Retorna un objeto tipo retención que incluye un nuevo parámetro id, el cual identifica de manera única a la nota de crédito. El campo clave_acceso generado también se incluirá como parte de la respuesta.

    Consulta de un Comprobante de Retención

    Consulta una nota de crédito para obtener toda la información del comprobante, incluyendo el estado del mismo. El parámetro estado de la respuesta obtenida al invocar esta operación, indica el estado actual del comprobante.

    Si es necesario conocer en detalle, en que estado del proceso de emisión, se debe examinar los parámetros envio_sri y autorizacion_sri de la respuesta.

    Operación

    GET /retentions/<receipt-id>

    Requerimiento

    Requerimiento de ejemplo

    curl -v https://link.datil.co/retentions/<id-retencion> \
    -H "Content-Type: application/json" \
    -H "X-Key: <clave-del-api>" \
    -H "X-Password: <clave-certificado-firma>" \
    
    import requests
    cabeceras = {'x-key': '<clave-del-api>'}
    respuesta = requests.get(
        'https://link.datil.co/retentions/<id-retencion>',
        headers = cabeceras)
    
    using RestSharp;
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace DatilClient {
      class InvoicingServiceClient {
        static void Main(string[] args) {
    
          var client = new RestClient("https://link.datil.co/");
          var idNotaCredito = "<id-retencion>";
          var request = new RestRequest("invoices/" + idNotaCredito, Method.GET);
          request.AddHeader("X-Key", "<clave-del-api>");
    
          IRestResponse response = client.Execute(request);
    
          Console.WriteLine(response.Content);
        }
      }
    }
    

    Reemplaza en la ruta <receipt-id> por el id de la nota de crédito que necesitas consultar.

    Respuesta

    Respuesta de ejemplo

    {
        "id": "abcf12343faad06785abcf12343faad0",
        "secuencial": "16",
        "fecha_emision": "2015-05-15",
        "version": "1.0.0",
        "clave_acceso": "1505201501099271255400110011000000000162092727615",
        "emisor": {
            "ruc": "0992712554001",
            "razon_social": "DATILMEDIA S.A.",
            "nombre_comercial": "Dátil",
            "direccion": null,
            "obligado_contabilidad": true,
            "contribuyente_especial": "",
            "establecimiento": {
                "codigo": "001",
                "direccion": "V.E. 112 Y CIRCUNVALACION NORTE",
                "punto_emision": "100"
            }
        },
        "estado": "AUTORIZADO",
        "items":[
          {
            "base_imponible": 4226.4,
            "codigo": 1,
            "codigo_porcentaje": "312",
            "fecha_emision_documento_sustento": "2015-12-04T00:00:00-05:19",
            "numero_documento_sustento": "011007000000251",
            "porcentaje": 1.0,
            "tipo_documento_sustento": "01",
            "valor_retenido": 42.26
          }
        ],
        "correos_enviados": [
            {
                "fecha_envio": "2015-05-15T16:36:48.274604",
                "destinatarios": "juanantonioplaza@datilmedia.com"
            }
        ],
        "informacion_adicional": {},
        "ambiente": "1",
        "sujeto": {
            "razon_social": "Carlos L. Plaza",
            "identificacion": "0900102222",
            "tipo_identificacion": 1,
            "email": "cplaza@gye593.com",
            "direccion": "Calle Uno y Calle Dos",
            "telefono": "043334445"
        },
        "envio_sri": {
            "mensajes": [],
            "estado": "RECIBIDA",
            "fecha": ""
        },
        "tipo_emision": "1",
        "autorizacion": {
            "estado": "AUTORIZADO",
            "mensajes": [
                {
                    "identificador": "60",
                    "mensaje": "ESTE PROCESO FUE REALIZADO EN EL AMBIENTE DE PRUEBAS",
                    "tipo": "INFORMATIVO",
                    "informacion_adicional": ""
                }
            ],
            "numero": "1505201516323509927125540010266935227",
            "fecha": "2015-05-15T16:32:35.000380"
        }
    }
    
    Parámetro Tipo Descripción
    secuencial string Número de secuencia de la nota de crédito.
    estado string Posibles valores: AUTORIZADO, NO AUTORIZADO, ENVIADO, DEVUELTO, RECIBIDO
    fecha_emision string Fecha de emisión en formato AAAA-MM-DDHoraZonaHoraria, definido en el estándar [ISO8601](http://tools.ietf.
    clave_acceso string La clave de acceso representa un identificador único del comprobante. Si esta información no es provista, Dátil la generará.
    ¿Cómo generar la clave de acceso?
    envio_sri objeto tipo envio sri Información luego de enviar el comprobante.
    autorizacion objeto tipo autorizacion sri Información de la autorización.org/html/rfc3339#section-5.6).
    emisor objeto tipo emisor Información completa del emisor.
    ambiente integer Pruebas: 1.
    Producción 2.
    items vector de objetos tipo impuesto Listado de impuestos retenidos. Requerido
    sujeto objeto persona Información del sujeto al que se le retiene.
    tipo_emision integer Emisión normal: 1.
    Emisión por indisponibilidad: 2
    version string Versión de la especificación, opciones válidas: 1.0.0, 1.1.0

    Guías de Remisión

    Emisión de una guía de remisión

    Operación

    POST /waybills/issue

    Requerimiento

    Requerimiento de ejemplo

    curl -v https://link.datil.co/waybills/issue \
    -H "Content-Type: application/json" \
    -H "X-Key: <API-key>" \
    -H "X-Password: <clave-certificado-firma>" \
    -d '{
      "ambiente":1,
      "tipo_emision":1,
      "secuencial":50,
      "fecha_inicio_transporte":"2015-02-28T11:28:56.782Z",
      "fecha_fin_transporte":"2015-02-28T11:28:56.782Z",
      "direccion_partida": "Victor Emilio Estrada",
      "emisor":{
        "ruc":"0910000000001",
        "obligado_contabilidad":true,
        "contribuyente_especial":"12345",
        "nombre_comercial":"XYZ Corp",
        "razon_social":"XYZ Corporación S.A.",
        "direccion":"Av. Primera 234 y calle 5ta",
        "establecimiento":{
          "punto_emision":"002",
          "codigo":"001",
          "direccion":"Av. Primera 234 y calle 5ta"
        }
      },
      "informacion_adicional":{
        "Tiempo de entrega":"5 días"
      },
      "transportista":{
        "email":"juan.perez@xyz.com",
        "identificacion":"0987654321",
        "tipo_identificacion":"05",
        "razon_social":"Juan Pérez",
        "direccion":"Calle única Numero 987",
        "telefono":"04 6029400",
        "placa":"GSM-0123"
      },
      "destinatarios": [{
        "identificacion":"0987654321",
        "tipo_identificacion":"05",
        "razon_social":"Juan Pérez",
        "direccion":"Calle única Numero 987",
        "email":"juan.perez@xyz.com",
        "telefono":"046029400",
        "fecha_emision_documento_sustento": "2015-02-27T11:28:56.782Z",
        "numero_documento_sustento": "001-001-000000008",
        "numero_autorizacion_documento_sustento": "0123456789",
        "motivo_traslado": "Venta",
        "tipo_documento_sustento": "01",
        "ruta": "GYE - UIO",
        "documento_aduanero_unico": "",
        "codigo_establecimiento_destino": "001",
        "items": [{
          "cantidad": 1.0,
          "codigo_principal": "SPS",
          "codigo_auxiliar": "001",
          "descripcion": "Playstation 4",
          "detalles_adicionales": {
            "numero": "DFGDG2342-2",
            "serie": "1-2014-2"
          }
        }]
      }]
    }'
    
    import requests, json
    
    guia_remision = {
      "ambiente":1,
      "tipo_emision":1,
      "secuencial":50,
      "fecha_inicio_transporte":"2015-02-28T11:28:56.782Z",
      "fecha_fin_transporte":"2015-02-28T11:28:56.782Z",
      "direccion_partida": "Victor Emilio Estrada",
      "emisor":{
        "ruc":"0910000000001",
        "obligado_contabilidad":true,
        "contribuyente_especial":"12345",
        "nombre_comercial":"XYZ Corp",
        "razon_social":"XYZ Corporación S.A.",
        "direccion":"Av. Primera 234 y calle 5ta",
        "establecimiento":{
          "punto_emision":"002",
          "codigo":"001",
          "direccion":"Av. Primera 234 y calle 5ta"
        }
      },
      "informacion_adicional":{
        "Tiempo de entrega":"5 días"
      },
      "transportista":{
        "email":"juan.perez@xyz.com",
        "identificacion":"0987654321",
        "tipo_identificacion":"05",
        "razon_social":"Juan Pérez",
        "direccion":"Calle única Numero 987",
        "telefono":"04 6029400",
        "placa":"GSM-0123"
      },
      "destinatarios": [{
        "identificacion":"0987654321",
        "tipo_identificacion":"05",
        "razon_social":"Juan Pérez",
        "direccion":"Calle única Numero 987",
        "email":"juan.perez@xyz.com",
        "telefono":"046029400",
        "fecha_emision_documento_sustento": "2015-02-27T11:28:56.782Z",
        "numero_documento_sustento": "001-001-000000008",
        "numero_autorizacion_documento_sustento": "0123456789",
        "motivo_traslado": "Venta",
        "tipo_documento_sustento": "01",
        "ruta": "GYE - UIO",
        "documento_aduanero_unico": "",
        "codigo_establecimiento_destino": "001",
        "items": [{
          "cantidad": 1.0,
          "codigo_principal": "SPS",
          "codigo_auxiliar": "001",
          "descripcion": "Playstation 4",
          "detalles_adicionales": {
            "numero": "DFGDG2342-2",
            "serie": "1-2014-2"
          }
        }]
      }]
    }
    cabeceras = {
        'x-key': '<clave-del-api>',
        'x-password': '<clave-certificado-firma>',
        'content-type': 'application/json'}
    respuesta = requests.post(
        "https://link.datil.co/waybills/issue",
        headers = cabeceras,
        data = json.dumps(guia_remision))
    
    using RestSharp;
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace DatilClient {
      class InvoicingServiceClient {
        static void Main(string[] args) {
    
          // Este ejemplo utiliza RestSharp 
          // Para instalar anda al menú: tools > Library Package Manager > Package Manager Console
          // copia y pega y presiona enter: Install-Package RestSharp
    
          var client = new RestClient("https://link.datil.co/");
          var request = new RestRequest("waybills/issue", Method.POST);
          request.AddHeader("X-Key", "<clave-del-api>");
          request.AddHeader("X-Password", "<clave-certificado-firma>");
    
          request.AddBody(@"{
            ""ambiente"":1,
            ""tipo_emision"":1,
            ""secuencial"":50,
            ""fecha_inicio_transporte"":""2015-02-28T11:28:56.782Z"",
            ""fecha_fin_transporte"":""2015-02-28T11:28:56.782Z"",
            ""direccion_partida"": ""Victor Emilio Estrada"",
            ""emisor"":{
              ""ruc"":""0910000000001"",
              ""obligado_contabilidad"":true,
              ""contribuyente_especial"":""12345"",
              ""nombre_comercial"":""XYZ Corp"",
              ""razon_social"":""XYZ Corporación S.A."",
              ""direccion"":""Av. Primera 234 y calle 5ta"",
              ""establecimiento"":{
                ""punto_emision"":""002"",
                ""codigo"":""001"",
                ""direccion"":""Av. Primera 234 y calle 5ta""
              }
            },
            ""informacion_adicional"":{
              ""Tiempo de entrega"":""5 días""
            },
            ""transportista"":{
              ""email"":""juan.perez@xyz.com"",
              ""identificacion"":""0987654321"",
              ""tipo_identificacion"":""05"",
              ""razon_social"":""Juan Pérez"",
              ""direccion"":""Calle única Numero 987"",
              ""telefono"":""04 6029400"",
              ""placa"":""GSM-0123""
            },
            ""destinatarios"": [{
              ""identificacion"":""0987654321"",
              ""tipo_identificacion"":""05"",
              ""razon_social"":""Juan Pérez"",
              ""direccion"":""Calle única Numero 987"",
              ""email"":""juan.perez@xyz.com"",
              ""telefono"":""046029400"",
              ""fecha_emision_documento_sustento"": ""2015-02-27T11:28:56.782Z"",
              ""numero_documento_sustento"": ""001-001-000000008"",
              ""numero_autorizacion_documento_sustento"": ""0123456789"",
              ""motivo_traslado"": ""Venta"",
              ""tipo_documento_sustento"": ""01"",
              ""ruta"": ""GYE - UIO"",
              ""documento_aduanero_unico"": """",
              ""codigo_establecimiento_destino"": ""001"",
              ""items"": [{
                ""cantidad"": 1.0,
                ""codigo_principal"": ""SPS"",
                ""codigo_auxiliar"": ""001"",
                ""descripcion"": ""Playstation 4"",
                ""detalles_adicionales"": {
                  ""numero"": ""DFGDG2342-2"",
                  ""serie"": ""1-2014-2""
                }
              }]
            }]
          }");
    
          IRestResponse response = client.Execute(request);
    
          Console.WriteLine(response.Content);
          Console.ReadLine();
        }
      }
    }
    

    Para la emisión de una guía de remisión se debe enviar la información completa del comprobante en el cuerpo del requerimiento en formato JSON.

    Parámetro Tipo Descripción
    secuencial string Número de secuencia de la guía de remisión. Requerido
    emisor emisor Información completa del emisor. Requerido
    fecha_inicio_transporte string Fecha de emisión en formato AAAA-MM-DDHoraZonaHoraria, definido en el estándar ISO8601.
    fecha_fin_transporte string Fecha de emisión en formato AAAA-MM-DDHoraZonaHoraria, definido en el estándar ISO8601.
    direccion_partida string Dirección de partida
    transportista objeto tipo transportista Información de la persona que transporta la carga
    ambiente integer Pruebas: 1.
    Producción 2.
    Requerido
    tipo_emision integer Emisión normal: 1.
    Emisión por indisponibilidad: 2
    Requerido
    destinatarios listado de objetos tipo destinatario Descripción de destinatarios y la mercadería transportada. Requerido
    version string Versión del formato de comprobantes electrónicos de SRI. Si no se especifica, se utilizará la última revisión del formato implementada,
    clave_acceso string La clave de acceso representa un identificador único del comprobante. Si esta información no es provista, Dátil la generará.
    ¿Cómo generar la clave de acceso?
    informacion_adicional objeto Información adicional adjunta al comprobante en forma de diccionario. Ejemplo:
    {"email": "juan@empresa.com", "Carga asegurada por": "Securitas"}

    Destinatario

    Parámetro Tipo Descripción
    razon_social string Razón social del comprador. Máximo 300 caracteres. Requerido
    identificacion string De 5 a 20 caracteres. Requerido
    tipo_identificacion string Ver tabla de tipos de identificación Requerido
    email string Correo electrónico del destinatario.
    telefono string Teléfono.
    direccion string Dirección
    ruta string Ruta de transporte. Máximo 300 caracteres.
    documento_aduanero_unico string Máximo 20 caracteres.
    fecha_emision_documento_sustento string Fecha de emisión en formato AAAA-MM-DDHoraZonaHoraria, definido en el estándar ISO8601. Requerido
    numero_documento_sustento string Número completo del documento que detalla la mercadería a transportar. Normalmente facturas. Ejm: 001-002-010023098 Requerido
    codigo_establecimiento_destino string Número establecimiento que recibe la entrega. Ejm: 002 Requerido
    tipo_documento_sustento string Ver códigos de tipos de documentos. Requerido
    motivo_traslado string Motivo del traslado. Ejm: Entrega de mercadería. Requerido
    numero_autorizacion_documento_sustento string Autorización del documento de sustento.
    items arreglo de objetos tipo item destinatario Items transportados

    Item destinatario

    Parámetro Tipo Descripción
    descripcion string Descripción del ítem. Requerido
    codigo_principal string Código alfanumérico de uso del comercio. Máximo 25 caracteres.
    codigo_auxiliar string Código alfanumérico de uso del comercio. Máximo 25 caracteres.
    cantidad float Cantidad de items. Requerido
    detalles_adicionales object Diccionario de datos de carácter adicional. Ejemplo:
    {"marca": "Ferrari", "chasis": "UANEI832-NAU101"}

    Transportista

    Parámetro Tipo Descripción
    razon_social string Razón social. Máximo 300 caracteres. Requerido
    identificacion string De 5 a 20 caracteres. Requerido
    tipo_identificacion string Ver tabla de tipos de identificación Requerido
    email string Correo electrónico. Máximo 300 caracteres. Requerido
    telefono string Teléfono.
    direccion string Dirección
    placa string Placa del vehículo

    Respuesta

    Respuesta de ejemplo

    {
      "id": "abcfde09817263847cdaef8493018fef",
      "clave_acceso":"2802201501091000000000120010010000100451993736618",
      "ambiente":1,
      "tipo_emision":1,
      "secuencial":50,
      "fecha_inicio_transporte":"2015-02-28T11:28:56.782Z",
      "fecha_fin_transporte":"2015-02-28T11:28:56.782Z",
      "emisor":{
        "ruc":"0910000000001",
        "obligado_contabilidad":true,
        "contribuyente_especial":"12345",
        "nombre_comercial":"XYZ Corp",
        "razon_social":"XYZ Corporación S.A.",
        "direccion":"Av. Primera 234 y calle 5ta",
        "establecimiento":{
          "punto_emision":"002",
          "codigo":"001",
          "direccion":"Av. Primera 234 y calle 5ta"
        }
      },
      "informacion_adicional":{
        "Tiempo de entrega":"5 días"
      },
      "transportista":{
        "email":"juan.perez@xyz.com",
        "identificacion":"0987654321",
        "tipo_identificacion":"05",
        "razon_social":"Juan Pérez",
        "direccion":"Calle única Numero 987",
        "telefono":"04 6029400",
        "placa":"GSM-0123"
      },
      "destinatarios": [{
        "identificacion":"0987654321",
        "tipo_identificacion":"05",
        "razon_social":"Juan Pérez",
        "direccion":"Calle única Numero 987",
        "email":"juan.perez@xyz.com",
        "telefono":"046029400",
        "fecha_emision_documento_sustento": "2015-02-27T11:28:56.782Z",
        "numero_documento_sustento": "001-001-000000008",
        "numero_autorizacion_documento_sustento": "0123456789",
        "motivo_traslado": "Venta",
        "tipo_documento_sustento": "01",
        "ruta": "GYE - UIO",
        "documento_aduanero_unico": "",
        "codigo_establecimiento_destino": "001",
        "items": [{
          "cantidad": 1.0,
          "codigo_principal": "SPS",
          "codigo_auxiliar": "001",
          "descripcion": "Playstation 4",
          "detalles_adicionales": {
            "numero": "DFGDG2342-2",
            "serie": "1-2014-2"
          }
        }]
      }]
    }
    

    Retorna un objeto tipo guía de remisión que incluye un nuevo parámetro id, el cual identifica de manera única a la guía de remisión. El campo clave_acceso generado también se incluirá como parte de la respuesta.

    Consulta de una guía de remisión

    Consulta una guía de remisión para obtener toda la información del comprobante, incluyendo el estado del mismo. El parámetro estado de la respuesta obtenida al invocar esta operación, indica el estado actual del comprobante.

    Si es necesario conocer en detalle, en que estado del proceso de emisión, se debe examinar los parámetros envio_sri y autorizacion_sri de la respuesta.

    Operación

    GET /waybills/<receipt-id>

    Requerimiento

    Requerimiento de ejemplo

    curl -v https://link.datil.co/waybills/<id-notacredito> \
    -H "Content-Type: application/json" \
    -H "X-Key: <clave-del-api>" \
    -H "X-Password: <clave-certificado-firma>" \
    
    import requests
    cabeceras = {'x-key': '<clave-del-api>'}
    respuesta = requests.get(
        'https://link.datil.co/waybills/<id-notacredito>',
        headers = cabeceras)
    
    using RestSharp;
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace DatilClient {
      class InvoicingServiceClient {
        static void Main(string[] args) {
    
          var client = new RestClient("https://link.datil.co/");
          var idNotaCredito = "<id-notacredito>";
          var request = new RestRequest("invoices/" + idNotaCredito, Method.GET);
          request.AddHeader("X-Key", "<clave-del-api>");
    
          IRestResponse response = client.Execute(request);
    
          Console.WriteLine(response.Content);
        }
      }
    }
    

    Reemplaza en la ruta <receipt-id> por el id de la guía de remisión que necesitas consultar.

    Respuesta

    Respuesta de ejemplo

    {
        "id": "abcf12343faad06785",
        "secuencial": "16",
        "fecha_emision": "2015-05-15",
        "version": "1.0.0",
        "clave_acceso": "1505201501099271255400110011000000000162092727615",
        "emisor": {
            "ruc": "0992712554001",
            "razon_social": "DATILMEDIA S.A.",
            "nombre_comercial": "Dátil",
            "direccion": null,
            "obligado_contabilidad": true,
            "contribuyente_especial": "",
            "establecimiento": {
                "codigo": "001",
                "direccion": "V.E. 112 Y CIRCUNVALACION NORTE",
                "punto_emision": "100"
            }
        },
        "estado": "AUTORIZADO",
        "correos_enviados": [
            {
                "fecha_envio": "2015-05-15T16:36:48.274604",
                "destinatarios": "juanantonioplaza@datilmedia.com"
            }
        ],
        "guia_remision": "",
        "informacion_adicional": [],
        "ambiente": "1",
        "totales": {
            "total_sin_impuestos": "150.00",
            "descuento": "0.00",
            "propina": "0.00",
            "impuestos": [
                {
                    "codigo": 2,
                    "codigo_porcentaje": "2",
                    "base_imponible": "150.00",
                    "valor": "18.00"
                }
            ],
            "importe_total": "168.00"
        },
        "comprador": {
            "razon_social": "Carlos L. Plaza",
            "identificacion": "0900102222",
            "tipo_identificacion": 1,
            "email": "cplaza@gye593.com",
            "direccion": "Calle Uno y Calle Dos",
            "telefono": "043334445"
        },
        "envio_sri": {
            "mensajes": [],
            "estado": "RECIBIDA",
            "fecha": ""
        },
        "tipo_emision": "1",
        "items": [
            {
                "detalles_adicionales": {
                    "Estadía": "2 noches",
                    "Habitación": "203"
                },
                "cantidad": "1.000000",
                "codigo_principal": "HAB",
                "codigo_auxiliar": "DOB",
                "descripcion": "Habitación doble",
                "precio_unitario": "150.000000",
                "descuento": "0.00",
                "precio_total_sin_impuestos": "",
                "impuestos": [
                    {
                        "tarifa": "12.00",
                        "codigo": "2",
                        "codigo_porcentaje": "2",
                        "base_imponible": "150.00",
                        "valor": "18.00"
                    }
                ]
            }
        ],
        "autorizacion": {
            "estado": "AUTORIZADO",
            "mensajes": [
                {
                    "identificador": "60",
                    "mensaje": "ESTE PROCESO FUE REALIZADO EN EL AMBIENTE DE PRUEBAS",
                    "tipo": "INFORMATIVO",
                    "informacion_adicional": ""
                }
            ],
            "numero": "1505201516323509927125540010266935227",
            "fecha": "2015-05-15T16:32:35.000380"
        }
    }
    
    Parámetro Tipo Descripción
    secuencial string Número de secuencia de la guía de remisión. Requerido
    emisor emisor Información completa del emisor. Requerido
    fecha_inicio_transporte string Fecha de emisión en formato AAAA-MM-DDHoraZonaHoraria, definido en el estándar ISO8601.
    fecha_fin_transporte string Fecha de emisión en formato AAAA-MM-DDHoraZonaHoraria, definido en el estándar ISO8601.
    direccion_partida string Dirección de partida
    transportista objeto tipo Transportista Información de la persona que transporta la carga
    ambiente integer Pruebas: 1.
    Producción 2.
    Requerido
    tipo_emision integer Emisión normal: 1.
    Emisión por indisponibilidad: 2
    Requerido
    destinatarios listado de objetos tipo destinatario Descripción de destinatarios y la mercadería transportada. Requerido
    version string Versión del formato de comprobantes electrónicos de SRI. Si no se especifica, se utilizará la última revisión del formato implementada,
    clave_acceso string La clave de acceso representa un identificador único del comprobante. Si esta información no es provista, Dátil la generará.
    ¿Cómo generar la clave de acceso?
    envio_sri objeto tipo envio sri Información luego de enviar el comprobante.
    autorizacion objeto tipo autorizacion sri Información de la autorización.org/html/rfc3339#section-5.6)
    informacion_adicional objeto Información adicional adjunta al comprobante en forma de diccionario. Ejemplo:
    {"email": "juan@empresa.com", "Carga asegurada por": "Securitas"}

    Notas de Débito

    Emisión de una nota de débito

    Operación

    POST /debit-notes/issue

    Requerimiento

    Requerimiento de ejemplo

    curl -v https://link.datil.co/debit-notes/issue \
    -H "Content-Type: application/json" \
    -H "X-Key: <API-key>" \
    -H "X-Password: <clave-certificado-firma>" \
    -d '{
      "ambiente":1,
      "tipo_emision":1,
      "secuencial":148,
      "fecha_emision":"2015-02-28T11:28:56.782Z",
      "emisor":{
        "ruc":"0910000000001",
        "obligado_contabilidad":true,
        "contribuyente_especial":"12345",
        "nombre_comercial":"XYZ Corp",
        "razon_social":"XYZ Corporación S.A.",
        "direccion":"Av. Primera 234 y calle 5ta",
        "establecimiento":{
          "punto_emision":"002",
          "codigo":"001",
          "direccion":"Av. Primera 234 y calle 5ta"
        }
      },
      "informacion_adicional":{
        "Tiempo de entrega":"5 días"
      },
      "totales":{
        "total_sin_impuestos":4359.54,
        "impuestos":[
          {
            "base_imponible":4359.54,
            "valor":523.14,
            "codigo":"2",
            "codigo_porcentaje":"2",
            "tarifa": 12.0
          }
        ],
        "importe_total":4882.68
      },
      "fecha_emision_documento_modificado": "2015-02-27T11:28:56.782Z",
      "numero_documento_modificado": "001-002-000058473",
      "tipo_documento_modificado": "01",
      "comprador":{
        "email":"juan.perez@xyz.com",
        "identificacion":"0987654321",
        "tipo_identificacion":"05",
        "razon_social":"Juan Pérez",
        "direccion":"Calle única Numero 987",
        "telefono":"046029400"
      },
      "items":[
        {
          "motivo":"Interés por mora",
          "valor":120.89
        }
      ]
    }'
    
    import requests, json
    
    nota_debito = {
      "ambiente":1,
      "tipo_emision":1,
      "secuencial":148,
      "fecha_emision":"2015-02-28T11:28:56.782Z",
      "emisor":{
        "ruc":"0910000000001",
        "obligado_contabilidad":true,
        "contribuyente_especial":"12345",
        "nombre_comercial":"XYZ Corp",
        "razon_social":"XYZ Corporación S.A.",
        "direccion":"Av. Primera 234 y calle 5ta",
        "establecimiento":{
          "punto_emision":"002",
          "codigo":"001",
          "direccion":"Av. Primera 234 y calle 5ta"
        }
      },
      "informacion_adicional":{
        "Tiempo de entrega":"5 días"
      },
      "totales":{
        "total_sin_impuestos":4359.54,
        "impuestos":[
          {
            "base_imponible":4359.54,
            "valor":523.14,
            "codigo":"2",
            "codigo_porcentaje":"2",
            "tarifa": 12.0
          }
        ],
        "importe_total":4882.68
      },
      "fecha_emision_documento_modificado": "2015-02-27T11:28:56.782Z",
      "numero_documento_modificado": "001-002-000058473",
      "tipo_documento_modificado": "01",
      "comprador":{
        "email":"juan.perez@xyz.com",
        "identificacion":"0987654321",
        "tipo_identificacion":"05",
        "razon_social":"Juan Pérez",
        "direccion":"Calle única Numero 987",
        "telefono":"046029400"
      },
      "items":[
        {
          "motivo":"Interés por mora",
          "valor":120.89
        }
      ]
    }}
    cabeceras = {
        'x-key': '<clave-del-api>',
        'x-password': '<clave-certificado-firma>',
        'content-type': 'application/json'}
    respuesta = requests.post(
        "https://link.datil.co/debit-notes/issue",
        headers = cabeceras,
        data = json.dumps(nota_debito))
    
    using RestSharp;
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace DatilClient {
      class InvoicingServiceClient {
        static void Main(string[] args) {
    
          // Este ejemplo utiliza RestSharp 
          // Para instalar anda al menú: tools > Library Package Manager > Package Manager Console
          // copia y pega y presiona enter: Install-Package RestSharp
    
          var client = new RestClient("https://link.datil.co/");
          var request = new RestRequest("debit-notes/issue", Method.POST);
          request.AddHeader("X-Key", "<clave-del-api>");
          request.AddHeader("X-Password", "<clave-certificado-firma>");
    
          request.AddBody(@"{
            ""ambiente"":1,
            ""tipo_emision"":1,
            ""secuencial"":148,
            ""fecha_emision"":""2015-02-28T11:28:56.782Z"",
            ""emisor"":{
              ""ruc"":""0910000000001"",
              ""obligado_contabilidad"":true,
              ""contribuyente_especial"":""12345"",
              ""nombre_comercial"":""XYZ Corp"",
              ""razon_social"":""XYZ Corporación S.A."",
              ""direccion"":""Av. Primera 234 y calle 5ta"",
              ""establecimiento"":{
                ""punto_emision"":""002"",
                ""codigo"":""001"",
                ""direccion"":""Av. Primera 234 y calle 5ta""
              }
            },
            ""moneda"":""USD"",
            ""informacion_adicional"":{
              ""Tiempo de entrega"":""5 días""
            },
            ""totales"":{
              ""total_sin_impuestos"":4359.54,
              ""impuestos"":[
                {
                  ""base_imponible"":0.0,
                  ""valor"":0.0,
                  ""codigo"":""2"",
                  ""codigo_porcentaje"":""0"",
                  ""tarifa"": 12.0
                },
                {
                  ""base_imponible"":4359.54,
                  ""valor"":523.14,
                  ""codigo"":""2"",
                  ""codigo_porcentaje"":""2""
                }
              ],
              ""total"":4882.68,
              ""propina"":0.0,
              ""descuento"":0.0
            },
            ""comprador"":{
              ""email"":""juan.perez@xyz.com"",
              ""identificacion"":""0987654321"",
              ""tipo_identificacion"":""05"",
              ""razon_social"":""Juan Pérez"",
              ""direccion"":""Calle única Numero 987"",
              ""telefono"":""046029400""
            },
            ""items"":[
              {
                ""cantidad"":622.0,
                ""codigo_principal"":""ZNC""
                ""codigo_auxiliar"": ""050"",
                ""precio_unitario"": 7.01,
                ""descripcion"": ""Zanahoria granel  50 Kg."",
                ""precio_total_sin_impuestos"": 4360.22,
                ""impuestos"": [
                  {
                    ""base_imponible"":4359.54,
                    ""valor"":523.14,
                    ""tarifa"":12.0,
                    ""codigo"":""2"",
                    ""codigo_porcentaje"":""2""
                  }
                ],
                ""detalles_adicionales"": {
                  ""Peso"":""5000.0000""
                },
                ""descuento"": 0.0
              }
            ]
          }");
    
          IRestResponse response = client.Execute(request);
    
          Console.WriteLine(response.Content);
          Console.ReadLine();
        }
      }
    }
    

    Para la emisión de una nota de débito se debe enviar la información completa del comprobante en el cuerpo del requerimiento en formato JSON.

    Parámetro Tipo Descripción
    secuencial string Número de secuencia de la nota de débito. Requerido
    emisor emisor Información completa del emisor. Requerido
    fecha_emision string Fecha de emisión en formato AAAA-MM-DDHoraZonaHoraria, definido en el estándar ISO8601.
    ambiente integer Pruebas: 1.
    Producción 2.
    Requerido
    totales objeto tipo totales Listado de totales. Requerido
    fecha_emision_documento_modificado string Fecha de emisión en formato AAAA-MM-DDHoraZonaHoraria, definido en el estándar ISO8601. Requerido
    numero_documento_modificado string Número completo del documento que se está afectando. Normalmente facturas. Ejm: 001-002-010023098 Requerido
    tipo_documento_modificado string Códigos de tipos de documentos. Requerido
    motivos arreglo de objetos tipo motivo Motivo o mitivos del débito. Ejm: Interés por mora. Requerido
    tipo_emision integer Emisión normal: 1.
    Emisión por indisponibilidad: 2
    Requerido
    version string Versión del formato de comprobantes electrónicos de SRI. Si no se especifica, se utilizará la última revisión del formato implementada,
    clave_acceso string La clave de acceso representa un identificador único del comprobante. Si esta información no es provista, Dátil la generará.
    ¿Cómo generar la clave de acceso?
    informacion_adicional objeto Información adicional adjunta al comprobante en forma de diccionario. Ejemplo:
    {"plan": "Inicial", "vigencia": "1 mes"}

    Totales

    Parámetro Tipo Descripción
    total_sin_impuestos float Total antes de los impuestos. Requerido
    importe_total float Total incluyendo impuestos. Requerido
    impuestos listado de objetos impuesto Impuestos aplicados al total de cargos. Requerido

    Impuesto

    Parámetro Tipo Descripción
    codigo string Código del tipo de impuesto
    codigo_porcentaje string Código del porcentaje.
    base_imponible float Base imponible.
    valor float Valor del total.
    tarifa float Porcentaje actual del impuesto expresado por un número entre 0.0 y 100.0

    Respuesta

    Respuesta de ejemplo

    {
      "id": "abcdef09876123cea56784f01",
      "ambiente":1,
      "tipo_emision":1,
      "secuencial":148,
      "fecha_emision":"2015-02-28T11:28:56.782Z",
      "clave_acceso": "2802201501091000000000120010010000100451993736618",
      "emisor":{
        "ruc": "0910000000001",
        "obligado_contabilidad": true,
        "contribuyente_especial": "12345",
        "nombre_comercial": "XYZ Corp",
        "razon_social": "XYZ Corporación S.A.",
        "direccion": "Av. Primera 234 y calle 5ta",
        "establecimiento": {
          "punto_emision": "002",
          "codigo": "001",
          "direccion": "Av. Primera 234 y calle 5ta"
        }
      },
      "moneda": "USD",
      "informacion_adicional": {
        "Tiempo de entrega": "5 días"
      },
      "totales": {
        "total_sin_impuestos": 4359.54,
        "impuestos": [
          {
            "base_imponible": 0.0,
            "valor": 0.0,
            "codigo": "2",
            "codigo_porcentaje": "0",
            "tarifa": 0.0
          },
          {
            "base_imponible": 4359.54,
            "valor": 523.14,
            "codigo": "2",
            "codigo_porcentaje": "2",
            "tarifa": 12.0
          }
        ],
        "importe_total": 4882.68,
        "propina": 0.0,
        "descuento": 0.0
      },
      "comprador": {
        "email": "juan.perez@xyz.com",
        "identificacion": "0987654321",
        "tipo_identificacion": "05",
        "razon_social": "Juan Pérez",
        "direccion": "Calle única Numero 987",
        "telefono": "046029400"
      },
      "items":[
        {
          "cantidad": 622.0,
          "codigo_principal": "ZNC",
          "codigo_auxiliar": "050",
          "precio_unitario": 7.01,
          "descripcion": "Zanahoria granel  50 Kg.",
          "precio_total_sin_impuestos": 4360.22,
          "impuestos":[
            {
              "base_imponible": 4359.54,
              "valor": 523.14,
              "tarifa": 12.0,
              "codigo": "2",
              "codigo_porcentaje": "2"
            }
          ],
          "detalles_adicionales": {
            "Peso": "5000.0000"
          },
          "descuento": 0.0
        }
      ]
    }
    

    Retorna un objeto tipo nota de débito que incluye un nuevo parámetro id, el cual identifica de manera única a la nota de débito. El campo clave_acceso generado también se incluirá como parte de la respuesta.

    Consulta de una nota de débito

    Consulta una nota de débito para obtener toda la información del comprobante, incluyendo el estado del mismo. El parámetro estado de la respuesta obtenida al invocar esta operación, indica el estado actual del comprobante.

    Si es necesario conocer en detalle, en que estado del proceso de emisión, se debe examinar los parámetros envio_sri y autorizacion_sri de la respuesta.

    Operación

    GET /debit-notes/<invoice-id>

    Requerimiento

    Requerimiento de ejemplo

    curl -v https://link.datil.co/debit-notes/<id-notacredito> \
    -H "Content-Type: application/json" \
    -H "X-Key: <clave-del-api>" \
    -H "X-Password: <clave-certificado-firma>" \
    
    import requests
    cabeceras = {'x-key': '<clave-del-api>'}
    respuesta = requests.get(
        'https://link.datil.co/debit-notes/<id-notacredito>',
        headers = cabeceras)
    
    using RestSharp;
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace DatilClient {
      class InvoicingServiceClient {
        static void Main(string[] args) {
    
          var client = new RestClient("https://link.datil.co/");
          var idNotaCredito = "<id-notacredito>";
          var request = new RestRequest("invoices/" + idNotaCredito, Method.GET);
          request.AddHeader("X-Key", "<clave-del-api>");
    
          IRestResponse response = client.Execute(request);
    
          Console.WriteLine(response.Content);
        }
      }
    }
    

    Reemplaza en la ruta <invoice-ID> por el id de la nota de débito que necesitas consultar.

    Respuesta

    Respuesta de ejemplo

    {
        "id": "abcf12343faad06785",
        "secuencial": "16",
        "fecha_emision": "2015-05-15",
        "version": "1.0.0",
        "clave_acceso": "1505201501099271255400110011000000000162092727615",
        "emisor": {
            "ruc": "0992712554001",
            "razon_social": "DATILMEDIA S.A.",
            "nombre_comercial": "Dátil",
            "direccion": null,
            "obligado_contabilidad": true,
            "contribuyente_especial": "",
            "establecimiento": {
                "codigo": "001",
                "direccion": "V.E. 112 Y CIRCUNVALACION NORTE",
                "punto_emision": "100"
            }
        },
        "estado": "AUTORIZADO",
        "correos_enviados": [
            {
                "fecha_envio": "2015-05-15T16:36:48.274604",
                "destinatarios": "juanantonioplaza@datilmedia.com"
            }
        ],
        "guia_remision": "",
        "moneda": "USD",
        "informacion_adicional": [],
        "ambiente": "1",
        "totales": {
            "total_sin_impuestos": "150.00",
            "descuento": "0.00",
            "propina": "0.00",
            "impuestos": [
                {
                    "codigo": 2,
                    "codigo_porcentaje": "2",
                    "base_imponible": "150.00",
                    "valor": "18.00"
                }
            ],
            "importe_total": "168.00"
        },
        "comprador": {
            "razon_social": "Carlos L. Plaza",
            "identificacion": "0900102222",
            "tipo_identificacion": 1,
            "email": "cplaza@gye593.com",
            "direccion": "Calle Uno y Calle Dos",
            "telefono": "043334445"
        },
        "envio_sri": {
            "mensajes": [],
            "estado": "RECIBIDA",
            "fecha": ""
        },
        "tipo_emision": "1",
        "items": [
            {
                "detalles_adicionales": {
                    "Estadía": "2 noches",
                    "Habitación": "203"
                },
                "cantidad": "1.000000",
                "codigo_principal": "HAB",
                "codigo_auxiliar": "DOB",
                "descripcion": "Habitación doble",
                "precio_unitario": "150.000000",
                "descuento": "0.00",
                "precio_total_sin_impuestos": "",
                "impuestos": [
                    {
                        "tarifa": "12.00",
                        "codigo": "2",
                        "codigo_porcentaje": "2",
                        "base_imponible": "150.00",
                        "valor": "18.00"
                    }
                ]
            }
        ],
        "autorizacion": {
            "estado": "AUTORIZADO",
            "mensajes": [
                {
                    "identificador": "60",
                    "mensaje": "ESTE PROCESO FUE REALIZADO EN EL AMBIENTE DE PRUEBAS",
                    "tipo": "INFORMATIVO",
                    "informacion_adicional": ""
                }
            ],
            "numero": "1505201516323509927125540010266935227",
            "fecha": "2015-05-15T16:32:35.000380"
        }
    }
    
    Parámetro Tipo Descripción
    secuencial string Número de secuencia de la nota de débito.
    estado string Posibles valores: AUTORIZADO, NO AUTORIZADO, ENVIADO, DEVUELTO, RECIBIDO
    fecha_emision string Fecha de emisión en formato AAAA-MM-DDHoraZonaHoraria, definido en el estándar [ISO8601](http://tools.ietf.
    clave_acceso string La clave de acceso representa un identificador único del comprobante. Si esta información no es provista, Dátil la generará.
    ¿Cómo generar la clave de acceso?
    envio_sri objeto tipo envio sri Información luego de enviar el comprobante.
    autorizacion objeto tipo autorizacion sri Información de la autorización.org/html/rfc3339#section-5.6).
    emisor objeto tipo emisor Información completa del emisor.
    moneda string Código ISO de la moneda.
    ambiente integer Pruebas: 1.
    Producción 2.
    totales objeto tipo totales Listado de totales.
    comprador objeto comprador Información del comprador.
    tipo_emision integer Emisión normal: 1.
    Emisión por indisponibilidad: 2
    items listado de objetos tipo item Items incluídos en la nota de débito.
    version string Versión de la especificación, opciones válidas: 1.0.0, 1.1.0

    Clave de acceso

    El sistema se encarga de generar automáticamente la clave de acceso de cada comprobante y luego retornarla como parte de la respuesta de emisión del mismo. Pero es posible también proveer la clave de acceso si se requiere tener control en la generación de esta clave. La siguiente documentación explica como debe estar estructurada la clave de acceso.

    Las claves de acceso estarán compuestas de 49 caracteres numéricos, la herramienta o aplicativo a utilizar por el sujeto pasivo deberá generar de manera automática la clave de acceso, que constituirá un requisito que dará el carácter de único a cada uno de los comprobantes, y la misma servirá para que el SRI indique si el comprobante es autorizado o no; se describe a continuación su conformación:

    Campo Formato Longitud
    Fecha de Emisión ddmmaaaa 8
    Tipo de Comprobante Tabla 4 2
    Número de RUC 1234567890001 13
    Tipo de Ambiente Tabla 5 1
    Serie 001001 6
    Número del Comprobante (secuencial) 000000001 9
    Código Numérico Numérico 8
    Tipo de Emisión Tabla 2 1
    Dígito Verificador (módulo 11 ) Numérico 1

    Nota: Todos los campos deben completarse conforme a la longitud indicada, es decir si en el número secuencial no completa los 9 dígitos, la clave de acceso estará mal conformada y será motivo de rechazo de la autorización en línea.

    El dígito verificador será aplicado sobre toda la clave de acceso (48 dígitos) y deberá ser incorporado por el contribuyente a través del método denominado Módulo 11, con un factor de chequeo ponderado (2), este mecanismo de detección de errores, será verificado al momento de la recepción del comprobante. Cuando el resultado del dígito verificador obtenido sea igual a once (11), el digito verificador será el cero (0) y cuando el resultado del dígito verificador obtenido sea igual a diez 10, el digito verificador será el uno (1).

    El código numérico constituye un mecanismo para brindar seguridad al emisor en cada comprobante emitido, el algoritmo numérico para conformar este código es potestad absoluta del contribuyente emisor.

    Ver aquí ejemplo de verificación utilizando algoritmo de módulo 11.

    Objetos comunes

    Emisor

    Información del emisor de un comprobante.

    Parámetro Tipo Descripción
    ruc string Número de RUC de 13 caracteres
    razon_social string Razón social. Máximo 300 caracteres
    nombre_comercial string Nombre comercial. Máximo 300 caracteres
    direccion string Dirección registrada en el SRI. Máximo 300 caracteres.
    contribuyente_especial string Número de resolución. En blanco si no es contribuyente especial.
    obligado_contabilidad boolean true si está obligado a llevar contabilidad.
    establecimiento establecimiento Establecimiento que emite la factura.

    Establecimiento

    Representa un establecimiento del comercio.

    Parámetro Tipo Descripción
    codigo string Código numérico de 3 caracteres que representa al establecimiento. Ejemplo: 001
    direccion string Dirección registrada en el SRI. Máximo 300 caracteres
    punto_emision string Código numérico de 3 caracteres que representa al punto de emisión, o punto de venta. Ejemplo: 001

    Persona

    Datos de una persona. Utilizado como comprador en facturas y notas de crédito, como sujeto en retenciones

    Parámetro Tipo Descripción
    razon_social string Razón social. Máximo 300 caracteres. Requerido
    identificacion string De 5 a 20 caracteres. Requerido
    tipo_identificacion string Ver tabla de tipos de identificación Requerido
    email string Correo electrónico. Máximo 300 caracteres. Requerido
    telefono string Teléfono.
    direccion string Dirección

    Tipo de identificación

    Tipo de identificación Código
    RUC 04
    CEDULA 05
    PASAPORTE 06
    VENTA A CONSUMIDOR FINAL* 07
    IDENTIFICACION DELEXTERIOR* 08
    PLACA 09

    Total Impuesto

    Parámetro Tipo Descripción
    codigo string Código del tipo de impuesto
    codigo_porcentaje string Código del porcentaje.
    base_imponible float Base imponible.
    valor float Valor del total.

    Impuesto Item

    Parámetro Tipo Descripción
    codigo string Código del tipo de impuesto
    codigo_porcentaje string Código del porcentaje.
    base_imponible float Base imponible.
    valor float Valor del total.
    tarifa float Porcentaje actual del impuesto expresado por un número entre 0.0 y 100.0

    Envío SRI

    Contiene la información y el estado de la fase de envío al SRI

    Parámetro Tipo Descripción
    mensajes listado de objeto mensaje SRI Listado de mensajes.
    estado string Posibles valores: RECIBIDA, DEVUELTA
    fecha string Fecha en la que se realizó el envío en formato AAAA-MM-DDHoraZonaHoraria, definido en el estándar ISO8601.

    Autorización SRI

    Contiene la información y el estado de la fase de autorización del comprobante.

    Parámetro Tipo Descripción
    mensajes listado de objeto mensaje SRI Listado de mensajes.
    estado string Posibles valores: AUTORIZADO, NO AUTORIZADO
    numero string Número de autorización.
    fecha string Fecha en la que se otorgó la autorización en formato AAAA-MM-DDHoraZonaHoraria, definido en el estándar ISO8601.

    Mensajes de respuesta SRI

    Parámetro Tipo Descripción
    identificador string Número con el que el SRI identifica al mensaje.
    mensaje string Descripción del error, información o advertencia.
    tipo string Posibles valores: INFORMATIVO, ADVERTENCIA, ERROR
    informacion_adicional string Información adicional del mensaje.

    Item de factura y nota de crédito

    Representa un producto o servicio del comercio.

    Parámetro Tipo Descripción
    descripcion string Descripción del ítem. Requerido
    codigo_principal string Código alfanumérico de uso del comercio. Máximo 25 caracteres.
    codigo_auxiliar string Código alfanumérico de uso del comercio. Máximo 25 caracteres.
    cantidad float Cantidad de items. Requerido
    precio_unitario float Precio unitario. Requerido
    descuento float El descuento es aplicado por cada producto, expresado en valor monetario. Requerido
    precio_total_sin_impuestos float Precio antes de los impuestos. Se obtiene multiplicando la cantidad por el precio_unitario
    unidad_medida string Unidad de medida Requerido para facturas de exportación
    impuestos listado de objetos tipo impuesto item Impuestos grabados sobre el producto. Requerido
    detalles_adicionales object Diccionario de datos de carácter adicional. Ejemplo:
    {"marca": "Ferrari", "chasis": "UANEI832-NAU101"}

    Retención en factura

    Caso específico de Retenciones en la Comercializadores / Distribuidores de derivados del Petróleo y Retención presuntiva de IVA a los Editores, Distribuidores y Voceadores que participan en la comercialización de periódicos y/o revistas.

    Parámetro Tipo Descripción
    codigo string Código del tipo de impuesto para la retención en la factura. Requerido
    codigo_porcentaje string Código del porcentaje del impuesto. Requerido
    tarifa float Porcentaje actual del impuesto. Máximo 3 enteros y 2 decimales. Requerido
    valor float Valor del impuesto. Máximo 12 enteros y 2 decimales. Requerido

    Catálogo

    Tipos de impuesto

    Impuesto Código
    IVA 2
    ICE 3
    IRBPNR 5

    Código de Porcentaje de IVA

    Porcentaje de IVA Código Tarifa
    0% 0 0
    12% 2 12
    14% 3 14
    No Objeto de Impuesto 6 -
    Exento de IVA 7 -

    Tipos de impuesto para la retención

    Impuesto Código
    RENTA 1
    IVA 2
    ISD 6

    Tipos de impuesto para la retención en la factura

    Caso específico de Retenciones en la Comercializadores / Distribuidores de derivados del Petróleo y Retención presuntiva de IVA a los Editores, Distribuidores y Voceadores que participan en la comercialización de periódicos y/o revistas.

    Impuesto Código
    IVA PRESUNTIVO Y RENTA 4

    Retención de IVA

    Porcentaje IVA Código
    10% 9
    20% 10
    30% 1
    70% 2
    100% 3

    Retención en cero

    Porcentaje IVA Código
    0% 7

    No procede retención

    Porcentaje IVA Código
    0% 8

    Retención ISD

    Porcentaje IVA Código
    5% 4580

    Retención de IVA Presuntivo y Renta

    Caso específico de Retenciones en la Comercializadores / Distribuidores de derivados del Petróleo y Retención presuntiva de IVA a los Editores, Distribuidores y Voceadores que participan en la comercialización de periódicos y/o revistas.

    Retención IVA

    Porcentaje IVA presuntivo Código
    100% 3
    12% (Editores a Margen de Comercialización Voceadores) 4
    100% (Venta periódicos y/o Revistas a Distribuidores) 5
    100% (Venta periódicos y/o Revistas a Voceadores) 6

    Retención Renta

    Porcentaje Renta Código
    0.2% 327
    0.3% 328

    Tipos de documentos

    Documento Código
    Factura 01
    Nota de Crédito 04
    Nota de Débito 05
    Guía de Remisión 06
    Comprobante de Retención 07

    Tipos de forma de pago

    Forma de pago Código
    Efectivo efectivo
    Cheque cheque
    Débito de cuenta bancaria debito_cuenta_bancaria
    Transferencia bancaria transferencia
    Depósito en cuenta (Corriente / Ahorros) deposito_cuenta_bancaria
    Tarjeta de débito tarjeta_debito
    Dinero electrónico Ecuador dinero_electronico_ec
    Tarjeta prepago tarjeta_prepago
    Tarjeta de crédito tarjeta_credito
    Otros otros
    Endoso de títulos endoso_titulos

    Equivalencia entre formas de pago Dátil y formas de pago del SRI

    Forma de pago Dátil Código Forma de pago SRI Código
    Efectivo efectivo Sin utilización del sistema financiero 01
    Cheque cheque Otros con utilización del sistema financiero 20
    Débito bancario debito_cuenta_bancaria Otros con utilización del sistema financiero 20
    Transferencia bancaria transferencia Otros con utilización del sistema financiero 20
    Tarjeta de crédito tarjeta_credito Tarjeta de crédito nacional 19
    Depósito en cuenta (Corriente / Ahorros) deposito_cuenta_bancaria Otros con utilización del sistema financiero 20
    Tarjeta de débito tarjeta_debito Tarjeta de débito 16
    Dinero electrónico Ecuador dinero_electronico_ec Dinero electrónico 17
    Tarjeta prepago tarjeta_prepago Tarjeta prepago 18
    Otros otros Otros con utilización del sistema financiero 20
    Endoso de títulos endoso_titulos Endoso de títulos 21

    Debido a que el Servicio de Rentas Internas exige incluir información del pago, las facturas a crédito se enviarán al SRI con forma de pago "Otros con utilización del sistema financiero".

    Errores

    Listado de códigos de error y su significado.

    Código Significado
    400 Bad Request -- La información provista está mal formada o incompleta.
    401 Unauthorized -- Tu clave de API no está autorizada para realizar esta acción
    403 Forbidden --
    404 Not Found -- El recurso especificado no existe.
    405 Method Not Allowed --
    406 Not Acceptable --
    500 Internal Server Error -- Error en el sistema.
    503 Service Unavailable -- Servicio temporalmente fuera de línea. Intenta más tarde.

    Notificaciones

    Dátil emite notificaciones cada vez que un comprobante es emitido. Te podrás suscribir a estas notificaciones proveyendo una URL en donde recibir los datos del comprobante emitido.

    Suscripción

    Para suscribirte a las notificaciones envía un requerimiento a:

    Operación

    POST /webhooks

    Requerimiento

    Requerimiento de ejemplo

    curl -v https://link.datil.co/webhooks \
    -H "Content-Type: application/json" \
    -H "X-Key: <clave-del-api>" \
    -H "X-Password: <clave-certificado-firma>" \
    -d '{
      "event_name": "receipt-issued",
      "webhook_url": "http://www.b2b.com/ereceipts/receive"
    }'
    
    import requests
    cabeceras = {'x-key': '<clave-del-api>'}
    suscripcion = {
      "event_name": "receipt-issued",
      "webhook_url": "http://www.b2b.com/ereceipts/receive"}
    
    respuesta = requests.post(
        'https://link.datil.co/webhooks',
        headers = cabeceras,
        data = json.dumps(suscripcion))
    
    using RestSharp;
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace DatilClient {
      class InvoicingServiceClient {
        static void Main(string[] args) {
    
          // Este ejemplo utiliza RestSharp 
          // Para instalar anda al menú: tools > Library Package Manager > Package Manager Console
          // copia y pega y presiona enter: Install-Package RestSharp
    
          var client = new RestClient("https://link.datil.co/");
          var idFactura = "<id-factura>";
          var request = new RestRequest("invoices/" + idFactura, Method.POST);
          request.AddHeader("X-Key", "<clave-del-api>");
          request.AddBody(@"{
            ""event_name"": "receipt-issued",
            ""webhook_url"": "http://www.b2b.com/ereceipts/receive"
          }");
    
          IRestResponse response = client.Execute(request);
    
          Console.WriteLine(response.Content);
        }
      }
    }
    
    Parámetro Tipo Descripción
    event_name string Podrá ser receipt-issued o issue-error. Requerido
    webhook_url string Dirección donde se recibirá la información en formato JSON Requerido

    El evento receipt-issued es emitido cuando el proceso de emisión termina correctamente. Los posibles estados de un comprobante al terminar de ser procesado correctamente pueden ser:

    El evento issue-error es emitido cuando ocurre un error en uno de los pasos del proceso de emisión. Los posibles estados de un comprobante al terminar de ser procesado correctamente pueden ser:

    Eventos

    Al ejecutarse un evento se enviará en un requerimiento tipo POST, la información completa del comprobante en conjunto con la autorización a la dirección registrada como webhook_url al momento de la suscripción.

    Autorizado

    Un comprobante Autorizado contendrá información como el siguiente ejemplo:

    {
      "secuencial":1267,
      "fecha_emision":"2015-12-04T19:28:56.782Z",
      "emisor":{
        "ruc":"0992712554001",
        "obligado_contabilidad":true,
        "contribuyente_especial":"",
        "nombre_comercial":"Datilmedia",
        "razon_social":"Datilmedia S.A.",
        "direccion":"Kennedy Norte Av. Miguel H. Alcivar",
        "establecimiento":{
          "punto_emision":"002",
          "codigo":"001",
          "direccion":"Calle A"
        },
        "email":"clientes@datilmedia.com"
      },
      "guia_remision":"001-002-007654320",
      "tipo":"factura",
      "moneda":"USD",
      "id":"1ae2afaf6fed46dcabb14d424311e232",
      "informacion_adicional":{
        "Tiempo de entrega":"5 días"
      },
      "ambiente":1,
      "totales":{
        "total_sin_impuestos":4359.54,
        "impuestos":[
          {
            "base_imponible":0.0,
            "valor":0.0,
            "codigo":"2",
            "codigo_porcentaje":"0"
          },
          {
            "base_imponible":4359.54,
            "valor":523.14,
            "codigo":"2",
            "codigo_porcentaje":"2"
          }
        ],
        "importe_total":4882.68,
        "propina":0.0,
        "descuento":0.0
      },
      "comprador":{
        "identificacion":"0924447956001",
        "tipo_identificacion":"04",
        "razon_social":"Juan Antonio Plaza",
        "direccion":"Calle única Numero: S/N",
        "telefono":"046015159",
        "email":"jplazaarguello@gmail.com"
      },
      "tipo_emision":1,
      "items":[
        {
          "precio_unitario":7.01,
          "descripcion":"CEMENTO ROCA 50 KG. (1) 40U C/PALET",
          "precio_total_sin_impuestos":4359.54,
          "impuestos":[
            {
              "base_imponible":4359.54,
              "valor":523.14,
              "tarifa":12.0,
              "codigo":"2",
              "codigo_porcentaje":"2"
            }
          ],
          "detalles_adicionales":{
            "Peso":"5000.0000",
            "Volumen":"1 Gl"
          },
          "cantidad":622.0,
          "codigo_auxiliar":"CTO2",
          "descuento":0.0,
          "codigo_principal":"CTO1"
        }
      ],
      "version":"1.0.0",
      "clave_acceso":"0412201501099271255400110010020000012671994716611",
      "api-key":"abcxyz1234567890mnbvqwe321tyu653",
      "autorizacion":{
        "numero":"0412201516042509927125540010331009539",
        "fecha":"2015-12-04T16:04:25",
        "estado":"AUTORIZADO",
        "mensajes":[
    
        ]
      }
    }
    

    No Autorizado

    Un comprobante No autorizado contendrá información como el siguiente ejemplo:

    {
      "secuencial":1267,
      "fecha_emision":"2015-12-04T19:28:56.782Z",
      "emisor":{
        "ruc":"0992712554001",
        "obligado_contabilidad":true,
        "contribuyente_especial":"",
        "nombre_comercial":"Datilmedia",
        "razon_social":"Datilmedia S.A.",
        "direccion":"Kennedy Norte Av. Miguel H. Alcivar",
        "establecimiento":{
          "punto_emision":"002",
          "codigo":"001",
          "direccion":"Calle A"
        },
        "email":"clientes@datilmedia.com"
      },
      "guia_remision":"001-002-007654320",
      "tipo":"factura",
      "moneda":"USD",
      "id":"1ae2afaf6fed46dcabb14d424311e232",
      "informacion_adicional":{
        "Tiempo de entrega":"5 días"
      },
      "ambiente":1,
      "totales":{
        "total_sin_impuestos":4359.54,
        "impuestos":[
          {
            "base_imponible":0.0,
            "valor":0.0,
            "codigo":"2",
            "codigo_porcentaje":"0"
          },
          {
            "base_imponible":4359.54,
            "valor":523.14,
            "codigo":"2",
            "codigo_porcentaje":"2"
          }
        ],
        "importe_total":4882.68,
        "propina":0.0,
        "descuento":0.0
      },
      "comprador":{
        "identificacion":"0924447956001",
        "tipo_identificacion":"04",
        "razon_social":"Juan Antonio Plaza",
        "direccion":"Calle única Numero: S/N",
        "telefono":"046015159",
        "email":"jplazaarguello@gmail.com"
      },
      "tipo_emision":1,
      "items":[
        {
          "precio_unitario":7.01,
          "descripcion":"CEMENTO ROCA 50 KG. (1) 40U C/PALET",
          "precio_total_sin_impuestos":4359.54,
          "impuestos":[
            {
              "base_imponible":4359.54,
              "valor":523.14,
              "tarifa":12.0,
              "codigo":"2",
              "codigo_porcentaje":"2"
            }
          ],
          "detalles_adicionales":{
            "Peso":"5000.0000",
            "Volumen":"1 Gl"
          },
          "cantidad":622.0,
          "codigo_auxiliar":"CTO2",
          "descuento":0.0,
          "codigo_principal":"CTO1"
        }
      ],
      "version":"1.0.0",
      "clave_acceso":"0412201501099271255400110010020000012671994716611",
      "api-key":"abcxyz1234567890mnbvqwe321tyu653",
      "autorizacion": {
        "numero": "2907201515283909927125540017656314390",
        "fecha": "2015-09-28T19:28:56.782Z",
        "estado": "NO AUTORIZADO",
        "mensajes": [{
          "identificador": 46,
          "mensaje": "RUC NO EXISTE",
          "informacion_adicional": "El RUC debe tener 13 dígitos.",
          "tipo": "ERROR"
        }]
      }
    }
    

    Devuelto

    Un comprobante Devuelto contendrá información como el siguiente ejemplo:

    {
      "secuencial":1267,
      "fecha_emision":"2015-12-04T19:28:56.782Z",
      "emisor":{
        "ruc":"0992712554001",
        "obligado_contabilidad":true,
        "contribuyente_especial":"",
        "nombre_comercial":"Datilmedia",
        "razon_social":"Datilmedia S.A.",
        "direccion":"Kennedy Norte Av. Miguel H. Alcivar",
        "establecimiento":{
          "punto_emision":"002",
          "codigo":"001",
          "direccion":"Calle A"
        },
        "email":"clientes@datilmedia.com"
      },
      "guia_remision":"001-002-007654320",
      "tipo":"factura",
      "moneda":"USD",
      "id":"1ae2afaf6fed46dcabb14d424311e231",
      "informacion_adicional":{
        "Tiempo de entrega":"5 días"
      },
      "ambiente":1,
      "totales":{
        "total_sin_impuestos":4359.54,
        "impuestos":[
          {
            "base_imponible":0.0,
            "valor":0.0,
            "codigo":"2",
            "codigo_porcentaje":"0"
          },
          {
            "base_imponible":4359.54,
            "valor":523.14,
            "codigo":"2",
            "codigo_porcentaje":"2"
          }
        ],
        "importe_total":4882.68,
        "propina":0.0,
        "descuento":0.0
      },
      "comprador":{
        "identificacion":"0924447956001",
        "tipo_identificacion":"04",
        "razon_social":"Juan Antonio Plaza",
        "direccion":"Calle única Numero: S/N",
        "telefono":"046015159",
        "email":"jplazaarguello@gmail.com"
      },
      "tipo_emision":1,
      "items":[
        {
          "precio_unitario":7.01,
          "descripcion":"CEMENTO ROCA 50 KG. (1) 40U C/PALET",
          "precio_total_sin_impuestos":4359.54,
          "impuestos":[
            {
              "base_imponible":4359.54,
              "valor":523.14,
              "tarifa":12.0,
              "codigo":"2",
              "codigo_porcentaje":"2"
            }
          ],
          "detalles_adicionales":{
            "Peso":"5000.0000",
            "Volumen":"1 Gl"
          },
          "cantidad":622.0,
          "codigo_auxiliar":"CTO2",
          "descuento":0.0,
          "codigo_principal":"CTO1"
        }
      ],
      "version":"1.0.0",
      "clave_acceso":"0412201501099271255400110010020000012671994716611",
      "api-key":"abcxyz1234567890mnbvqwe321tyu653",
      "envio_sri":{
        "estado":"DEVUELTA",
        "mensajes":[
          {
            "identificador":"35",
            "mensaje":"ARCHIVO NO CUMPLE ESTRUCTURA XML",
            "tipo":"ERROR",
            "informacion_adicional":"Se encontró el siguiente error en la estructura del comprobante: cvc-minLength-valid: Value '' with length = '0' is not facet-valid with respect to minLength '1' for type '#AnonType_valordetAdicionaldetallesAdicionalesdetalledetallesfactura'."
          }
        ]
      }
    }
    

    Error en firma

    {
      "secuencial":766,
      "firma":{
        "result":"bad",
        "error":"Clave de firma incorrecta, por favor inténtalo nuevamente.",
        "status":400
      },
      "fecha_emision":"2015-12-16T15:38:01-05:00",
      "emisor":{
        "ruc":"1792478103001",
        "obligado_contabilidad":"true",
        "contribuyente_especial":"",
        "nombre_comercial":"Dátil",
        "razon_social":"Datilmedia S.A.",
        "direccion":"Guayaquil Ecuador",
        "establecimiento":{
          "punto_emision":"003",
          "codigo":"001",
          "direccion":"Av. Primera 123 y Calle 2da, Guayas, Guayaquil."
        },
        "email":"jplaza@datilmedia.com"
      },
      "tipo":"factura",
      "moneda":"USD",
      "id":"9d30f85b12435a007ba1235e5007d123",
      "informacion_adicional":null,
      "ambiente":2,
      "certificate-password":null,
      "totales":{
        "total_sin_impuestos":2,
        "impuestos":[
          {
            "base_imponible":2274.11,
            "valor":272.89,
            "codigo":"2",
            "codigo_porcentaje":"2"
          }
        ],
        "importe_total":2547.0,
        "propina":0,
        "descuento":0,
        "descuento_adicional":0
      },
      "comprador":{
        "email":"jplaza@datilmedia.com",
        "identificacion":"0924392929",
        "tipo_identificacion":"04",
        "razon_social":"Juan Antonio Plaza",
        "direccion":"Mall del Sol Piso 3, Guayaquil",
        "telefono":"099999119"
      },
      "tipo_emision":1,
      "items":[
        {
          "cantidad":1,
          "codigo_principal":"8806085980334",
          "precio_unitario":1,
          "descripcion":"TELEVISORES LED 3D SAMSUNG UN55H6400AHXPA",
          "precio_total_sin_impuestos":1,
          "impuestos":[
            {
              "base_imponible":1,
              "valor":0.12,
              "tarifa":12.0,
              "codigo":"2",
              "codigo_porcentaje":"2"
            }
          ],
          "descuento":0
        },
        {
          "cantidad":2,
          "codigo_principal":"8806085462113",
          "precio_unitario":600,
          "descripcion":"LED 46 UN46F5500 SMART SAMSUNG",
          "precio_total_sin_impuestos":1200.00,
          "impuestos":[
            {
              "base_imponible":1200.00,
              "valor":144,
              "tarifa":12,
              "codigo":"2",
              "codigo_porcentaje":"2"
            }
          ],
          "descuento":0
        }
      ],
      "clave_acceso":"1612201501179247810300120010030987657662795494211",
      "api-key":"1b123043215678b890ce7656780032ce"
    }