T3.10 Anexo 10 F1022 v9 2024_RES_000162_2023.pdf
Detalles
- Título
- T3.10 Anexo 10 F1022 v9 2024_RES_000162_2023.pdf
- Autor
- No disponible
- Categoría
- No disponible
- Área del derecho
- —
- Año
- 2023
Anexo T3.10 Especificaciones Técnicas. Aportes Voluntarios a Pensiones, Cuentas de Ahorro AFC y Cuentas de Ahorro AVC Formato 1022 - Versión 9
Información Pública
OBJETIVO
Definir las características y contenido de los archivos donde se reporta la información de Aportes voluntarios a pensiones, cuentas de ahorro AFC y cuentas de ahorro AVC.
ESPECIFICACIÓN TECNICA
El formato 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 ( Aportes voluntarios a pensiones , cuentas de ahorro AFC y cuentas de ahorro AVC =01022) vv : Versión del formato (Versión = 9). aaaa : Año de envío. cccccccc : Consecutivo de envío por año.
2. Formato del Archivo
El formato 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 vá lido de acuerdo al
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 vá lido 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:2 de 10
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 Aportes voluntarios a pensiones , cuentas de ahorro AFC y cuentas de ahorro AVC = 1022 Versión Versión del formato Int 2 Versión = 9 NumEnvio Número de envío Int 8 Debe corresponder al número consecutivo para este formato. 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 esta fecha inicial. Formato AAAA-MMDD FecFinal Fecha Final date 10 Debe ser la fecha calendario. Los registros corresponden máximo a ésta fecha Final. Formato AAAA-MMDD ValorTotal Valor Total double 20 Corresponde a la
esta fecha inicial. Formato AAAA-MMDD FecFinal Fecha Final date 10 Debe ser la fecha calendario. Los registros corresponden máximo a ésta fecha Final. Formato AAAA-MMDD ValorTotal Valor Total double 20 Corresponde a la sumatoria del atributo “tipApor” (Tipo de Aporte) que se encuentra en el atributo afp.
CantReg Cantidad de registros int 4 Se enviarán archivos con máximo 5000 registros; si se deben reportar más de 5000 registros se fraccionará la información en archivos de 5000 registros o menos. . La cantidad de registros esta medida por el número de elementos “afp” que contenga el archivo Cantidad de registros reportados en el contenido.
2.2. 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”.
El contenido del archivo viene en el elemento “afp” y se deben incluir los siguientes datos para cada registro de Aportes voluntarios a pensiones, cuentas de ahorro AFC y cuentas de ahorro AVC.
ATRIBUTO DENOMINACION CASILLA TIPO LONGITUD CRITERIOS tipApor Tipo de Aporte int 1 Siempre debe diligenciarse. De acuerdo a la tabla Tipos de Aporte. tdoca Tipo de documento del afiliado int 2 Siempre debe diligenciarse. De acuerdo a la tabla Tipos de documento. nita Número de Identificación del Afiliado string 20 Siempre debe diligenciarse. Diligenciar sin guiones, puntos, comas o espacios en blanco. papa Primer apellido del Afiliado string 60 Siempre debe diligenciarse.
nita Número de Identificación del Afiliado string 20 Siempre debe diligenciarse. Diligenciar sin guiones, puntos, comas o espacios en blanco. papa Primer apellido del Afiliado string 60 Siempre debe diligenciarse. sapa Segundo apellido del afiliado string 60 Si se conoce debe diligenciarse. pnoa Primer nombre del afiliado string 60 Siempre debe diligenciarse. onoa Otros nombres del afiliado string 60 Si se conoce debe diligenciarse. dir Dirección string 200 En caso que el país sea Colombia siempre debe diligenciarse. dpto Código departamento string 2 En caso que el país sea Colombia siempre debe diligenciarse. Código DANE Numérico, debe incluir los ceros a la izquierda. mun Código municipio string 3 En caso que el país sea Colombia siempre debe diligenciarse.3 de 10 ATRIBUTO DENOMINACION CASILLA TIPO LONGITUD CRITERIOS Código DANE Numérico, debe incluir los ceros a la izquierda. pais Código País string 4 Siempre debe diligenciarse. Numérico, debe incluir los ceros a la izquierda. email Correo Electrónico string 50 Si se conoce debe diligenciarse. numcuen Número de la cuenta double 18 El valor debe ser positivo, entero y no debe incluir ni puntos ni comas. Siempre debe diligenciarse saldoIni Valor del saldo Inicial de los aportes long 18 Siempre debe diligenciarse. En caso de no Reportar ningún valor, diligenciar cero (0) valorPer Valor total de los aportes efectuados durante el periodo long 18 Siempre debe diligenciarse. En caso de no reportar ningún valor, diligenciar cero (0)
valor, diligenciar cero (0) valorPer Valor total de los aportes efectuados durante el periodo long 18 Siempre debe diligenciarse. En caso de no reportar ningún valor, diligenciar cero (0) valrepe Valor retiros aportes sin requisitos para beneficio long 18 Siempre debe diligenciarse. En caso de no reportar ningún valor, diligenciar cero (0) valrequi Valor retiros aportes con requisitos para beneficio long 18 Siempre debe diligenciarse. En caso de no reportar ningún valor, diligenciar cero (0) valreca Valor rendimientos causados long 18 Siempre debe diligenciarse. En caso de no reportar ningún valor, diligenciar cero (0) repe Valor Retiros rendimientos sin cumplir requisitos para beneficio long 18 Siempre debe diligenciarse. En caso de no reportar ningún valor, diligenciar cero (0) retipe Valor Retiros rendimientos cumpliendo requisitos para beneficio long 18 Siempre debe diligenciarse. En caso de no reportar ningún valor, diligenciar cero (0) saldofin Valor del saldo final del ahorro long 18 Siempre debe diligenciarse. En caso de no reportar ningún valor, diligenciar cero (0) valretper Valor retención en la fuente practicada en el periodo long 18 Siempre debe diligenciarse. En caso de no reportar ningún valor, diligenciar cero (0)
Los campos: Tipo de Aporte, Tipo de documento del afiliado, Número de Identificación del Afiliado y Número de la cuenta, conforman una llave única para este formato, la cual no debe repetirse para los registros enviados por un mismo año y/o periodo.
Los campos: Tipo de Aporte, Tipo de documento del afiliado, Número de Identificación del Afiliado y Número de la cuenta, conforman una llave única para este formato, la cual no debe repetirse para los registros enviados por un mismo año y/o periodo.
A este elemento (afp) se pueden agregar elementos secundarios identificados como “ ahorros”, los cuales contienen Información detallada de los ahorros efectuados y se deben incluir los siguientes datos para cada registro reportado
ATRIBUTO DENOMINACION CASILLA TIPO LONGITUD CRITERIOS tipapo Tipo de Aportante int 1 Siempre debe diligenciarse. De acuerdo a la tabla Tipos de aportantes tdocapo Tipo de documento del aportante int 2 Siempre debe diligenciarse. De acuerdo a la tabla tipo documentos nitapo Número de Identificación del aportante string 20 Siempre debe diligenciarse. Diligenciar sin guiones, puntos, comas o espacios en blanco. valahop Valor de los ahorros efectuados durante el Periodo long 18 Siempre debe diligenciarse. Diligenciar sin guiones, puntos, comas o espacios en blanco.
Los campos: Tipo de Aportante, Tipo de documento del aportante y Número de Identificación del aportante, conforman una llave única para este formato, conforman la llave única para el elemento “ahorros” y no se debe repetir para este tipo de elementos en cada registro
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.
2. La información del contenido del archivo debe corresponder al esquema XSD entregado.
3.1. Validaciones Generales
1. El archivo debe contener todos los campos definidos para el encabezado y estos campos deben estar correctamente diligenciados.
2. La información del contenido del archivo debe corresponder al esquema XSD entregado.
3. 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).
4. Los campos que corresponden a fechas, deben contener fechas válidas en cuanto a año, mes, y día.4 de 10
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. Número de envío, debe corresponder al número consecutivo para este formato.
4. Fecha de envío, debe ser la fecha calendario, en formato AAAA-MM-DDTHH:MM:SS.
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="mas"> <xs:annotation> <xs:documentation>Elemento raíz del xml de carga masiva</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="Cab" type="CabType"/> <xs:element ref="afp" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType>
</xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="Cab" type="CabType"/> <xs:element ref="afp" 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>Agno 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="1022"> <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="9"/> <xs:element name="NumEnvio"> <xs:annotation> <xs:documentation>Numero de envio</xs:documentation> </xs:annotation> <xs:simpleType>5 de 10 <xs:restriction base="xs:positiveInteger"> <xs:totalDigits value="8"/> <xs:maxInclusive value="99999999"/> </xs:restriction>
</xs:annotation> <xs:simpleType>5 de 10 <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="afp"> <xs:annotation> <xs:documentation>Elemento que encapsula la información del formulario
</xs:simpleType> </xs:element> </xs:sequence> </xs:complexType> <xs:element name="afp"> <xs:annotation> <xs:documentation>Elemento que encapsula la información del formulario 1022 v9 Aportes voluntarios a pensiones, cuentas de ahorro AFC y cuentas de ahorro AVC</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element ref="ahorros" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute name="tipApor" use="required"> <xs:annotation> <xs:documentation>Tipo de Aporte</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:int"> <xs:pattern value="[0-9]{1}"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="tdoca" use="required">6 de 10 <xs:annotation> <xs:documentation>Tipo de documento del afiliado</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:int"> <xs:pattern value="[0-9]{1,2}"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="nita" use="required"> <xs:annotation> <xs:documentation>Número de Identificación del Afiliado</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:pattern value="[a-zA-Z0-9]+"/>
<xs:documentation>Número de Identificación del Afiliado</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:pattern value="[a-zA-Z0-9]+"/> <xs:minLength value="1"/> <xs:maxLength value="20"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="papa" use="required"> <xs:annotation> <xs:documentation>Primer apellido del Afiliado</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:minLength value="1"/> <xs:maxLength value="60"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="sapa" use="optional"> <xs:annotation> <xs:documentation>Segundo apellido del afiliado</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="pnoa" use="required"> <xs:annotation> <xs:documentation>Primer nombre del afiliado</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:minLength value="1"/> <xs:maxLength value="60"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="onoa" use="optional">
<xs:restriction base="xs:string"> <xs:minLength value="1"/> <xs:maxLength value="60"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="onoa" use="optional"> <xs:annotation>7 de 10 <xs:documentation>Otros nombres del afiliado</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="dir" use="optional"> <xs:annotation> <xs:documentation>Dirección</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:minLength value="0"/> <xs:maxLength value="200"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="dpto" use="optional"> <xs:annotation> <xs:documentation>Código dpto</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:pattern value="[0-9]{0,2}"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="mun" use="optional"> <xs:annotation> <xs:documentation>Código mcp</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:pattern value="[0-9]{0,3}"/>
<xs:annotation> <xs:documentation>Código mcp</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:pattern value="[0-9]{0,3}"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="pais" use="required"> <xs:annotation> <xs:documentation>Código País</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:pattern value="[0-9]{1,4}"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="email" use="optional"> <xs:annotation> <xs:documentation>Correo Electrónico</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:minLength value="0"/> <xs:maxLength value="50"/> <xs:pattern value="[_\-a-zA-Z0-9\.\+]+@a-zA-Z09"/> </xs:restriction>8 de 10 </xs:simpleType> </xs:attribute> <xs:attribute name="numcuen" use="required"> <xs:annotation> <xs:documentation>Numero de Cuenta</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:double"> <xs:pattern value="[0-9]{1,18}"/> </xs:restriction> </xs:simpleType> </xs:attribute>
</xs:annotation> <xs:simpleType> <xs:restriction base="xs:double"> <xs:pattern value="[0-9]{1,18}"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="saldoIni" use="required"> <xs:annotation> <xs:documentation>Valor del saldo Inicial de los aportes</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:long"> <xs:pattern value="[0-9]{1,18}"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="valorPer" use="required"> <xs:annotation> <xs:documentation>Valor Total de los aportes efectuados durante el Periodo</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:long"> <xs:pattern value="[0-9]{1,18}"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="valrepe" use="required"> <xs:annotation> <xs:documentation>Valor retiros aportes sin requisitos para beneficio</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:long"> <xs:pattern value="[0-9]{1,18}"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="valrequi" use="required"> <xs:annotation> <xs:documentation>Valor retiros aportes con requisitos para beneficio</xs:documentation>
</xs:simpleType> </xs:attribute> <xs:attribute name="valrequi" use="required"> <xs:annotation> <xs:documentation>Valor retiros aportes con requisitos para beneficio</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:long"> <xs:pattern value="[0-9]{1,18}"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="valreca" use="required"> <xs:annotation> <xs:documentation>Valor rendimientos causados</xs:documentation> </xs:annotation>9 de 10 <xs:simpleType> <xs:restriction base="xs:long"> <xs:pattern value="[0-9]{1,18}"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="repe" use="required"> <xs:annotation> <xs:documentation>Valor Retiros rendimientos sin cumplir
requisitos para beneficio</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:long"> <xs:pattern value="[0-9]{1,18}"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="saldofin" use="required"> <xs:annotation> <xs:documentation>Valor del saldo final del ahorro</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:long"> <xs:pattern value="[0-9]{1,18}"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="valretper" use="required"> <xs:annotation> <xs:documentation>Valor retención en la fuente practicada en el periodo</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:long"> <xs:pattern value="[0-9]{1,18}"/> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:complexType> </xs:element> <xs:element name="ahorros"> <xs:annotation> <xs:documentation>Elemento que contienen la Hoja 2 formulario 1022 v8 Anexo Documental Aportes voluntarios a pensiones, cuentas de ahorro AFC y cuentas de ahorro AVC</xs:documentation> </xs:annotation> <xs:complexType> <xs:attribute name="tipapo" use="required"> <xs:annotation> <xs:documentation>Tipo de Aportante</xs:documentation>10 de 10 </xs:annotation>
</xs:annotation> <xs:complexType> <xs:attribute name="tipapo" use="required"> <xs:annotation> <xs:documentation>Tipo de Aportante</xs:documentation>10 de 10 </xs:annotation> <xs:simpleType> <xs:restriction base="xs:int"> <xs:pattern value="[0-9]{1}"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="tdocapo" use="required"> <xs:annotation> <xs:documentation>Tipo de documento del aportante</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:int"> <xs:pattern value="[0-9]{1,2}"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="nitapo" use="required"> <xs:annotation> <xs:documentation>Número de Identificación del aportante</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:pattern value="[a-zA-Z0-9]+"/> <xs:minLength value="1"/> <xs:maxLength value="20"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="valahop" use="required"> <xs:annotation> <xs:documentation>Valor de los ahorros efectuados durante el Periodo</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:long"> <xs:pattern value="[0-9]{1,18}"/>
durante el Periodo</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:long"> <xs:pattern value="[0-9]{1,18}"/> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:complexType> </xs:element> </xs:schema>