Resolución No 14465

(Noviembre 28 de 2007)

Anexo 2

Especificaciones Técnicas

 


 

Consolidado Mensual por adquiriente

Formato 1289 - Versión 7

 

OBJETIVO

 

Definir las características y contenido de los archivos para el Consolidado Mensual por adquiriente.

 

 

ESPECIFICACIÓN TECNICA

 

El formato “Consolidado Mensual por adquiriente” debe enviarse en un archivo XML que cumpla las siguientes especificaciones:

 

 

1.  Estándar del Nombre de los Archivos

 

El nombre de cada uno de los archivos, debe especificarse mediante la siguiente secuencia de caracteres:

 

Dmuisca_ccmmmmmvvaaaacccccccc.xml

 

cc                               : Concepto (Inserción = 01 Reemplazo = 02)

mmmmm                   : Formato (Consolidado Mensual por adquiriente =1289) 

vv                                : Versión del formato (Versión = 07).

aaaa                           : Año de envío.

cccccccc                   : Consecutivo de envío por año.

 

 

2. Formato del Archivo

 

El formato “Consolidado Mensual por adquiriente”, contiene un documento XML, que está compuesto por dos elementos complejos: Encabezado y Contenido, las cuales se deben enviar en el orden enunciado.

 

 

 

Encabezado

Contenido Información 1

Contenido Información 2

...

Contenido Información N

 

 

1.      El documento XML debe cumplir con la especificación 1.0 Tercera edición.

 

2.      El conjunto de caracteres utilizado en el documento XML debe ser el alfabeto latino No. 1: “ISO-8859-1”.

 

3.      El archivo debe contener un documento XML bien formado y valido de acuerdo al esquema XSD que incluye en esta especificación técnica.

 

4.      El archivo debe contener un elemento único elemento raíz llamado “mas”, que a su vez contendrá toda la información del archivo, tanto el encabezado como los registros.

 

 

 

2.1.         Formato del Encabezado

 

El encabezado del archivo viene en el elemento “Cab” y contiene los siguientes datos, todos de carácter obligatorio:

 

 

ETIQUETA

DENOMINACION CASILLA

TIPO

LONGITUD CAMPO

VALIDACIONES

OBSERVACIONES

Ano

Año de envío

Int

4

 

Formato AAAA

CodCpt

Concepto

Int

2

 

1 = Inserción
2 = Reemplazo

Formato

Código del formato

Int

5

 

Consolidado Mensual por adquiriente =1289

Versión

Versión del formato

Int

2

 

Versión = 7

NumEnvio

Número de envío

Int

8

Debe ser un número consecutivo por año para todos los formatos que el remitente envíe a la DIAN

Consecutivo de envío por año.

FecEnvio

Fecha de envío

DateTime

19

Debe ser la fecha calendario.

Formato AAAA-MM-DDTHH:MM:SS

FecInicial

Fecha Inicial

Date

10

Debe ser la fecha calendario.

Los registros corresponden mínimo ésta fecha inicial. Formato AAAA-MM-DD

FecFinal

Fecha Final

Date

10

Debe ser la fecha calendario.

Los registros  corresponden máximo a ésta fecha inicial. Formato AAAA-MM-DD

ValorTotal

Valor Total

double

20

Corresponde a la sumatoria de la casilla “td” de los registros reportados en cada uno de los elementos contenidos en el elemento “adq”.

 

CantReg

Cantidad de registros

Int

4

La cantidad de registros esta medida por el número de elementos “adq” que contenga el archivo.

Cantidad de registros reportados en el contenido.

 

 

2.3. Formato del Contenido

 

En el contenido del archivo se deben incluir tantos registros como se informó en la cabecera en el campo “Cantidad de registros”.

 

Cada registro reportado debe mantener la misma estructura previamente explicada y usada para la cabecera.

 

El contenido del archivo viene en el elemento “adq” y debe incluir los siguientes datos:

 

 

ATRIBUTO

CASILLA

DENOMINACION CASILLA

TIPO

LONGITUD

OBLIGATORIA

OBSERVACIONES

td

24

Tipo documento

int

2

S

12.  Tarjeta de identidad

13.  Cédula de ciudadanía

21.  Tarjeta de extranjería.

22.  Cédula de extranjería

31.  NIT

41.  Pasaporte

42.  Documento de

  identificación extranjero
43. Sin identificación del exterior o para uso definido por la DIAN

num

25

Número de Identificación

string

20

S

Si la casilla 24 – Tipo de documento es 43 debe diligenciar 0 (cero)

apel1

27

Primer Apellido

string

60

N

 

apel2

28

Segundo Apellido

string

60

N

 

nom1

29

Primer Nombre

string

60

N

 

nom2

30

Otros Nombres

string

60

N

 

rsocial

31

Razón Social

string

450

N

 

 

 

El elemento “adq” está conformado por la información perteneciente al elemento secundario llamado  “fac”, el cual se construye con los siguientes atributos:

 

 

ATRIBUTO

CASILLA

DENOMINACION CASILLA

TIPO

LONGITUD

OBLIGATORIA

OBSERVACIONES

fecini

32

Fecha Inicio

date

10

S

 

fecfin

33

Fecha Fin

date

10

S

 

 

El elemento “fac” está conformado por la información perteneciente a los siguientes elementos secundarios:

 

 

Elemento “facE”, que se utilizara para las facturas expedidas, este elemento se construye con los siguientes atributos:

 

ATRIBUTO

CASILLA

DENOMINACION CASILLA

TIPO

LONGITUD

OBLIGATORIA

OBSERVACIONES

cant

34

Cantidad

long

10

S

La cantidad de facturas usadas relacionadas no debe incluir las facturas de contingencia.

vlr

35

Valor Total facturado

decimal

20.2

S

Puede contener dos decimales. Utilice punto (.) como separador decimal

iva

36

Valor Total de IVA facturado

decimal

20.2

S

Puede contener dos decimales. Utilice punto (.) como separador decimal

tfac

37

Tipo Facturación

string

2

S

01. Electrónica

02. Otras modalidades

 

Elemento “facA”, que se utilizara para las facturas anuladas, este elemento se construye con los siguientes atributos:

 

ATRIBUTO

CASILLA

DENOMINACION CASILLA

TIPO

LONGITUD

OBLIGATORIA

OBSERVACIONES

cant

38

Cantidad

long

10

S

 

vlr

39

Valor Total facturado

decimal

20.2

S

Puede contener dos decimales. Utilice punto (.) como separador decimal

iva

40

Valor Total de IVA facturado

decimal

20.2

S

Puede contener dos decimales. Utilice punto (.) como separador decimal

tfac

41

Tipo Facturación

string

2

S

01. Electrónica

02. Otras modalidades

 

Elemento “ncred”, que se utilizara para las notas crédito, este elemento se construye con los siguientes atributos:

 

ATRIBUTO

CASILLA

DENOMINACION CASILLA

TIPO

LONGITUD

OBLIGATORIA

OBSERVACIONES

cant

42

Cantidad

long

10

S

 

vlr

43

Valor Total facturado

decimal

20.2

S

 

iva

44

Valor Total de IVA facturado

decimal

20.2

S

Puede contener dos decimales. Utilice punto (.) como separador decimal

tfac

45

Tipo Facturación

string

2

S

01. Electrónica

02. Otras modalidades

 

 

Elemento “facC” , que se utilizara para las facturas de contingencia, este elemento se construye con los siguientes atributos:

 

 

ATRIBUTO

CASILLA

DENOMINACION CASILLA

TIPO

LONGITUD

OBLIGATORIA

OBSERVACIONES

cant

46

Cantidad

long

10

S

 

vlr

47

Valor Total facturado

decimal

20.2

S

 

iva

48

Valor Total de IVA facturado

decimal

20.2

S

 

tfac

49

Tipo Facturación

string

2

S

01. Electrónica

02. Otras modalidades
03. En papel

 

Las facturas informadas por contingencia, no deben ser informadas como facturas expedidas.

 

 

3. Validaciones

 

3.1. Validaciones Generales

 

 

  1. El archivo debe contener todos los campos definidos para el encabezado y estos campos deben estar correctamente diligenciados.

 

  1. La información del contenido del archivo debe corresponder al esquema XSD entregado.

 

  1. Los atributos que registran valores numéricos, se reportan con valores numéricos positivos, sin signos ni puntuaciones, según lo reportado por el informante o en su defecto con cero (0).

 

  1. Los campos que corresponden a fechas, deben contener fechas validas en cuando a año, mes, y día.

 

 

 

3.2. Validaciones del Encabezado

 

1.      Los campos concepto, formato y versión, deben venir diligenciados con los valores estipulados en las especificaciones técnicas,

 

2.      Año de envío, debe ser el año calendario.

 

3.      Numero de envío, debe ser un número consecutivo por año para todos los formatos que el remitente envíe a la DIAN.

 

4.      Fecha de envío, debe ser la fecha calendario, en formato AAAA-MM-DDTHH:MM:SS.

 

5.      Cantidad de registros, debe ser igual a la cantidad de registros reportados en el contenido, que como máximo puede ser 5000 registros.

 

6.      Valor total, corresponde a la sumatoria de la casilla “td” de los registros reportados en cada uno de los elementos contenidos en el elemento “adq”.

 

 

4. Esquema XSD

 

A continuación se incluye el esquema XSD para esta especificación técnica.

 

 <?xml version="1.0" encoding="ISO-8859-1"?>

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">

  <xs:element name="fac">

    <xs:annotation>

      <xs:documentation>Elemento que encapsula la información de Factura Electrónica - Informe Consolidado

Formato 1289 - Versión 7</xs:documentation>

    </xs:annotation>

    <xs:complexType>

      <xs:choice maxOccurs="unbounded">

        <xs:element ref="facE" maxOccurs="unbounded"/>

        <xs:element ref="facA"/>

        <xs:element ref="facC"/>

        <xs:element ref="ncred"/>

      </xs:choice>

      <xs:attribute name="fecini" type="xs:date" use="required">

        <xs:annotation>

          <xs:documentation>Fecha de inicio</xs:documentation>

        </xs:annotation>

      </xs:attribute>

      <xs:attribute name="fecfin" type="xs:date" use="required">

        <xs:annotation>

          <xs:documentation>Fecha fin</xs:documentation>

        </xs:annotation>

      </xs:attribute>

    </xs:complexType>

  </xs:element>

  <xs:element name="mas">

    <xs:annotation>

      <xs:documentation>Elemento raiz del xml de carga masiva</xs:documentation>

    </xs:annotation>

    <xs:complexType>

      <xs:sequence>

        <xs:element name="Cab" type="CabType"/>

        <xs:element ref="adq" maxOccurs="unbounded"/>

      </xs:sequence>

    </xs:complexType>

  </xs:element>

  <xs:complexType name="CabType">

    <xs:sequence>

      <xs:element name="Ano" type="xs:gYear" nillable="false">

        <xs:annotation>

          <xs:documentation>Año de envio</xs:documentation>

        </xs:annotation>

      </xs:element>

      <xs:element name="CodCpt" nillable="false">

        <xs:annotation>

          <xs:documentation>Concepto</xs:documentation>

        </xs:annotation>

        <xs:simpleType>

          <xs:restriction base="xs:int">

            <xs:minInclusive value="0"/>

            <xs:maxInclusive value="99"/>

          </xs:restriction>

        </xs:simpleType>

      </xs:element>

      <xs:element name="Formato" fixed="1289">

        <xs:simpleType>

          <xs:restriction base="xs:positiveInteger">

            <xs:totalDigits value="4"/>

          </xs:restriction>

        </xs:simpleType>

      </xs:element>

      <xs:element name="Version" type="xs:positiveInteger" fixed="7"/>

      <xs:element name="NumEnvio">

        <xs:annotation>

          <xs:documentation>Numero de envio</xs:documentation>

        </xs:annotation>

        <xs:simpleType>

          <xs:restriction base="xs:positiveInteger">

            <xs:totalDigits value="8"/>

            <xs:maxInclusive value="99999999"/>

          </xs:restriction>

        </xs:simpleType>

      </xs:element>

      <xs:element name="FecEnvio" type="xs:dateTime">

        <xs:annotation>

          <xs:documentation>Fecha de envio</xs:documentation>

        </xs:annotation>

      </xs:element>

      <xs:element name="FecInicial" type="xs:date">

        <xs:annotation>

          <xs:documentation>Fecha inicial</xs:documentation>

        </xs:annotation>

      </xs:element>

      <xs:element name="FecFinal" type="xs:date">

        <xs:annotation>

          <xs:documentation>Fecha Final</xs:documentation>

        </xs:annotation>

      </xs:element>

      <xs:element name="ValorTotal" type="xs:double">

        <xs:annotation>

          <xs:documentation>Valor Total</xs:documentation>

        </xs:annotation>

      </xs:element>

      <xs:element name="CantReg">

        <xs:annotation>

          <xs:documentation>Cantidad de registros</xs:documentation>

        </xs:annotation>

        <xs:simpleType>

          <xs:restriction base="xs:positiveInteger">

            <xs:totalDigits value="4"/>

            <xs:maxInclusive value="9999"/>

          </xs:restriction>

        </xs:simpleType>

      </xs:element>

    </xs:sequence>

  </xs:complexType>

  <xs:element name="facE">

    <xs:annotation>

      <xs:documentation>Facturas Usuadas </xs:documentation>

    </xs:annotation>

    <xs:complexType>

      <xs:attribute name="cant" use="required">

        <xs:annotation>

          <xs:documentation>Cantidad</xs:documentation>

        </xs:annotation>

        <xs:simpleType>

          <xs:restriction base="xs:long">

            <xs:minInclusive value="0"/>

            <xs:maxInclusive value="9999999999"/>

          </xs:restriction>

        </xs:simpleType>

      </xs:attribute>

      <xs:attribute name="vlr" use="required">

        <xs:annotation>

          <xs:documentation>Valor</xs:documentation>

        </xs:annotation>

        <xs:simpleType>

          <xs:restriction base="xs:decimal">

            <xs:minInclusive value="0"/>

            <xs:maxInclusive value="99999999999999999999.99"/>

            <xs:totalDigits value="22"/>

            <xs:fractionDigits value="2"/>

          </xs:restriction>

        </xs:simpleType>

      </xs:attribute>

      <xs:attribute name="iva" use="required">

        <xs:annotation>

          <xs:documentation>IVA</xs:documentation>

        </xs:annotation>

        <xs:simpleType>

          <xs:restriction base="xs:decimal">

            <xs:minInclusive value="0"/>

            <xs:maxInclusive value="99999999999999999999.99"/>

            <xs:totalDigits value="22"/>

            <xs:fractionDigits value="2"/>

          </xs:restriction>

        </xs:simpleType>

      </xs:attribute>

      <xs:attribute name="tfac" use="required">

        <xs:annotation>

          <xs:documentation>Tipo Facturación</xs:documentation>

        </xs:annotation>

        <xs:simpleType>

          <xs:restriction base="xs:string">

            <xs:length value="2"/>

          </xs:restriction>

        </xs:simpleType>

      </xs:attribute>

    </xs:complexType>

  </xs:element>

  <xs:element name="facA">

    <xs:annotation>

      <xs:documentation>Facturas anuladas </xs:documentation>

    </xs:annotation>

    <xs:complexType>

      <xs:attribute name="cant" use="required">

        <xs:annotation>

          <xs:documentation>Cantidad</xs:documentation>

        </xs:annotation>

        <xs:simpleType>

          <xs:restriction base="xs:long">

            <xs:minInclusive value="0"/>

            <xs:maxInclusive value="9999999999"/>

          </xs:restriction>

        </xs:simpleType>

      </xs:attribute>

      <xs:attribute name="vlr" use="required">

        <xs:annotation>

          <xs:documentation>Valor</xs:documentation>

        </xs:annotation>

        <xs:simpleType>

          <xs:restriction base="xs:decimal">

            <xs:minInclusive value="0"/>

            <xs:maxInclusive value="99999999999999999999.99"/>

            <xs:totalDigits value="22"/>

            <xs:fractionDigits value="2"/>

          </xs:restriction>

        </xs:simpleType>

      </xs:attribute>

      <xs:attribute name="iva" use="required">

        <xs:annotation>

          <xs:documentation>IVA</xs:documentation>

        </xs:annotation>

        <xs:simpleType>

          <xs:restriction base="xs:decimal">

            <xs:minInclusive value="0"/>

            <xs:maxInclusive value="99999999999999999999.99"/>

            <xs:totalDigits value="22"/>

            <xs:fractionDigits value="2"/>

          </xs:restriction>

        </xs:simpleType>

      </xs:attribute>

      <xs:attribute name="tfac" use="required">

        <xs:annotation>

          <xs:documentation>Tipo Facturación</xs:documentation>

        </xs:annotation>

        <xs:simpleType>

          <xs:restriction base="xs:string">

            <xs:length value="2"/>

          </xs:restriction>

        </xs:simpleType>

      </xs:attribute>

    </xs:complexType>

  </xs:element>

  <xs:element name="facC">

    <xs:annotation>

      <xs:documentation>Facturas de contingencia</xs:documentation>

    </xs:annotation>

    <xs:complexType>

      <xs:attribute name="cant" use="required">

        <xs:annotation>

          <xs:documentation>Cantidad</xs:documentation>

        </xs:annotation>

        <xs:simpleType>

          <xs:restriction base="xs:long">

            <xs:minInclusive value="0"/>

            <xs:maxInclusive value="9999999999"/>

          </xs:restriction>

        </xs:simpleType>

      </xs:attribute>

      <xs:attribute name="vlr" use="required">

        <xs:annotation>

          <xs:documentation>Valor</xs:documentation>

        </xs:annotation>

        <xs:simpleType>

          <xs:restriction base="xs:decimal">

            <xs:minInclusive value="0"/>

            <xs:maxInclusive value="99999999999999999999.99"/>

            <xs:totalDigits value="22"/>

            <xs:fractionDigits value="2"/>

          </xs:restriction>

        </xs:simpleType>

      </xs:attribute>

      <xs:attribute name="iva" use="required">

        <xs:annotation>

          <xs:documentation>IVA</xs:documentation>

        </xs:annotation>

        <xs:simpleType>

          <xs:restriction base="xs:decimal">

            <xs:minInclusive value="0"/>

            <xs:maxInclusive value="99999999999999999999.99"/>

            <xs:totalDigits value="22"/>

            <xs:fractionDigits value="2"/>

          </xs:restriction>

        </xs:simpleType>

      </xs:attribute>

      <xs:attribute name="tfac" use="required">

        <xs:annotation>

          <xs:documentation>Tipo Facturación</xs:documentation>

        </xs:annotation>

        <xs:simpleType>

          <xs:restriction base="xs:string">

            <xs:length value="2"/>

          </xs:restriction>

        </xs:simpleType>

      </xs:attribute>

    </xs:complexType>

  </xs:element>

  <xs:element name="ncred">

    <xs:annotation>

      <xs:documentation>notas credito</xs:documentation>

    </xs:annotation>

    <xs:complexType>

      <xs:attribute name="cant" use="required">

        <xs:annotation>

          <xs:documentation>Cantidad</xs:documentation>

        </xs:annotation>

        <xs:simpleType>

          <xs:restriction base="xs:long">

            <xs:minInclusive value="0"/>

            <xs:maxInclusive value="9999999999"/>

          </xs:restriction>

        </xs:simpleType>

      </xs:attribute>

      <xs:attribute name="vlr" use="required">

        <xs:annotation>

          <xs:documentation>Valor</xs:documentation>

        </xs:annotation>

        <xs:simpleType>

          <xs:restriction base="xs:decimal">

            <xs:minInclusive value="0"/>

            <xs:maxInclusive value="99999999999999999999.99"/>

            <xs:totalDigits value="22"/>

            <xs:fractionDigits value="2"/>

          </xs:restriction>

        </xs:simpleType>

      </xs:attribute>

      <xs:attribute name="iva" use="required">

        <xs:annotation>

          <xs:documentation>IVA</xs:documentation>

        </xs:annotation>

        <xs:simpleType>

          <xs:restriction base="xs:decimal">

            <xs:minInclusive value="0"/>

            <xs:maxInclusive value="99999999999999999999.99"/>

            <xs:totalDigits value="22"/>

            <xs:fractionDigits value="2"/>

          </xs:restriction>

        </xs:simpleType>

      </xs:attribute>

      <xs:attribute name="tfac" use="required">

        <xs:annotation>

          <xs:documentation>Tipo Facturación</xs:documentation>

        </xs:annotation>

        <xs:simpleType>

          <xs:restriction base="xs:string">

            <xs:length value="2"/>

          </xs:restriction>

        </xs:simpleType>

      </xs:attribute>

    </xs:complexType>

  </xs:element>

  <xs:element name="adq">

    <xs:annotation>

      <xs:documentation>Adquiriente</xs:documentation>

    </xs:annotation>

    <xs:complexType>

      <xs:sequence>

        <xs:element ref="fac" maxOccurs="unbounded"/>

      </xs:sequence>

      <xs:attribute name="td" use="required">

        <xs:annotation>

          <xs:documentation>Tipo de Documento</xs:documentation>

        </xs:annotation>

        <xs:simpleType>

          <xs:restriction base="xs:int">

            <xs:minInclusive value="0"/>

            <xs:maxInclusive value="99"/>

          </xs:restriction>

        </xs:simpleType>

      </xs:attribute>

      <xs:attribute name="num" use="required">

        <xs:annotation>

          <xs:documentation>Número de Identificación</xs:documentation>

        </xs:annotation>

        <xs:simpleType>

          <xs:restriction base="xs:string">

            <xs:minLength value="0"/>

            <xs:maxLength value="20"/>

          </xs:restriction>

        </xs:simpleType>

      </xs:attribute>

      <xs:attribute name="apel1" use="optional">

        <xs:annotation>

          <xs:documentation>Primer Apellido</xs:documentation>

        </xs:annotation>

        <xs:simpleType>

          <xs:restriction base="xs:string">

            <xs:minLength value="0"/>

            <xs:maxLength value="50"/>

          </xs:restriction>

        </xs:simpleType>

      </xs:attribute>

      <xs:attribute name="apel2" use="optional">

        <xs:annotation>

          <xs:documentation>Segundo Apellido</xs:documentation>

        </xs:annotation>

        <xs:simpleType>

          <xs:restriction base="xs:string">

            <xs:minLength value="0"/>

            <xs:maxLength value="60"/>

          </xs:restriction>

        </xs:simpleType>

      </xs:attribute>

      <xs:attribute name="nom1" use="optional">

        <xs:annotation>

          <xs:documentation>Primer Nombre</xs:documentation>

        </xs:annotation>

        <xs:simpleType>

          <xs:restriction base="xs:string">

            <xs:minLength value="0"/>

            <xs:maxLength value="60"/>

          </xs:restriction>

        </xs:simpleType>

      </xs:attribute>

      <xs:attribute name="nom2" use="optional">

        <xs:annotation>

          <xs:documentation>Otros nombres</xs:documentation>

        </xs:annotation>

        <xs:simpleType>

          <xs:restriction base="xs:string">

            <xs:minLength value="0"/>

            <xs:maxLength value="60"/>

          </xs:restriction>

        </xs:simpleType>

      </xs:attribute>

      <xs:attribute name="rsocial" use="optional">

        <xs:annotation>

          <xs:documentation>Razón Social</xs:documentation>

        </xs:annotation>

        <xs:simpleType>

          <xs:restriction base="xs:string">

            <xs:minLength value="0"/>

            <xs:maxLength value="450"/>

          </xs:restriction>

        </xs:simpleType>

      </xs:attribute>

    </xs:complexType>

  </xs:element>

</xs:schema>