Configuración básica
Puedes instalar la integración de Datil desde nuestro Marketplace. Una vez instalada, podrás emitir comprobantes electrónicos válidos ante el SRI, incluyendo facturas, notas de crédito, notas de débito, comprobantes de retención, guías de remisión y liquidaciones de compra.Prerrequisitos
Antes de usar esta integración, necesitas:- Cuenta activa en Datil — Regístrate en datil.co
- Firma electrónica — Archivo .p12 cargado en tu cuenta de Datil
- RUC activo — Tu RUC debe estar habilitado para facturación electrónica en el SRI
Credenciales requeridas
| Campo | Descripción | Requerido |
|---|---|---|
| API Key | Clave API de tu cuenta Datil | Sí |
| RUC | RUC del emisor (13 dígitos) | Sí |
| Razón Social | Nombre legal del emisor | Sí |
| Establecimiento | Código del establecimiento (por defecto “001”) | No |
| Punto de Emisión | Código del punto de emisión (por defecto “001”) | No |
| Signature Password | Contraseña de la firma electrónica | No |
Puedes obtener tu API Key desde el dashboard de Datil en Configuración > API.
Funcionalidades
Emitir factura electrónica
Emite una factura electrónica válida ante el SRI. El IVA se calcula automáticamente según el código de impuesto. Inputs:- buyer_id (string) — Identificación del comprador (RUC, Cédula o Pasaporte).
- buyer_id_type (enum:
04|05|06|07) — Tipo de identificación. - buyer_name (string) — Nombre o razón social del comprador.
- buyer_email (opcional, string) — Email para envío electrónico.
- buyer_address (opcional, string) — Dirección del comprador.
- buyer_phone (opcional, string) — Teléfono del comprador.
- items (array de objeto) — Productos o servicios facturados:
- description (string) — Descripción del item.
- quantity (number) — Cantidad.
- unit_price (number) — Precio unitario sin impuesto.
- discount (opcional, number) — Porcentaje de descuento (0-100).
- tax_code (opcional, enum) — Código de IVA (por defecto “2”=15%).
- product_code (opcional, string) — Código interno del producto.
- payment_method (opcional, enum) — Método de pago (por defecto “01”=Efectivo).
- payment_term_days (opcional, number) — Plazo de pago en días (para ventas a crédito).
- currency (opcional, string) — Moneda (por defecto “USD”).
- additional_info (opcional, objeto) — Información adicional clave-valor.
Emitir nota de crédito
Emite una nota de crédito para modificar una factura previamente emitida. Se usa para devoluciones, correcciones de precio o descuentos posteriores. Inputs:- buyer_id (string) — Identificación del comprador.
- buyer_id_type (enum:
04|05|06|07) — Tipo de identificación. - buyer_name (string) — Nombre del comprador.
- buyer_email (opcional, string) — Email del comprador.
- modified_document_number (string) — Número de factura original (formato: 001-001-000000001).
- modified_document_date (string) — Fecha de la factura original (ISO).
- reason (string) — Motivo de la nota de crédito.
- items (array de objeto) — Items que se acreditan (mismo formato que factura).
- additional_info (opcional, objeto) — Información adicional.
Emitir nota de débito
Emite una nota de débito para agregar cargos a una factura existente, como intereses por mora o cargos adicionales.El número secuencial debe proporcionarse manualmente ya que la API de Datil no soporta listado de notas de débito emitidas.
- sequential (number) — Número secuencial de la nota de débito.
- buyer_id (string) — Identificación del comprador.
- buyer_id_type (enum:
04|05|06|07) — Tipo de identificación. - buyer_name (string) — Nombre del comprador.
- modified_document_number (string) — Número de factura original.
- modified_document_date (string) — Fecha de la factura original.
- items (array de objeto) — Cargos a agregar:
- reason (string) — Descripción del cargo.
- value (number) — Monto del cargo.
- tax_code (opcional, enum) — Código de IVA (por defecto “4”=15%).
Emitir comprobante de retención
Emite un comprobante de retención cuando retienes impuesto a la renta o IVA a tus proveedores.El número secuencial debe proporcionarse manualmente.
- sequential (number) — Número secuencial de la retención.
- subject_id (string) — Identificación del sujeto retenido (proveedor).
- subject_id_type (enum:
04|05|06|07) — Tipo de identificación. - subject_name (string) — Nombre del proveedor.
- subject_email (opcional, string) — Email del proveedor.
- fiscal_period (string) — Período fiscal (formato: MM/YYYY).
- items (array de objeto) — Retenciones aplicadas:
- tax_base (number) — Base imponible.
- tax_code (string) — Código de impuesto (1=Renta, 2=IVA).
- percentage_code (string) — Código del porcentaje de retención.
- percentage (number) — Porcentaje de retención.
- support_document_number (string) — Número del documento sustento.
- support_document_date (string) — Fecha del documento sustento.
Emitir guía de remisión
Emite una guía de remisión para el transporte de mercadería.El número secuencial debe proporcionarse manualmente.
- sequential (number) — Número secuencial de la guía.
- departure_address (string) — Dirección de partida.
- transport_start_date (string) — Fecha de inicio del transporte (ISO).
- transport_end_date (string) — Fecha de fin del transporte (ISO).
- driver_id (string) — Identificación del transportista.
- driver_id_type (enum:
04|05|06|07) — Tipo de identificación. - driver_name (string) — Nombre del transportista.
- vehicle_plate (string) — Placa del vehículo.
- recipients (array de objeto) — Destinatarios y sus items:
- recipient_id (string) — Identificación del destinatario.
- recipient_id_type (enum) — Tipo de identificación.
- recipient_name (string) — Nombre del destinatario.
- recipient_address (string) — Dirección de entrega.
- transfer_reason (string) — Motivo del traslado.
- items (array) — Items transportados.
Emitir liquidación de compra
Emite una liquidación de compra cuando compras a proveedores informales que no pueden emitir facturas.El número secuencial debe proporcionarse manualmente.
- sequential (number) — Número secuencial de la liquidación.
- supplier_id (string) — Identificación del proveedor.
- supplier_id_type (enum:
04|05|06|07) — Tipo de identificación. - supplier_name (string) — Nombre del proveedor.
- supplier_email (opcional, string) — Email del proveedor.
- items (array de objeto) — Items comprados (mismo formato que factura).
- payment_method (opcional, enum) — Método de pago.
Consultar estado de factura
Consulta el estado de autorización de una factura emitida. Inputs:- invoice_id (string) — Número secuencial (ej. “001-001-000000004” o solo “4”) o ID de la factura.
Listar facturas emitidas
Lista las facturas emitidas con filtros opcionales. Inputs:- page_size (opcional, number) — Resultados por página (1-100, por defecto 20).
- page (opcional, number) — Número de página.
- customer_tax_id (opcional, string) — Filtrar por RUC/Cédula del cliente.
- date_range (opcional, enum) — Rango de fechas relativo:
today,yesterday,last_7_days,last_30_days,this_month,last_month,this_year. - issue_date_start (opcional, string) — Fecha inicial (YYYY-MM-DD).
- issue_date_end (opcional, string) — Fecha final (YYYY-MM-DD).
Listar notas de crédito emitidas
Lista las notas de crédito emitidas con filtros opcionales. Inputs:- page_size (opcional, number) — Resultados por página (1-100, por defecto 20).
- page (opcional, number) — Número de página.
- customer_tax_id (opcional, string) — Filtrar por RUC/Cédula del cliente.
- date_range (opcional, enum) — Rango de fechas relativo.
- issue_date_start (opcional, string) — Fecha inicial (YYYY-MM-DD).
- issue_date_end (opcional, string) — Fecha final (YYYY-MM-DD).
Listar retenciones recibidas
Lista las retenciones que tus clientes han aplicado a tus facturas. Inputs:- page_size (opcional, number) — Resultados por página (1-100, por defecto 20).
- page (opcional, number) — Número de página.
- issuer_tax_id (opcional, string) — Filtrar por RUC del cliente emisor.
- date_range (opcional, enum) — Rango de fechas relativo.
- issue_date_start (opcional, string) — Fecha inicial (YYYY-MM-DD).
- issue_date_end (opcional, string) — Fecha final (YYYY-MM-DD).
Listar facturas recibidas
Lista las facturas que has recibido de tus proveedores. Inputs:- page_size (opcional, number) — Resultados por página (1-100, por defecto 20).
- page (opcional, number) — Número de página.
- supplier_tax_id (opcional, string) — Filtrar por RUC del proveedor.
- date_range (opcional, enum) — Rango de fechas relativo.
- issue_date_start (opcional, string) — Fecha inicial (YYYY-MM-DD).
- issue_date_end (opcional, string) — Fecha final (YYYY-MM-DD).
Listar notas de crédito recibidas
Lista las notas de crédito que has recibido de tus proveedores. Inputs:- page_size (opcional, number) — Resultados por página (1-100, por defecto 20).
- page (opcional, number) — Número de página.
- supplier_tax_id (opcional, string) — Filtrar por RUC del proveedor.
- date_range (opcional, enum) — Rango de fechas relativo.
- issue_date_start (opcional, string) — Fecha inicial (YYYY-MM-DD).
- issue_date_end (opcional, string) — Fecha final (YYYY-MM-DD).
Validar RUC/Cédula
Valida un número de identificación ecuatoriano (RUC o Cédula) según las reglas del SRI. Inputs:- tax_id (string) — Número de identificación a validar.
- type (opcional, enum:
04|05|06|07) — Tipo esperado de identificación.
Diagnosticar error del SRI
Obtiene una explicación y solución para códigos de error del SRI. Inputs:- error_code (string) — Código de error del SRI.
- error_message (opcional, string) — Mensaje de error original.
Obtener catálogos del SRI
Obtiene los códigos de los catálogos del SRI para facturación electrónica. Inputs:- catalog (opcional, enum) — Nombre del catálogo:
id-types,tax-rates,payment-methods,document-types,retention-income-codes,retention-vat-codes.
Obtener último secuencial
Obtiene el último número secuencial usado para un tipo de documento. Inputs:- document_type (enum:
invoice|credit_note) — Tipo de documento.
Referencia de códigos
Tipos de identificación
| Código | Descripción |
|---|---|
| 04 | RUC |
| 05 | Cédula |
| 06 | Pasaporte |
| 07 | Consumidor Final |
Tarifas de IVA
| Código | Tarifa |
|---|---|
| 0 | 0% |
| 2 | 12% |
| 3 | 14% |
| 4 | 15% |
| 5 | 5% |
| 6 | No objeto de IVA |
| 7 | Exento de IVA |
| 8 | IVA diferenciado |
Métodos de pago
| Código | Descripción |
|---|---|
| 01 | Efectivo |
| 15 | Compensación de deudas |
| 16 | Tarjeta de débito |
| 17 | Dinero electrónico |
| 18 | Tarjeta prepago |
| 19 | Tarjeta de crédito |
| 20 | Otros |
| 21 | Endoso de títulos |