Anulación de documentos electrónicos en el SFEP de Panamá: flujo técnico y restricciones DGI
Cómo anular documentos electrónicos en el SFEP de Panamá: ventana de 24 horas, endpoint dedicado, payload requerido, firma digital y estados DGI. Guía técnica para ISVs.
Anulación de documentos electrónicos en el SFEP de Panamá: flujo técnico y restricciones DGI
Por Ing. Carlos Méndez | 10 de septiembre de 2026
Ing. Carlos Méndez es arquitecto de software con más de 10 años integrando sistemas fiscales en América Latina. Ha liderado implementaciones de facturación electrónica en Colombia, México y Centroamérica para ISVs de mediana y gran escala.
Un desarrollador emite una factura a las 11:48 PM y detecta que el número de RUC del receptor está equivocado. Tiene 12 minutos antes de que expire la ventana de anulación. El problema: no tiene implementado el flujo de anulación porque asumió que usaría el mismo endpoint de emisión. El SFEP usa un endpoint diferente, con un payload diferente y un proceso de firma que debe construirse desde cero.
Esta guía documenta el flujo completo de anulación en el SFEP: qué puede anularse, la ventana de tiempo, el payload exacto, el proceso de firma y los estados que retorna el DGI. El objetivo es que cualquier ISV tenga este flujo implementado antes de necesitarlo.
Qué documentos pueden anularse en el SFEP
El SFEP permite anular los siguientes tipos de documentos dentro de la ventana de 24 horas: facturas de compra/venta (TipoDocumento 01), facturas de débito fiscal (02), facturas de exportación (03), notas de crédito (04) y notas de débito (05). No es posible anular un documento que ya tiene documentos de ajuste activos referenciándolo: si la factura tiene una NCE o NDE aceptada, primero deben anularse esos documentos (si están dentro de su ventana) y luego anular la factura.
Documentos que NO pueden anularse: documentos con más de 24 horas desde su emisión, documentos con estado RECHAZADO (ya no existen en el registro del DGI), y documentos que ya fueron anulados previamente.
La ventana de 24 horas: cómo se calcula
La ventana de anulación se calcula desde el campo FechaEmision del documento, en hora local de Panamá (UTC-5). Un documento emitido el 10 de septiembre a las 11:58 PM puede anularse hasta el 11 de septiembre a las 11:58 PM. El PAC valida el timestamp del servidor en el momento de recibir la solicitud de anulación, no el timestamp del cliente.
Error frecuente: calcular la ventana en UTC en lugar de UTC-5. Un documento emitido a las 2:00 AM UTC (que equivale a las 9:00 PM del día anterior en Panamá) tiene su ventana calculada desde las 9:00 PM hora Panamá, no desde las 2:00 AM UTC. Los sistemas que usan reloj UTC sin conversión pueden intentar anular fuera de ventana y recibir el error E-090.
El endpoint de anulación: diferente al de emisión
La anulación en el SFEP no se realiza a través del mismo endpoint que la emisión de documentos. Cada PAC expone un endpoint dedicado para anulaciones, comúnmente en la ruta POST /anulaciones o DELETE /documentos/{id}. La autenticación es la misma que para emisión: token Bearer o credenciales OAuth2 según el PAC.
Los ISVs que usan proveedores de API con abstracción SFEP suelen tener un endpoint único que internamente dirige la solicitud al flujo correcto del PAC. En implementaciones directas contra el PAC, debe implementarse el flujo de anulación por separado desde el inicio del proyecto.
Estructura del payload de anulación
El payload de anulación es más compacto que el XML de emisión, pero igualmente requiere firma digital. Los campos obligatorios son: NumeroDocumento (identificador del documento a anular, en formato original), TipoDocumento (tipo del documento a anular), FechaEmisionDocumento (fecha de emisión original, en ISO 8601), RUCEmisor (RUC del emisor, idéntico al del documento original), y MotivoAnulacion (texto libre, máximo 300 caracteres describiendo la razón).
// Pseudocodigo payload de anulacion SFEP Panama
{
"NumeroDocumento": "FAC-2026-009999",
"TipoDocumento": "01",
"FechaEmisionDocumento": "2026-09-10T23:48:00-05:00",
"RUCEmisor": "888-123-45678",
"MotivoAnulacion": "Error en RUC del receptor. Se reemitira con datos correctos.",
"FirmaDigital": "<firma XAdES-BES del payload canonicalizado>"
}Firma digital del payload de anulación
El payload de anulación debe firmarse con el mismo certificado XAdES-BES usado para emitir el documento. La firma se aplica sobre el JSON canonicalizado o el XML del payload según el formato que exija el PAC. Si el PAC acepta JSON, la firma se incluye en el campo FirmaDigital como Base64. Si el PAC acepta XML, el payload completo se firma siguiendo el mismo proceso que para la emisión.
Error crítico: reutilizar la firma del documento original en el payload de anulación. La firma debe generarse sobre el payload de anulación, no sobre el documento original. El PAC detecta firmas reutilizadas y rechaza con E-101 (firma no corresponde al payload).
Estados de respuesta del DGI ante una anulación
El PAC retorna un identificador de transacción inmediato. El estado definitivo del DGI se consulta mediante polling. Los estados posibles para una anulación son: PENDIENTE (el PAC recibió la solicitud y la transmitió al DGI), ANULADO (el DGI confirmó la anulación, el documento queda marcado en el registro fiscal), y RECHAZADO (con código de error específico).
Una vez que el DGI confirma el estado ANULADO, el documento ya no puede reactivarse. Si se necesita emitir el mismo documento con datos correctos, debe generarse un nuevo documento con un nuevo número de correlativo. El número del documento anulado no puede reutilizarse.
Impacto de la anulación en el registro fiscal del emisor
Un documento anulado sigue visible en el historial del emisor en el sistema del DGI, pero marcado como ANULADO. No genera obligación de pago de ITBAM. Si el documento ya fue incluido en una declaración de impuestos del período en que se emitió, la anulación genera una discrepancia que debe corregirse en la siguiente declaración.
Los ISVs deben implementar un mecanismo que sincronice el estado de anulación con el módulo contable del sistema: si el documento anulado ya generó un asiento contable, ese asiento debe reversarse. Este proceso es responsabilidad del ISV, no del SFEP ni del PAC.
Preguntas frecuentes sobre anulaciones en el SFEP
¿Cuál es el plazo exacto para anular una factura en el SFEP de Panamá?
El plazo es de 24 horas desde el campo FechaEmision del documento, calculado en hora local de Panamá (UTC-5). El PAC valida el timestamp de recepción de la solicitud. Documentos fuera de este plazo reciben el error E-090 (ventana de anulación expirada) y solo pueden ajustarse mediante nota de crédito por el valor total.
¿Cómo puedo verificar si un documento ya fue anulado antes de intentar emitir una NCE sobre él?
Mediante el endpoint GET /documentos/{id}/estado del PAC. Si el estado retornado es ANULADO, no es posible emitir NCEs ni NDEs sobre ese documento. El sistema ISV debe validar el estado del documento origen antes de construir cualquier nota de ajuste, para evitar construir el XML completo y recibir un rechazo del PAC en el último paso.
¿Qué diferencia hay entre un documento rechazado y uno anulado en el SFEP?
Un documento RECHAZADO nunca fue aceptado por el DGI: el PAC lo descartó por error en la estructura o la firma, y no existe en el registro fiscal. No requiere anulación. Un documento ANULADO sí fue aceptado por el DGI y luego cancelado explícitamente por el emisor dentro de la ventana permitida. Ambos estados son definitivos, pero tienen consecuencias fiscales distintas.
¿Es posible anular una NCE o NDE que ya fue aceptada por el DGI?
Sí, dentro de las 24 horas desde su emisión. El proceso es idéntico al de la anulación de una factura. Si la NCE o NDE a anular ya fue procesada en el sistema contable del receptor, se recomienda coordinar con el receptor antes de proceder, ya que la anulación afectará su registro de crédito o cargo.
---
Sobre el autor
Ing. Carlos Méndez es arquitecto de software con más de 10 años integrando sistemas fiscales en América Latina. Ha liderado implementaciones de facturación electrónica en Colombia, México y Centroamérica para ISVs de mediana y gran escala.
Artículos Relacionados
Errores comunes al emitir notas de crédito, débito y anulaciones en el SFEP de Panamá
Los errores más frecuentes al emitir NCE, NDE y anulaciones en el SFEP de Panamá: códigos de rechazo del PAC, causas técnicas y soluciones para integradores.
Nota de débito electrónica en Panamá: cuándo emitirla y cómo implementarla en el SFEP
Guía técnica sobre la nota de débito electrónica en el SFEP de Panamá: casos de uso válidos, estructura XML, cálculo del ITBAM y restricciones del DGI.
Nota de crédito electrónica en Panamá: estructura XML, campos obligatorios y validación DGI
Cómo construir correctamente la nota de crédito electrónica en Panamá: campos XML obligatorios, cálculo del ITBAM, referencia al documento origen y errores de validación DGI más frecuentes.