Skip to main content
El campo tipo del cuerpo de POST /dte determina qué clase de documento se emite. El mismo API se usa para los tres países soportados — Guatemala, El Salvador y República Dominicana — pero no todos los tipos están disponibles en todos los países, y cada uno mapea a un código distinto del catálogo de la autoridad fiscal local (SAT, MH o DGII). Esta página cubre el catálogo compartido; el detalle de identificación del receptor y de impuestos por país vive en Guatemala, El Salvador y República Dominicana.
Para la forma completa del JSON (campos comunes a todos los tipos) vea Estructura del DTE. Esta página se enfoca en qué cambia según tipo.

Catálogo por país

tipoDocumento🇬🇹 Guatemala🇸🇻 El Salvador🇩🇴 República Dominicana
factura (por defecto)Factura / Comprobante de Crédito Fiscal / Factura Crédito FiscalFACT (o variante por régimen, ver nota)✅ CCF, tipo MH 03✅ FCFE, tipo DGII 31 (o 44 CERP, ver nota)
ticketFactura de Consumidor Final❌ no soportado — se rechaza la solicitud✅ FCF, tipo MH 01✅ FCE, tipo DGII 32
facturaCambiariaFactura Cambiaria (venta a crédito con abonos)FCAM (o variante por régimen)
facturaEspecialFactura Especial / Factura de Sujeto ExcluidoFESP✅ FSE, tipo MH 14
facturaExportacion (o esExportacion: true)Factura de Exportación✅ misma familia FACT + complemento de exportación✅ FEX, tipo MH 11✅ CEXP, tipo DGII 46
notaCreditoNota de CréditoNCRE✅ tipo MH 05✅ NCRE, tipo DGII 34
notaDebitoNota de DébitoNDEB✅ tipo MH 06✅ NDEB, tipo DGII 33
notaAbonoNota de AbonoNABN
reciboReciboRECI
reciboDonacionRecibo de DonaciónRDON
El código de tres/cuatro letras entre paréntesis (FACT, NCRE, etc.) es el que Fegora escribe en el atributo Tipo del XML certificado guatemalteco; para El Salvador y República Dominicana la autoridad fiscal identifica el tipo con un código numérico (DocType/eNCF de dos dígitos), no una sigla.
ticket no existe en Guatemala. Es un concepto propio de El Salvador (Factura Consumidor Final) y República Dominicana (Factura de Consumo). Una cuenta emisora guatemalteca que envíe tipo: "ticket" recibe un rechazo explícito (codigo: "FEG_BUSINESS_RULE_VIOLATION", mensaje “El tipo de documento ‘ticket’ no es válido para Guatemala.”) en lugar de emitirse silenciosamente como factura.

Facturas

factura (por defecto)

Venta general de bienes o servicios. Es el tipo por defecto si se omite tipo.
El código SAT exacto (FACT u otro) depende de la afiliación de IVA de la cuenta emisora, no de un campo que el cliente controle por solicitud: cuentas de régimen general emiten FACT; cuentas de contribuyente agropecuario emiten FACA; cuentas de pequeño contribuyente emiten FPEQ, FAPE o FAAE según el régimen electrónico específico. Este mapeo lo resuelve Fegora automáticamente a partir de la configuración de la cuenta.

facturaCambiaria

Venta a crédito con un calendario de abonos pactados. Sólo existe en Guatemala. Se activa de dos formas equivalentes: enviando tipo: "facturaCambiaria" explícitamente, o enviando tipo: "factura" (o el valor por defecto) junto con abonosPactados[] no vacío — Fegora la reconoce igual como cambiaria en ambos casos. El código SAT exacto también varía por régimen de la cuenta (FCAM, o FCCA/FCAP/FCPE/FCAE para agropecuario/pequeño contribuyente), igual que con factura.
{
  "receptor": { "id": "12345678", "nombre": "Comercial Ejemplo, S.A." },
  "items": [
    { "descripcion": "Mobiliario de oficina", "precioUnitario": 4500.00 }
  ],
  "abonosPactados": [
    { "fecha": "2026-08-15", "monto": 1500.00 },
    { "fecha": "2026-09-15", "monto": 1500.00 },
    { "fecha": "2026-10-15", "monto": 1500.00 }
  ]
}
En El Salvador y República Dominicana, abonosPactados[] también se acepta, pero se usa para describir formas de pago del documento — no activa un tipo de documento distinto (esos países no tienen un tipo “cambiaria” propio).

facturaEspecial

El emisor factura en nombre de un proveedor o prestador de servicios que se negó a emitir factura. Sólo Guatemala (FESP) y El Salvador (Factura de Sujeto Excluido, FSE, tipo MH 14) la soportan.
{
  "tipo": "facturaEspecial",
  "receptor": {
    "id": "87654321",
    "nombre": "Proveedor Informal Ejemplo"
  },
  "items": [
    { "tipo": "servicio", "descripcion": "Servicio de transporte de carga", "precioUnitario": 800.00 }
  ]
}
Fegora agrega automáticamente la leyenda legal exigida (Art. 52, Decreto 27-92 de la Ley del IVA) como un dato adicional del documento certificado; no es necesario declararla. La respuesta incluye además un bloque retencionesFacturaEspecial con las retenciones de ISR/IVA calculadas.

facturaExportacion (o esExportacion: true)

Venta a un receptor en el extranjero. Requiere el bloque datosExportacion (ver Estructura del DTE) y está exenta de IVA automáticamente — no es necesario declarar esExentoIva ni motivoExencionIva.
{
  "tipo": "facturaExportacion",
  "receptor": {
    "id": "CF",
    "nombre": "Comprador Extranjero Ejemplo"
  },
  "items": [
    { "descripcion": "Artesanías variadas", "precioUnitario": 1200.00 }
  ],
  "datosExportacion": {
    "nombreConsignatario": "Importadora Ejemplo Ltda.",
    "direccionConsignatario": "Av. Principal 123, Ciudad Ejemplo",
    "incoterm": "FOB"
  }
}
Guatemala: exportación a Consumidor Final por Q2,500 o más. Por el Acuerdo Gubernativo 12-2023, una exportación con receptor Consumidor Final (receptor.id: "CF") no puede tener un monto total mayor o igual a Q2,500 (o su equivalente en la moneda del documento). Fegora rechaza la solicitud antes de enviarla a la SAT. Vea Guatemala.
Cada país mapea la exportación a un tipo/complemento distinto — vea la tabla de arriba (FACT + complemento en GT, FEX 11 en SV, CEXP 46 en DO).

Notas

notaCredito / notaDebito

Documentos que ajustan un documento previo: la nota de crédito reduce o anula su efecto (por ejemplo una devolución); la nota de débito lo incrementa (por ejemplo un cargo adicional). Campos obligatorios adicionales — a diferencia de la documentación histórica (que sólo mencionaba idDteOriginal), el validador actual exige ambos campos a nivel raíz:
CampoObligatorioDescripción
idDteOriginalEl id (UUID) del documento original al que hace referencia.
motivoAjusteMotivo del ajuste, en texto libre (por ejemplo "Devolución de producto").
{
  "tipo": "notaCredito",
  "idDteOriginal": "3FAAF95B-894E-4B80-8253-B32F9A85CBFF",
  "motivoAjuste": "Devolución de producto",
  "items": [
    { "descripcion": "Devolución parcial", "precioUnitario": 150.00 }
  ]
}
Si no se envía receptor, se hereda del documento original (incluyendo sus datosAdicionales país-específicos, como MH_NRC/MH_CODIGO_ACTIVIDAD en El Salvador). Si idDteOriginal no corresponde a un documento existente, se rechaza con codigo: "FEG_DTE_CREA_010" — vea Manejo de errores.
El referenciar un documento anterior a la migración de Fegora (sin id propio de Fegora) — mostrado en ejemplos de 2019 como un objeto dteOriginal con esRegimenAntiguo, serie, numero, etc. — no está disponible en el comando de creación actual. Sólo se acepta idDteOriginal como UUID de un DTE existente en la base de Fegora. Vea la nota correspondiente en Estructura del DTE.

notaAbono

Registra un abono/pago aplicado sobre una factura cambiaria. Sólo Guatemala.
{
  "tipo": "notaAbono",
  "receptor": {
    "id": "CF",
    "nombre": "Cliente Ejemplo, S.A."
  },
  "items": [
    { "descripcion": "Abono mensual", "precioUnitario": 500.00 }
  ]
}
A diferencia de notaCredito/notaDebito, el validador actual no exige idDteOriginal ni motivoAjuste para notaAbono — puede enviarlos (por ejemplo para referenciar la factura cambiaria original), pero no son obligatorios.
Los ítems de una nota de abono no llevan línea de IVA (items[].impuestos queda vacío) — igual que en recibo y reciboDonacion, ya que estos tres tipos no representan una venta gravada nueva.

Recibos

Ambos tipos de recibo son exclusivos de Guatemala; ni El Salvador ni República Dominicana los soportan.

recibo

Cobros exentos de IVA que no corresponden a venta de bienes/servicios — por ejemplo cuotas, colegiaturas o membresías.
{
  "tipo": "recibo",
  "motivoExencionIva": "LEY_IVA_ART8_NUM1",
  "receptor": {
    "id": "CF",
    "nombre": "Padre de Familia Ejemplo"
  },
  "items": [
    { "descripcion": "Colegiatura mensual", "precioUnitario": 850.00 }
  ]
}
A diferencia de reciboDonacion (que asigna su motivo de exención automáticamente), recibo no asigna un motivoExencionIva por defecto — el documento se marca como exento de IVA, pero si no se declara un motivo explícito, la SAT puede rechazarlo al certificar por no incluir la frase de exención requerida. Envíe siempre motivoExencionIva explícito con este tipo (por ejemplo LEY_IVA_ART8_NUM1 para colegiaturas, o LEY_IVA_ART7_NUM10 para cuotas de asociaciones/colegios).

reciboDonacion

Donaciones recibidas, exentas de IVA por ley. Fegora asigna automáticamente motivoExencionIva: "LEY_IVA_ART7_NUM9" (frase SAT 4-4) sin que el cliente deba declararlo. Campo adicional requerido: el documento debe declarar el tipo de personería jurídica del donante en datosAdicionales:
{
  "tipo": "reciboDonacion",
  "receptor": {
    "id": "CF",
    "nombre": "Donante Ejemplo"
  },
  "datosAdicionales": [
    { "nombre": "TIPO_PERSONERIA", "valor": "719" }
  ],
  "items": [
    { "descripcion": "Donación recibida", "precioUnitario": 1000.00 }
  ]
}
TIPO_PERSONERIA usa un código numérico del catálogo de personerías jurídicas de la SAT (no un texto como "INDIVIDUAL"/"JURIDICA") — el código exacto depende de la personería registrada para la cuenta emisora. Vea Guatemala.

Campos obligatorios adicionales por tipo — resumen

tipoCampos adicionales obligatorios
notaCredito, notaDebitoidDteOriginal, motivoAjuste
facturaExportacion / esExportacion: truedatosExportacion.nombreConsignatario, datosExportacion.direccionConsignatario
reciboDonaciondatosAdicionales[TIPO_PERSONERIA]
recibomotivoExencionIva explícito (recomendado; no forzado por el validador — ver advertencia arriba)
factura en El Salvador (CCF)receptor.datosAdicionales[MH_NRC], receptor.datosAdicionales[MH_CODIGO_ACTIVIDAD], datosAdicionales[NUMERO_SECUENCIAL]
Para el detalle de impuestos y exenciones aplicables a cada tipo, vea Impuestos.