Skip to main content
POST
https://api.fegora.com
/
dte
/
{id}
/
anular
Anular un DTE
curl --request POST \
  --url https://api.fegora.com/dte/{id}/anular \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "dteId": "BE28D8AF-55A2-41C8-96CD-74541641F094",
  "motivoAnulacion": "Se anula documento por errores de NIT y correcciones de montos"
}
'
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
dteId: 'BE28D8AF-55A2-41C8-96CD-74541641F094',
motivoAnulacion: 'Se anula documento por errores de NIT y correcciones de montos'
})
};

fetch('https://api.fegora.com/dte/{id}/anular', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
import requests

url = "https://api.fegora.com/dte/{id}/anular"

payload = {
"dteId": "BE28D8AF-55A2-41C8-96CD-74541641F094",
"motivoAnulacion": "Se anula documento por errores de NIT y correcciones de montos"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
{
  "id": "BE28D8AF-55A2-41C8-96CD-74541641F094",
  "serie": "2AF7AD7C",
  "numero": 1237666796,
  "tipo": "factura",
  "fechaEmision": "2026-03-01T01:26:44.749",
  "fechaCertificacion": "2026-03-01T07:26:56",
  "estado": "Anulado",
  "anulado": true,
  "esExentoIva": false,
  "total": 500,
  "moneda": "GTQ",
  "estaEnAmbienteDePruebas": true,
  "idCuenta": "12345678",
  "idCanal": 1,
  "canal": {
    "id": 1,
    "nombre": "API",
    "nombreCorto": "api"
  },
  "emisor": {
    "id": "12345678",
    "nombre": "PRUEBAS FEL -SAN MIGUEL, S.A.",
    "nombreComercial": "PRUEBAS FEL",
    "esExentoIva": false,
    "esRetenedorIva": false,
    "afiliacionIva": "GENERAL",
    "afiliacionIsr": "ISR_OPCIONAL_SIMPLIFICADO_SOBRE_INGRESOS_ACTIVIDADES_LUCRATIVAS",
    "codigoEstablecimiento": "1",
    "direccion": {
      "direccion": "Ruta 8 3-65 Zona 4 Guatemala",
      "municipio": "Guatemala",
      "departamento": "Guatemala",
      "codigoPostal": "01004",
      "pais": "GT"
    }
  },
  "receptor": {
    "id": "CF",
    "nombre": "DISTRIBUIDORA DETODO 3-51, SOCIEDAD ANONIMA",
    "direccion": {
      "direccion": "2a CALLE 3-51 ZONA 9 GUATEMALA",
      "municipio": "Guatemala",
      "departamento": "Guatemala",
      "codigoPostal": "00100",
      "pais": "GT"
    }
  },
  "items": [
    {
      "cantidad": 1,
      "descripcion": "Audifonos Bose NB-75",
      "tipo": "bien",
      "unidadMedida": "uni",
      "precioUnitario": 500,
      "precio": 500,
      "descuento": 0,
      "otroDescuento": 0,
      "total": 500,
      "impuestos": [
        {
          "nombreCorto": "IVA",
          "codigoUnidadGravable": 1,
          "cantidadUnidadesGravables": 0,
          "montoGravable": 446.4286,
          "montoImpuesto": 53.5714
        }
      ]
    }
  ],
  "datosAdicionales": [
    {
      "nombre": "SAT-1-2",
      "valor": "Sujeto a retención definitiva ISR",
      "etiqueta": "",
      "visible": true
    }
  ],
  "certificador": {
    "id": "12345678",
    "nombre": "Certificador de Pruebas, S.A.",
    "nombreComercial": "Certificador de Pruebas"
  },
  "archivoPdfUri": "https://cdn.fegora.com/dtes/2AF7AD7C-49C5-4BEC-95CD-BCD04BECE220.pdf",
  "archivoXmlUri": "https://cdn.fegora.com/dtes/2AF7AD7C-49C5-4BEC-95CD-BCD04BECE220.xml",
  "dteUri": "https://www.fegora.com/dtes/2AF7AD7C-49C5-4BEC-95CD-BCD04BECE220",
  "datosAnulacion": {
    "motivoAnulacion": "Se anula documento por errores de NIT y correcciones de montos",
    "fechaAnulacion": "2026-03-20T03:15:21.088",
    "fechaCertificacion": "2026-03-20T09:15:23"
  }
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

id
string<uuid>
required

Body

application/json

Cuerpo para POST /dte/{id}/anular. El dteId debe coincidir con el {id} de la ruta.

dteId
string<uuid>
required
motivoAnulacion
string
required
fechaAnulacion
string

Por defecto, la fecha/hora actual.

numeroDocumentoAnulacion
string
forzarAmbientePruebas
boolean
forzarActualizacion
boolean

Si es true, omite al certificador y persiste la anulación directamente (para cuentas de prueba cuyo certificador rechaza la anulación). Equivalente al header legacy x-force: true.

Response

Documento anulado.

Documento certificado, tal como lo devuelve Fegora al crear, consultar o anular un DTE. Los campos de fecha se devuelven generalmente en hora local del país del emisor, sin offset de zona horaria (formato yyyy-MM-ddTHH:mm:ss[.fffffff]); algunos campos puntuales (bitácora, fechas de certificación en ciertos países) pueden llevar sufijo Z u offset explícito.

id
string<uuid>
required

Identificador del documento. Es el número de autorización asignado por el certificador (SAT en Guatemala; codigoGeneracion en El Salvador; identificador Digifact en República Dominicana).

serie
string
required
numero
integer<int64>
required
tipo
enum<string>
required
Available options:
factura,
ticket,
facturaEspecial,
facturaCambiaria,
facturaExportacion,
notaCredito,
notaDebito,
notaAbono,
recibo,
reciboDonacion
fechaEmision
string
required
estado
enum<string>
required
Available options:
Certificado,
Anulado
total
number<double>
required
moneda
string
required
emisor
object
required

Representación de emisor o receptor tal como aparece en la respuesta de un DTE, con los datos fiscales resueltos por Fegora.

receptor
object
required

Representación de emisor o receptor tal como aparece en la respuesta de un DTE, con los datos fiscales resueltos por Fegora.

idCuenta
string
required
items
object[]
required
fechaCertificacion
string
numeroAcceso
integer

Número de acceso de contingencia. Omitido salvo que el documento se haya emitido en contingencia — no confundir con el id (número de autorización).

anulado
boolean
esExentoIva
boolean
motivoExencionIva
string
esExportacion
boolean

Omitido cuando es false.

estaEnAmbienteDePruebas
boolean
idCanal
integer
canal
object

Canal de emisión de la cuenta (por defecto, canal API).

idDteOriginal
string<uuid>
motivoAjuste
string
numeroTransaccion
string
dteOriginal
object

Resumen del documento original referenciado por una nota de crédito/débito. Fechas en hora local del emisor, sin offset de zona horaria.

certificador
object
selloEntidadFiscal
string

Sello/firma visual del certificador.

verificacionCertificadorUri
string
verificacionCertificadorQrBase64
string
datosExportacion
object

Datos de exportación (Guatemala). Obligatorio cuando esExportacion: true o tipo: "facturaExportacion". Una factura de exportación queda exenta de IVA automáticamente (frase 4-1, LEY_IVA_ART7_NUM2) — no debe enviarse motivoExencionIva ni calcular el IVA manualmente.

retencionesFacturaEspecial
object

Retenciones de Factura Especial (Guatemala): ISR 5% + IVA retenido. Sólo presente para tipo: "facturaEspecial".

abonosPactados
object[]
datosAnulacion
object

Bloque de anulación que se incluye en la respuesta de un DTE anulado. Fechas en hora local del emisor, sin offset de zona horaria.

archivoPdfUri
string

Se genera de forma diferida — puede estar ausente hasta el primer GET /dte/{id}/pdf.

archivoXmlUri
string
archivoJsonUri
string

Presente sólo para certificadores que devuelven el documento certificado en JSON (El Salvador).

dteUri
string
datosAdicionales
object[]
recursos
object[]
bitacora
object[]
fechaCreacion
string