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
Propiedad | Tipo | Validación | Descripción |
---|---|---|---|
id | UUID | Obligatorio. | Identificador del DTE (este valor se convertira en el código de generación para el Ministerio de Hacienda). |
generatedAt | Date | Opcional. | Fecha de generación del DTE. |
paymentType | Enum | Opcional. Default: CONTADO | Tipo de pago. Valores: CONTADO , CREDITO , OTRO |
branchOffice | Object | Opcional. Ver detalles. | Datos de la sucursal y punto de venta. |
recipient | Object | Opcional. Ver detalles. | Información del destinatario. |
thirdPartySale | Object | Opcional. Ver detalles. | Información de venta a terceros. |
attachments | Array | Opcional. Máximo de 20 objetos. Ver detalles. | Lista de adjuntos. |
items | Array | Obligatorio. Ver detalles. | Lista de ítems. |
itemsNoGrav | Array | Opcional. Ver detalles. | Lista de ítems no gravados. |
discountj | Number | Opcional. Debe ser un número decimal positivo. | Descuento global. |
itemType | Enum | Obligatorio.. | Tipo de Ítem. Valores: BIENES , SERVICIOS , BIENES_Y_SERVICIOS |
taxArea | String | Opcional. Debe coincidir con códigos de CAT-027. | Código de Recinto Fiscal. |
taxRegimen | String | Opcional. Debe coincidir con códigos de CAT-028. | Código de régimen. |
incoterms | Enum | Opcional. | Incoterms. Valores: EXW , FCA , CPT , CIP , DAP , DPU , DDP , FAS , FOB , CFR , CIF , DAT , DAF , DES , DEQ ,DDU |
comments | String | Opcional. | Observaciones. |
insurance | Number | Opcional. Debe ser un número decimal positivo. | Seguro. |
freight | Number | Opcional. Debe ser un número decimal positivo. | Flete. |
Propiedades Anidadas
branchOffice
Propiedad | Tipo | Validación | Descripción |
---|---|---|---|
mhCode | String | Obligatorio. Debe ser un string de exactamente 4 caracteres. | Identificador de la sucursal. |
posNumber | Number | Obligatorio. Debe ser un número positivo. El valor no puede ser mayor a 999. | Identificador del punto de venta. |
recipient
Propiedad | Tipo | Validación | Descripción |
---|---|---|---|
name | String | Obligatorio. Máximo: 250 caracteres. | Nombre del destinatario. |
commercialName | String | Opcional. Máximo: 150 caracteres. | Nombre Comercial del destinatario. |
country | String | Obligatorio. Debe coincidir con códigos de CAT-020. | Código de país. |
address | String | Obligatorio. Máximo: 300 caracteres. | Dirección del destinatario. |
contributorType | Enum | Obligatorio. | Tipo de Contribuyente. Valores: NATURAL , JURIDICA |
contributorSize | Enum | Opcional. | Tamaño de Contribuyente. Valores: GRANDE , MEDIANO , OTROS |
economicActivity | String | Obligatorio. Debe coincidir con códigos de CAT-019. | Código de actividad económica. |
email | String | Opcional. Máximo: 100 caracteres. Debe ser un correo electrónico válido. | Correo electrónico del destinatario. |
phone | String | Opcional. Debe ser un string entre 8 y 50 números. | Número de teléfono del destinatario. |
thirdPartySale
Propiedad | Tipo | Validación | Descripción |
---|---|---|---|
name | String | Obligatorio. Máximo: 150 caracteres. | Nombre de la tercera parte. |
identificationDocument | Object | Obligatorio. Ver detalles. | Documento de identificación de la tercera parte. |
thirdPartySale.identificationDocument
Propiedad | Tipo | Validación | Descripción |
---|---|---|---|
type | Enum | Obligatorio. | Tipo de documento. Valores: NIT , DUI , PASAPORTE , CARNET_RESIDENTE , OTRO . |
number | String | Obligatorio. | Número del documento de identificación. DUI: #########; NIT: ############## |
attachments
Propiedad | Tipo | Validación | Descripción |
---|---|---|---|
code | Enum | Obligatorio. | Código del adjunto. Valores: EMISOR , RECEPTOR , TRANSPORTE |
details | String | Opcional. Obligatorio cuando code es EMISOR o RECEPTOR. Máximo: 300 caracteres. | Detalles o descripción del adjunto. |
driver | Object | Opcional. Ver detalles. | Información sobre el conductor en caso de que el adjunto se refiera a un servicio de transporte. |
attachments[n].driver
Propiedad | Tipo | Validación | Descripción |
---|---|---|---|
name | String | Obligatorio. Máximo: 200 caracteres. | Nombre del conductor. |
documentIdentificationNumber | String | Obligatorio. | Número del documento de identificación. |
transportIdentificationNumber | String | Obligatorio. | Número de placas del vehiculo. |
transport | Enum | Obligatorio. | Tipo de Transporte. Valores: TERRESTRE , MARITIMO , AEREO , TERRESTRE_MARITIMO , TERRESTRE_AEREO , MARITIMO_AEREO , TERRESTRE_MARITIMO_AEREO |
items
Propiedad | Tipo | Validación | Descripción |
---|---|---|---|
internalCode | String | Opcional, Máximo: 25 caracteres. | Código interno del ítem. |
description | String | Obligatorio. Máximo: 1000 caracteres. | Descripción del ítem. |
quantity | Number | Obligatorio. Debe ser un número entero positivo. | Cantidad del ítem. |
unitMeasure | Enum | Opcional. Default: OTRA | Unidad de medida del ítem. Contiene diversas opciones, como METRO , YARDA , PIE , KILOGRAMO , etc. |
unitPrice | Number | Obligatorio. Debe ser un número decimal positivo. | Precio unitario del ítem. |
discountAmount | Number | Opcional. Debe ser un número decimal positivo. | Monto de descuento aplicado al ítem. |
itemsNoGrav
Propiedad | Tipo | Validación | Descripción |
---|---|---|---|
internalCode | String | Opcional. Máximo: 25 caracteres. | Código interno del ítem. |
description | String | Obligatorio. Máximo: 1000 caracteres. | Descripción del ítem. |
amount | Number | Obligatorio. Debe ser un número decimal positivo. | Monto del ítem que no está gravado. |
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.
Propiedad | Tipo | Descripción |
---|---|---|
id | UUID | Identificador único del DTE. |
companyId | UUID | Identificador único de la empresa. |
controlNumber | String | Este número es utilizado para identificar el DTE ante el Ministerio de Hacienda (MH). |
environment | Enum | Ambiente. Valores: TEST , LIVE . |
type | Enum | Tipo de documento fiscal. FEX . |
version | Integer | Versión del DTE. |
status | Enum | Estado del DTE. Valores: CREATED , PROCESSING , APPROVED , REJECTED , INVALIDATED . |
mhResponse | Object | Respuesta del API del Ministerio de Hacienda. |
generatedAt | Timestamp | Fecha y hora de creación del DTE asignado manualmente. |
createdAt | Timestamp | Fecha 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
curl --location 'https://api.facturallama.com/dte/fex' \
--header 'X-API-Version: 1' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <API Key>' \
--data '{
"id": "<UUID>",
"items": [
{
"type": "BIENES",
"description": "Producto 1",
"quantity": 1,
"unitPrice": 17.97,
}
]
}'