Saltar al contenido principal

Crear un comprobante de retención

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

Detalles Técnicos

  • HTTP Method: POST
  • URL: https://api.facturallama.com/dte/cr
  • 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).
generatedAtDateOpcional.Fecha de generación del DTE. Formato: yyyy-MM-dd
branchOfficeObjectOpcional. Ver detalles.Datos de la sucursal y punto de venta.
recipientObjectObligatorio. Ver detalles.Información del receptor.
itemsArrayObligatorio. Ver detalles.Lista de ítems.

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
economicActivityEnumObligatorio. Debe coincidir con códigos de CAT-019.Código de actividad económica.
contributorTypeEnumOpcional.Tipo de Contribuyente. Valores: NATURAL, JURIDICA
contributorSizeEnumOpcional.Tamaño de Contribuyente. Valores: GRANDE, MEDIANO, OTROS
nrcStringOpcional. La longitud del string debe ser de entre 1 y 8 números. Si el identificationDocument.type es NIT, este campo es obligatorio.Número de Registro de Contribuyente.
nameStringObligatorio. Máximo: 250 caracteres.Nombre del receptor.
phoneStringOpcional. Debe ser un string de exactamente 8 números.Número de teléfono del receptor. Formato: ########
commercialNameStringOpcional. Máximo: 150 caracteres.Nombre comercial del receptor.
emailStringObligatorio. Máximo: 100 caracteres. Debe ser un correo electrónico válido.Correo electrónico del receptor.
addressObjectObligatorio. Ver detalles.Dirección del receptor.
identificationDocumentObjectObligatorio. Ver detalles.Documento de identificación del receptor.
recipient.address
PropiedadTipoValidaciónDescripción
departmentStringObligatorio.Departamento. Debe coincidir con códigos de CAT-012.
municipalityStringObligatorio.Municipio. Debe coincidir con códigos de CAT-013.
complementStringObligatorio.Información adicional de dirección. Máximo: 200 caracteres.
recipient.identificationDocument
PropiedadTipoValidaciónDescripción
typeEnumObligatorioTipo de documento. Valores: NIT, DUI, PASAPORTE, CARNET_RESIDENTE, OTRO.
numberStringObligatorioNúmero del documento de identificación. DUI: #########; NIT: ##############
items
PropiedadTipoValidaciónDescripción
documentTypeEnumObligatorio.Tipo de documento relacionado con el ítem. Valores: FISICO, DIGITAL.
taxDocumentTypeEnumObligatorio.Tipo de DTE relacionado con el ítem. Valores: FC, CCF, FSE.
taxDocumentNumberStringObligatorio.Número de documento relacionado con el ítem. Si el documentType es FISICO se permite un String de máximo 20 caracteres, si es DIGITAL debe escribirse el código de generación del DTE.
taxDocumentGeneratedAtDateObligatorio.Fecha de emision del documento relacionado con el ítem. Formato: yyyy-MM-dd.
descriptionStringObligatorio. Máximo: 1000 caracteres.Descripción del ítem.
amountSubjectNumberObligatorio. Debe ser un número decimal positivo.Monto sujeto a retención del ítem.
ivaRetainedNumberObligatorio. Debe ser un número decimal positivo.Iva retenido del ítem.
retentionCodeEnumObligatorioCódigo de retención MH. Valores: RETENCION_IVA_1, RETENCION_IVA_13, OTRAS_RETENCIONES_IVA_CASOS_ESPECIALES.

Response Body

Una vez procesada tu solicitud, el servidor responderá con un conjunto de datos que confirmarán la creación del comprobante de crédito fiscal 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. CR.
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/cr' \
--header 'X-API-Version: 1' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <API Key>' \
--data-raw '{
"id": "<UUID>",
"recipient": {
"contributorType": "NATURAL",
"contributorSize": "OTROS",
"economicActivity": "62020",
"nrc": "12345678",
"name": "John Doe",
"email": "johndoe@gmail.com",
"identificationDocument": {
"type": "DUI",
"number": "123456789"
},
"address": {
"department": "06",
"municipality": "14",
"complement": "Somewhere beyond the rainbow"
}
},
"items": [
{
"documentType": "FISICO",
"taxDocumentType": "FC",
"taxDocumentNumber": "34343434",
"taxDocumentGeneratedAt": "2024-04-22",
"description": "Retención",
"ivaRetained": 0.85,
"amountSubject": 88.5,
"retentionCode": "RETENCION_IVA_1"
}
]
}'