Skip to main content
POST
https://api.fegora.com
/
dte
curl --request POST \
  --url https://api.fegora.com/dte \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "items": [
    {
      "descripcion": "Audifonos Bose NB-75",
      "precioUnitario": 500
    }
  ]
}
'
{
  "id": "2AF7AD7C-49C5-4BEC-95CD-BCD04BECE220",
  "serie": "2AF7AD7C",
  "numero": 1237666796,
  "tipo": "factura",
  "fechaEmision": "2026-03-01T01:26:44.749",
  "fechaCertificacion": "2026-03-01T07:26:56",
  "estado": "Certificado",
  "anulado": false,
  "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"
}

Authorizations

Authorization
string
header
required

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

Body

application/json

Cuerpo de la solicitud para crear (y, por defecto, certificar) un DTE. La cuenta emisora determina el país y la mayoría de los datos fiscales — sólo se envían los campos estrictamente necesarios para la operación comercial.

items
object[]
required

Debe incluir al menos un item.

Minimum array length: 1
idCuenta
string

NIT de la cuenta emisora. Opcional si el usuario autenticado tiene una sola cuenta asignada; en ese caso se infiere. Requerido si tiene varias.

tipo
enum<string>
default:factura

Tipo de documento. No distingue mayúsculas/minúsculas. ticket sólo es válido para cuentas de El Salvador o República Dominicana (Guatemala lo rechaza). Una factura con abonosPactados se certifica automáticamente como factura cambiaria. Correspondencia por país — El Salvador: ticket → Factura (DTE-01), factura → Comprobante de Crédito Fiscal / CCF (DTE-03), notaCredito → DTE-05, notaDebito → DTE-06, facturaExportacion → FEX (DTE-11), facturaEspecial → Factura de Sujeto Excluido / FSE (DTE-14). República Dominicana: factura → Factura de Crédito Fiscal Electrónica (e-CF 31), ticket → Factura de Consumo Electrónica (e-CF 32), notaDebito → e-CF 33, notaCredito → e-CF 34, facturaExportacion → Comprobante de Exportaciones (e-CF 46).

Available options:
factura,
ticket,
facturaEspecial,
facturaCambiaria,
facturaExportacion,
notaCredito,
notaDebito,
notaAbono,
recibo,
reciboDonacion
serie
string

Ignorado en la práctica: la serie la asigna el certificador. Sólo tiene efecto al importar documentos ya certificados.

Maximum string length: 10
numero
integer<int64>

Ignorado en la práctica: el número lo asigna el certificador.

numeroAcceso
integer

Número de acceso de contingencia (9 dígitos), sólo para documentos emitidos originalmente sin conexión. Ver la guía de casos especiales.

fechaEmision
string

Fecha (y opcionalmente hora) de emisión. Formatos: 2026-03-06, 2026-03-06T08:22, 2026-03-06T08:22:26. Por defecto, la fecha/hora actual.

Examples:

"2026-03-06"

"2026-03-06T08:22:26"

emisor
object

Emisor del documento. Es opcional y normalmente NO se envía: Fegora completa todos los datos fiscales desde la configuración de la cuenta emisora. Sólo codigoEstablecimiento y codigoPuntoVenta pueden sobrescribirse por solicitud.

receptor
object

Receptor del documento, enviado en la solicitud. Es opcional: si se omite (o se omiten nit/nombre), Fegora asume Consumidor Final (CF / CONSUMIDOR FINAL). En notas de crédito/débito sin receptor explícito, se hereda el receptor del documento original. El campo de identificación se llama nit por razones históricas, pero admite el identificador fiscal que corresponda por país: NIT (GT/SV), RNC (DO), DUI/pasaporte/carné de residente (SV). También se acepta id como alias de nit.

moneda
enum<string>
default:GTQ

Código ISO 4217. No distingue mayúsculas/minúsculas en la solicitud (se normaliza a mayúsculas). Si se omite, se usa la moneda por defecto de la cuenta (GTQ en Guatemala, USD en El Salvador, DOP en República Dominicana) — por eso las cuentas dominicanas normalmente NO envían este campo: DOP llega por el valor por defecto de la cuenta.

Available options:
GTQ,
USD,
EUR,
MXN,
HNL,
SVC,
NIO,
CRC,
PAB,
BZD
forzarAmbientePruebas
boolean

Si no se envía, se usa el ambiente configurado en la cuenta.

numeroTransaccion
string

Identificador de idempotencia propio del cliente. Un valor repetido para la misma cuenta produce FEG_DTE_CREA_001.

idDteOriginal
string<uuid>

Id del documento al que hace referencia (requerido cuando tipo es notaCredito o notaDebito).

motivoAjuste
string

Motivo del ajuste (requerido junto con idDteOriginal en notas de crédito/débito).

motivoExencionIva
enum<string>

Código de motivo de exención de IVA (catálogo SAT). Ver la guía de impuestos para la tabla completa de motivos y sus frases asociadas.

Available options:
LEY_IVA_ART7_NUM2,
LEY_IVA_ART7_NUM3,
LEY_IVA_ART7_NUM4,
LEY_IVA_ART7_NUM5,
LEY_IVA_ART7_NUM6,
LEY_IVA_ART7_NUM9,
LEY_IVA_ART7_NUM10,
LEY_IVA_ART7_NUM11,
LEY_IVA_ART7_NUM12,
LEY_IVA_ART7_NUM13,
LEY_IVA_ART7_NUM14,
LEY_IVA_ART7_NUM15,
LEY_IVA_ART7_A,
LEY_IVA_ART7_C,
LEY_IVA_ART7_D,
LEY_IVA_ART7_G,
LEY_IVA_ART7_H_I,
LEY_IVA_ART8,
LEY_IVA_ART8_NUM1,
LEY_IVA_ART8_NUM2,
LEY_IVA_ART55,
LEY_IVA_ART3_NUM7,
LEY_IVA_ART4,
DEC_29_89,
DEC_65_89,
LEY_ZOLIC_ART31,
LEY_ZOLIC_ART32_C,
LEY_FORT_EMPRE_ART35,
CONTRIBUYENTE_EXENTO,
OTROS_CARGOS_NO_SUJETOS_IVA,
FACT_ORIGEN_NO_INC_IVA,
SERVICIOS_NO_AFECTOS
esExentoIva
boolean

Si se omite, hereda el valor de exención configurado en la cuenta emisora.

esExportacion
boolean

Marca el documento como factura de exportación. Requiere datosExportacion. La exención de IVA se calcula automáticamente.

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.

abonosPactados
object[]

Plan de abonos (factura cambiaria en Guatemala; formas de pago en El Salvador/República Dominicana).

datosAdicionales
object[]

Pares nombre/valor de paso libre, específicos por país. El Salvador y República Dominicana: NUMERO_SECUENCIAL (obligatorio — número correlativo del rango autorizado por MH/DGII). República Dominicana adicionalmente: VENCIMIENTO_NUMERO_SECUENCIAL (fecha de vencimiento del rango NCF, formato yyyy-MM-dd). Guatemala: cualquier leyenda propia del emisor (garantías, condiciones de pago, etc.).

autoCertify
boolean
default:true

Si es false, Fegora NO certifica el documento — y por lo tanto tampoco lo persiste (no hay DTE que consultar luego). En la práctica, se deja siempre en true.

autoSign
boolean
default:true
generateFiles
boolean
default:true

Response

DTE creado y certificado.

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