¿Qué es el Resumen Diario?
El Resumen Diario de Boletas es un documento electrónico que agrupa todas las boletas emitidas en un día y las envía a SUNAT en un solo lote.Características
- Frecuencia: Diaria (puede ser hasta 7 días después de la emisión)
- Tipo de envío: Asíncrono (ticket + polling)
- Documentos incluidos: Solo boletas (tipo 03)
- Plazo máximo: 7 días calendario desde la fecha de emisión
- Correlativo: Secuencial por día (001, 002, 003…)
Tipos de Resumen Diario
1. Resumen de Adición (Estado ‘1’)
Envío de boletas nuevas emitidas. Uso:- Primera vez que se envían las boletas del día
- Boletas que no fueron incluidas en envíos anteriores
2. Resumen de Anulación (Estado ‘3’)
Anulación de boletas previamente aceptadas. Uso:- Anular boletas con errores
- Cancelar boletas por devolución
- Reemplazar boletas (anular + emitir nueva)
Diferencia con Comunicación de Baja:
- Comunicación de Baja: Para facturas (01), notas (07/08)
- Resumen Diario de Anulación: Solo para boletas (03)
Flujo de Envío de Resumen Diario
Seleccionar boletas a enviar
En el módulo de Ventas, filtre las boletas pendientes de envío:Criterios:
tipo_documento.cod_sunat = '03'(boleta)estado_sunat IS NULLoestado_sunat = '0'(sin enviar o solo XML generado)fecha_emisiondentro de los últimos 7 días
Iniciar envío de resumen
Haga clic en el botón Enviar Resumen Diario en la parte superior de la tabla.Se abrirá un modal solicitando:
- Fecha del resumen: Fecha que agrupa las boletas (generalmente la fecha de emisión)
- Boletas seleccionadas: Listado con serie-número y montos
- Total del lote: Suma de todas las boletas
Generar XML del resumen
El sistema genera un XML especial de tipo
Summary (RC):En SunatService::resumenDiario() (línea 1125-1219):-
Construye detalles por boleta:
-
Crea el objeto Summary:
-
Genera nombre del archivo:
Consultar estado del ticket
SUNAT procesa el resumen de forma asíncrona (5-30 minutos).Consulta manual:Vaya a Facturación → Consultar Tickets SUNAT.Ingrese el ticket y haga clic en Consultar.Endpoint API:Proceso interno (Estados del ticket:
SunatService::consultarTicket() línea 1232-1279):- Código 0: Aceptado - todas las boletas aprobadas
- Código 98: En proceso - esperar y reintentar
- Otros códigos: Error - ver mensaje detallado
Anulación de Boletas (Resumen de Baja)
Seleccionar boletas a anular
Filtre boletas con:
estado_sunat = '1'(aceptadas previamente)tipo_documento.cod_sunat = '03'
Generar resumen con estado '3'
En El detalle de cada boleta lleva
SunatService::resumenDiarioBaja() (línea 1224-1227):->setEstado('3'):Endpoint de Consulta de Ticket
Aceptado (código 0)
En proceso (código 98)
Rechazado
Automatización con Workers
Para evitar consultas manuales, configure un worker que consulte tickets pendientes:Correlativo del Resumen
El correlativo es secuencial por día y se reinicia cada día:Solución de Problemas
Error: 'Solo boletas (03) se envían por Resumen Diario'
Error: 'Solo boletas (03) se envían por Resumen Diario'
Ha seleccionado facturas u otros documentos. El Resumen Diario es exclusivamente para boletas.Facturas se envían individualmente con
POST /api/ventas/{id}/enviar-sunat.Error: 'El plazo máximo es 7 días desde la emisión'
Error: 'El plazo máximo es 7 días desde la emisión'
Las boletas tienen más de 7 días de emitidas. SUNAT no acepta resúmenes de boletas con más de 7 días.Solución:
- Si es error del sistema (las boletas son recientes), verifique la
fecha_emisionen la base de datos - Si realmente tienen más de 7 días, debe anularlas y emitir nuevas boletas
Ticket consulta infinita con código '98'
Ticket consulta infinita con código '98'
Si después de 1 hora sigue devolviendo ‘98’ (en proceso), puede haber un problema en SUNAT.Acciones:
- Verifique el estado en SUNAT Operaciones en Línea → Consultas → Consultar Envíos
- Si SUNAT muestra error, corrija y reenvíe
- Si SUNAT muestra exitoso, fuerza la actualización manual en el sistema
¿Puedo enviar un resumen con boletas de diferentes días?
¿Puedo enviar un resumen con boletas de diferentes días?
No es recomendable pero técnicamente posible. El campo
fecha_resumen debe ser la fecha representativa.Mejor práctica: Un resumen por día de emisión.Ejemplo:- Resumen del 2026-03-05: Todas las boletas emitidas el 05/03
- Resumen del 2026-03-06: Todas las boletas emitidas el 06/03
¿Cómo corrijo una boleta ya aceptada?
¿Cómo corrijo una boleta ya aceptada?
No se puede modificar. Opciones:
- Anular con Resumen de Baja y emitir nueva boleta correcta
- Emitir Nota de Crédito por el monto total (anula el efecto)
- Emitir Nota de Débito para ajustes por aumentos