Saltar al contenido principal

Crear una factura de exportación

Este endpoint está diseñado para facilitar la generación y emisión de facturas de exportación electrónicas. Para utilizarlo, necesitas realizar un POST request a `/dte/fex``, incluyendo la información necesaria en el cuerpo de la solicitud.

Detalles Técnicos

  • HTTP Method: POST
  • URL: https://api.facturallama.com/dte/fex
  • Headers:
    • X-API-Key: Tu API key.
    • X-API-Version: La versión de la API que estás utilizando.
    • Content-Type: application/json

Request Body

A continuación se presenta una descripción detallada de las propiedades que puedes incluir en el cuerpo de tu solicitud, así como las validaciones y formatos que debes tener en cuenta.

Propiedades Principales

PropiedadTipoValidaciónDescripción
idUUIDObligatorio.Identificador del DTE (este valor se convertira en el código de generación para el Ministerio de Hacienda).
recipientObjectObligatorio. Ver detalles.Información del destinatario.
itemTypeEnumObligatorio..Tipo de Ítem. Valores: BIENES, SERVICIOS, BIENES_Y_SERVICIOS
itemsArrayObligatorio. Ver detalles.Lista de ítems.
generatedAtDateOpcional.Fecha de generación del DTE.
paymentTypeEnumDefault: CONTADOTipo de pago. Valores: CONTADO, CREDITO, OTRO
branchOfficeObjectOpcional. Ver detalles.Datos de la sucursal y punto de venta.
thirdPartySaleObjectOpcional. Ver detalles.Información de venta a terceros.
attachmentsArrayOpcional. Máximo de 20 objetos. Ver detalles.Lista de adjuntos.
itemsNoGravArrayOpcional. Ver detalles.Lista de ítems no gravados.
discountNumberOpcional. Debe ser un número decimal positivo.Descuento global.
taxAreaStringOpcional. Debe coincidir con códigos de CAT-027.Código de Recinto Fiscal. Si no se coloca el DTE es aprobado pero, con observaciones del Ministerio de Hacienda.
taxRegimenStringOpcional. Debe coincidir con códigos de CAT-028.Código de régimen. Si no se coloca el DTE es aprobado pero, con observaciones del Ministerio de Hacienda.
incotermsEnumOpcional.Incoterms. Valores: EXW, FCA, CPT, CIP, DAP, DPU, DDP, FAS, FOB, CFR, CIF, DAT, DAF, DES, DEQ,DDU
commentsStringOpcional.Observaciones.
insuranceNumberOpcional. Debe ser un número decimal positivo.Seguro.
freightNumberOpcional. Debe ser un número decimal positivo.Flete.
appendicesArrayOpcional. Ver detalles.Lista de apendices.

Propiedades Anidadas

branchOffice
PropiedadTipoValidaciónDescripción
mhCodeStringObligatorio. Debe ser un string de exactamente 4 caracteres.Identificador de la sucursal.
posNumberNumberObligatorio. Debe ser un número positivo. El valor no puede ser mayor a 999.Identificador del punto de venta.
recipient
PropiedadTipoValidaciónDescripción
nameStringObligatorio. Máximo: 250 caracteres.Nombre del destinatario.
countryStringObligatorio. Debe coincidir con alguno de los códigos asignados del estandar ISO 3166-1 alpha-2. Ej: SVCódigo de país.
addressStringObligatorio. Máximo: 300 caracteres.Dirección del destinatario.
contributorTypeEnumObligatorio.Tipo de Contribuyente. Valores: NATURAL, JURIDICA
economicActivityStringObligatorio. Debe coincidir con códigos de CAT-019.Código de actividad económica.
identificationDocumentObjectObligatorio. Ver detalles.Documento de identificación del destinatario.
emailStringObligatorio. Máximo: 100 caracteres. Debe ser un correo electrónico válido.Correo electrónico del destinatario.
commercialNameStringOpcional. Máximo: 150 caracteres.Nombre Comercial del destinatario.
contributorSizeEnumOpcional.Tamaño de Contribuyente. Valores: GRANDE, MEDIANO, OTROS
phoneStringOpcional. Debe ser un string entre 8 y 25 números.Número de teléfono del destinatario.
recipient.identificationDocument
PropiedadTipoValidaciónDescripción
typeEnumObligatorioTipo de documento. Valores: NIT, DUI, PASAPORTE, CARNET_RESIDENTE, OTRO
numberStringObligatorioNúmero del documento de identificación. DUI: #########; NIT: ##############. Máximo: 20 caracteres.
thirdPartySale
PropiedadTipoValidaciónDescripción
nameStringObligatorio. Máximo: 150 caracteres.Nombre de la tercera parte.
identificationDocumentObjectObligatorio. Ver detalles.Documento de identificación de la tercera parte.
thirdPartySale.identificationDocument
PropiedadTipoValidaciónDescripción
typeEnumObligatorio.Tipo de documento. Valores: NIT, DUI, PASAPORTE, CARNET_RESIDENTE, OTRO.
numberStringObligatorio.Número del documento de identificación. DUI: #########; NIT: ##############
attachments
PropiedadTipoValidaciónDescripción
codeEnumObligatorio.Código del adjunto. Valores: EMISOR, RECEPTOR, TRANSPORTE
detailsStringOpcional. Obligatorio cuando code es EMISOR o RECEPTOR. Máximo: 300 caracteres.Detalles o descripción del adjunto.
driverObjectOpcional. Ver detalles.Información sobre el conductor en caso de que el adjunto se refiera a un servicio de transporte.
attachments[n].driver
PropiedadTipoValidaciónDescripción
nameStringObligatorio. Máximo: 200 caracteres.Nombre del conductor.
documentIdentificationNumberStringObligatorio.Número del documento de identificación.
transportIdentificationNumberStringObligatorio.Número de placas del vehiculo.
transportEnumObligatorio.Tipo de Transporte. Valores: TERRESTRE, MARITIMO, AEREO, TERRESTRE_MARITIMO, TERRESTRE_AEREO, MARITIMO_AEREO, TERRESTRE_MARITIMO_AEREO
items
PropiedadTipoValidaciónDescripción
descriptionStringObligatorio. Máximo: 1000 caracteres.Descripción del ítem.
quantityNumberObligatorio. Debe ser un número entero positivo.Cantidad del ítem.
unitMeasureEnumOpcional. Default: OTRAUnidad de medida del ítem. Contiene diversas opciones, como METRO, YARDA, PIE, KILOGRAMO, etc.
unitPriceNumberObligatorio. Debe ser un número decimal positivo.Precio unitario del ítem.
internalCodeStringOpcional, Máximo: 25 caracteres.Código interno del ítem.
discountAmountNumberOpcional. Debe ser un número decimal positivo.Monto de descuento aplicado al ítem.
itemsNoGrav
PropiedadTipoValidaciónDescripción
descriptionStringObligatorio. Máximo: 1000 caracteres.Descripción del ítem.
amountNumberObligatorio. Debe ser un número decimal positivo.Monto del ítem que no está gravado.
internalCodeStringOpcional. Máximo: 25 caracteres.Código interno del ítem.
appendices
PropiedadTipoValidaciónDescripción
nameStringObligatorio.. Máximo: 25 caracteres.CAMPO del apéndice.
descriptionStringObligatorio. Máximo: 50 caracteres.ETIQUETA del apéndice
valueStringObligatorio. Máximo: 150 caracteres.VALOR del apéndice.

Response Body

Una vez procesada tu solicitud, el servidor responderá con un conjunto de datos que confirmarán la creación de la factura electrónica o, en caso de error, proporcionarán detalles sobre lo que salió mal.

PropiedadTipoDescripción
idUUIDIdentificador único del DTE.
companyIdUUIDIdentificador único de la empresa.
controlNumberStringEste número es utilizado para identificar el DTE ante el Ministerio de Hacienda (MH).
environmentEnumAmbiente. Valores: TEST, LIVE.
typeEnumTipo de documento fiscal. FEX.
versionIntegerVersión del DTE.
statusEnumEstado del DTE. Valores: CREATED, PROCESSING, APPROVED, REJECTED, INVALIDATED.
mhResponseObjectRespuesta del API del Ministerio de Hacienda.
generatedAtTimestampFecha y hora de creación del DTE asignado manualmente.
createdAtTimestampFecha y hora de creación del DTE.

Ejemplo

Copia y pega el código en una terminal o en tu editor de código favorito. Reemplaza <Tu API Key> con la API key que generaste en el paso anterior.

curl --location 'https://api.facturallama.com/dte/fex' \
--header 'X-API-Version: 1' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: TU <API_KEY>' \
--data '{
"id": "TU <UUID>",
"itemType": "BIENES",
"items": [
{
"description": "Camisa",
"unitPrice": 10.00,
"quantity": 1
}
],
"recipient": {
"name": "Hugo Gonzalez",
"country": "SV",
"address": "Rpto. San Fernando",
"contributorType": "NATURAL",
"economicActivity": "10005",
"identificationDocument": {
"type": "OTRO",
"number": "12345"
},
"email": "hugo@facturallama.com"
}
}'