> For the complete documentation index, see [llms.txt](https://factura-electronica.aliaddo.dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://factura-electronica.aliaddo.dev/primeros-pasos/estructura-de-los-datos/factura.md).

# Factura

## Ejemplo

```javascript
{
	"code": "01",
	"format": "Estandar",
	"emailSender": "",
	"consecutive": "990004322",
	"externalNumber": "",
	"currencyCode": "COP",
	"currencyRate": 0,
	"date": "2020-1-23",
	"dateDue": "2020-1-29",
	"dateStart": "2020-1-23",
	"dateEnd": "2020-1-29",
	"typeOfOperation": "10",
	"dueDiligence": "",
	"incoterms": "",
	"deliveryTerms": "",
	"terms": "",
	"remark": "",
	"observation": "",
	"termDay": 0,
	"paymentMeanCode": "48",
	"branch": {
		"name": "",
		"address": "",
		"phone": "",
		"countryCode": "",
		"countryName": "",
		"departamentCode": "",
		"departamentName": "",
		"cityCode": "",
		"cityName": ""
	},
	"resolution": {
		"resolutionKey": "fc8eac422eba16e22ffd8c6f94b3f40a6e38162c",
		"resolutionPrefix": "SETT",
		"resolutionNumber": "18760000001",
		"resolutionRangeInitial": "990000000",
		"resolutionRangeFinal": "995000000",
		"resolutionValidFrom": "2019-01-19",
		"resolutionValidUntil": "2030-01-19"
	},
	"customer": {
		"companyName": "Customer",
		"personType": "1",
		"regimeType": "04",
		"firstName": "Customer",
		"lastName": "Customer",
		"identification": "000000001",
		"digitCheck": "8",
		"identificationTypeCode": "13",
		"email": "email@email.com",
		"phone": "",
		"merchantRegistration": "",
		"responsibleFor": "ZZ",
		"responsibilities": "R-99-PN",
		"economicActivities": "2824;2920",
		"billingAddress": "KR con Calle",
		"billingCountryName": "Colombia",
		"billingCountryCode": "CO",
		"billingRegionName": "Cundinamarca",
		"billingRegionCode": "25",
		"billingCityName": "Chipaque",
		"billingCityCode": "25178",
		"billingPostalCode": "",
		"billingNeighborhood": "",
		"billingPhone": "",
		"billingContactName": "",
		"shippingAddress": "",
		"shippingCountryName": "",
		"shippingCountryCode": "",
		"shippingRegionName": "",
		"shippingRegionCode": "",
		"shippingCityName": "",
		"shippingCityCode": "",
		"shippingPostalCode": "",
		"shippingNeighborhood": "",
		"shippingPhone": "",
		"shippingContactName": ""
	},
	"invoiceDetails": [{
		"standardType": "",
		"standardCode": "",
		"itemCode": "0001",
		"itemName": "Item",
		"itemModel": "",
		"description": "Item prueba",
		"brandName": "",
		"itemCodeSupplier": "",
		"isPresent": false
	}],
	"charges": [{
		"name": "Servicio",
		"type": "P",
		"rate": 10,
		"amount": 1000
	}],
	"tip": {
		"base": 10000,
		"rate": 10,
		"amount": 1000
	}
}
```

## Estructura

### invoice

Tipo: Objeto

Objeto de una factura.

<table data-header-hidden data-full-width="true"><thead><tr><th>Campo</th><th width="107" align="center">Tipo</th><th width="105" align="center">Longitud</th><th align="center">¿Puede ser nulo?</th><th align="center">Descripción</th></tr></thead><tbody><tr><td><strong>Campo</strong></td><td align="center"><strong>Tipo</strong></td><td align="center"><strong>Longitud</strong></td><td align="center"><strong>¿Puede ser nulo?</strong></td><td align="center"><strong>Descripción</strong></td></tr><tr><td>code (Ver códigos)</td><td align="center">string</td><td align="center">2</td><td align="center">No</td><td align="center">Tipo de factura DIAN</td></tr><tr><td>format (Ver opciones)</td><td align="center">string (Enum)</td><td align="center">32</td><td align="center">Sí</td><td align="center">Formato PDF documento</td></tr><tr><td>emailSender</td><td align="center">string</td><td align="center">128</td><td align="center">Sí</td><td align="center">Remitente email</td></tr><tr><td>consecutive</td><td align="center">int</td><td align="center"></td><td align="center">No</td><td align="center">Consecutivo de la factura</td></tr><tr><td>externalNumber</td><td align="center">string</td><td align="center">42</td><td align="center">Sí</td><td align="center">Número externo de la factura <strong>(Orden de compra)</strong></td></tr><tr><td>currencyCode</td><td align="center">string</td><td align="center">3</td><td align="center">No</td><td align="center">Tipo de moneda</td></tr><tr><td>currencyRate <strong>(Obligatorio si hay un tipo de moneda extranjera)</strong></td><td align="center">number</td><td align="center">18,6</td><td align="center">No</td><td align="center">Tasa de cambio</td></tr><tr><td>date</td><td align="center">date</td><td align="center"></td><td align="center">No</td><td align="center">Fecha de expedición de la factura</td></tr><tr><td>dateDue</td><td align="center">date</td><td align="center"></td><td align="center">Sí</td><td align="center">Fecha de vencimiento de la factura</td></tr><tr><td>dateStart</td><td align="center">date</td><td align="center"></td><td align="center">Sí</td><td align="center">Fecha inicial del periodo de facturación</td></tr><tr><td>dateEnd</td><td align="center">date</td><td align="center"></td><td align="center">Sí</td><td align="center">Fecha final del periodo de facturación</td></tr><tr><td>typeOfOperation (Ver códigos)</td><td align="center">string</td><td align="center">2</td><td align="center">No</td><td align="center">Tipo de operación</td></tr><tr><td>dueDiligence (Ver códigos)</td><td align="center">string</td><td align="center">2</td><td align="center">Sí (No es nulable si se indica el tipo de operación 15 o 16)</td><td align="center">Debida dilengencia para contol cambiario</td></tr><tr><td>incoterms (Requerido cuando es exportación)</td><td align="center">string</td><td align="center">3</td><td align="center">Sí</td><td align="center">Código de condición de entrega</td></tr><tr><td>deliveryTerms</td><td align="center">string</td><td align="center">800</td><td align="center">Sí</td><td align="center">Términos de entrega</td></tr><tr><td>terms</td><td align="center">string</td><td align="center">800</td><td align="center">Sí</td><td align="center">Términos y condiciones</td></tr><tr><td>remark</td><td align="center">string</td><td align="center">800</td><td align="center">Sí</td><td align="center">Pie de pagina</td></tr><tr><td>observation</td><td align="center">string</td><td align="center">800</td><td align="center">Sí</td><td align="center">Nota / Observación</td></tr><tr><td>termDay</td><td align="center">int</td><td align="center"></td><td align="center">Sí</td><td align="center">Días del termino de pago (Si es pago a contado debe ser 0, si es crédito debe indicar el número de días)</td></tr><tr><td>paymentMeanCode (Ver códigos)</td><td align="center">string</td><td align="center">8</td><td align="center">Sí</td><td align="center">Código de medio de pago</td></tr><tr><td>branch <strong>(</strong><a href="#branch"><strong>branch</strong></a><strong>)</strong></td><td align="center">object</td><td align="center"></td><td align="center">Sí</td><td align="center">Objeto de la sucursal</td></tr><tr><td>resolution <strong>(</strong><a href="#resolution"><strong>resolution</strong></a><strong>)</strong></td><td align="center">object</td><td align="center"></td><td align="center">No</td><td align="center">Objeto de la resolución</td></tr><tr><td>customer <strong>(</strong><a href="#customer"><strong>customer</strong></a><strong>)</strong></td><td align="center">object</td><td align="center"></td><td align="center">No</td><td align="center">Objeto del cliente</td></tr><tr><td>invoiceDetails <strong>(</strong><a href="#invoicedetail"><strong>invoiceDetail</strong></a><strong>)</strong></td><td align="center">array</td><td align="center"></td><td align="center">No</td><td align="center">Arreglo de objetos del detalle de la factura</td></tr><tr><td>totals <strong>(</strong><a href="#total"><strong>total</strong></a><strong>)</strong></td><td align="center">object</td><td align="center"></td><td align="center">No</td><td align="center">Objeto de los totales de la factura</td></tr><tr><td>discounts <strong>(</strong><a href="#discount"><strong>discount</strong></a><strong>)</strong></td><td align="center">array</td><td align="center"></td><td align="center">Sí</td><td align="center">Arreglo de objetos de los descuentos</td></tr><tr><td>charges <strong>(</strong><a href="#charge"><strong>charge</strong></a><strong>)</strong></td><td align="center">array</td><td align="center"></td><td align="center">Sí</td><td align="center">Arreglo de objetos de los cargos</td></tr><tr><td>tip <strong>(</strong><a href="#tip"><strong>tip</strong></a><strong>)</strong></td><td align="center">object</td><td align="center"></td><td align="center">Sí</td><td align="center">Objeto de la propina <strong>(ChargeIndicator=true, AllowanceChargeReasonCode=03)</strong></td></tr><tr><td>currencyExchange (<a href="#currencyexchange">Ver currencyExchange</a>)</td><td align="center">object</td><td align="center"></td><td align="center">Sí (Obligatorio si typeOfOperation es 15 o 16 — declaración cambiaria DIAN Res. 000210/2025)</td><td align="center">Objeto de declaración de operación de cambio (compra/venta de divisas)</td></tr><tr><td>customFields (<a href="#customfields"><strong>customFields</strong></a>)</td><td align="center">array</td><td align="center"></td><td align="center">Sí</td><td align="center">Arreglo de objetos de los campos personalizados</td></tr></tbody></table>

### branch

Tipo: Objeto

Sucursales de facturación, para colocar estos datos a cambio de los de la empresa configurados en el portal ISV.

<table data-header-hidden data-full-width="true"><thead><tr><th>Campo</th><th width="102">Tipo</th><th width="107">Longitud</th><th width="119">¿Puede ser nulo?</th><th>Descripción</th></tr></thead><tbody><tr><td><strong>Campo</strong></td><td><strong>Tipo</strong></td><td>Longitud</td><td><strong>¿Puede ser nulo?</strong></td><td>Descripción</td></tr><tr><td>name</td><td>string</td><td>128</td><td>Sí</td><td>Nombre de la sucursal</td></tr><tr><td>address</td><td>string</td><td>64</td><td>Sí</td><td>Dirección de la sucursal</td></tr><tr><td>phone</td><td>string</td><td>32</td><td>Sí</td><td>Teléfono de la sucursal</td></tr><tr><td>countryCode</td><td>string</td><td>8</td><td>Sí</td><td>Código del país</td></tr><tr><td>countryName</td><td>string</td><td>48</td><td>Sí</td><td>Nombre del país</td></tr><tr><td>departamentCode</td><td>string</td><td>8</td><td>Sí</td><td>Código del departamento</td></tr><tr><td>departamentName</td><td>string</td><td>48</td><td>Sí</td><td>Nombre del departamento</td></tr><tr><td>cityCode</td><td>string</td><td>8</td><td>Sí</td><td>Código de la ciudad</td></tr><tr><td>cityName</td><td>string</td><td>48</td><td>Sí</td><td>Nombre de la ciudad</td></tr></tbody></table>

### resolution

Tipo: Objeto

Datos de la resolución de facturación electrónica expedida por la DIAN, para generar la resolución por favor ver vídeo: <https://youtu.be/Ll-z2yRn_Ss>.

<table data-header-hidden data-full-width="true"><thead><tr><th>Campo</th><th width="105" align="center">Tipo</th><th width="102">Longitud</th><th width="137" align="center">¿Puede ser nulo?</th><th>Descripción</th></tr></thead><tbody><tr><td><strong>Campo</strong></td><td align="center"><strong>Tipo</strong></td><td>Longitud</td><td align="center"><strong>¿Puede ser nulo?</strong></td><td>Descripción</td></tr><tr><td>resolutionKey</td><td align="center">string</td><td>256</td><td align="center">No</td><td>Clave técnica de resolución de numeración de la DIAN</td></tr><tr><td>resolutionPrefix</td><td align="center">string</td><td>8</td><td align="center">No</td><td>Prefijo del de numeración autorizado por la DIAN</td></tr><tr><td>resolutionNumber</td><td align="center">int</td><td></td><td align="center">No</td><td>No. de la resolución</td></tr><tr><td>resolutionRangeInitial</td><td align="center">int</td><td></td><td align="center">No</td><td>Rango inicial de facturación</td></tr><tr><td>resolutionRangeFinal</td><td align="center">int</td><td></td><td align="center">No</td><td>Rango final de facturación</td></tr><tr><td>resolutionValidFrom</td><td align="center">date</td><td></td><td align="center">No</td><td>Fecha inicial de validación de facturación</td></tr><tr><td>resolutionValidUntil</td><td align="center">date</td><td></td><td align="center">No</td><td>Fecha final de validación de facturación</td></tr></tbody></table>

### customer

Tipo: Objeto

Detalles del cliente.

<table data-header-hidden data-full-width="true"><thead><tr><th width="229">Campo</th><th width="124" align="center">Tipo</th><th width="113">Longitud</th><th width="114" align="center">¿Puede ser nulo?</th><th>Descripción</th></tr></thead><tbody><tr><td><strong>Campo</strong></td><td align="center"><strong>Tipo</strong></td><td>Longitud</td><td align="center"><strong>¿Puede ser nulo?</strong></td><td>Descripción</td></tr><tr><td>companyName</td><td align="center">string</td><td>128</td><td align="center">No</td><td>Razón social o nombre completo</td></tr><tr><td>personType (Ver códigos)</td><td align="center">string</td><td>2</td><td align="center">No</td><td>Tipo de persona</td></tr><tr><td>regimeType (Ver códigos)</td><td align="center">string</td><td>2</td><td align="center">No</td><td>Tipo de régimen</td></tr><tr><td>firstName</td><td align="center">string</td><td>80</td><td align="center">No</td><td>Nombres</td></tr><tr><td>lastName</td><td align="center">string</td><td>80</td><td align="center">No</td><td>Apellidos</td></tr><tr><td>identification</td><td align="center">string</td><td>24</td><td align="center">No</td><td>Numero de identificación</td></tr><tr><td>digitCheck</td><td align="center">string</td><td>1</td><td align="center">No</td><td>Dígito de verificación</td></tr><tr><td>identificationTypeCode</td><td align="center">string</td><td>4</td><td align="center">No</td><td>Tipo de identificación</td></tr><tr><td>email</td><td align="center">string</td><td>160</td><td align="center">Sí</td><td>Email</td></tr><tr><td>phone</td><td align="center">string</td><td>24</td><td align="center">Sí</td><td>Teléfono</td></tr><tr><td>merchantRegistration</td><td align="center">string</td><td>16</td><td align="center">Sí</td><td>Registro mercantil</td></tr><tr><td>responsibilities</td><td align="center">string</td><td>500</td><td align="center">No</td><td>Responsabilidades fiscales</td></tr><tr><td>responsibleFor</td><td align="center">string</td><td>12</td><td align="center">Sí</td><td>Responsable de... <em><strong>Ver códigos</strong></em></td></tr><tr><td>economicActivities</td><td align="center">string</td><td>500</td><td align="center">Sí</td><td>Actividades económicas (Separadas por punto y coma) e.g: <code>"2920;2825;2817"</code></td></tr><tr><td>billingAddress</td><td align="center">string</td><td>128</td><td align="center">Sí</td><td>DATO DE FACTURACIÓN - Dirección</td></tr><tr><td>billingCountryName</td><td align="center">string</td><td>48</td><td align="center">Sí</td><td>DATO DE FACTURACIÓN - Nombre del país</td></tr><tr><td>billingCountryCode</td><td align="center">string</td><td>8</td><td align="center">No</td><td>DATO DE FACTURACIÓN - Código del país</td></tr><tr><td>billingRegionName</td><td align="center">string</td><td>48</td><td align="center">Sí</td><td>DATO DE FACTURACIÓN - Nombre de la región</td></tr><tr><td>billingRegionCode</td><td align="center">string</td><td>8</td><td align="center">No</td><td>DATO DE FACTURACIÓN -Código de la región</td></tr><tr><td>billingCityName</td><td align="center">string</td><td>48</td><td align="center">Sí</td><td>DATO DE FACTURACIÓN - Nombre de la ciudad</td></tr><tr><td>billingCityCode</td><td align="center">string</td><td>8</td><td align="center">Sí</td><td>DATO DE FACTURACIÓN - Código de la ciudad</td></tr><tr><td>billingPostalCode</td><td align="center">string</td><td>16</td><td align="center">Sí</td><td>DATO DE FACTURACIÓN - Código postal</td></tr><tr><td>billingNeighborhood</td><td align="center">string</td><td>40</td><td align="center">Sí</td><td>DATO DE FACTURACIÓN - Barrio</td></tr><tr><td>billingPhone</td><td align="center">string</td><td>24</td><td align="center">Sí</td><td>DATO DE FACTURACIÓN - Teléfono</td></tr><tr><td>billingContactName</td><td align="center">string</td><td>160</td><td align="center">Sí</td><td>DATO DE FACTURACIÓN - Nombre contacto</td></tr><tr><td>shippingAddress</td><td align="center">string</td><td>128</td><td align="center">Sí</td><td>DATO DE ENTREGA - Dirección</td></tr><tr><td>shippingCountryName</td><td align="center">string</td><td>48</td><td align="center">Sí</td><td>DATO DE ENTREGA - Nombre del país</td></tr><tr><td>shippingCountryCode</td><td align="center">string</td><td>8</td><td align="center">Sí</td><td>DATO DE ENTREGA - Código del país</td></tr><tr><td>shippingRegionName</td><td align="center">string</td><td>48</td><td align="center">Sí</td><td>DATO DE ENTREGA - Nombre de la región</td></tr><tr><td>shippingRegionCode</td><td align="center">string</td><td>8</td><td align="center">Sí</td><td>DATO DE ENTREGA - Código de la región</td></tr><tr><td>shippingCityName</td><td align="center">string</td><td>48</td><td align="center">Sí</td><td>DATO DE ENTREGA - Nombre de la ciudad</td></tr><tr><td>shippingCityCode</td><td align="center">string</td><td>8</td><td align="center">Sí</td><td>DATO DE ENTREGA - Código de la ciudad</td></tr><tr><td>shippingPostalCode</td><td align="center">string</td><td>16</td><td align="center">Sí</td><td>DATO DE ENTREGA - Código postal</td></tr><tr><td>shippingNeighborhood</td><td align="center">string</td><td>40</td><td align="center">Sí</td><td>DATO DE ENTREGA - Barrio</td></tr><tr><td>shippingPhone</td><td align="center">string</td><td>24</td><td align="center">Sí</td><td>DATO DE ENTREGA - Teléfono</td></tr><tr><td>shippingContactName</td><td align="center">string</td><td>160</td><td align="center">Sí</td><td>DATO DE ENTREGA - Nombre contacto</td></tr></tbody></table>

### invoiceDetail

Tipo: Objeto

Detalle de la factura.

<table data-header-hidden data-full-width="true"><thead><tr><th width="180">Campo</th><th width="105" align="center">Tipo</th><th width="110">Longitud</th><th width="117" align="center">¿Puede ser nulo?</th><th>Descripción</th></tr></thead><tbody><tr><td><strong>Campo</strong></td><td align="center"><strong>Tipo</strong></td><td>Longitud</td><td align="center"><strong>¿Puede ser nulo?</strong></td><td>Descripción</td></tr><tr><td>standardType (Ver códigos)</td><td align="center">string</td><td>3</td><td align="center">Sí</td><td>Tipo de código estándar DIAN</td></tr><tr><td>standardCode</td><td align="center">string</td><td>64</td><td align="center">Sí</td><td>Código estándar DIAN</td></tr><tr><td>itemCode</td><td align="center">string</td><td>32</td><td align="center">No</td><td>Código del producto o servicio</td></tr><tr><td>itemName</td><td align="center">string</td><td>200</td><td align="center">No</td><td>Nombre del producto o servicio</td></tr><tr><td>itemModel</td><td align="center">string</td><td>32</td><td align="center">Sí</td><td>Modelo del producto o servicio</td></tr><tr><td>description</td><td align="center">string</td><td>1024</td><td align="center">No</td><td>Descripción de la venta</td></tr><tr><td>brandName</td><td align="center">string</td><td>64</td><td align="center">Sí</td><td>Marca del producto o servicio</td></tr><tr><td>itemCodeSupplier</td><td align="center">string</td><td>32</td><td align="center">Sí</td><td>Código del producto colocado por el proveedor</td></tr><tr><td>isPresent</td><td align="center">boolean</td><td>1</td><td align="center">No</td><td>Indica si el producto es un obsequio y por tanto el precio es cero</td></tr><tr><td>isRemmitance</td><td align="center">boolean</td><td>1</td><td align="center">Sí</td><td>Indica si el producto o servicio es una remesa (Sólo para sector de transportes)</td></tr><tr><td>remmitanceNumber</td><td align="center">string</td><td>32</td><td align="center">Sí</td><td>Número de Radicación de la Remesa entregado por el RNDC (Obligatorio para sector transportes)</td></tr><tr><td>remmitanceConsecutive</td><td align="center">string</td><td>23</td><td align="center">Sí</td><td>Nro. del consecutivo de la Remesa según codificación interna de cada empresa (Obligatorio para sector transportes)</td></tr><tr><td>RemmitanceValue</td><td align="center">int</td><td></td><td align="center">Sí</td><td>Valor del flete a cobrar por el servicio de transporte de la remesa. (Obligatorio para sector transportes)</td></tr><tr><td>remmitanceQuantityValue</td><td align="center">int</td><td></td><td align="center">Sí</td><td>Valor de cantidad de la carga transportada, debe ser un entero (sin decimales).</td></tr><tr><td>remmitanceMeasurementUnit (Ver códigos)</td><td align="center">string</td><td>3</td><td align="center">Sí</td><td>Unidad de medida de la carga transportada</td></tr><tr><td>unitMeasurementCode</td><td align="center">string</td><td>4</td><td align="center">No</td><td>Código de unidad de medida del producto o servicio <strong>(NIU por defecto)</strong></td></tr><tr><td>unitMeasurementName</td><td align="center">string</td><td>64</td><td align="center">Sí</td><td>Nombre de unidad de medida del producto o servicio</td></tr><tr><td>price</td><td align="center">number</td><td>18,6</td><td align="center">No</td><td>Precio unitario del producto o servicio</td></tr><tr><td>quantity</td><td align="center">number</td><td>18,6</td><td align="center">No</td><td>Cantidad del producto o servicio</td></tr><tr><td>discounts <strong>(</strong><a href="#discount"><strong>discount</strong></a><strong>)</strong></td><td align="center">array</td><td></td><td align="center">Sí</td><td>Descuentos <strong>sobre los items (Productos o servicios)</strong></td></tr><tr><td>charges <strong>(</strong><a href="#charge"><strong>charge</strong></a><strong>)</strong></td><td align="center">array</td><td></td><td align="center">Sí</td><td>Cargos adicionales <strong>sobre los items (Productos o servicios)</strong></td></tr><tr><td>taxes <strong>(</strong><a href="#tax"><strong>tax</strong></a><strong>)</strong></td><td align="center">array</td><td></td><td align="center">Sí</td><td>Impuestos <strong>sobre los items (Productos o servicios)</strong></td></tr><tr><td>withholdings <strong>(</strong><a href="#tax"><strong>tax</strong></a><strong>)</strong></td><td align="center">array</td><td></td><td align="center">Sí</td><td>Retenciones <strong>sobre los items (Productos o servicios)</strong></td></tr><tr><td>isvMandante <strong>(</strong><a href="#mandante"><strong>mandante</strong></a><strong>)</strong></td><td align="center">object</td><td></td><td align="center">Sí</td><td>Mandante</td></tr></tbody></table>

{% hint style="warning" %}
Los **descuentos y cargos** pueden ser sobre los items o sobre la factura **pero no sobre ambos**.

Si agregas los descuentos y cargos en el detalle serán calculados **sobre los items de la factura**, de lo contrario (si son agregados directamente en el objeto de la factura), serán calculados **sobre la factura en general**.
{% endhint %}

### discount

Tipo: Arreglo de objetos

Descuentos **sobre la factura**, tenga en cuenta que **si va a realizar descuentos sobre la factura no se pueden realizar sobre el detalle** o sobre cada producto o servicio facturado.

<table data-header-hidden data-full-width="true"><thead><tr><th width="119">Campo</th><th width="109" align="center">Tipo</th><th width="104">Longitud</th><th width="121" align="center">¿Puede ser nulo?</th><th>Descripción</th></tr></thead><tbody><tr><td><strong>Campo</strong></td><td align="center"><strong>Tipo</strong></td><td>Longitud</td><td align="center"><strong>¿Puede ser nulo?</strong></td><td>Descripción</td></tr><tr><td>name</td><td align="center">string</td><td>40</td><td align="center">Sí</td><td>Nombre del descuento</td></tr><tr><td>type</td><td align="center">string</td><td>1</td><td align="center">No</td><td>Tipo de valor <strong>(V: Valor Fijo, P: Porcentaje)</strong></td></tr><tr><td>rate</td><td align="center">number</td><td>18,2</td><td align="center">No</td><td>Tarifa del descuento <strong>(porcentaje o valor)</strong></td></tr><tr><td>amount</td><td align="center">number</td><td>18,2</td><td align="center">No</td><td>Valor del descuento</td></tr></tbody></table>

### charge

Tipo: Arreglo de objetos

Cargos **sobre la factura**, tenga en cuenta que **si va a realizar cargos sobre la factura no se pueden realizar sobre el detalle** o sobre cada producto o servicio facturado.

<table data-header-hidden data-full-width="true"><thead><tr><th width="131">Campo</th><th width="90" align="center">Tipo</th><th width="107">Longitud</th><th width="116" align="center">¿Puede ser nulo?</th><th>Descripción</th></tr></thead><tbody><tr><td><strong>Campo</strong></td><td align="center"><strong>Tipo</strong></td><td>Longitud</td><td align="center"><strong>¿Puede ser nulo?</strong></td><td>Descripción</td></tr><tr><td>name</td><td align="center">string</td><td>40</td><td align="center">Sí</td><td>Nombre del cargo</td></tr><tr><td>type</td><td align="center">string</td><td>1</td><td align="center">No</td><td>Tipo de valor <strong>(V: Valor Fijo, P: Porcentaje)</strong></td></tr><tr><td>rate</td><td align="center">number</td><td>18,6</td><td align="center">No</td><td>Tarifa del cargo <strong>(porcentaje o valor)</strong></td></tr><tr><td>amount</td><td align="center">number</td><td>18,6</td><td align="center">No</td><td>Valor del cargo</td></tr></tbody></table>

### tip

Tipo: Objeto

Propina de la factura. Se envía como cargo DIAN con `ChargeIndicator=true`, `AllowanceChargeReasonCode=03` y `AllowanceChargeReason="Propina"`. La tarifa máxima permitida es 10%.

<table data-header-hidden data-full-width="true"><thead><tr><th width="131">Campo</th><th width="90" align="center">Tipo</th><th width="107">Longitud</th><th width="116" align="center">¿Puede ser nulo?</th><th>Descripción</th></tr></thead><tbody><tr><td><strong>Campo</strong></td><td align="center"><strong>Tipo</strong></td><td>Longitud</td><td align="center"><strong>¿Puede ser nulo?</strong></td><td>Descripción</td></tr><tr><td>base</td><td align="center">number</td><td>18,6</td><td align="center">No</td><td>Monto base sobre el cual se calcula la propina</td></tr><tr><td>rate</td><td align="center">number</td><td>18,6</td><td align="center">No</td><td>Tarifa de la propina, en porcentaje <strong>(máximo 10)</strong></td></tr><tr><td>amount</td><td align="center">number</td><td>18,6</td><td align="center">No</td><td>Monto total de la propina, calculado según la tarifa</td></tr></tbody></table>

### tax

Tipo: Arreglo de objetos

Impuestos sobre el item, producto o servicio facturado estos impuestos tenga en cuenta que **son por unidad facturada, no lo calcule por la cantidad**.

<table data-header-hidden data-full-width="true"><thead><tr><th width="139">Campo</th><th width="92" align="center">Tipo</th><th width="100">Longitud</th><th width="107" align="center">¿Puede ser nulo?</th><th>Descripción</th></tr></thead><tbody><tr><td><strong>Campo</strong></td><td align="center"><strong>Tipo</strong></td><td>Longitud</td><td align="center"><strong>¿Puede ser nulo?</strong></td><td>Descripción</td></tr><tr><td>name</td><td align="center">string</td><td>64</td><td align="center">No</td><td>Nombre del impuesto</td></tr><tr><td>code</td><td align="center">string</td><td>8</td><td align="center">No</td><td>Código del impuesto</td></tr><tr><td>type</td><td align="center">string</td><td>1</td><td align="center">No</td><td>Tipo del impuesto <strong>(V: Valor Fijo, P: Porcentaje, M: Tarifa x 1000)</strong></td></tr><tr><td>rate</td><td align="center">number</td><td>18,6</td><td align="center">No</td><td>Tarifa o Porcentaje</td></tr><tr><td>amount</td><td align="center">number</td><td>18,6</td><td align="center">No</td><td>Valor con cada cantidad</td></tr></tbody></table>

### mandante

Tipo: Objeto

Datos del mandante.

<table data-header-hidden data-full-width="true"><thead><tr><th width="228">Campo</th><th width="121" align="center">Tipo</th><th width="108">Longitud</th><th width="110" align="center">¿Puede ser nulo?</th><th>Descripción</th></tr></thead><tbody><tr><td><strong>Campo</strong></td><td align="center"><strong>Tipo</strong></td><td>Longitud</td><td align="center"><strong>¿Puede ser nulo?</strong></td><td>Descripción</td></tr><tr><td>name</td><td align="center">string</td><td>128</td><td align="center">No</td><td>Razón social o nombre</td></tr><tr><td>identification</td><td align="center">string</td><td>24</td><td align="center">No</td><td>Número de identificación</td></tr><tr><td>digitCheck</td><td align="center">string</td><td>1</td><td align="center">No</td><td>Dígito de verificación</td></tr><tr><td>identificationTypeCode</td><td align="center">string</td><td>4</td><td align="center">No</td><td>Tipo de identificación</td></tr></tbody></table>

### total

Tipo: Objeto

Totales de la factura.

<table data-header-hidden data-full-width="true"><thead><tr><th>Campo</th><th width="111" align="center">Tipo</th><th width="106">Longitud</th><th width="118" align="center">¿Puede ser nulo?</th><th>Descripción</th></tr></thead><tbody><tr><td><strong>Campo</strong></td><td align="center"><strong>Tipo</strong></td><td>Longitud</td><td align="center"><strong>¿Puede ser nulo?</strong></td><td>Descripción</td></tr><tr><td>amount</td><td align="center">number</td><td>18,6</td><td align="center">No</td><td>Total de la factura sin impuestos ni retenciones</td></tr><tr><td>prepaymentAmount</td><td align="center">number</td><td>18,6</td><td align="center">No</td><td>Valor anticipado aplicado a la factura</td></tr></tbody></table>

### customFields

Tipo: Arreglo de objetos

Valores personalizados, puedes enviar por ejemplo la key interna de tu factura, "Estos campos no son enviados a la DIAN son de utilidad únicamente para el integrador".

<table data-header-hidden data-full-width="true"><thead><tr><th width="107">Campo</th><th width="89">Tipo</th><th width="118">Longitud</th><th width="140">¿Puede ser nulo?</th><th>Descripción</th></tr></thead><tbody><tr><td>Campo</td><td>Tipo</td><td>Longitud</td><td>¿Puede ser nulo?</td><td>Descripción</td></tr><tr><td>key</td><td>string</td><td>64</td><td>Sí</td><td>Llave del campo</td></tr><tr><td>value</td><td>string</td><td>64</td><td>Sí</td><td>Valor del campo</td></tr></tbody></table>

### currencyExchange

Tipo: Objeto

Declaración de operación de cambio (compra/venta de divisas), exigida por la Resolución DIAN 000210/2025 para operadores de casas de cambio. Se envía únicamente cuando `typeOfOperation` es `15` (compra) o `16` (venta); si no se envía en ese caso, la extensión UBL de cambio no se adjunta a la factura.

<table data-header-hidden data-full-width="true"><thead><tr><th>Campo</th><th align="center">Tipo</th><th>Longitud</th><th align="center">¿Puede ser nulo?</th><th>Descripción</th></tr></thead><tbody><tr><td><strong>Campo</strong></td><td align="center"><strong>Tipo</strong></td><td><strong>Longitud</strong></td><td align="center"><strong>¿Puede ser nulo?</strong></td><td><strong>Descripción</strong></td></tr><tr><td>beneficiaryParty (<a href="#exchangeparty">Ver exchangeParty</a>)</td><td align="center">object</td><td></td><td align="center">No</td><td>Persona que origina la compra/venta de divisas (Formulario 18 "Identificación del beneficiario")</td></tr><tr><td>declarantParty (<a href="#exchangeparty">Ver exchangeParty</a>)</td><td align="center">object</td><td></td><td align="center">No</td><td>Persona que firma la declaración; igual a beneficiaryParty si el beneficiario declara directamente</td></tr><tr><td>declarationData (<a href="#declarationdata">Ver declarationData</a>)</td><td align="center">object</td><td></td><td align="center">No</td><td>Datos de la operación de cambio</td></tr><tr><td>exchangeProfessionalParty (<a href="#exchangeprofessionalparty">Ver exchangeProfessionalParty</a>)</td><td align="center">object</td><td></td><td align="center">No</td><td>Datos de la casa de cambio que realiza la operación</td></tr><tr><td>customerDueDiligence (<a href="#customerduediligence">Ver customerDueDiligence</a>)</td><td align="center">object</td><td></td><td align="center">No</td><td>Debida diligencia del cliente, exigida por el Art. 18 de la Res. DIAN 000210/2025</td></tr></tbody></table>

### exchangeParty

Tipo: Objeto

Reutilizado para `beneficiaryParty` y `declarantParty`.

**Resolución de dirección:** se usa `address` si se envía; si no, se arma con los campos planos (`addressLine`, `cityName`, `cityCode`/`municipalityCode`, `department`, `departmentCode`, `countryCode`, `countryName`). Si `beneficiaryParty` o `declarantParty` no traen ninguna dirección (ni `address` ni campos planos con código DANE), se usa automáticamente la dirección de `customerDueDiligence.customer` como *fallback*. Este fallback no aplica a `exchangeProfessionalParty`.

<table data-header-hidden data-full-width="true"><thead><tr><th>Campo</th><th align="center">Tipo</th><th>Longitud</th><th align="center">¿Puede ser nulo?</th><th>Descripción</th></tr></thead><tbody><tr><td><strong>Campo</strong></td><td align="center"><strong>Tipo</strong></td><td><strong>Longitud</strong></td><td align="center"><strong>¿Puede ser nulo?</strong></td><td><strong>Descripción</strong></td></tr><tr><td>additionalAccountID</td><td align="center">string</td><td>-</td><td align="center">No</td><td>Tipo de persona (Tabla 5): <strong>1</strong> jurídica, <strong>2</strong> natural</td></tr><tr><td>documentType</td><td align="center">string</td><td>-</td><td align="center">No</td><td>Tipo de documento: 11 Registro civil, 12 T.I., 13 Cédula, 21 T.E., 22 C.E., 31 NIT, 41 Pasaporte, 42 Doc. extranjero, 47 PEP, 48 PPT, 50 NIT otro país, 91 NUIP</td></tr><tr><td>documentNumber</td><td align="center">string</td><td>-</td><td align="center">No</td><td>Número de documento (solo dígitos)</td></tr><tr><td>schemeId</td><td align="center">string</td><td>-</td><td align="center">Sí (<strong>requerido si documentType = 31</strong>)</td><td>Esquema de identificación; valor <code>1</code> = NIT con dígito de verificación</td></tr><tr><td>name</td><td align="center">string</td><td>-</td><td align="center">No</td><td>Nombre completo o razón social</td></tr><tr><td>addressLine</td><td align="center">string</td><td>-</td><td align="center">Sí</td><td>Dirección en texto libre; usado solo si <code>address</code> no se envía</td></tr><tr><td>cityName</td><td align="center">string</td><td>-</td><td align="center">Sí</td><td>Ciudad; usado solo si <code>address</code> no se envía</td></tr><tr><td>cityCode</td><td align="center">string</td><td>5</td><td align="center">Sí</td><td>Código DANE de municipio; usado solo si <code>address</code> no se envía. Alias: <code>municipalityCode</code></td></tr><tr><td>municipalityCode</td><td align="center">string</td><td>5</td><td align="center">Sí</td><td>Código DANE de municipio; alias de <code>cityCode</code>. Usado solo si <code>address</code> no se envía</td></tr><tr><td>department</td><td align="center">string</td><td>-</td><td align="center">Sí</td><td>Nombre del departamento; usado solo si <code>address</code> no se envía</td></tr><tr><td>departmentCode</td><td align="center">string</td><td>2</td><td align="center">Sí</td><td>Código DANE de departamento; usado solo si <code>address</code> no se envía</td></tr><tr><td>countryCode</td><td align="center">string</td><td>-</td><td align="center">Sí</td><td>Código ISO 3166-1 alpha-2; usado solo si <code>address</code> no se envía</td></tr><tr><td>countryName</td><td align="center">string</td><td>-</td><td align="center">Sí</td><td>Nombre del país; usado solo si <code>address</code> no se envía</td></tr><tr><td>birthDate</td><td align="center">string (fecha)</td><td>-</td><td align="center">Sí (<strong>solo persona natural, additionalAccountID=2</strong>)</td><td>Fecha de nacimiento, formato yyyy-MM-dd</td></tr><tr><td>birthPlace</td><td align="center">string</td><td>-</td><td align="center">Sí (<strong>solo persona natural, additionalAccountID=2</strong>)</td><td>Lugar de nacimiento</td></tr><tr><td>economicActivityName</td><td align="center">string</td><td>-</td><td align="center">Sí</td><td>Descripción CIIU de la actividad económica</td></tr><tr><td>economicActivityId</td><td align="center">string</td><td>-</td><td align="center">Sí (<strong>requerido para persona jurídica</strong>)</td><td>Código CIIU Rev. 4, ej. 3415, 6492, 6619</td></tr><tr><td>telephone</td><td align="center">string</td><td>-</td><td align="center">Sí</td><td>Teléfono</td></tr><tr><td>email</td><td align="center">string</td><td>-</td><td align="center">Sí</td><td>Correo electrónico</td></tr><tr><td>address (<a href="#exchangeaddress">Ver exchangeAddress</a>)</td><td align="center">object</td><td></td><td align="center">Sí</td><td>Dirección estructurada; tiene prioridad sobre addressLine/cityName si se envía</td></tr><tr><td>shareholders (<a href="#shareholder">Ver shareholder</a>)</td><td align="center">array</td><td></td><td align="center">Sí (<strong>requerido si additionalAccountID=1</strong>, persona jurídica; omitir o vacío para persona natural)</td><td>Arreglo de socios/accionistas</td></tr></tbody></table>

### shareholder

Tipo: Arreglo de objetos

Socios o accionistas de una persona jurídica. Solo se reportan socios con participación igual o superior al 25%.

<table data-header-hidden data-full-width="true"><thead><tr><th>Campo</th><th align="center">Tipo</th><th>Longitud</th><th align="center">¿Puede ser nulo?</th><th>Descripción</th></tr></thead><tbody><tr><td><strong>Campo</strong></td><td align="center"><strong>Tipo</strong></td><td><strong>Longitud</strong></td><td align="center"><strong>¿Puede ser nulo?</strong></td><td><strong>Descripción</strong></td></tr><tr><td>name</td><td align="center">string</td><td>-</td><td align="center">No</td><td>Nombre completo del socio</td></tr><tr><td>documentType</td><td align="center">string</td><td>-</td><td align="center">No</td><td>Tipo de documento: 11 Registro civil, 12 T.I., 13 Cédula, 21 T.E., 22 C.E., 31 NIT, 41 Pasaporte, 42 Doc. extranjero, 47 PEP, 48 PPT, 50 NIT otro país, 91 NUIP</td></tr><tr><td>documentNumber</td><td align="center">string</td><td>-</td><td align="center">No</td><td>Número de documento</td></tr><tr><td>sharePercentage</td><td align="center">number</td><td>-</td><td align="center">No</td><td>Porcentaje de participación accionaria (solo se reportan socios ≥25%)</td></tr></tbody></table>

### exchangeAddress

Tipo: Objeto

Dirección estructurada, reutilizada en `beneficiaryParty`, `declarantParty`, `exchangeProfessionalParty` y `customer` (dentro de `customerDueDiligence`).

<table data-header-hidden data-full-width="true"><thead><tr><th>Campo</th><th align="center">Tipo</th><th>Longitud</th><th align="center">¿Puede ser nulo?</th><th>Descripción</th></tr></thead><tbody><tr><td><strong>Campo</strong></td><td align="center"><strong>Tipo</strong></td><td><strong>Longitud</strong></td><td align="center"><strong>¿Puede ser nulo?</strong></td><td><strong>Descripción</strong></td></tr><tr><td>municipalityCode</td><td align="center">string</td><td>5</td><td align="center">Sí</td><td>Código DANE de municipio, ej. 11001 Bogotá, 05001 Medellín, 76001 Cali</td></tr><tr><td>cityName</td><td align="center">string</td><td>-</td><td align="center">Sí</td><td>Nombre de ciudad según catálogo DANE</td></tr><tr><td>department</td><td align="center">string</td><td>-</td><td align="center">Sí</td><td>Nombre del departamento, ej. Bogotá D.C., Antioquia</td></tr><tr><td>departmentCode</td><td align="center">string</td><td>2</td><td align="center">Sí</td><td>Código DANE de departamento, ej. 11 Bogotá, 05 Antioquia, 76 Valle del Cauca</td></tr><tr><td>addressLine</td><td align="center">string</td><td>-</td><td align="center">Sí</td><td>Dirección en texto libre</td></tr><tr><td>countryCode</td><td align="center">string</td><td>-</td><td align="center">Sí</td><td>Código ISO 3166-1 alpha-2; si se omite, se aplica por defecto <code>CO</code></td></tr><tr><td>countryName</td><td align="center">string</td><td>-</td><td align="center">Sí</td><td>Nombre del país; si se omite, se aplica por defecto <code>Colombia</code></td></tr></tbody></table>

### exchangeProfessionalParty

Tipo: Objeto

Datos de la casa de cambio (siempre persona jurídica).

<table data-header-hidden data-full-width="true"><thead><tr><th>Campo</th><th align="center">Tipo</th><th>Longitud</th><th align="center">¿Puede ser nulo?</th><th>Descripción</th></tr></thead><tbody><tr><td><strong>Campo</strong></td><td align="center"><strong>Tipo</strong></td><td><strong>Longitud</strong></td><td align="center"><strong>¿Puede ser nulo?</strong></td><td><strong>Descripción</strong></td></tr><tr><td>additionalAccountID</td><td align="center">string</td><td>-</td><td align="center">No</td><td>Siempre <code>1</code> (persona jurídica)</td></tr><tr><td>documentType</td><td align="center">string</td><td>-</td><td align="center">No</td><td>Siempre <code>31</code> (NIT)</td></tr><tr><td>documentNumber</td><td align="center">string</td><td>-</td><td align="center">No</td><td>NIT sin dígito de verificación</td></tr><tr><td>schemeId</td><td align="center">string</td><td>-</td><td align="center">No</td><td>Siempre <code>1</code></td></tr><tr><td>name</td><td align="center">string</td><td>-</td><td align="center">No</td><td>Razón social de la casa de cambio</td></tr><tr><td>telephone</td><td align="center">string</td><td>-</td><td align="center">Sí</td><td>Teléfono(s); puede contener varios números en texto libre</td></tr><tr><td>chamberOfCommerceCity</td><td align="center">string</td><td>-</td><td align="center">Sí</td><td>Ciudad de la cámara de comercio, ej. Bogotá, Medellín, Cali</td></tr><tr><td>chamberOfCommerceCode</td><td align="center">string</td><td>-</td><td align="center">Sí</td><td>Código de cámara de comercio: 04 Bogotá, 06 Medellín, 09 Cali, 08 Barranquilla, 13 Bucaramanga, 15 Cartagena, 17 Cúcuta, 23 Pereira, 24 Manizales</td></tr><tr><td>commercialRegistration</td><td align="center">string</td><td>-</td><td align="center">Sí</td><td>Matrícula mercantil</td></tr><tr><td>addressLine</td><td align="center">string</td><td>-</td><td align="center">Sí</td><td>Dirección en texto libre de la oficina o sucursal; usado solo si <code>address</code> no se envía</td></tr><tr><td>cityName</td><td align="center">string</td><td>-</td><td align="center">Sí</td><td>Ciudad; usado solo si <code>address</code> no se envía</td></tr><tr><td>cityCode</td><td align="center">string</td><td>5</td><td align="center">Sí</td><td>Código DANE de municipio; alias: <code>municipalityCode</code>. Usado solo si <code>address</code> no se envía</td></tr><tr><td>municipalityCode</td><td align="center">string</td><td>5</td><td align="center">Sí</td><td>Código DANE de municipio; alias de <code>cityCode</code>. Usado solo si <code>address</code> no se envía</td></tr><tr><td>department</td><td align="center">string</td><td>-</td><td align="center">Sí</td><td>Nombre del departamento; usado solo si <code>address</code> no se envía</td></tr><tr><td>departmentCode</td><td align="center">string</td><td>2</td><td align="center">Sí</td><td>Código DANE de departamento; usado solo si <code>address</code> no se envía</td></tr><tr><td>countryCode</td><td align="center">string</td><td>-</td><td align="center">Sí</td><td>Código ISO 3166-1 alpha-2; usado solo si <code>address</code> no se envía</td></tr><tr><td>countryName</td><td align="center">string</td><td>-</td><td align="center">Sí</td><td>Nombre del país; usado solo si <code>address</code> no se envía</td></tr><tr><td>address (<a href="#exchangeaddress">Ver exchangeAddress</a>)</td><td align="center">object</td><td></td><td align="center">Sí</td><td>Dirección de la oficina o sucursal; tiene prioridad sobre los campos planos si se envía</td></tr></tbody></table>

### declarationData

Tipo: Objeto

Descripción completa de la operación de cambio.

<table data-header-hidden data-full-width="true"><thead><tr><th>Campo</th><th align="center">Tipo</th><th>Longitud</th><th align="center">¿Puede ser nulo?</th><th>Descripción</th></tr></thead><tbody><tr><td><strong>Campo</strong></td><td align="center"><strong>Tipo</strong></td><td><strong>Longitud</strong></td><td align="center"><strong>¿Puede ser nulo?</strong></td><td><strong>Descripción</strong></td></tr><tr><td>id</td><td align="center">string</td><td>-</td><td align="center">No</td><td>Consecutivo de la declaración, ej. C6VE102253</td></tr><tr><td>concept</td><td align="center">string</td><td>-</td><td align="center">No</td><td>Declaración de origen de fondos en texto libre (Formulario 18, literales 1-3)</td></tr><tr><td>conceptLocale</td><td align="center">string</td><td>-</td><td align="center">Sí</td><td>Idioma/locale del concepto; se recomienda <code>ES_CO</code></td></tr><tr><td>salePointId</td><td align="center">string</td><td>-</td><td align="center">Sí</td><td>Identificador del punto de venta / ventanilla</td></tr><tr><td>salePointType</td><td align="center">string</td><td>-</td><td align="center">Sí</td><td>Tipo de punto de venta o terminal, ej. DISPENSER, VENTANILLA, CAJERO. Requerido para identificar operaciones en dispensers o cajeros automáticos</td></tr><tr><td>employeeNumber</td><td align="center">string</td><td>-</td><td align="center">Sí</td><td>Documento o código del cajero</td></tr><tr><td>cardNumber</td><td align="center">string</td><td>-</td><td align="center">Sí (<strong>solo si el pago fue con tarjeta</strong>)</td><td>Número de tarjeta usada en el pago</td></tr><tr><td>cm</td><td align="center">string</td><td>-</td><td align="center">Sí</td><td>Código de movimiento interno (opcional)</td></tr><tr><td>operationType</td><td align="center">string</td><td>-</td><td align="center">No</td><td><code>purchase</code> (typeOfOperation 15) o <code>sale</code> (typeOfOperation 16)</td></tr><tr><td>exchangedQuantityCurrency</td><td align="center">string</td><td>3</td><td align="center">No</td><td>Código ISO 4217 de la moneda entregada por el cliente, ej. USD, EUR, GBP, COP, BRL, ARS, MXN</td></tr><tr><td>exchangedQuantity</td><td align="center">number</td><td>18,2</td><td align="center">No</td><td>Cantidad entregada por el cliente</td></tr><tr><td>exchangeRate</td><td align="center">number</td><td>18,2</td><td align="center">No</td><td>Tasa de cambio (TRM o pactada)</td></tr><tr><td>exchangeRateCurrency</td><td align="center">string</td><td>3</td><td align="center">No</td><td>Moneda de referencia de la tasa, ej. COP</td></tr><tr><td>exchangedTotalCurrency</td><td align="center">string</td><td>3</td><td align="center">No</td><td>Código ISO 4217 del monto recibido (contravalor)</td></tr><tr><td>exchangedTotal</td><td align="center">number</td><td>18,2</td><td align="center">No</td><td>Contravalor bruto antes de comisión</td></tr><tr><td>commission</td><td align="center">number</td><td>18,2</td><td align="center">Sí</td><td>Comisión cobrada; 0 si no aplica. <strong>Solo se incluye en el XML si es mayor a 0</strong></td></tr><tr><td>commissionCurrency</td><td align="center">string</td><td>3</td><td align="center">Sí</td><td>Moneda de la comisión, ej. COP</td></tr><tr><td>amountToReceive</td><td align="center">number</td><td>18,2</td><td align="center">Sí</td><td>Monto neto tras comisión; 0 si no aplica. <strong>Solo se incluye en el XML si es mayor a 0</strong></td></tr><tr><td>paymentMeansCode</td><td align="center">string</td><td>-</td><td align="center">No</td><td>Tabla 13 del Anexo Técnico DIAN (97 códigos); ejemplos: 10 Efectivo, 20 Cheque, 42 Consignación bancaria, 45 Transferencia crédito, 47 Transferencia débito, 48 Tarjeta crédito, 49 Tarjeta débito, ZZZ Otro. Ver tabla completa en el Anexo Técnico DIAN</td></tr><tr><td>paymentMeansId</td><td align="center">string</td><td>-</td><td align="center">Sí</td><td>Identificador secuencial, usualmente <code>1</code></td></tr><tr><td>exchangeControlNumber</td><td align="center">string</td><td>-</td><td align="center">No</td><td>Numeral cambiario según Anexo 1 DCIP-83 del Banco de la República: 1601 Ingresos de divisas (compra), 2904 Egresos de divisas (venta). Ver tabla completa en banrep.gov.co</td></tr><tr><td>exchangeControlDescription</td><td align="center">string</td><td>-</td><td align="center">Sí</td><td>Descripción del numeral cambiario, ej. "Otros conceptos"</td></tr><tr><td>exchangeControlOperation</td><td align="center">string</td><td>-</td><td align="center">No</td><td><code>purchase</code> o <code>sale</code></td></tr></tbody></table>

### customerDueDiligence

Tipo: Objeto

Debida diligencia del cliente, exigida por el Art. 18 de la Res. DIAN 000210/2025.

<table data-header-hidden data-full-width="true"><thead><tr><th>Campo</th><th align="center">Tipo</th><th>Longitud</th><th align="center">¿Puede ser nulo?</th><th>Descripción</th></tr></thead><tbody><tr><td><strong>Campo</strong></td><td align="center"><strong>Tipo</strong></td><td><strong>Longitud</strong></td><td align="center"><strong>¿Puede ser nulo?</strong></td><td><strong>Descripción</strong></td></tr><tr><td>diligenceTypeCode</td><td align="center">string</td><td>-</td><td align="center">No</td><td>Ver catálogo del Anexo Técnico DIAN, ej. <code>01</code> = DDC General</td></tr><tr><td>diligenceTypeId</td><td align="center">string</td><td>-</td><td align="center">Sí</td><td>Usualmente igual a diligenceTypeCode</td></tr><tr><td>diligenceTypeName</td><td align="center">string</td><td>-</td><td align="center">Sí</td><td>Ej. "Debida Diligencia del Cliente - DDC General", "...Intensificada", "...Reforzada"</td></tr><tr><td>customer (<a href="#duediligencecustomer">Ver dueDiligenceCustomer</a>)</td><td align="center">object</td><td></td><td align="center">No</td><td>Datos del cliente para debida diligencia</td></tr><tr><td>intensifiedDueDiligence</td><td align="center">string</td><td>-</td><td align="center">Sí</td><td>Se activa por encima de umbrales de la Superfinanciera; nulo si no aplica</td></tr><tr><td>strengthenedDueDiligence</td><td align="center">string</td><td>-</td><td align="center">Sí</td><td>Para clientes de alto riesgo o PEP; nulo si no aplica</td></tr></tbody></table>

### dueDiligenceCustomer

Tipo: Objeto

<table data-header-hidden data-full-width="true"><thead><tr><th>Campo</th><th align="center">Tipo</th><th>Longitud</th><th align="center">¿Puede ser nulo?</th><th>Descripción</th></tr></thead><tbody><tr><td><strong>Campo</strong></td><td align="center"><strong>Tipo</strong></td><td><strong>Longitud</strong></td><td align="center"><strong>¿Puede ser nulo?</strong></td><td><strong>Descripción</strong></td></tr><tr><td>additionalAccountID</td><td align="center">string</td><td>-</td><td align="center">No</td><td><code>1</code> jurídica / <code>2</code> natural</td></tr><tr><td>documentType</td><td align="center">string</td><td>-</td><td align="center">No</td><td>Tipo de documento: 11 Registro civil, 12 T.I., 13 Cédula, 21 T.E., 22 C.E., 31 NIT, 41 Pasaporte, 42 Doc. extranjero, 47 PEP, 48 PPT, 50 NIT otro país, 91 NUIP</td></tr><tr><td>documentNumber</td><td align="center">string</td><td>-</td><td align="center">No</td><td>Número de documento</td></tr><tr><td>name</td><td align="center">string</td><td>-</td><td align="center">No</td><td>Nombre completo o razón social</td></tr><tr><td>birthDate</td><td align="center">string (fecha)</td><td>-</td><td align="center">Sí (<strong>solo persona natural, additionalAccountID=2</strong>)</td><td>Fecha de nacimiento, formato yyyy-MM-dd</td></tr><tr><td>birthPlace</td><td align="center">string</td><td>-</td><td align="center">Sí (<strong>solo persona natural, additionalAccountID=2</strong>)</td><td>Lugar de nacimiento</td></tr><tr><td>telephone</td><td align="center">string</td><td>-</td><td align="center">Sí</td><td>Teléfono</td></tr><tr><td>email</td><td align="center">string</td><td>-</td><td align="center">Sí</td><td>Correo electrónico</td></tr><tr><td>fundsSourceId</td><td align="center">string</td><td>-</td><td align="center">Sí</td><td>Ver catálogo del Anexo Técnico DIAN, ej. <code>CP</code> = Capital Propio</td></tr><tr><td>fundsSourceName</td><td align="center">string</td><td>-</td><td align="center">Sí</td><td>Ej. Capital Propio, Salario, Venta de inmueble</td></tr><tr><td>fundsDestinationId</td><td align="center">string</td><td>-</td><td align="center">Sí</td><td>Ver catálogo del Anexo Técnico DIAN</td></tr><tr><td>fundsDestinationName</td><td align="center">string</td><td>-</td><td align="center">Sí</td><td>Ej. Turismo, Pago proveedores, Estudios</td></tr><tr><td>fundsPurposeId</td><td align="center">string</td><td>-</td><td align="center">Sí</td><td>Ver catálogo del Anexo Técnico DIAN, ej. <code>2904</code> = Otros conceptos</td></tr><tr><td>fundsPurposeName</td><td align="center">string</td><td>-</td><td align="center">Sí</td><td>Ej. Otros conceptos, Importaciones de bienes</td></tr><tr><td>economicActivityId</td><td align="center">string</td><td>-</td><td align="center">Sí</td><td>Código CIIU, ej. 3415, 6492</td></tr><tr><td>economicActivityName</td><td align="center">string</td><td>-</td><td align="center">Sí</td><td>Descripción de la actividad económica</td></tr><tr><td>addressLine</td><td align="center">string</td><td>-</td><td align="center">Sí</td><td>Dirección en texto libre; usado solo si <code>address</code> no se envía</td></tr><tr><td>cityName</td><td align="center">string</td><td>-</td><td align="center">Sí</td><td>Ciudad; usado solo si <code>address</code> no se envía</td></tr><tr><td>cityCode</td><td align="center">string</td><td>5</td><td align="center">Sí</td><td>Código DANE de municipio; alias: <code>municipalityCode</code>. Usado solo si <code>address</code> no se envía</td></tr><tr><td>municipalityCode</td><td align="center">string</td><td>5</td><td align="center">Sí</td><td>Código DANE de municipio; alias de <code>cityCode</code>. Usado solo si <code>address</code> no se envía</td></tr><tr><td>department</td><td align="center">string</td><td>-</td><td align="center">Sí</td><td>Nombre del departamento; usado solo si <code>address</code> no se envía</td></tr><tr><td>departmentCode</td><td align="center">string</td><td>2</td><td align="center">Sí</td><td>Código DANE de departamento; usado solo si <code>address</code> no se envía</td></tr><tr><td>countryCode</td><td align="center">string</td><td>-</td><td align="center">Sí</td><td>Código ISO 3166-1 alpha-2; usado solo si <code>address</code> no se envía</td></tr><tr><td>countryName</td><td align="center">string</td><td>-</td><td align="center">Sí</td><td>Nombre del país; usado solo si <code>address</code> no se envía</td></tr><tr><td>address (<a href="#exchangeaddress">Ver exchangeAddress</a>)</td><td align="center">object</td><td></td><td align="center">Sí</td><td>Dirección estructurada del cliente; tiene prioridad sobre los campos planos si se envía</td></tr><tr><td>constitutionData (<a href="#constitutiondata">Ver constitutionData</a>)</td><td align="center">object</td><td></td><td align="center">Sí (<strong>solo persona jurídica, additionalAccountID=1</strong>)</td><td>Datos de constitución de la sociedad</td></tr><tr><td>legalBackgroundCheck</td><td align="center">string</td><td>-</td><td align="center">Sí</td><td>Resultado de verificación de antecedentes, en texto libre</td></tr><tr><td>legalBackgroundLocale</td><td align="center">string</td><td>-</td><td align="center">Sí</td><td>Idioma/locale del resultado; se recomienda <code>ES_CO</code></td></tr><tr><td>isPep</td><td align="center">boolean</td><td>1</td><td align="center">No</td><td>Indica si el cliente es Persona Expuesta Políticamente. <strong>Si es true, se recomienda diligenciar politicalExposition</strong></td></tr><tr><td>politicalExposition (<a href="#politicalexposition">Ver politicalExposition</a>)</td><td align="center">array</td><td></td><td align="center">Sí</td><td>Respuestas al cuestionario estándar de exposición política (3 preguntas); nulo si solo se usa el flag isPep</td></tr></tbody></table>

### constitutionData

Tipo: Objeto

Solo aplica para personas jurídicas (dentro de `dueDiligenceCustomer`, cuando additionalAccountID=1).

<table data-header-hidden data-full-width="true"><thead><tr><th>Campo</th><th align="center">Tipo</th><th>Longitud</th><th align="center">¿Puede ser nulo?</th><th>Descripción</th></tr></thead><tbody><tr><td><strong>Campo</strong></td><td align="center"><strong>Tipo</strong></td><td><strong>Longitud</strong></td><td align="center"><strong>¿Puede ser nulo?</strong></td><td><strong>Descripción</strong></td></tr><tr><td>legalConstitutionDate</td><td align="center">string (fecha)</td><td>-</td><td align="center">Sí</td><td>Formato yyyy-MM-dd; omitir si se desconoce</td></tr><tr><td>socialCapital</td><td align="center">number</td><td>18,2</td><td align="center">Sí</td><td>Capital social; nulo si no aplica</td></tr><tr><td>socialCapitalCurrency</td><td align="center">string</td><td>3</td><td align="center">Sí</td><td>Moneda del capital social, usualmente COP</td></tr><tr><td>shareholdingStructure</td><td align="center">string</td><td>-</td><td align="center">Sí</td><td>Descripción en texto libre de la estructura accionaria</td></tr></tbody></table>

### politicalExposition

Tipo: Arreglo de objetos

Cuestionario estándar de 3 preguntas de exposición política.

<table data-header-hidden data-full-width="true"><thead><tr><th>Campo</th><th align="center">Tipo</th><th>Longitud</th><th align="center">¿Puede ser nulo?</th><th>Descripción</th></tr></thead><tbody><tr><td><strong>Campo</strong></td><td align="center"><strong>Tipo</strong></td><td><strong>Longitud</strong></td><td align="center"><strong>¿Puede ser nulo?</strong></td><td><strong>Descripción</strong></td></tr><tr><td>id</td><td align="center">string</td><td>1</td><td align="center">No</td><td>Identificador de la pregunta: <code>1</code>, <code>2</code> o <code>3</code> (conjunto estándar de 3 preguntas)</td></tr><tr><td>question</td><td align="center">string</td><td>-</td><td align="center">No</td><td>Texto completo de la pregunta</td></tr><tr><td>answer</td><td align="center">string</td><td>-</td><td align="center">No</td><td><code>SI</code> o <code>NO</code></td></tr></tbody></table>
