API Facturación Electrónica
  • Introducción
  • Cuotas y límites
  • Primeros Pasos
    • Consideraciones Importantes
    • Manual Operativo de la Plataforma
    • Generar X-API-KEY
    • Librerías
    • Estructura de los datos
      • Listas de códigos
        • Responsable de
        • Campos generales (Facturas, notas)
        • Códigos de moneda
        • Códigos de forma de pago
        • Códigos de actividades económicas
        • Códigos de país
        • Códigos de región
        • Códigos de ciudad
        • Códigos de unidades de medida
      • Factura
      • Documento soporte
      • Nota débito
      • Nota crédito
      • Nota de ajuste
    • Formatos PDF
  • Errores y rechazos
    • Códigos de rechazo y advertencia de la DIAN
      • Factura
      • Nota débito
      • Nota crédito
    • Errores comunes
  • Modo Pruebas
    • Facturas
      • Enviar factura en modo pruebas
    • Notas débito
      • Enviar nota débito en modo pruebas
    • Notas crédito
      • Enviar nota crédito en modo pruebas
    • Documento soporte
      • Enviar documento soporte en modo pruebas
    • Nota de ajuste
      • Enviar nota de ajuste en modo pruebas
  • Modo Habilitación
    • Facturas
      • Enviar factura para set de pruebas
    • Notas débito
      • Enviar nota débito para set de pruebas
    • Notas crédito
      • Enviar nota crédito para set de pruebas
  • Modo Producción
    • Facturas
      • Enviar factura
    • Notas débito
      • Enviar nota débito
    • Notas crédito
      • Enviar nota crédito
    • Documento soporte
      • Enviar documento soporte
    • Nota de ajuste
      • Enviar nota de ajuste
    • Resoluciones
      • Consultar resoluciones
  • Archivo Plano (.CSV)
    • Consideraciones sobre el archivo plano
    • Estructura del archivo plano
      • Factura
      • Nota débito
      • Nota crédito
    • Importar archivo plano
Con tecnología de GitBook
En esta página
  • Ejemplo
  • Estructura
  • invoice
  • branch
  • resolution
  • customer
  • invoiceDetail
  • discount
  • charge
  • tax
  • mandante
  • total
  • customFields

¿Te fue útil?

  1. Primeros Pasos
  2. Estructura de los datos

Factura

Estructura del objeto de una factura.

Ejemplo

{
	"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,
		"unitMeasurementCode": "",
		"unitMeasurementName": "",
		"price": "1285.00",
		"quantity": "2",
		"discounts": [{
			"name": "",
			"type": "V",
			"rate": 1,
			"amount": 1
		}],
		"charges": [{
			"name": "",
			"type": "V",
			"rate": 10,
			"amount": 10
		}],
		"taxes": [{
			"name": "Iva",
			"code": "01",
			"type": "V",
			"rate": 10,
			"amount": 10
		}],
		"withholdings": [{
			"name": "ReteFuente",
			"code": "06",
			"type": "P",
			"rate": 10,
			"amount": 3.4
		}],
		"isvMandante": {
			"name": "Mandante",
			"identification": "000001",
			"digitCheck": "8",
			"identificationTypeCode": "13"
		}
	}],
	"totals": {
		"prepaymentAmount": 68,
		"amount": 0
	},
	"discounts": [{
		"name": "",
		"type": "",
		"rate": 0,
		"amount": 0
	}],
	"charges": [{
		"name": "",
		"type": "",
		"rate": 0,
		"amount": 0
	}],
	"customFields": [{
		"value": "666",
		"key": "invoiceId"
	}]
}

Estructura

invoice

Tipo: Objeto

Objeto de una factura.

Campo

Tipo

Longitud

¿Puede ser nulo?

Descripción

string

2

No

Tipo de factura DIAN

string (Enum)

32

Sí

Formato PDF documento

emailSender

string

128

Sí

Remitente email

consecutive

int

No

Consecutivo de la factura

externalNumber

string

42

Sí

Número externo de la factura (Orden de compra)

currencyCode

string

3

No

Tipo de moneda

currencyRate (Obligatorio si hay un tipo de moneda extranjera)

number

18,6

No

Tasa de cambio

date

date

No

Fecha de expedición de la factura

dateDue

date

Sí

Fecha de vencimiento de la factura

dateStart

date

Sí

Fecha inicial del periodo de facturación

dateEnd

date

Sí

Fecha final del periodo de facturación

string

2

No

Tipo de operación

string

2

Sí (No es nulable si se indica el tipo de operación 15 o 16)

Debida dilengencia para contol cambiario

incoterms (Requerido cuando es exportación)

string

3

Sí

Código de condición de entrega

deliveryTerms

string

800

Sí

Términos de entrega

terms

string

800

Sí

Términos y condiciones

remark

string

800

Sí

Pie de pagina

observation

string

800

Sí

Nota / Observación

termDay

int

Sí

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)

string

8

Sí

Código de medio de pago

object

Sí

Objeto de la sucursal

object

No

Objeto de la resolución

object

No

Objeto del cliente

array

No

Arreglo de objetos del detalle de la factura

object

No

Objeto de los totales de la factura

array

Sí

Arreglo de objetos de los descuentos

array

Sí

Arreglo de objetos de los cargos

array

Sí

Arreglo de objetos de los campos personalizados

branch

Tipo: Objeto

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

Campo

Tipo

Longitud

¿Puede ser nulo?

Descripción

name

string

128

Sí

Nombre de la sucursal

address

string

64

Sí

Dirección de la sucursal

phone

string

32

Sí

Teléfono de la sucursal

countryCode

string

8

Sí

Código del país

countryName

string

48

Sí

Nombre del país

departamentCode

string

8

Sí

Código del departamento

departamentName

string

48

Sí

Nombre del departamento

cityCode

string

8

Sí

Código de la ciudad

cityName

string

48

Sí

Nombre de la ciudad

resolution

Tipo: Objeto

Campo

Tipo

Longitud

¿Puede ser nulo?

Descripción

resolutionKey

string

256

No

Clave técnica de resolución de numeración de la DIAN

resolutionPrefix

string

8

No

Prefijo del de numeración autorizado por la DIAN

resolutionNumber

int

No

No. de la resolución

resolutionRangeInitial

int

No

Rango inicial de facturación

resolutionRangeFinal

int

No

Rango final de facturación

resolutionValidFrom

date

No

Fecha inicial de validación de facturación

resolutionValidUntil

date

No

Fecha final de validación de facturación

customer

Tipo: Objeto

Detalles del cliente.

Campo

Tipo

Longitud

¿Puede ser nulo?

Descripción

companyName

string

128

No

Razón social o nombre completo

string

2

No

Tipo de persona

string

2

No

Tipo de régimen

firstName

string

80

No

Nombres

lastName

string

80

No

Apellidos

identification

string

24

No

Numero de identificación

digitCheck

string

1

No

Dígito de verificación

identificationTypeCode

string

4

No

Tipo de identificación

email

string

160

Sí

Email

phone

string

24

Sí

Teléfono

merchantRegistration

string

16

Sí

Registro mercantil

responsibilities

string

500

No

Responsabilidades fiscales

responsibleFor

string

12

Sí

economicActivities

string

500

Sí

Actividades económicas (Separadas por punto y coma) e.g: "2920;2825;2817"

billingAddress

string

128

Sí

DATO DE FACTURACIÓN - Dirección

billingCountryName

string

48

Sí

DATO DE FACTURACIÓN - Nombre del país

billingCountryCode

string

8

No

DATO DE FACTURACIÓN - Código del país

billingRegionName

string

48

Sí

DATO DE FACTURACIÓN - Nombre de la región

billingRegionCode

string

8

No

DATO DE FACTURACIÓN -Código de la región

billingCityName

string

48

Sí

DATO DE FACTURACIÓN - Nombre de la ciudad

billingCityCode

string

8

Sí

DATO DE FACTURACIÓN - Código de la ciudad

billingPostalCode

string

16

Sí

DATO DE FACTURACIÓN - Código postal

billingNeighborhood

string

40

Sí

DATO DE FACTURACIÓN - Barrio

billingPhone

string

24

Sí

DATO DE FACTURACIÓN - Teléfono

billingContactName

string

160

Sí

DATO DE FACTURACIÓN - Nombre contacto

shippingAddress

string

128

Sí

DATO DE ENTREGA - Dirección

shippingCountryName

string

48

Sí

DATO DE ENTREGA - Nombre del país

shippingCountryCode

string

8

Sí

DATO DE ENTREGA - Código del país

shippingRegionName

string

48

Sí

DATO DE ENTREGA - Nombre de la región

shippingRegionCode

string

8

Sí

DATO DE ENTREGA - Código de la región

shippingCityName

string

48

Sí

DATO DE ENTREGA - Nombre de la ciudad

shippingCityCode

string

8

Sí

DATO DE ENTREGA - Código de la ciudad

shippingPostalCode

string

16

Sí

DATO DE ENTREGA - Código postal

shippingNeighborhood

string

40

Sí

DATO DE ENTREGA - Barrio

shippingPhone

string

24

Sí

DATO DE ENTREGA - Teléfono

shippingContactName

string

160

Sí

DATO DE ENTREGA - Nombre contacto

invoiceDetail

Tipo: Objeto

Detalle de la factura.

Campo

Tipo

Longitud

¿Puede ser nulo?

Descripción

string

3

Sí

Tipo de código estándar DIAN

standardCode

string

64

Sí

Código estándar DIAN

itemCode

string

32

No

Código del producto o servicio

itemName

string

200

No

Nombre del producto o servicio

itemModel

string

32

Sí

Modelo del producto o servicio

description

string

1024

No

Descripción de la venta

brandName

string

64

Sí

Marca del producto o servicio

itemCodeSupplier

string

32

Sí

Código del producto colocado por el proveedor

isPresent

boolean

1

No

Indica si el producto es un obsequio y por tanto el precio es cero

isRemmitance

boolean

1

Sí

Indica si el producto o servicio es una remesa (Sólo para sector de transportes)

remmitanceNumber

string

32

Sí

Número de Radicación de la Remesa entregado por el RNDC (Obligatorio para sector transportes)

remmitanceConsecutive

string

23

Sí

Nro. del consecutivo de la Remesa según codificación interna de cada empresa (Obligatorio para sector transportes)

RemmitanceValue

int

Sí

Valor del flete a cobrar por el servicio de transporte de la remesa. (Obligatorio para sector transportes)

remmitanceQuantityValue

int

Sí

Valor de cantidad de la carga transportada, debe ser un entero (sin decimales).

string

3

Sí

Unidad de medida de la carga transportada

unitMeasurementCode

string

4

No

Código de unidad de medida del producto o servicio (NIU por defecto)

unitMeasurementName

string

64

Sí

Nombre de unidad de medida del producto o servicio

price

number

18,6

No

Precio unitario del producto o servicio

quantity

number

18,6

No

Cantidad del producto o servicio

array

Sí

Descuentos sobre los items (Productos o servicios)

array

Sí

Cargos adicionales sobre los items (Productos o servicios)

array

Sí

Impuestos sobre los items (Productos o servicios)

array

Sí

Retenciones sobre los items (Productos o servicios)

object

Sí

Mandante

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.

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.

Campo

Tipo

Longitud

¿Puede ser nulo?

Descripción

name

string

40

Sí

Nombre del descuento

type

string

1

No

Tipo de valor (V: Valor Fijo, P: Porcentaje)

rate

number

18,2

No

Tarifa del descuento (porcentaje o valor)

amount

number

18,2

No

Valor del descuento

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.

Campo

Tipo

Longitud

¿Puede ser nulo?

Descripción

name

string

40

Sí

Nombre del cargo

type

string

1

No

Tipo de valor (V: Valor Fijo, P: Porcentaje)

rate

number

18,6

No

Tarifa del cargo (porcentaje o valor)

amount

number

18,6

No

Valor del cargo

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.

Campo

Tipo

Longitud

¿Puede ser nulo?

Descripción

name

string

64

No

Nombre del impuesto

code

string

8

No

Código del impuesto

type

string

1

No

Tipo del impuesto (V: Valor Fijo, P: Porcentaje, M: Tarifa x 1000)

rate

number

18,6

No

Tarifa o Porcentaje

amount

number

18,6

No

Valor con cada cantidad

mandante

Tipo: Objeto

Datos del mandante.

Campo

Tipo

Longitud

¿Puede ser nulo?

Descripción

name

string

128

No

Razón social o nombre

identification

string

24

No

Número de identificación

digitCheck

string

1

No

Dígito de verificación

identificationTypeCode

string

4

No

Tipo de identificación

total

Tipo: Objeto

Totales de la factura.

Campo

Tipo

Longitud

¿Puede ser nulo?

Descripción

amount

number

18,6

No

Total de la factura sin impuestos ni retenciones

prepaymentAmount

number

18,6

No

Valor anticipado aplicado a la factura

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”.

Campo

Tipo

Longitud

¿Puede ser nulo?

Descripción

key

string

64

Sí

Llave del campo

value

string

64

Sí

Valor del campo

AnteriorCódigos de unidades de medidaSiguienteDocumento soporte

Última actualización hace 1 día

¿Te fue útil?

code ()

format ()

typeOfOperation ()

dueDiligence ()

paymentMeanCode ()

branch ()

resolution ()

customer ()

invoiceDetails ()

totals ()

discounts ()

charges ()

customFields ()

Datos de la resolución de facturación electrónica expedida por la DIAN, para generar la resolución por favor ver vídeo: .

personType ()

regimeType ()

Responsable de...

standardType ()

remmitanceMeasurementUnit

discounts ()

charges ()

taxes ()

withholdings ()

isvMandante ()

https://youtu.be/Ll-z2yRn_Ss
Ver códigos
Ver opciones
Ver códigos
Ver códigos
Ver códigos
Ver códigos
Ver códigos
Ver códigos
Ver códigos
(Ver códigos)
branch
resolution
customer
invoiceDetail
total
discount
charge
customFields
discount
charge
tax
tax
mandante