Formato de Documentos
Especificaciones para el formato de documentos JSON
Formato de Documentos JSON
Para utilizar MSeller ECF, debes enviar documentos en formato JSON que sigan la estructura basada en las especificaciones de la DGII. La plataforma se encargará de transformar automáticamente tu JSON a XML y de aplicar la firma electrónica.
Especificaciones de DGII
Aunque enviarás los documentos en formato JSON, la estructura debe seguir el mismo esquema definido por la DGII para los documentos XML. Puedes consultar la documentación oficial para entender la descripción de cada campo en el Formato Comprobante Fiscal Electrónico (e-CF) V1.0.
Proceso de transformación JSON a XML
MSeller ECF simplifica el proceso de integración al manejar automáticamente la transformación de JSON a XML y la firma electrónica. El flujo completo es el siguiente:
En el Cliente:
- Envío de JSON: Tu sistema envía el documento en formato JSON
- Recepción de respuesta: Recibes inmediatamente códigos de seguridad y enlace QR
- Consulta posterior: Puedes consultar el estado final del documento cuando lo necesites
En MSeller:
- Recepción del JSON: MSeller recibe el documento JSON
- Transformación a XML: Conversión automática al formato requerido por la DGII
- Firma electrónica: Aplicación de la firma con tu certificado digital
- Almacenamiento: Guardado seguro del documento XML firmado
- Generación de códigos: Creación de códigos de seguridad y QR para la representación impresa
- Envío asíncrono: MSeller envía el documento a la DGII
- Gestión de estado: Actualización del estado del documento tras la respuesta de la DGII
En la DGII:
- Recepción: La DGII recibe el documento XML firmado
- Procesamiento: Validación y procesamiento del documento fiscal
Ejemplo de documento JSON
A continuación se muestra un ejemplo del formato JSON que debes enviar:
{
"ECF": {
"Encabezado": {
"Version": "1.0",
"IdDoc": {
"TipoeCF": "31",
"eNCF": "E310571508136",
"FechaVencimientoSecuencia": "31-12-2026",
"IndicadorEnvioDiferido": "1",
"IndicadorMontoGravado": "0",
"TipoIngresos": "05",
"TipoPago": "2",
"FechaLimitePago": "07-08-2026",
"TotalPaginas": 1
},
"Emisor": {
"RNCEmisor": "102320799",
"RazonSocialEmisor": "MSeller SRL",
"DireccionEmisor": "DireccionEmisor1",
"FechaEmision": "29-06-2025"
},
"Comprador": {
"RNCComprador": "101023122",
"RazonSocialComprador": "Cliente Prueba SRL"
},
"Totales": {
"MontoGravadoTotal": 540.0,
"MontoGravadoI1": 540.0,
"MontoExento": 0,
"ITBIS1": 18,
"TotalITBIS": 97.2,
"TotalITBIS1": 97.2,
"MontoTotal": 637.2,
"MontoNoFacturable": 0
}
},
"DetallesItems": {
"Item": [
{
"NumeroLinea": "1",
"IndicadorFacturacion": "1",
"NombreItem": "Producto 1",
"IndicadorBienoServicio": "1",
"CantidadItem": 24,
"UnidadMedida": "43",
"PrecioUnitarioItem": 25.0,
"DescuentoMonto": 60.0,
"TablaSubDescuento": {
"SubDescuento": [
{
"TipoSubDescuento": "%",
"SubDescuentoPorcentaje": 10.0,
"MontoSubDescuento": 60.0
}
]
},
"MontoItem": 540.0
}
]
},
"Paginacion": {
"Pagina": [
{
"PaginaNo": 1,
"NoLineaDesde": 1,
"NoLineaHasta": 1,
"SubtotalMontoGravadoPagina": 540.0,
"SubtotalMontoGravado1Pagina": 540.0,
"SubtotalExentoPagina": 0,
"SubtotalItbisPagina": 97.2,
"SubtotalItbis1Pagina": 97.2,
"MontoSubtotalPagina": 637.2,
"SubtotalMontoNoFacturablePagina": 0
}
]
},
"FechaHoraFirma": ""
}
}Implementaciones de referencia
Para facilitar la implementación, proporcionamos ejemplos de código que puedes utilizar como referencia:
Respuesta al envío de documentos
Al enviar un documento JSON, recibirás una respuesta inmediata con la siguiente estructura:
{
"rnc": "102320705",
"ecf": "E310000009175",
"internalTrackId": "58f1bdd7-f4be-4a2e-a1e6-570c95b8d477",
"securityCode": "fWCZCV",
"qr_url": "https://ecf.dgii.gov.do/testecf/consultatimbre?rncemisor=102320705&RncComprador=101023122&encf=E310000009175&FechaEmision=14-05-2025&montototal=637.2&FechaFirma=14-05-2025%2002:57:33&codigoseguridad=fWCZCV",
"signedDate": "14-05-2025 02:57:33"
}Campos de la respuesta:
| Campo | Descripción |
|---|---|
| rnc | RNC de la entidad emisora |
| ecf | Número de comprobante fiscal electrónico |
| internalTrackId | ID de seguimiento interno de MSeller para localizar esta transacción |
| securityCode | Código de seguridad para la representación impresa |
| qr_url | URL del código QR para consulta del documento |
| signedDate | Fecha y hora en que se firmó el documento |
Consideraciones importantes
Al generar los documentos JSON, ten en cuenta:
- Estructura correcta: Aunque envías JSON, la estructura debe seguir el esquema definido por la DGII.
- Datos requeridos: Asegúrate de incluir todos los campos obligatorios.
- Formato de valores: Presta especial atención al formato de fechas, montos y otros campos con formato específico.
- Procesamiento asíncrono: Recuerda que el documento se procesa de forma asíncrona, por lo que debes consultar su estado después.
Herramientas recomendadas
Para facilitar la generación y validación de documentos JSON:
- Bibliotecas JSON: Utiliza bibliotecas estándar para la manipulación de JSON en tu lenguaje de programación.
- Validadores JSON Schema: Implementa validaciones contra un esquema JSON basado en la estructura requerida.
- Clientes HTTP: Utiliza librerías robustas para las llamadas a la API.
Soporte técnico
Si tienes dudas específicas sobre el formato de los documentos o encuentras dificultades durante la implementación, contacta a nuestro equipo de soporte técnico a través del portal de soporte.