RESOLUCIÓN 5176 DE 2008
(junio 16)
Diario Oficial No. 47.030 de 24 de junio de 2008
DIRECCIÓN DE IMPUESTOS Y ADUANAS NACIONALES
Por medio de la cual se modifican parcialmente los artículos 2o y 4o de la Resolución 15734 de 2007 y sus anexos.
EL DIRECTOR GENERAL DE LA UNIDAD ADMINISTRATIVA ESPECIAL DIRECCIÓN DE IMPUESTOS Y ADUANAS NACIONALES,
en ejercicio de sus facultades legales, en especial de las conferidas en el artículo 19 literal aa) del Decreto 1071 de 1999, en el Decreto 1791 de 2007 y en la Resolución Ministerial 0008 de enero 5 de 2000, y
CONSIDERANDO:
Que mediante Resolución número 15734 de 2007, se dictan disposiciones en relación con la transacción de pago electrónico y el proceso de recaudo de los impuestos, anticipos, sanciones, intereses y demás tributos administrados por la Unidad Administrativa Especial Dirección de Impuestos y Aduanas Nacionales, a través de las entidades autorizadas para recaudar;
Que por medio de la misma resolución se estableció el contenido y las especificaciones técnicas de la información que entrega la Dirección de Impuestos y Aduanas Nacionales a las entidades autorizadas para recaudar, respecto de los recibos de pago, así como el contenido y las especificaciones técnicas de la información que debe ser entregada por las entidades autorizadas para recaudar a la DIAN, respecto de las transacciones de pago realizadas a través de canales electrónicos, las cuales fueron incorporadas como Anexos 01 y 02 a la mencionada resolución;
Que con el fin de viabilizar la entrada del pago electrónico, es necesario ajustar la hora límite de envío de información relativa a la conciliación por parte de las entidades autorizadas para recaudar;
Que surtidas las pruebas técnicas con las entidades autorizadas para recaudar, se hace necesario ajustar las especificaciones técnicas contenidas en los Anexos 01 y 02 de la Resolución 15734 de 2007,
RESUELVE:
ARTÍCULO 1o. Modifícase el numeral 5 del artículo 2o de la Resolución 15734 de 2007, el cual queda así:
“5. Enviar por parte de la EAR la información de conciliación a la Dirección de Impuestos y Aduanas Nacionales a más tardar a las 10:00 a. m. del día siguiente de la fecha calendario de la transacción”.
ARTÍCULO 2o. Modifícase el literal b) del artículo 4o de la Resolución 15734 de 2007, el cual queda así:
“b) Realizar la conciliación diaria de transacción de pago por canales electrónicos:
La información deberá enviarse por la EAR a la DIAN, todos los días a más tardar a las 10:00 a. m. del día siguiente de la fecha calendario de la transacción, en el formato diario de conciliación, cumpliendo la especificación técnica del Anexo 02, el cual hace parte integral de la presente resolución”.
ARTÍCULO 3o. Modifícanse los Anexos 01 y 02 de la Resolución 15734 de 2007, en los términos de los Anexos 01 y 02 adjuntos a la presente resolución, los cuales formarán parte integral de la misma.
ARTÍCULO 4o. VIGENCIA. La presente resolución rige a partir de la fecha de su publicación.
Publíquese y cúmplase.
Dada en Bogotá, D. C., a 16 de junio de 2008.
El Director General,
OSCAR FRANCO CHARRY.
Especificaciones técnicas
Archivo diario de conciliación de las transacciones de pago por Canales Electrónicos
Formato 1286- Versión 7
OBJETIVO
Definir el contenido y especificaciones técnicas de la información que debe ser entregada por las EAR a la DIAN, respecto de las transacciones de pago realizadas a través de canales electrónicos, con el fin de realizar la conciliación diaria de las transacciones de pago.
ESPECIFICACION TECNICA
El formato “Archivo diario de conciliación de las transacciones de pago por canales electrónicos” 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 (Archivo diario de conciliación de las transacciones de pago por Canales Electrónicos = 01286) |
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 “Archivo diario de conciliación de las transacciones de pago por canales electrónicos”, 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 esquema XSD que incluye en esta especificación técnica.
4. El archivo debe contener un elemento único elemento raíz llamado “más”, 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 | Archivos de Pago por Canales Electrónicos = 1286 | |
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 a esta fecha inicial. Formato AAAA-MM-DD |
FecFinal | Fecha Final | Date | 10 | Debe ser la fecha calendario. | Los registros corresponden máximo a esta fecha inicial. Formato AAAA-MM-DD |
ValorTotal | Valor Total | decimal | 20.2 | Corresponde a la sumatoria de la casilla “val” de los registros reportados en el elemento “pago”. | |
CantReg | Cantidad de registros | Int | 4 | La cantidad de registros está medida por el número de elementos “pago” 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 “pago” y debe incluir los siguientes datos:
ATRIBUTO | CASILLA | DENOMI- NACION CASILLA | TIPO | LONGITUD | OBLIGATORIA | OBSERVACIONES |
fec | 24 | Fecha | DateTime | 19 | S | |
recibo | 25 | Número del recibo de pago | long | 16 | S | |
val | 26 | Valor Recaudado | decimal | 20.2 | S | |
proc | 27 | Canal de Pago | int | 2 | S | 01. Pago a través de bancos 02. Pago a través de Corporación de Ahorro y Vivienda 03. Pago a través de ACH Colombia 04. Pago a través de ASCREDIBANCO 05. Pago a través de ATH 06. Pago a través de CENIT 07. Pago a través de Red Multicolor 08. Pago a través de Servibanca |
med | 28 | Medios de Pago | int | 2 | S | 11. Débito en cuenta por sistema de audio respuesta 12. Débito en cuenta por cajero electrónico 13. Débito en cuenta por datáfono 14. Débito en cuenta por domiciliación 15. Débito en cuenta por Internet 21. Tarjeta crédito por sistema de audio respuesta 22. Tarjeta crédito por cajero electrónico 23. Tarjeta crédito por datáfono 24. Tarjeta crédito por domiciliación 25. Tarjeta crédito por Internet |
nop | 29 | Número de Operación o autorización | string | 20 | S | |
cent | 30 | Código de Entidad Financiera debitada | int | 3 | S |
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. 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.
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 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 5.000 registros.
6. Valor total, corresponde a la sumatoria de la casilla “val” de los registros reportados en el elemento “pago”.
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=”pago”>
<xs:annotation>
<xs:documentation>Elemento que encapsula la información de Archivos de Pago por Canales Electrónicos
Formato 1286- Versión 7</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name=”fec” use=”required”>
<xs:annotation>
<xs:documentation>Fecha y hora Efectiva de la transacción. No puede ser superior a la fecha límite (calendario) para realizar el pago con ese recibo, según información remitida por la DIAN.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base=”xs:dateTime”>
<xs:minInclusive value=”2008-01-01T00:00:00” fixed=”true”/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”recibo” use=”required”>
<xs:annotation>
<xs:documentation>Número del recibo de pago</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base=”xs:long”>
<xs:minExclusive value=”0”/>
<xs:maxInclusive value=”9999999999999999”/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”val” use=”required”>
<xs:annotation>
<xs:documentation>Valor recaudado</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base=”xs:decimal”>
<xs:maxInclusive value=”99999999999999999999.99”/>
<xs:totalDigits value=”22”/>
<xs:fractionDigits value=”2”/>
<xs:minInclusive value=”0”/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”proc” use=”required”>
<xs:annotation>
<xs:documentation>Código del Canal de pago por el cual se efectuó la transacción. </xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base=”xs:int”>
<xs:minExclusive value=”0”/>
<xs:maxInclusive value=”99”/>
<xs:enumeration value=”01”>
<xs:annotation>
<xs:documentation>PAGO A TRAVES DE BANCOS</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value=”02”>
<xs:annotation>
<xs:documentation>PAGO A TRAVES DE CORPORACION DE AHORRO Y VIVIENDA</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value=”03”>
<xs:annotation>
<xs:documentation>PAGO A TRAVES DE ACH COLOMBIA</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value=”04”>
<xs:annotation>
<xs:documentation>PAGO A TRAVES DE ASCREDIBANCO</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value=”05”>
<xs:annotation>
<xs:documentation>PAGO A TRAVES DE ATH</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value=”06”>
<xs:annotation>
<xs:documentation>PAGO A TRAVES DE CENIT</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value=”07”>
<xs:annotation>
<xs:documentation>PAGO A TRAVES DE RED MULTICOLOR</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value=”08”>
<xs:annotation>
<xs:documentation>PAGO A TRAVES DE SERVIBANCA</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”med” use=”required”>
<xs:annotation>
<xs:documentation>Medio de pago</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base=”xs:int”>
<xs:minExclusive value=”0”/>
<xs:maxInclusive value=”99”/>
<xs:enumeration value=”11”>
<xs:annotation>
<xs:documentation>DEBITO EN CUENTA POR SISTEMA DE AUDIORESPUESTA</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value=”12”>
<xs:annotation>
<xs:documentation>DEBITO EN CUENTA POR CAJERO ELECTRONICO</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value=”13”>
<xs:annotation>
<xs:documentation>DEBITO EN CUENTA POR DATAFONO</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value=”14”>
<xs:annotation>
<xs:documentation>DEBITO EN CUENTA POR DOMICILIACION</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value=”15”>
<xs:annotation>
<xs:documentation>DEBITO EN CUENTA POR INTERNET</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value=”21”>
<xs:annotation>
<xs:documentation>TARJETA CREDITO POR SISTEMA DE AUDIORESPUESTA</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value=”22”>
<xs:annotation>
<xs:documentation>TARJETA CREDITO POR CAJERO ELECTRONICO</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value=”23”>
<xs:annotation>
<xs:documentation>TARJETA CREDITO POR DATAFONO</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value=”24”>
<xs:annotation>
<xs:documentation>TARJETA CREDITO POR DOMICILIACION</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value=”25”>
<xs:annotation>
<xs:documentation>TARJETA CREDITO POR INTERNET</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”nop” use=”required”>
<xs:annotation>
<xs:documentation>Número de la transacción asignada por la Entidad ó Canal de Pago autorizado.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”20”/>
<xs:minLength value=”1”/>
<xs:pattern value=”[a-zA-Z0-9]{1,20}”/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”cent” use=”required”>
<xs:annotation>
<xs:documentation>Código de la Entidad Recaudadora donde se efectuó la transacción. Si es una Entidad Financiera, será el código asignado por Asobancaria, por el contrario, si es otro tipo de entidad, el código será asignado por la DIAN.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base=”xs:int”>
<xs:minExclusive value=”0”/>
<xs:maxInclusive value=”999”/>
</xs:restriction>
</xs:simpleType>
</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=”pago” 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=”1286”>
<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”>
<xs:annotation>
<xs:documentation>Valor Total</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: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:schema>
Especificaciones Técnicas
PROCEDIMIENTO Y ESPECIFICACION TECNICA PARA LA ENTREGA DE LA INFORMACION DE LOS RECIBOS PENDIENTES DE PAGO Y LA CONFIRMACION DE TRANSACCION DE PAGO POR CANALES ELECTRONICOS
El objetivo de la siguiente especificación técnica es brindar la información detallada a las Entidades Autorizadas para Recaudar (EAR) que permita la utilización de los web Services de la DIAN para consultar y confirmar los pagos realizados por canales electrónicos de recibos diligenciados a través de los Servicios Informáticos Electrónicos (SIE) de la Dirección de Impuestos y Aduanas Nacionales.
Definición de los casos de uso del web service
Los siguientes son los casos de uso de las operaciones que podrá usar la EAR:
1. Consultar Recibo de Pago por número.
2. Consultar Recibos Pendientes de Pago por Identificación.
3. Confirmar el pago a la DIAN.
FIGURA. CASOS DE USO
A continuación se define cada uno de los casos de uso como operaciones del Web Service.
1. Consultar Recibo de Pago por Número
Esta operación permite a la EAR la consulta de información de un recibo de pago diligenciado a través de los SIE de la DIAN.
A continuación se define la operación con sus parámetros de Entrada y Salida:
Nombre Operación | consultarReciboPago |
DESCRIPCIÓN | Consulta de información de un recibo de pago diligenciado a través de los SIE. |
PARAMETROS DE ENTRADA
NOMBRE | DESCRIPCIÓN | TIPO DE DATO O ELEMENTO XSD |
numReciboPago | Número del Recibo de Pago. | LONG |
codEntidad | Código de la EAR que hace la petición. | INT |
PARAMETROS DE SALIDA
NOMBRE | DESCRIPCIÓN | TIPO DE DATO O ELEMENTO XSD |
consultaReciboPago | Elemento XML que contiene la información de consulta de un Recibo de Pago. Ver Anexo en la sección: Archivo XSD consultasRecibosPago.xsd | DConsultaReciboPago XSD: consultasRecibosPago.xsd |
El Encoding que debe usarse en los XMLs es “ISO-8859-1”.
Un ejemplo de este XML está anexo en la sección: Ejemplo XML consultaReciboPago.
2. Consultar Recibos Pendientes de Pago por Identificación
Esta operación permite a la EAR la consulta de información de los recibos de pago diligenciados a través de los SIE de la DIAN que se encuentran pendientes de pago y cuya fecha límite para realizar el pago sea vigente.
A continuación se define la operación con sus parámetros de Entrada y Salida.
Nombre Operación | consultarRecibosPendientesPago |
DESCRIPCIÓN | Consulta de información de los recibos de pago diligenciados a través de los SIE de la DIAN que se encuentran pendientes de pago y cuya fecha límite para realizar el pago sea vigente. |
PARAMETROS DE ENTRADA
NOMBRE | DESCRIPCIÓN | TIPO DE DATO O ELEMENTO XSD |
tipoDocIdentificacion | Tipo de Documento de identificación Ver Anexo en la sección: Tipos de Documentos de Identificación | SHORT |
numIdentificacion | Número de identificación de la persona a la que pertenecen los recibos. | STRING |
codEntidad | Código de la EAR que hace la petición | INT |
tipoConcepto | Indica el tipo de concepto, impuesto o tributo. T – para Tributario A – para Aduanero | STRING(1) |
PARAMETROS DE SALIDA
NOMBRE | DESCRIPCIÓN | TIPO DE DATO O ELEMENTO XSD |
consultaRecibosPendientesPago | Elemento XML que contiene la información de consulta para varios Recibos de Pago que se encuentren pendientes de pago y vigentes. Ver Anexo en la sección: Archivo XSD consultasRecibosPago.xsd | DConsultaRecibosPendientesPago XSD: consultasRecibosPago.xsd |
Un ejemplo del XML de respuesta está anexo en la sección: Ejemplo XML consultaRecibosPendientesPago.
3. Confirmar Pago
Esta operación permite confirmar a la DIAN el pago de un recibo diligenciado a través de los SIE.
Nombre Operación | informarPago |
DESCRIPCIÓN | Esta operación permite confirmar a la DIAN el pago de un recibo diligenciado a través de los SIE. |
PARAMETROS DE ENTRADA
NOMBRE | DESCRIPCIÓN | TIPO DE DATO O ELEMENTO XSD |
pago | Elemento XML que contiene la información del pago a notificar. Ver Anexo en la sección: Archivo XSD infoPago.xsd | pago XSD: infoPago.xsd |
PARAMETROS DE SALIDA
NOMBRE | DESCRIPCIÓN | TIPO DE DATO O ELEMENTO XSD |
respuestaPago | Este elemento contiene el estado resultante de la operación y la lista de errores en caso de que se hayan presentado. Ver Anexo en la sección: Archivo XSD respuestaPago.xsd | DRespuestaPago XSD: respuestaPago.xsd |
Un ejemplo del XML de Informar Pago está anexo en la sección: Ejemplo XML infoPago.
Los ejemplos de los diversos escenarios de respuesta a Informar Pago están anexos en la sección: Ejemplos XML respuestaPago.
Configuración de Seguridad
IPs autorizadas por la DIAN
El servicio ofrecido por la EAR debe contar con una dirección pública válida en Internet para poder consumir las operaciones de Consulta de Recibos e Informar Pago del Web Service. Esta dirección debe ser informada por parte de la EAR a la DIAN para su autorización. Solamente desde las direcciones autorizadas se podrá acceder a estas operaciones.
Protocolo HTTPS
El protocolo de comunicación establecido para conectarse al Web Service de la DIAN es HTTPS.
Certificados Digitales
Los certificados digitales que se utilizarán para validar el mensaje SOAP enviado por la EAR, deben ser emitidos por una Entidad Certificadora autorizada por la Superintendencia de Industria y Comercio.
Estos certificados deben ser de tipo “Servidor Seguro” que permitan generar firmas automatizadas.
WS-Security
Como mecanismo de seguridad para el envío y recepción de los mensajes SOAP, se establece el estándar internacional WS-Security.
Los mensajes SOAP tendrán que cumplir las siguientes características:
Para la petición SOAP:
-- Estar firmado digitalmente.
-- Contener el elemento Timestamp, el cual indica la fecha y hora en que se crea la petición y la fecha y hora en que expira el mensaje.
-- Para la autenticación ante el DIAN se deberá usar el elemento accesoMUISCA (ver Anexos en la sección Archivo XSD accesoMUISCA.xsd) en la cabecera (Header) del mensaje SOAP. Esta cabecera está definida en el WSDL del Web Service. La inclusión de este elemento dentro de la cabecera del mensaje SOAP varía dependiendo de la plataforma usada. Este elemento usa los siguientes atributos para permitir el acceso a DIAN:
– tipoOrganizacion: Tipo de la organización que va a realizar la autenticación. Los tipos de organizaciones permitidos están definidos en el XSD.
– nitOrganizacion: Corresponde al NIT de la organización que va a acceder. Este es requerido únicamente cuando el tipo de organización sea NIT_ORGANIZACION.
– tipoIdentificacion: Tipo de documento de identificación del usuario que solicita el acceso. Los tipos de documentos de identificación permitidos están definidos en el XSD.
– identificacion: Número de identificación del usuario.
– password: Contraseña de acceso a la DIAN.
Para la Respuesta SOAP:
-- El mensaje SOAP deberá estar firmado digitalmente.
-- Contendrá el elemento Timestamp.
Tipos de respuesta.
CÓDIGO | RESPUESTA |
OK | La operación se ejecutó satisfactoriamente |
NE | El recibo de pago no fue encontrado |
PAG | Recibo ya fue pagado |
VEN | El recibo se encuentra vencido |
VI | Valor de pago incorrecto |
ENA | Entidad No Autorizada |
CNE | El Contribuyente no fue encontrado por el documento de identificación |
NV | No Válido. El XML de notificación de pago no es válido con respecto al esquema |
ER | Ocurrieron errores de validación del documento o en la ejecución de la operación |
Tipos de Documentos de Identificación
CÓDIGO | CANAL DE PAGO |
11 | Registro Civil de Nacimiento |
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 |
Canales de Pago
CÓDIGO | CANAL DE PAGO |
01 | PAGO A TRAVES DE BANCOS |
02 | PAGO A TRAVES DE CORPORACION DE AHORRO Y VIVIENDA |
03 | PAGO A TRAVES DE ACH COLOMBIA |
04 | PAGO A TRAVES DE ASCREDIBANCO |
05 | PAGO A TRAVES DE ATH |
06 | PAGO A TRAVES DE CENIT |
07 | PAGO A TRAVES DE RED MULTICOLOR |
08 | PAGO A TRAVES DE SERVIBANCA |
Conceptos de Pago
CÓDIGO | CONCEPTO |
ADUANEROS
1 | DECLARACION IMPORTACION |
2 | LIQUIDACION OFICIAL |
3 | SANCIONES ADUANERAS |
4 | SANCIONES CAMBIARIAS |
5 | VIAJEROS |
6 | PAGOS CONSOLIDADOS UAPS |
7 | PAGOS DECLARACION CONSOLIDADA |
8 | FINALIZACION PLAN VALLEJO |
9 | IMPORTACION TEMPORAL |
10 | RESCATE |
TRIBUTARIOS
4 | RENTA |
5 | VENTAS |
7 | SANCIONES |
8 | VTA ACTIVO FIJO |
10 | SEGURIDAD DEMOCRATICA |
54 | IMPUESTO AL PATRIMONIO |
55 | SANCION DECLARACION INDIVIDUAL PRECIOS DE TRANSFERENCIA |
56 | SANCION DECLARACION CONSOLIDADA PRECIOS DE TRANSFERENCIA |
61 | RETENCION ATITULO DE RENTA |
62 | RETENCION A TITULO DE VENTAS |
63 | RETENCION A TITULO DE TIMBRE |
99 | GRAVAMEN A LOS MOVIMIENTOS FINANCIEROS |
Archivo XSD consultasRecibosPago.xsd
<?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=”consultaReciboPago” type=”DConsultaReciboPago”>
<xs:annotation>
<xs:documentation>Elemento que contiene la Información de la Consulta de un Recibo de Pago</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name=”consultaRecibosPendientesPago” type=”DConsultaRecibosPendientesPago”>
<xs:annotation>
<xs:documentation>Elemento que contiene la Información de consulta de los recibos pendientes de pago</xs:documentation>
</xs:annotation>
</xs:element>
<xs:complexType name=”DConsultaReciboPago”>
<xs:annotation>
<xs:documentation>Información de la Consulta de un Recibo de Pago</xs:documentation>
</xs:annotation>
<xs:sequence minOccurs=”0”>
<xs:element name=”infoPago” type=”DInfoReciboPago”/>
</xs:sequence>
<xs:attribute name=”codRespuesta” type=”DCodRespuesta” use=”required”>
<xs:annotation>
<xs:documentation>Indica cuál fue la respuesta con respecto a la consulta. Indica cosas tales como que el recibo de pago fue consultado satisfactoriamente, no fue encontrado, que ya fue pagado, etc. </xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:complexType name=”DConsultaRecibosPendientesPago”>
<xs:annotation>
<xs:documentation>Información de consulta de los recibos pendientes de pago</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name=”infoPago” type=”DInfoReciboPago” minOccurs=”0” maxOccurs=”unbounded”/>
</xs:sequence>
<xs:attribute name=»codRespuesta» use=»required»>
<xs:annotation>
<xs:documentation>Definición de la respuesta a la consulta.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=»3/>
<xs:enumeration value=»OK»>
<xs:annotation>
<xs:documentation>La operación se ejecutó satisfactoriamente</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value=”CNE”>
<xs:annotation>
<xs:documentation>El Contribuyente no fue encontrado por el documento de identificación</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value=”ENA”>
<xs:annotation>
<xs:documentation>La Entidad no está autorizada para Recaudar</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”numRegistros” use=”required”>
<xs:annotation>
<xs:documentation>Número de registros con información de pago</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base=”xs:int”>
<xs:minInclusive value=”0”/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
<xs:complexType name=”DInfoReciboPago”>
<xs:annotation>
<xs:documentation>Información basica del recibo de pago</xs:documentation>
</xs:annotation>
<xs:attribute name=”numReciboPago” use=”required”>
<xs:annotation>
<xs:documentation>Número del Recibo de pago.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base=”xs:long”>
<xs:minExclusive value=”0”/>
<xs:totalDigits value=”16”/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”tipoDocIdentificacion” use=”required”>
<xs:annotation>
<xs:documentation>Tipo de Documento de identificación</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base=”xs:short”>
<xs:totalDigits value=”2”/>
<xs:enumeration value=»11»>
<xs:annotation>
<xs:documentation>Registro civil de nacimiento</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value=”12”>
<xs:annotation>
<xs:documentation>Tarjeta de identidad</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value=»13»>
<xs:annotation>
<xs:documentation>Cédula de ciudadanía</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value=»21»>
<xs:annotation>
<xs:documentation>Tarjeta de extranjería</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value=»22»>
<xs:annotation>
<xs:documentation>Cédula de extranjería</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value=»31»>
<xs:annotation>
<xs:documentation>NIT</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value=»41>
<xs:annotation>
<xs:documentation>Pasaporte</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value=42>
<xs:annotation>
<xs:documentation>Documento de identificación extranjero</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=numIdentificacionuse=required>
<xs:annotation>
<xs:documentation>Número de identificación</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base=»xs:string»>
<xs:maxLength value=20/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=»fechaLimitePago» use=»required»>
<xs:annotation>
<xs:documentation>La fecha límite (calendario) para realizar el pago con ese recibo.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base=”xs:date”>
<xs:minInclusive value=”2008-01-01”/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”valorPago” use=”required”>
<xs:annotation>
<xs:documentation>Valor Total del Recibo de pago</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base=”xs:decimal”>
<xs:fractionDigits value=”2”/>
<xs:minInclusive value=”0”/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”descripcion” type=”xs:string” use=”required”>
<xs:annotation>
<xs:documentation>Información adicional que detalla el pago. </xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name=»tipoConcepto» use=»required»>
<xs:annotation>
<xs:documentation>Indica el tipo de concepto al que se hace referencia</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”1”/>
<xs:minLength value=”1”/>
<xs:enumeration value=”A”>
<xs:annotation>
<xs:documentation>Aduanero</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value=”T”>
<xs:annotation>
<xs:documentation>Tributario</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”codConcepto” use=”required”>
<xs:simpleType>
<xs:restriction base=”xs:short”>
<xs:totalDigits value=”2”/>
<xs:minExclusive value=”0”/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”nomConcepto” use=”optional”>
<xs:simpleType>
<xs:restriction base=»xs:string»>
<xs:maxLength value=40/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
<xs:simpleType name=”DCodRespuesta”>
<xs:annotation>
<xs:documentation>Definición de la respuesta a la consulta. Indica los valores posibles.</xs:documentation>
</xs:annotation>
<xs:restriction base=»xs:string»>
<xs:maxLength value=3/>
<xs:minLength value=2/>
<xs:enumeration value=»OK»>
<xs:annotation>
<xs:documentation>La operación se ejecutó satisfactoriamente</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value=”NE”>
<xs:annotation>
<xs:documentation>El recibo de pago no fue encontrado</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value=”PAG”>
<xs:annotation>
<xs:documentation>Recibo ya fue pagado</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value=”VEN”>
<xs:annotation>
<xs:documentation>El Recibo se encuentra vencido</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value=»ENA»>
<xs:annotation>
<xs:documentation>La Entidad no está autorizada para recaudar</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value=”ER”>
<xs:annotation>
<xs:documentation>Ocurrió un error al ejecutar la operación</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:schema>
Ejemplo XML consultaReciboPago
<consultaReciboPago codRespuesta=”OK” >
<infoPago numReciboPago=”690799999990” valorPago=”540000” fechaLimitePago=”2008-11-01” tipoDocIdentificacion=”31” numIdentificacion=”900000001” tipoConcepto=”A” codConcepto=”1” nomConcepto=”DECLARACION IMP” descripcion=”AÑO: 2007 PERIODO: 1” />
</consultaReciboPago>
Ejemplo XML consultaRecibosPendientesPago
<consultaRecibosPendientesPago numRegistros=”3” codRespuesta=”OK”>
<infoPago numReciboPago=”690799999990” valorPago=”540000” fechaLimitePago=”2008-11-01” tipoDocIdentificacion=”31” numIdentificacion=”90000000” tipoConcepto=”A” codConcepto=”1” nomConcepto=”DECLARACION IMP” descripcion=”AÑO: 2007 PERIODO: 1” />
<infoPago numReciboPago=”690799999991” valorPago=”0” fechaLimitePago=”2008-11-02” tipoDocIdentificacion=”31” numIdentificacion=”900000001” tipoConcepto=”A” codConcepto=”2” nomConcepto=” LIQUIDACION OFI” descripcion=”AÑO: 2007 PERIODO: 1” />
<infoPago numReciboPago=”690799999992” valorPago=”0” fechaLimitePago=”2008-11-03” tipoDocIdentificacion=”31” numIdentificacion=”900000001” tipoConcepto=”A” codConcepto=”1” nomConcepto=”DECLARACION IMP” descripcion=”AÑO: 2007 PERIODO: 2”/>
</consultaRecibosPendientesPago>
Archivo XSD infoPago.xsd
<?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=”pago” type=”DInfoPago”>
<xs:annotation>
<xs:documentation>Elemento de la información de notificación del pago de un recibo</xs:documentation>
</xs:annotation>
</xs:element>
<xs:complexType name=”DInfoPago”>
<xs:annotation>
<xs:documentation>Definición de la información de notificación del pago de un recibo</xs:documentation>
</xs:annotation>
<xs:attribute name=”recibo” use=”required”>
<xs:annotation>
<xs:documentation>Número del Recibo de pago que se notifica el pago</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base=”xs:long”>
<xs:totalDigits value=”16”/>
<xs:minExclusive value=”0”/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”nop” use=”required”>
<xs:annotation>
<xs:documentation>Número de la transacción asignada por la Entidad ó Canal de Pago autorizado.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”20”/>
<xs:pattern value=”[a-zA-Z0-9]{1,20}”/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=»fec» use=»required»>
<xs:annotation>
<xs:documentation>Fecha y hora Efectiva de la transacción. No puede ser superior a la fecha límite (calendario) para realizar el pago con ese recibo, según información remitida por la DIAN.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base=”xs:dateTime”>
<xs:minInclusive value=”2008-01-01T00:00:00” fixed=”true”/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”val” use=”required”>
<xs:annotation>
<xs:documentation>Valor Pagado con este Recibo. Debe corresponder con el valor a pagar del recibo.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base=”xs:decimal”>
<xs:totalDigits value=”22”/>
<xs:fractionDigits value=”2”/>
<xs:minInclusive value=”0”/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”proc” use=”required”>
<xs:annotation>
<xs:documentation>Código del Canal de pago por el cual se efectuó la transacción. </xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base=”xs:int”>
<xs:totalDigits value=»2/>
<xs:minExclusive value=0/>
<xs:enumeration value=»01»>
<xs:annotation>
<xs:documentation>PAGO A TRAVES DE BANCOS</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value=»02»>
<xs:annotation>
<xs:documentation>PAGO A TRAVES DE CORPORACION DE AHORRO Y VIVIENDA</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value=”03”>
<xs:annotation>
<xs:documentation>PAGO A TRAVES DE ACH COLOMBIA</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value=04>
<xs:annotation>
<xs:documentation>PAGO A TRAVES DE ASCREDIBANCO</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value=»05»>
<xs:annotation>
<xs:documentation>PAGO A TRAVES DE ATH</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value=»06»>
<xs:annotation>
<xs:documentation>PAGO A TRAVES DE CENIT</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value=»07»>
<xs:annotation>
<xs:documentation>PAGO A TRAVES DE RED MULTICOLOR</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value=»08»>
<xs:annotation>
<xs:documentation>PAGO A TRAVES DE SERVIBANCA</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=»cent» use=»required»>
<xs:annotation>
<xs:documentation>Código de la Entidad Recaudadora donde se efectuó la transacción. Si es una Entidad Financiera, será el código asignado por Asobancaria, por el contrario si es otro tipo de entidad, el código será asignado por la DIAN.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base=”xs:int”>
<xs:minExclusive value=”0”/>
<xs:totalDigits value=”3”/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”med” use=”required”>
<xs:annotation>
<xs:documentation>Medio de pago</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base=”xs:int”>
<xs:totalDigits value=”2”/>
<xs:minExclusive value=”0”/>
<xs:enumeration value=»11»>
<xs:annotation>
<xs:documentation>DEBITO EN CUENTA POR SISTEMA DE AUDIORESPUESTA</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value=”12”>
<xs:annotation>
<xs:documentation>DEBITO EN CUENTA POR CAJERO ELECTRONICO</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value=”13”>
<xs:annotation>
<xs:documentation>DEBITO EN CUENTA POR DATAFONO</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value=”14”>
<xs:annotation>
<xs:documentation>DEBITO EN CUENTA POR DOMICILIACION</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value=”15”>
<xs:annotation>
<xs:documentation>DEBITO EN CUENTA POR INTERNET</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value=»21»>
<xs:annotation>
<xs:documentation>TARJETA CREDITO POR SISTEMA DE AUDIORESPUESTA</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value=”22”>
<xs:annotation>
<xs:documentation>TARJETA CREDITO POR CAJERO ELECTRONICO</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value=”23”>
<xs:annotation>
<xs:documentation>TARJETA CREDITO POR DATAFONO</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value=»24>
<xs:annotation>
<xs:documentation>TARJETA CREDITO POR DOMICILIACION</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value=”25”>
<xs:annotation>
<xs:documentation>TARJETA CREDITO POR INTERNET</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:schema>
Ejemplo XML infoPago
<pago recibo=”690799999990” val=”540000” fec=”2008-11-01T12:00:00” nop=”T12345” med=”15” proc=”01” cent=”1” />
Archivo XSD respuestaPago.xsd
<?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=”respuestaPago” type=”DRespuestaPago”>
<xs:annotation>
<xs:documentation>Elemento de Respuesta</xs:documentation>
</xs:annotation>
</xs:element>
<xs:complexType name=”DRespuestaPago”>
<xs:sequence minOccurs=”0”>
<xs:element name=”errores” minOccurs=”0”>
<xs:annotation>
<xs:documentation>Elemento de errores. Si ocurren errores de validación de XML ó de validación de la información de Pago estarán dentro de este elemento. </xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:complexContent>
<xs:extension base=»DErrores»>
<xs:choice>
<xs:element name=»ev» type=»DErrorVal» minOccurs=»0»>
<xs:annotation>
<xs:documentation>Este elemento de errores de validación estará cuando la respuesta sea que el XML es inválido (est=”NV”).</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name=”registro” type=”DRegistro” minOccurs=”0”>
<xs:annotation>
<xs:documentation>Este elemento de errores de validación estará cuando la información enviada tenga algún error (est=”ER”)</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name=»est» use=»required»>
<xs:annotation>
<xs:documentation>Código del estado de Respuesta</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:minLength value=»2/>
<xs:maxLength value=3/>
<xs:enumeration value=»OK»>
<xs:annotation>
<xs:documentation>La operación se ejecutó satisfactoriamente</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value=”NE”>
<xs:annotation>
<xs:documentation>El recibo de pago no fue encontrado</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value=”PAG”>
<xs:annotation>
<xs:documentation>Recibo ya fue pagado</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value=”VEN”>
<xs:annotation>
<xs:documentation>El Recibo se encuentra vencido</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value=»VI»>
<xs:annotation>
<xs:documentation>Valor Incorrecto. El valor que se está reportando no coincide con el valor de pago del recibo.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value=”NV”>
<xs:annotation>
<xs:documentation>No Válido. El XML de notificación de pago no es válido con respecto al esquema</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value=»ENA»>
<xs:annotation>
<xs:documentation>La Entidad no está autorizada para recaudar</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value=”ER”>
<xs:annotation>
<xs:documentation>Ocurrieron errores de validación del documento</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”numNotificacion” type=”xs:long” use=”optional”>
<xs:annotation>
<xs:documentation>Número de notificación asignado por DIAN. Este atributo solo estará en el caso de que la respuesta haya sido satisfactoria (est=”OK”). </xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name=”numReciboPago” type=”xs:long” use=”optional”>
<xs:annotation>
<xs:documentation>Número del recibo de pago que se estaba notificando. Este atributo solo estará en el caso de que la respuesta haya sido satisfactoria (est=”OK”). </xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:complexType name=”DErrorVal”>
<xs:annotation>
<xs:documentation>Errores de Validación indican que el documento XML no es válido contra el esquema (XSD).</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name=»e» type=»xs:string» maxOccurs=»unbounded»>
<xs:annotation>
<xs:documentation>Error de Validación generado por el parser de XML.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name=”DRegistro”>
<xs:annotation>
<xs:documentation> Elemento que encapsula inconsistencias de un registro</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name=»casilla» maxOccurs=»unbounded»>
<xs:complexType>
<xs:attribute name=»numero» use=»optional»>
<xs:annotation>
<xs:documentation> Número de la casilla homologada a un documento DIAN (No Aplica)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base=”xs:int”>
<xs:totalDigits value=”2”/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”codError” use=”required”>
<xs:annotation>
<xs:documentation> Código de error del campo procesado</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base=»xs:int»>
<xs:totalDigits value=»2/>
<xs:enumeration value=»1»>
<xs:annotation>
<xs:documentation>Recibo de pago no existe</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value=»2»>
<xs:annotation>
<xs:documentation>Recibo de pago ya notificado por este banco</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value=”3”>
<xs:annotation>
<xs:documentation>Recibo de pago ya notificado por otro banco u otro numero de transacción</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value=”4”>
<xs:annotation>
<xs:documentation>Fecha de transacción superior a la fecha limite de pago</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value=”5”>
<xs:annotation>
<xs:documentation>Valor no coincide con el valor del recibo de pago</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”nomAtributo” use=”required”>
<xs:annotation>
<xs:documentation> Nombre del atributo o elemento dentro del archivo xml</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:maxLength value=”10”/>
<xs:enumeration value=”fec”>
<xs:annotation>
<xs:documentation>Fecha.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value=»recibo»>
<xs:annotation>
<xs:documentation>Referencia principal del usuario.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value=”val”>
<xs:annotation>
<xs:documentation>Valor recaudado.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value=”proc”>
<xs:annotation>
<xs:documentation>Procedencia de pago.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value=»med»>
<xs:annotation>
<xs:documentation>Medio de pago.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value=”nop”>
<xs:annotation>
<xs:documentation>No. de Operación.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value=»cent»>
<xs:annotation>
<xs:documentation>Código de la entidad financiera debitada.</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”rutaAtributo” type=”xs:string” use=”required”>
<xs:annotation>
<xs:documentation> Ubicación del atributo o elemento en el archivo xml</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name=”grupo” type=”xs:int” use=”optional” fixed=”1”>
<xs:annotation>
<xs:documentation> Homologación a una hoja de un documento DIAN (No Aplica)</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name=”ocurrencia” type=”xs:int” use=”optional” fixed=”1”>
<xs:annotation>
<xs:documentation> Homologación a un página de un documento DIAN (No Aplica)</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name=”item” type=”xs:int” use=”optional”>
<xs:annotation>
<xs:documentation> Homologación a un elemento de una tabla de un documento DIAN (No Aplica)</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name=»numero» type=»xs:int» use=»required» fixed=»1>
<xs:annotation>
<xs:documentation>Número del registro dentro del archivo</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name=”codError” use=”optional”>
<xs:annotation>
<xs:documentation>Código de error del registro</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base=”xs:int”>
<xs:minExclusive value=”0”/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
<xs:complexType name=”DErrores”>
<xs:annotation>
<xs:documentation>Elemento que contiene los elementos de error</xs:documentation>
</xs:annotation>
</xs:complexType>
</xs:schema>
Ejemplos XML respuestaPago
El siguiente es un ejemplo de una respuesta satisfactoria (atributo est=”OK”):
<respuestaPago est=”OK” numNotificacion=”12867000000516” numReciboPago=”690799999990”>
Unicamente en el caso de que la respuesta sea satisfactoria se retornará el atributo numNotificacion, el cual es el número con el cual se recibe y aprueba la información del pago. También en este caso se retornará el atributo numReciboPago, el cual confirma el número del recibo al cual se le estaba aplicando el pago.
En caso de ser una respuesta que indique que el XML de notificación de pago no es válido (atributo est=”NV”), el XML de respuesta será similar al siguiente:
<respuestaPago est=”NV”>
<errores>
<ev>
<e>cvc-complex-type.4: Attribute 'recibo'must appear on element pago'.</e>
<e>cvc-complex-type.4: Attribute nop'must appear on element pago'.</e>
</ev>
</errores>
</respuestaPago>
En caso de ser una respuesta que indique que la información es incorrecta (atributo est=”ER”), el XML de respuesta será similar al siguiente:
<respuestaPago est=”ER”>
<errores>
<registro numero=”1” codError=”1”>
<casilla nomAtributo=”fec” rutaAtributo=”/pago@fec” codError=”4”/>
<casilla nomAtributo=”val” rutaAtributo=”/pago@val” codError=”5”/>
</registro>
</errores>
</respuestaPago>
Archivo XSD accesoMUISCA.xsd
<?xml version=”1.0” encoding=”ISO-8859-1”?>
<xsd:schema xmlns:xsd=”http://www.w3.org/2001/XMLSchema” xmlns=”http://www.dian.gov.co/ws/seguridad” targetNamespace=”http://www.dian.gov.co/ws/seguridad” elementFormDefault=”unqualified” attributeFormDefault=”unqualified” version=”1.0”>
<xsd:attribute name=”tipoOrganizacion”>
<xsd:annotation>
<xsd:documentation>Codigo del tipo de organizacion</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base=”xsd:string”>
<xsd:maxLength value=”16”/>
<xsd:enumeration value=”NIT_ORGANIZACION”>
<xsd:annotation>
<xsd:documentation>Indica que ingresa a nombre de una organizacion con NIT</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value=”DIAN”>
<xsd:annotation>
<xsd:documentation>Indica que la organizacion es la DIAN</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value=”A_NOMBRE_PROPIO”>
<xsd:annotation>
<xsd:documentation>Ingresa A NOMBRE PROPIO</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
<xsd:attribute name=»nitOrganizacion»>
<xsd:annotation>
<xsd:documentation>NIT de la Organizacion, si se autentica a nombre de una.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base=”xsd:long”>
<xsd:minInclusive value=”1”/>
<xsd:maxInclusive value=”999999999999999”/>
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
<xsd:attribute name=”tipoIdentificacion”>
<xsd:annotation>
<xsd:documentation>Codigo del tipo de identificacion</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base=”xsd:string”>
<xsd:maxLength value=”3”/>
<xsd:enumeration value=”RC”>
<xsd:annotation>
<xsd:documentation>Registro Civil</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value=”TI”>
<xsd:annotation>
<xsd:documentation>Tarjeta de Identidad</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value=”CC”>
<xsd:annotation>
<xsd:documentation>Cédula de Ciudadania</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value=”TE”>
<xsd:annotation>
<xsd:documentation>Tarjeta de Extranjeria</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value=”CE”>
<xsd:annotation>
<xsd:documentation>Cédula de Extranjeria</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value=»NIT»>
<xsd:annotation>
<xsd:documentation>NIT</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value=»P»>
<xsd:annotation>
<xsd:documentation>Pasaporte</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value=»DE»>
<xsd:annotation>
<xsd:documentation>Documento de Identificacion Extranjero</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
<xsd:attribute name=”identificacion”>
<xsd:annotation>
<xsd:documentation>Numero de Identificacion</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base=»xsd:string»>
<xsd:minLength value=»4/>
<xsd:maxLength value=14/>
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
<xsd:attribute name=»password»>
<xsd:annotation>
<xsd:documentation>Password</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base=»xsd:string»>
<xsd:minLength value=3/>
<xsd:maxLength value=16/>
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
<xsd:element name=»accesoMUISCA»>
<xsd:annotation>
<xsd:documentation>
Elemento de autenticacion de usuario en la DIAN a incluir en las cabeceras del mensaje SOAP
</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:attribute ref=”tipoOrganizacion” use=”required”/>
<xsd:attribute ref=”nitOrganizacion” use=”optional”/>
<xsd:attribute ref=”tipoIdentificacion” use=”required”/>
<xsd:attribute ref=”identificacion” use=”required”/>
<xsd:attribute ref=”password” use=”required”/>
</xsd:complexType>
</xsd:element>
</xsd:schema>
Ejemplo del elemento accesoMUISCA en la cabecera del Mensaje SOAP
<soapenv:Header>
...
<ns1:accesoMUISCA xmlns:ns1=”http://www.dian.gov.co/ws/seguridad” soapenv:actor=”http://schemas.xmlsoap.org/soap/actor/next” soapenv:mustUnderstand=”0” ns1:tipoOrganizacion=”NIT_ORGANIZACION” ns1:nitOrganizacion=”99999999” ns1:tipoIdentificacion=”CC”ns1:identificacion=”99999999” ns1:password=”XXXXXX”></ns1:accesoMUISCA>
</soapenv:Header>