> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fegora.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Crear (y certificar) un DTE

> Crea un documento tributario electrónico y, por defecto, lo certifica de inmediato ante la autoridad fiscal correspondiente al país de la cuenta emisora (SAT en Guatemala, Ministerio de Hacienda en El Salvador, DGII en República Dominicana). La respuesta incluye el documento certificado con sus enlaces de PDF/XML.



## OpenAPI

````yaml /api-reference/openapi.json post /dte
openapi: 3.1.0
info:
  title: Fegora API
  version: '1.0'
  description: >-
    API de Fegora para la emisión y consulta de Documentos Tributarios
    Electrónicos (DTE) en Guatemala, El Salvador y República Dominicana.


    El API es uno solo para los tres países: el país de operación lo determina
    la configuración de la cuenta emisora (no la URL ni ningún parámetro de la
    solicitud). Los campos que varían por país — tipos de documento, catálogos
    de impuestos, identificadores fiscales del receptor, datos adicionales — se
    documentan en la descripción de cada campo.


    Autenticación: OAuth2 (`POST /token`, grant types `password` y
    `refresh_token`) → JWT Bearer con vigencia de 24 horas.
servers:
  - url: https://api.fegora.com
security:
  - bearerAuth: []
tags:
  - name: Autenticación
    description: Obtención y renovación de tokens de acceso.
  - name: DTE
    description: Emisión, consulta, anulación y distribución de documentos emitidos.
  - name: DTE Recibidos
    description: Documentos donde la cuenta es el receptor (facturas de proveedores).
  - name: Lotes
    description: Carga masiva de DTEs mediante archivos Excel.
  - name: Cuentas
    description: Administración de cuentas emisoras/receptoras.
  - name: Catálogos
    description: >-
      Catálogos de referencia: productos, plantillas de PDF, localidades y
      contribuyentes.
  - name: Otros
    description: Endpoints de soporte, como el perfil del usuario autenticado.
paths:
  /dte:
    post:
      tags:
        - DTE
      summary: Crear (y certificar) un DTE
      description: >-
        Crea un documento tributario electrónico y, por defecto, lo certifica de
        inmediato ante la autoridad fiscal correspondiente al país de la cuenta
        emisora (SAT en Guatemala, Ministerio de Hacienda en El Salvador, DGII
        en República Dominicana). La respuesta incluye el documento certificado
        con sus enlaces de PDF/XML.
      operationId: postDte
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Dte'
            examples:
              gt_factura:
                summary: Factura simple (Guatemala, GTQ)
                value:
                  receptor:
                    nit: 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:
                    - descripcion: Audifonos Bose NB-75
                      precioUnitario: 500
              sv_ccf:
                summary: Crédito Fiscal / CCF (El Salvador, factura → DTE-03)
                value:
                  tipo: factura
                  datosAdicionales:
                    - nombre: NUMERO_SECUENCIAL
                      valor: '473002'
                  receptor:
                    id: '06149876543210'
                    tipoId: NIT
                    nombre: COMERCIAL EJEMPLO DE EL SALVADOR, S.A. DE C.V.
                    direccion:
                      pais: SV
                      idMunicipio: SV.SS.23
                      direccion: 'BOULEVARD EJEMPLO #9, SANTA TECLA'
                    datosAdicionales:
                      - nombre: MH_NRC
                        valor: '123456'
                      - nombre: MH_CODIGO_ACTIVIDAD
                        valor: '10005'
                  items:
                    - descripcion: TestItem
                      precioUnitario: 25
              sv_ticket:
                summary: Ticket / consumidor final (El Salvador, ticket → DTE-01)
                value:
                  tipo: ticket
                  datosAdicionales:
                    - nombre: NUMERO_SECUENCIAL
                      valor: '473000'
                  receptor:
                    id: '06149876543210'
                    tipoId: NIT
                    nombre: COMERCIAL EJEMPLO DE EL SALVADOR, S.A. DE C.V.
                    direccion:
                      pais: SV
                      idMunicipio: SV.SS.23
                      direccion: 'BOULEVARD EJEMPLO #9, SANTA TECLA'
                    datosAdicionales:
                      - nombre: MH_NRC
                        valor: '123456'
                      - nombre: MH_CODIGO_ACTIVIDAD
                        valor: '10005'
                  items:
                    - descripcion: Producto de prueba
                      precioUnitario: 25
              do_fcfe:
                summary: >-
                  Factura de Crédito Fiscal (República Dominicana, e-CF 31,
                  ITBIS 18%)
                value:
                  emisor:
                    codigoEstablecimiento: '1'
                  datosAdicionales:
                    - nombre: NUMERO_SECUENCIAL
                      valor: '290005'
                    - nombre: VENCIMIENTO_NUMERO_SECUENCIAL
                      valor: '2026-12-31'
                  receptor:
                    id: '987654321'
                    nombre: COMERCIAL EJEMPLO DOMINICANA, S.R.L.
                    direccion:
                      idMunicipio: DO.SD.BC
                      direccion: 'Av. Ejemplo #100, Santo Domingo'
                      pais: DO
                  items:
                    - descripcion: Producto B2B
                      precioUnitario: 118
                      impuestos:
                        - nombreCorto: IVA
                          codigoUnidadGravable: 1
      responses:
        '200':
          description: DTE creado y certificado.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DteResponse'
              examples:
                gt_factura:
                  summary: Factura certificada (Guatemala)
                  value:
                    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
                sv_ccf:
                  summary: CCF certificado (El Salvador, DTE-03)
                  value:
                    verificacionCertificadorUri: >-
                      https://admin.factura.gob.sv/consultaPublica?ambiente=00&codGen=5D0A1B2C-3E4F-4A5B-8C6D-7E8F90A1B2C3&fechaEmi=2026-05-11
                    verificacionCertificadorQrBase64: iVBORw0KGgoAAAANSUhEUgAA...ejemplo
                    archivoJsonUri: >-
                      http://cdn.fegora.com/jsons/5D0A1B2C-3E4F-4A5B-8C6D-7E8F90A1B2C3.json
                    selloEntidadFiscal: 20260000000000000000000000000000EJEMPLO
                    anulado: false
                    archivoXmlUri: >-
                      http://cdn.fegora.com/dtes/5D0A1B2C-3E4F-4A5B-8C6D-7E8F90A1B2C3.xml
                    bitacora:
                      - evento: creacion
                        fecha: '2026-05-11T22:10:50.0772294Z'
                        ipOrigen: 203.0.113.10
                        origen: apiApp
                        usuario: '06141234567890'
                    certificador:
                      esExentoIva: false
                      esRetenedorIva: false
                      id: '06141234567890'
                      nombre: DIGIFACT
                      nombreComercial: DIGIFACT
                    datosAdicionales:
                      - nombre: NUMERO_SECUENCIAL
                        valor: '473002'
                      - etiqueta: MH_CODIGO_ACTIVIDAD
                        nombre: MH_CODIGO_ACTIVIDAD
                        valor: '62020'
                        visible: true
                      - etiqueta: MH_NRC
                        nombre: MH_NRC
                        valor: '654321'
                        visible: true
                      - nombre: MH_ACTIVIDAD
                        valor: Otros
                    dteUri: >-
                      https://www.fegora.com/dtes/5D0A1B2C-3E4F-4A5B-8C6D-7E8F90A1B2C3
                    emisor:
                      tipoEstablecimiento: CASA_MATRIZ
                      afiliacionIsr: ISR_SOBRE_ACTIVIDADES_LUCRATIVAS
                      afiliacionIva: GENERAL
                      codigoEstablecimiento: M001
                      direccion:
                        codigoPostal: '01101'
                        departamento: San Salvador
                        direccion: 'AVENIDA EJEMPLO #10, COLONIA MEDICA'
                        idDepartamento: SV.SS
                        idMunicipio: SV.SS.23
                        municipio: San Salvador
                        pais: SV
                      direccionCorreoElectronico: facturacion@ejemplo.com
                      esExentoIva: false
                      esRetenedorIva: false
                      id: '06141234567890'
                      nombre: EMISORA DE EJEMPLO, S.A. DE C.V.
                      nombreComercial: M001
                    esExentoIva: false
                    estado: Certificado
                    estaEnAmbienteDePruebas: true
                    fechaCertificacion: '2026-05-11T22:10:48'
                    fechaEmision: '2026-05-11T22:10:48.2179059'
                    id: 5D0A1B2C-3E4F-4A5B-8C6D-7E8F90A1B2C3
                    idCuenta: '06141234567890'
                    items:
                      - cantidad: 1
                        descripcion: TestItem
                        descuento: 0
                        impuestos:
                          - cantidadUnidadesGravables: 0
                            codigoUnidadGravable: 1
                            montoGravable: 22.12389381
                            montoImpuesto: 2.87610619
                            nombreCorto: IVA
                        otroDescuento: 0
                        precio: 25
                        precioUnitario: 25
                        tipo: bien
                        total: 25
                        unidadMedida: UNI
                    moneda: USD
                    numero: 0
                    receptor:
                      tipoId: NIT
                      datosAdicionales:
                        - nombre: MH_NRC
                          valor: '123456'
                        - nombre: MH_CODIGO_ACTIVIDAD
                          valor: '10005'
                        - nombre: MH_ACTIVIDAD
                          valor: Otros
                      direccion:
                        codigoPostal: '01001'
                        departamento: San Salvador
                        direccion: 'BOULEVARD EJEMPLO #9, SANTA TECLA'
                        idDepartamento: SV.SS
                        idMunicipio: SV.SS.23
                        municipio: San Salvador Centro
                        pais: SV
                      esExentoIva: false
                      esRetenedorIva: false
                      id: '06149876543210'
                      nombre: COMERCIAL EJEMPLO DE EL SALVADOR, S.A. DE C.V.
                    recursos: []
                    serie: DTE-03-M001P001-000000000473002
                    tipo: factura
                    total: 25
                sv_ticket:
                  summary: Ticket certificado (El Salvador, DTE-01)
                  value:
                    verificacionCertificadorUri: >-
                      https://admin.factura.gob.sv/consultaPublica?ambiente=00&codGen=8E1F2A3B-4C5D-4E6F-9A7B-8C9D0E1F2A3B&fechaEmi=2026-05-11
                    verificacionCertificadorQrBase64: iVBORw0KGgoAAAANSUhEUgAA...ejemplo
                    archivoJsonUri: >-
                      http://cdn.fegora.com/jsons/8E1F2A3B-4C5D-4E6F-9A7B-8C9D0E1F2A3B.json
                    selloEntidadFiscal: 20260000000000000000000000000000EJEMPLO
                    anulado: false
                    archivoXmlUri: >-
                      http://cdn.fegora.com/dtes/8E1F2A3B-4C5D-4E6F-9A7B-8C9D0E1F2A3B.xml
                    bitacora:
                      - evento: creacion
                        fecha: '2026-05-11T22:10:50.0772294Z'
                        ipOrigen: 203.0.113.10
                        origen: apiApp
                        usuario: '06141234567890'
                    certificador:
                      esExentoIva: false
                      esRetenedorIva: false
                      id: '06141234567890'
                      nombre: DIGIFACT
                      nombreComercial: DIGIFACT
                    datosAdicionales:
                      - nombre: NUMERO_SECUENCIAL
                        valor: '473000'
                      - etiqueta: MH_CODIGO_ACTIVIDAD
                        nombre: MH_CODIGO_ACTIVIDAD
                        valor: '62020'
                        visible: true
                      - etiqueta: MH_NRC
                        nombre: MH_NRC
                        valor: '654321'
                        visible: true
                    dteUri: >-
                      https://www.fegora.com/dtes/8E1F2A3B-4C5D-4E6F-9A7B-8C9D0E1F2A3B
                    emisor:
                      tipoEstablecimiento: CASA_MATRIZ
                      afiliacionIsr: ISR_SOBRE_ACTIVIDADES_LUCRATIVAS
                      afiliacionIva: GENERAL
                      codigoEstablecimiento: M001
                      direccion:
                        codigoPostal: '01101'
                        departamento: San Salvador
                        direccion: 'AVENIDA EJEMPLO #10, COLONIA MEDICA'
                        idDepartamento: SV.SS
                        idMunicipio: SV.SS.23
                        municipio: San Salvador
                        pais: SV
                      direccionCorreoElectronico: facturacion@ejemplo.com
                      esExentoIva: false
                      esRetenedorIva: false
                      id: '06141234567890'
                      nombre: EMISORA DE EJEMPLO, S.A. DE C.V.
                      nombreComercial: M001
                    esExentoIva: false
                    estado: Certificado
                    estaEnAmbienteDePruebas: true
                    fechaCertificacion: '2026-05-11T22:10:39'
                    fechaEmision: '2026-05-11T22:10:39.4833669'
                    id: 8E1F2A3B-4C5D-4E6F-9A7B-8C9D0E1F2A3B
                    idCuenta: '06141234567890'
                    items:
                      - cantidad: 1
                        descripcion: Producto de prueba
                        descuento: 0
                        impuestos:
                          - cantidadUnidadesGravables: 0
                            codigoUnidadGravable: 1
                            montoGravable: 22.12389381
                            montoImpuesto: 2.87610619
                            nombreCorto: IVA
                        otroDescuento: 0
                        precio: 25
                        precioUnitario: 25
                        tipo: bien
                        total: 25
                        unidadMedida: UNI
                    moneda: USD
                    numero: 0
                    receptor:
                      tipoId: NIT
                      datosAdicionales:
                        - nombre: MH_NRC
                          valor: '123456'
                        - nombre: MH_CODIGO_ACTIVIDAD
                          valor: '10005'
                        - nombre: MH_ACTIVIDAD
                          valor: Otros
                      direccion:
                        codigoPostal: '01001'
                        departamento: San Salvador
                        direccion: 'BOULEVARD EJEMPLO #9, SANTA TECLA'
                        idDepartamento: SV.SS
                        idMunicipio: SV.SS.23
                        municipio: San Salvador Centro
                        pais: SV
                      esExentoIva: false
                      esRetenedorIva: false
                      id: '06149876543210'
                      nombre: COMERCIAL EJEMPLO DE EL SALVADOR, S.A. DE C.V.
                    recursos: []
                    serie: DTE-01-M001P001-000000000473000
                    tipo: ticket
                    total: 25
                do_fcfe:
                  summary: >-
                    Factura de Crédito Fiscal certificada (República Dominicana,
                    e-CF 31)
                  value:
                    verificacionCertificadorUri: >-
                      https://ecf.dgii.gov.do/TesteCF/ConsultaTimbre?RncEmisor=123456789&RncComprador=987654321&ENCF=E310000290005&FechaEmision=20-05-2026&MontoTotal=118.00&FechaFirma=20-05-2026%2016:51:58&CodigoSeguridad=AbC123
                    verificacionCertificadorQrBase64: iVBORw0KGgoAAAANSUhEUgAA...ejemplo
                    selloEntidadFiscal: AbCdEfGh...firmaBase64Ejemplo==
                    anulado: false
                    archivoXmlUri: >-
                      http://cdn.fegora.com/dtes/4A5B6C7D-8E9F-4021-A1B2-C3D4E5F60718.xml
                    bitacora:
                      - evento: creacion
                        fecha: '2026-05-20T14:51:59.9058076Z'
                        ipOrigen: 203.0.113.20
                        origen: apiApp
                        usuario: '123456789'
                    canal:
                      id: 1
                      nombre: API
                      nombreCorto: api
                    certificador:
                      esExentoIva: false
                      esRetenedorIva: false
                      id: '123456789'
                      nombre: DIGIFACT SERVICIOS SAS
                      nombreComercial: DIGIFACT SERVICIOS SAS
                    datosAdicionales:
                      - nombre: NUMERO_SECUENCIAL
                        valor: '290005'
                      - nombre: VENCIMIENTO_NUMERO_SECUENCIAL
                        valor: '2026-12-31'
                    dteUri: >-
                      https://www.fegora.com/dtes/4A5B6C7D-8E9F-4021-A1B2-C3D4E5F60718
                    emisor:
                      afiliacionIsr: ''
                      codigoEstablecimiento: '1'
                      direccion:
                        codigoPostal: '10100'
                        departamento: Santo Domingo
                        direccion: Calle Ejemplo No. 42, Sector Industrial, Santo Domingo
                        municipio: ''
                        pais: DO
                      esExentoIva: false
                      esRetenedorIva: false
                      id: '123456789'
                      nombre: DISTRIBUIDORA EJEMPLO, S.A.S.
                      nombreComercial: DISTRIBUIDORA EJEMPLO, S.A.S.
                    esExentoIva: false
                    estado: Certificado
                    estaEnAmbienteDePruebas: true
                    fechaCertificacion: '2026-05-20T20:51:59.5620501+00:00'
                    fechaEmision: '2026-05-20T14:51:58.3589173'
                    id: 4A5B6C7D-8E9F-4021-A1B2-C3D4E5F60718
                    idCanal: 1
                    idCuenta: '123456789'
                    items:
                      - cantidad: 1
                        descripcion: Producto B2B
                        descuento: 0
                        impuestos:
                          - cantidadUnidadesGravables: 0
                            codigoUnidadGravable: 1
                            montoGravable: 100
                            montoImpuesto: 18
                            nombreCorto: IVA
                        otroDescuento: 0
                        precio: 118
                        precioUnitario: 118
                        tipo: bien
                        total: 118
                        unidadMedida: UNI
                    moneda: DOP
                    numero: 290005
                    receptor:
                      direccion:
                        codigoPostal: '01001'
                        departamento: Santo Domingo
                        direccion: 'Av. Ejemplo #100, Santo Domingo'
                        idDepartamento: DO.SD
                        idMunicipio: DO.SD.BC
                        municipio: Boca Chica
                        pais: DO
                      esExentoIva: false
                      esRetenedorIva: false
                      id: '987654321'
                      nombre: COMERCIAL EJEMPLO DOMINICANA, S.R.L.
                    recursos: []
                    serie: E31
                    tipo: factura
                    total: 118
        '400':
          description: Solicitud inválida.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                validacion:
                  summary: Cuerpo inválido o campo requerido faltante
                  value:
                    codigo: FEG_VALIDATION_ERROR
                    mensaje: >-
                      Body inválido o ausente. Envía un JSON con campos de
                      CreateDteCommand.
                    masInformacion: https://developer.fegora.com
                    severidad: 2
                motivoDesconocido:
                  summary: motivoExencionIva no reconocido
                  description: >-
                    Los errores de validación de campo (FluentValidation)
                    siempre se reportan con `codigo: FEG_VALIDATION_ERROR` — el
                    mensaje describe el problema puntual.
                  value:
                    codigo: FEG_VALIDATION_ERROR
                    mensaje: El motivo de exención de IVA no es reconocido.
                    masInformacion: https://developer.fegora.com
                    severidad: 2
                duplicado:
                  summary: numeroTransaccion duplicado
                  value:
                    codigo: FEG_DTE_CREA_001
                    mensaje: >-
                      Documento duplicado. Ya existe un documento con el mismo
                      número de transacción.
                    masInformacion: https://developer.fegora.com
                    severidad: 2
                exportSinDatos:
                  summary: Exportación sin datosExportacion
                  value:
                    codigo: FEG_VALIDATION_ERROR
                    mensaje: El DTE de exportacion requiere el campo datosExportacion
                    masInformacion: https://developer.fegora.com
                    severidad: 2
        '401':
          description: No autenticado. El token es inválido, expiró o no fue enviado.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                noAutenticado:
                  summary: Token ausente, inválido o expirado
                  value:
                    codigo: FEG_UNAUTHORIZED
                    mensaje: No está autorizado para acceder a este recurso
                    masInformacion: https://developer.fegora.com
                    severidad: 2
components:
  schemas:
    Dte:
      type: object
      description: >-
        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.
      properties:
        idCuenta:
          type: string
          description: >-
            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:
          type: string
          description: >-
            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).
          enum:
            - factura
            - ticket
            - facturaEspecial
            - facturaCambiaria
            - facturaExportacion
            - notaCredito
            - notaDebito
            - notaAbono
            - recibo
            - reciboDonacion
          default: factura
        serie:
          type: string
          maxLength: 10
          description: >-
            Ignorado en la práctica: la serie la asigna el certificador. Sólo
            tiene efecto al importar documentos ya certificados.
        numero:
          type: integer
          format: int64
          description: 'Ignorado en la práctica: el número lo asigna el certificador.'
        numeroAcceso:
          type: integer
          description: >-
            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:
          type: string
          description: >-
            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:
          $ref: '#/components/schemas/Emisor'
        receptor:
          $ref: '#/components/schemas/Receptor'
        items:
          type: array
          items:
            $ref: '#/components/schemas/ItemDteInput'
          minItems: 1
          description: Debe incluir al menos un item.
        moneda:
          type: string
          description: >-
            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.
          enum:
            - GTQ
            - USD
            - EUR
            - MXN
            - HNL
            - SVC
            - NIO
            - CRC
            - PAB
            - BZD
          default: GTQ
        forzarAmbientePruebas:
          type: boolean
          description: Si no se envía, se usa el ambiente configurado en la cuenta.
        numeroTransaccion:
          type: string
          description: >-
            Identificador de idempotencia propio del cliente. Un valor repetido
            para la misma cuenta produce `FEG_DTE_CREA_001`.
        idDteOriginal:
          type: string
          format: uuid
          description: >-
            Id del documento al que hace referencia (requerido cuando `tipo` es
            `notaCredito` o `notaDebito`).
        motivoAjuste:
          type: string
          description: >-
            Motivo del ajuste (requerido junto con `idDteOriginal` en notas de
            crédito/débito).
        motivoExencionIva:
          type: string
          description: >-
            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.
          enum:
            - 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:
          type: boolean
          description: >-
            Si se omite, hereda el valor de exención configurado en la cuenta
            emisora.
        esExportacion:
          type: boolean
          description: >-
            Marca el documento como factura de exportación. Requiere
            `datosExportacion`. La exención de IVA se calcula automáticamente.
        datosExportacion:
          $ref: '#/components/schemas/DatosExportacion'
        abonosPactados:
          type: array
          items:
            $ref: '#/components/schemas/AbonoPactado'
          description: >-
            Plan de abonos (factura cambiaria en Guatemala; formas de pago en El
            Salvador/República Dominicana).
        datosAdicionales:
          type: array
          items:
            $ref: '#/components/schemas/DatoAdicionalInput'
          description: >-
            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:
          type: boolean
          default: true
          description: >-
            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:
          type: boolean
          default: true
        generateFiles:
          type: boolean
          default: true
      required:
        - items
    DteResponse:
      type: object
      description: >-
        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.
      properties:
        id:
          type: string
          format: uuid
          description: >-
            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:
          type: string
        numero:
          type: integer
          format: int64
        tipo:
          type: string
          enum:
            - factura
            - ticket
            - facturaEspecial
            - facturaCambiaria
            - facturaExportacion
            - notaCredito
            - notaDebito
            - notaAbono
            - recibo
            - reciboDonacion
        fechaEmision:
          type: string
        fechaCertificacion:
          type: string
        numeroAcceso:
          type: integer
          description: >-
            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).
        estado:
          type: string
          enum:
            - Certificado
            - Anulado
        anulado:
          type: boolean
        esExentoIva:
          type: boolean
        motivoExencionIva:
          type: string
        esExportacion:
          type: boolean
          description: Omitido cuando es `false`.
        total:
          type: number
          format: double
        moneda:
          type: string
        estaEnAmbienteDePruebas:
          type: boolean
        emisor:
          $ref: '#/components/schemas/EntidadFiscal'
        receptor:
          $ref: '#/components/schemas/EntidadFiscal'
        idCuenta:
          type: string
        idCanal:
          type: integer
        canal:
          $ref: '#/components/schemas/Canal'
        idDteOriginal:
          type: string
          format: uuid
        motivoAjuste:
          type: string
        numeroTransaccion:
          type: string
        dteOriginal:
          $ref: '#/components/schemas/DteOriginal'
        certificador:
          $ref: '#/components/schemas/Certificador'
        selloEntidadFiscal:
          type: string
          description: Sello/firma visual del certificador.
        verificacionCertificadorUri:
          type: string
        verificacionCertificadorQrBase64:
          type: string
        datosExportacion:
          $ref: '#/components/schemas/DatosExportacion'
        retencionesFacturaEspecial:
          $ref: '#/components/schemas/RetencionesFacturaEspecial'
        abonosPactados:
          type: array
          items:
            $ref: '#/components/schemas/AbonoPactado'
        datosAnulacion:
          $ref: '#/components/schemas/DatosAnulacion'
        archivoPdfUri:
          type: string
          description: >-
            Se genera de forma diferida — puede estar ausente hasta el primer
            `GET /dte/{id}/pdf`.
        archivoXmlUri:
          type: string
        archivoJsonUri:
          type: string
          description: >-
            Presente sólo para certificadores que devuelven el documento
            certificado en JSON (El Salvador).
        dteUri:
          type: string
        items:
          type: array
          items:
            $ref: '#/components/schemas/ItemDte'
        datosAdicionales:
          type: array
          items:
            $ref: '#/components/schemas/DatoAdicional'
        recursos:
          type: array
          items:
            $ref: '#/components/schemas/DteRecurso'
        bitacora:
          type: array
          items:
            $ref: '#/components/schemas/BitacoraEntrada'
        fechaCreacion:
          type: string
      required:
        - id
        - serie
        - numero
        - tipo
        - fechaEmision
        - estado
        - total
        - moneda
        - emisor
        - receptor
        - idCuenta
        - items
    Error:
      type: object
      description: Formato estándar de error de Fegora. Se usa en toda respuesta 4xx.
      properties:
        codigo:
          type: string
          description: >-
            Código de error interno de Fegora (p. ej. `FEG_VALIDATION_ERROR`,
            `FEG_DTE_CREA_001`). Ver la tabla de códigos de error en la guía de
            introducción.
          examples:
            - FEG_VALIDATION_ERROR
        mensaje:
          type: string
          description: Mensaje descriptivo del error, en español.
        masInformacion:
          type: string
          format: uri
          description: Enlace a documentación adicional sobre el error.
          examples:
            - https://developer.fegora.com
        severidad:
          type: integer
          enum:
            - 0
            - 1
            - 2
            - 3
          description: 0 = Sugerencia, 1 = Advertencia, 2 = Error, 3 = Fatal.
      required:
        - codigo
        - mensaje
    Emisor:
      type: object
      description: >-
        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.
      properties:
        nit:
          type: string
          maxLength: 20
          description: >-
            Ignorado en la práctica — el NIT del emisor siempre proviene de la
            cuenta. Alias: `id`.
        id:
          type: string
          description: Alias de `nit`.
        nombre:
          type: string
        nombreComercial:
          type: string
        direccion:
          $ref: '#/components/schemas/Direccion'
        correoElectronico:
          type: string
        telefono:
          type: string
        afiliacionIva:
          type: string
        numeroEstablecimiento:
          type: string
        codigoEstablecimiento:
          type: string
          description: >-
            Código de establecimiento que emite el documento. Sobrescribe el
            valor por defecto de la cuenta.
        codigoPuntoVenta:
          type: string
          description: Código de punto de venta (El Salvador), p. ej. `P002`.
    Receptor:
      type: object
      description: >-
        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`.
      properties:
        nit:
          type: string
          maxLength: 20
          description: >-
            Identificador fiscal del receptor: NIT (GT/SV), RNC (DO), o `CF`
            para Consumidor Final. Alias: `id`.
          examples:
            - CF
        id:
          type: string
          maxLength: 20
          description: >-
            Alias de `nit` (compatibilidad con integraciones legacy y con
            República Dominicana).
        nombre:
          type: string
          maxLength: 255
        nombreComercial:
          type: string
        tipoId:
          type: string
          description: >-
            Tipo del identificador fiscal. En Guatemala normalmente no se
            especifica. En El Salvador: `NIT` (14 dígitos), `DUI` (9 dígitos),
            `PASAPORTE`, `CARNET_RESIDENTE`, `OTRO` (requerido, por ejemplo,
            para Factura de Sujeto Excluido).
          examples:
            - NIT
            - DUI
            - PASAPORTE
            - CARNET_RESIDENTE
            - OTRO
        direccion:
          $ref: '#/components/schemas/Direccion'
        direccionCorreoElectronico:
          type: string
          description: >-
            Correo del receptor. Admite múltiples direcciones separadas por
            coma. Alias: `correoElectronico`.
        correoElectronico:
          type: string
          description: Alias de `direccionCorreoElectronico`.
        telefono:
          type: string
        afiliacionIva:
          type: string
        datosAdicionales:
          type: array
          items:
            $ref: '#/components/schemas/DatoAdicionalInput'
          description: >-
            Datos adicionales específicos del receptor. El Salvador: `MH_NRC` y
            `MH_CODIGO_ACTIVIDAD` son obligatorios en Crédito Fiscal (CCF) y
            activan la exigencia de `NUMERO_SECUENCIAL` a nivel de documento.
    ItemDteInput:
      type: object
      description: Item (línea de detalle) enviado en la solicitud de creación de un DTE.
      properties:
        descripcion:
          type: string
          maxLength: 500
        tipo:
          type: string
          enum:
            - bien
            - servicio
          default: bien
          description: >-
            `"bien"` o `"servicio"` (también se acepta `B`/`S`/`BS`). El valor
            por defecto también puede configurarse en la cuenta emisora.
        cantidad:
          type: number
          format: double
          default: 1
          exclusiveMinimum: 0
        precioUnitario:
          type: number
          format: double
          minimum: 0
          description: >-
            Precio del bien o servicio, **con IVA incluido** (salvo excepciones
            documentadas en /dte/impuestos). Si se envía `precio` (total de
            línea) en su lugar, Fegora infiere `precioUnitario = precio /
            cantidad`.
        precio:
          type: number
          format: double
          description: >-
            Alternativa a `precioUnitario`: el total de línea (con IVA
            incluido). Úselo cuando su sistema sólo calcula el total, no el
            precio unitario.
        unidadMedida:
          type: string
          maxLength: 10
          description: >-
            Se recomienda `UNI`, `MTS`, `MT2`, `MT3`, `KGS`, `LTS`, `PAR`,
            `CBZ`, `PZA`, `KWT`, `JGO` o `BAR`. Puede usar una unidad
            personalizada de máximo 3 caracteres. Por defecto usa el valor
            configurado en la cuenta (`UNI` si no se configuró).
        descuento:
          type: number
          format: double
          minimum: 0
          description: >-
            Descuento discreto (monto fijo en la moneda del documento, no
            porcentaje).
        impuestos:
          type: array
          items:
            $ref: '#/components/schemas/ImpuestoInput'
        datosAdicionales:
          type: array
          items:
            $ref: '#/components/schemas/DatoAdicionalInput'
      required:
        - descripcion
        - precioUnitario
    DatosExportacion:
      type: object
      description: >-
        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.
      properties:
        nombreConsignatario:
          type: string
        direccionConsignatario:
          type: string
        codigoConsignatario:
          type: string
        nombreComprador:
          type: string
        direccionComprador:
          type: string
        codigoComprador:
          type: string
        otraReferencia:
          type: string
        incoterm:
          type: string
          description: Incoterm 2020. Ver https://www.tibagroup.com/mx/incoterms
          enum:
            - EXW
            - FCA
            - CPT
            - CIP
            - DAP
            - DPU
            - DDP
            - FAS
            - FOB
            - CFR
            - CIF
        codigoExportador:
          type: string
        nombreExportador:
          type: string
      required:
        - nombreConsignatario
        - direccionConsignatario
    AbonoPactado:
      type: object
      description: >-
        Abono pactado (plan de pagos). Usado en factura cambiaria (Guatemala) y
        formas de pago (El Salvador/República Dominicana). Una `factura` con
        `abonosPactados` se certifica automáticamente como factura cambiaria;
        también puede indicarse explícitamente `tipo: "facturaCambiaria"`.
      properties:
        numero:
          type: integer
          description: >-
            Número correlativo del abono (1..n). Lo asigna Fegora ordenando por
            `fecha`; se ignora si se envía en la solicitud.
        fecha:
          type: string
        monto:
          type: number
          format: double
        metodoPago:
          type: string
        duracion:
          type: string
          description: Duración en formato ISO-8601 (p. ej. `P1M`, `P1Y6M`).
    DatoAdicionalInput:
      type: object
      description: >-
        Dato adicional (par nombre/valor) enviado en la solicitud, a nivel de
        documento, receptor o item. El backend actual sólo acepta `nombre` y
        `valor`; `etiqueta`/`visible` (presentes en versiones antiguas del API)
        son calculados automáticamente por Fegora y sólo aparecen en la
        respuesta.
      properties:
        nombre:
          type: string
          description: >-
            Nombre del dato adicional. Úselo para identificar el valor (p. ej.
            `IdProductoSAP`), o uno de los nombres reservados por país
            (`NUMERO_SECUENCIAL` en El Salvador y República Dominicana,
            `MH_NRC`/`MH_CODIGO_ACTIVIDAD` en el receptor para El Salvador,
            etc.).
        valor:
          type: string
          description: Valor del dato adicional.
      required:
        - nombre
    EntidadFiscal:
      type: object
      description: >-
        Representación de emisor o receptor tal como aparece en la respuesta de
        un DTE, con los datos fiscales resueltos por Fegora.
      properties:
        id:
          type: string
          description: NIT / RNC / identificador fiscal.
        nombre:
          type: string
        nombreComercial:
          type: string
        tipoId:
          type: string
        tipoEstablecimiento:
          type: string
        esExentoIva:
          type: boolean
        esRetenedorIva:
          type: boolean
        direccion:
          $ref: '#/components/schemas/Direccion'
        direccionCorreoElectronico:
          type: string
        afiliacionIva:
          type: string
        afiliacionIsr:
          type: string
        codigoEstablecimiento:
          type: string
        codigoPuntoVenta:
          type: string
          description: Código de punto de venta (El Salvador).
        datosAdicionales:
          type: array
          items:
            $ref: '#/components/schemas/DatoAdicional'
          description: Omitido cuando no hay datos adicionales.
      required:
        - id
        - nombre
    Canal:
      type: object
      description: Canal de emisión de la cuenta (por defecto, canal API).
      properties:
        id:
          type: integer
        nombre:
          type: string
        nombreCorto:
          type: string
    DteOriginal:
      type: object
      description: >-
        Resumen del documento original referenciado por una nota de
        crédito/débito. Fechas en hora local del emisor, sin offset de zona
        horaria.
      properties:
        id:
          type: string
        serie:
          type: string
        numero:
          type: integer
          format: int64
        fechaEmision:
          type: string
        fechaCertificacion:
          type: string
        tipo:
          type: string
        total:
          type: number
          format: double
    Certificador:
      type: object
      properties:
        id:
          type: string
          description: >-
            NIT del certificador autorizado (Digifact, Infile, etc. en
            Guatemala; NUC en El Salvador/RD).
        nombre:
          type: string
        nombreComercial:
          type: string
        esExentoIva:
          type: boolean
        esRetenedorIva:
          type: boolean
    RetencionesFacturaEspecial:
      type: object
      description: >-
        Retenciones de Factura Especial (Guatemala): ISR 5% + IVA retenido. Sólo
        presente para `tipo: "facturaEspecial"`.
      properties:
        retencionIsr:
          type: number
          format: double
        retencionIva:
          type: number
          format: double
        totalMenosRetenciones:
          type: number
          format: double
    DatosAnulacion:
      type: object
      description: >-
        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.
      properties:
        motivoAnulacion:
          type: string
        fechaAnulacion:
          type: string
        fechaCertificacion:
          type: string
          description: Fecha en que el certificador confirmó la anulación.
      required:
        - motivoAnulacion
        - fechaAnulacion
    ItemDte:
      type: object
      description: >-
        Item (línea de detalle) tal como se refleja en la respuesta, con los
        impuestos ya resueltos.
      properties:
        cantidad:
          type: number
          format: double
        descripcion:
          type: string
        tipo:
          type: string
          enum:
            - bien
            - servicio
        unidadMedida:
          type: string
        precioUnitario:
          type: number
          format: double
        precio:
          type: number
          format: double
          description: Total de línea antes de descuento (precioUnitario × cantidad).
        descuento:
          type: number
          format: double
        otroDescuento:
          type: number
          format: double
        total:
          type: number
          format: double
        impuestos:
          type: array
          items:
            $ref: '#/components/schemas/Impuesto'
        datosAdicionales:
          type: array
          items:
            $ref: '#/components/schemas/DatoAdicional'
          description: Omitido cuando el item no tiene datos adicionales.
      required:
        - cantidad
        - descripcion
        - unidadMedida
        - precioUnitario
        - total
    DatoAdicional:
      type: object
      description: >-
        Dato adicional tal como se refleja en la respuesta: incluye `etiqueta`
        (para representación gráfica) y `visible`, calculados por Fegora a
        partir de lo enviado y de las frases/legales automáticas (p. ej.
        `SAT-4-1`).
      properties:
        nombre:
          type: string
        valor:
          type:
            - string
            - 'null'
        etiqueta:
          type: string
          description: >-
            Etiqueta sugerida para mostrar en una representación gráfica (PDF).
            Vacía para frases SAT y leyendas automáticas.
        visible:
          type: boolean
          description: Si debe mostrarse en una representación gráfica (PDF).
      required:
        - nombre
    DteRecurso:
      type: object
      description: Recurso adjunto a un DTE (archivo, URL o referencia a otro DTE).
      properties:
        tipo:
          type: string
          enum:
            - archivo
            - url
            - dte
        archivoUri:
          type: string
        uri:
          type: string
        idDteRelacionado:
          type: string
        descripcion:
          type: string
    BitacoraEntrada:
      type: object
      description: >-
        Entrada de la bitácora (auditoría) del documento. `fecha` en hora local
        del emisor, sin offset de zona horaria.
      properties:
        evento:
          type: string
          enum:
            - creacion
            - modificacion
            - itemAgregado
            - itemEliminado
            - certificacion
            - anulacion
            - envio
            - impresion
        fecha:
          type: string
        ipOrigen:
          type: string
        origen:
          type: string
        usuario:
          type: string
    Direccion:
      type: object
      description: >-
        Dirección física. Se usa tanto para el emisor/establecimiento como para
        el receptor. `pais` acepta el código ISO 3166-1 alfa-2 (`GT`, `SV`,
        `DO`); por compatibilidad legacy el valor por defecto interno es la
        cadena literal `GUATEMALA`, pero se recomienda enviar siempre el código
        de 2 letras.
      properties:
        direccion:
          type: string
          maxLength: 500
          description: >-
            Dirección en texto libre. Opcional — un receptor Consumidor Final
            típicamente no la incluye.
        municipio:
          type: string
        departamento:
          type: string
        idMunicipio:
          type: string
          description: >-
            Código de localidad del municipio (ver `GET /localidad`). En El
            Salvador usa el formato `SV.<departamento>.<municipio>`, p. ej.
            `SV.SS.23` (San Salvador).
        idDepartamento:
          type: string
          description: Código de localidad del departamento (ver `GET /localidad`).
        codigoPostal:
          type: string
          description: >-
            Para Guatemala, cuando `pais` es exactamente `GUATEMALA`, debe tener
            5 dígitos. Si se omite en el receptor, Fegora usa `01001` por
            defecto.
        pais:
          type: string
          description: Código o nombre de país.
          examples:
            - GT
            - SV
            - DO
    ImpuestoInput:
      type: object
      description: >-
        Línea de impuesto enviada explícitamente en un item. La mayoría de
        integraciones NO envían este nodo — Fegora calcula el IVA/ITBIS
        implícito a partir de `precioUnitario` (que ya lo incluye). Envíelo sólo
        para impuestos adicionales (ITH, IFB, TDP, IDP, IDB) o para forzar un
        `codigoUnidadGravable` específico. Los montos son opcionales: los
        clientes de El Salvador y República Dominicana típicamente envían sólo
        `nombreCorto` + `codigoUnidadGravable` y Fegora calcula
        `montoGravable`/`montoImpuesto` a la tasa que el código dicta.
      properties:
        nombreCorto:
          type: string
          description: >-
            Código del impuesto. `IVA` cubre también el ITBIS de República
            Dominicana.
          enum:
            - IVA
            - IDP
            - ITH
            - ITP
            - TDP
            - IFB
            - MUN
            - IDB
        montoGravable:
          type: number
          format: double
          description: >-
            Monto sobre el cual se calcula el impuesto. Opcional — si se omite,
            Fegora lo calcula a partir del total de línea.
        montoImpuesto:
          type: number
          format: double
          description: Monto del impuesto. Opcional — si se omite, Fegora lo calcula.
        cantidadUnidadesGravables:
          type: number
          format: double
          description: Informativo — usado por IDP (unidades de combustible).
        codigoUnidadGravable:
          type:
            - string
            - number
          description: >-
            Código numérico (aceptado como texto o número) que clasifica la
            línea. Obligatorio cuando `nombreCorto` es `IVA`. Su significado
            varía por país: Guatemala — 1 = gravado, 2 = exento; El Salvador — 1
            = gravada, 2 = exenta, 3 = no sujeta, 4 = no gravado; República
            Dominicana (ITBIS) — 1 = 18%, 2 = 16%, 3 = exento, 4 = no gravado.
          examples:
            - 1
      required:
        - nombreCorto
    Impuesto:
      type: object
      description: >-
        Línea de impuesto tal como se refleja en la respuesta (calculada o
        completada por Fegora a partir de lo enviado).
      properties:
        nombreCorto:
          type: string
          enum:
            - IVA
            - ISR
            - IDP
            - ITH
            - ITP
            - TDP
            - IFB
            - MUN
            - IDB
            - OTRO
        codigoUnidadGravable:
          type: integer
          description: >-
            Ver la nota de variación por país en
            `ImpuestoInput.codigoUnidadGravable`.
        cantidadUnidadesGravables:
          type: number
          format: double
        montoGravable:
          type: number
          format: double
        montoImpuesto:
          type: number
          format: double
      required:
        - nombreCorto
        - montoGravable
        - montoImpuesto
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````