<?xml version="1.0" encoding="ISO-8859-1"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:siifepg="http://www.minhacienda.gov.co/mhcp/cargaxml/siifnacion/epg" targetNamespace="http://www.minhacienda.gov.co/mhcp/cargaxml/siifnacion/epg" version="7.5">
	<xsd:annotation>
		<xsd:documentation>Documento XML esquema contenedor de la estructura de envío de información desde Sistemas Externos, para conversión en Datos Presupuestales y No Presupuestales en SIIF Nación.  Incluye llave para tercero por identificación, llave para cuenta bancaria y por conceptos principales. Se incluye base tipo de cuenta por pagar, base gravable y tarifa.</xsd:documentation>
	</xsd:annotation>
	<xsd:element name="datosConversion">
		<xsd:annotation>
			<xsd:documentation>Elemento raíz contenedor de los datos para conversión en información Presupuestal y No Presupuestal, agrupada por Tercero</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="datosPorTercero" maxOccurs="unbounded">
					<xsd:annotation>
						<xsd:documentation>Elemento que agrupa la información que se convertirá en datos Presupuestales y No Presupuestales, agrupada por Tercero.</xsd:documentation>
					</xsd:annotation>
					<xsd:complexType>
						<xsd:sequence>
							<xsd:element name="codTipoDocumento" type="siifepg:enumTipoDocumento">
								<xsd:annotation>
									<xsd:documentation>Código del tipo de documento de identificación del Tercero</xsd:documentation>
								</xsd:annotation>
							</xsd:element>
							<xsd:element name="numDocIdentidad" type="siifepg:tipoNumDocIdentidad">
								<xsd:annotation>
									<xsd:documentation>Número del documento de identificación del Tercero. NIT se envía sin dígito de verificación</xsd:documentation>
								</xsd:annotation>
							</xsd:element>
							<xsd:element name="conceptosPrincipales" type="siifepg:tipoConceptosPrincipales">
								<xsd:annotation>
									<xsd:documentation>Elemento contenedor de la información de los conceptos principales para convertir en datos Presupuestales</xsd:documentation>
								</xsd:annotation>
								<xsd:unique name="llaveConcepto">
									<xsd:selector xpath="itemConcepto"/>
									<xsd:field xpath="codDependencia"/>
									<xsd:field xpath="codConcepto"/>
								</xsd:unique>
							</xsd:element>
							<xsd:element name="deducciones" type="siifepg:tipoDeducciones" minOccurs="0">
								<xsd:annotation>
									<xsd:documentation>Elemento contenedor de las deducciones que se aplican al Tercero. Elemento opcional </xsd:documentation>
								</xsd:annotation>
							</xsd:element>
							<xsd:element name="medioPago" type="siifepg:tipoMedioPago">
								<xsd:annotation>
									<xsd:documentation>Elemento contenedor de la información del Medio de Pago</xsd:documentation>
								</xsd:annotation>
							</xsd:element>
							<xsd:element name="codTipoCuentaPagar" type="siifepg:tipoNumCadenaMax4">
								<xsd:annotation>
									<xsd:documentation>Código del tipo de cuenta por pagar</xsd:documentation>
								</xsd:annotation>
							</xsd:element>
							<xsd:element name="valorTotal" type="siifepg:tipoCantidadPositiva">
								<xsd:annotation>
									<xsd:documentation>Sumatoria de los conceptos origen para cada tercero</xsd:documentation>
								</xsd:annotation>
							</xsd:element>
							<xsd:element name="valorDeducciones" type="siifepg:tipoCantidadPositiva">
								<xsd:annotation>
									<xsd:documentation>Sumatoria de las deducciones</xsd:documentation>
								</xsd:annotation>
							</xsd:element>
							<xsd:element name="valorNeto" type="siifepg:tipoCantidadPositiva">
								<xsd:annotation>
									<xsd:documentation>Diferencia entre valorTotal y valorDeducciones</xsd:documentation>
								</xsd:annotation>
							</xsd:element>
							<xsd:element name="justificacion" type="siifepg:tipoCadena100">
								<xsd:annotation>
									<xsd:documentation>Justificación, notas complementarias </xsd:documentation>
								</xsd:annotation>
							</xsd:element>
							<xsd:element name="datosAdministrativos" type="siifepg:tipoDatosAdministrativos">
								<xsd:annotation>
									<xsd:documentation>Conjunto de datos administrativos que soportan la transacción</xsd:documentation>
								</xsd:annotation>
							</xsd:element>
						</xsd:sequence>
					</xsd:complexType>
				</xsd:element>
			</xsd:sequence>
		</xsd:complexType>
		<xsd:unique name="llaveTercero">
			<xsd:selector xpath="datosPorTercero"/>
			<xsd:field xpath="codTipoDocumento"/>
			<xsd:field xpath="numDocIdentidad"/>
			<xsd:field xpath="medioPago/cuentaBancaria/numDocEntidadFinanciera"/>
			<xsd:field xpath="medioPago/cuentaBancaria/codTipoCuenta"/>
			<xsd:field xpath="medioPago/cuentaBancaria/numCuenta"/>
		</xsd:unique>
	</xsd:element>
	<xsd:simpleType name="enumTipoDocumento">
		<xsd:annotation>
			<xsd:documentation>Tipos de documento de identificación de un Tercero</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="01">
				<xsd:annotation>
					<xsd:documentation>NIT</xsd:documentation>
				</xsd:annotation>
			</xsd:enumeration>
			<xsd:enumeration value="02">
				<xsd:annotation>
					<xsd:documentation>Otro</xsd:documentation>
				</xsd:annotation>
			</xsd:enumeration>
			<xsd:enumeration value="03">
				<xsd:annotation>
					<xsd:documentation>Cédula de Ciudadanía</xsd:documentation>
				</xsd:annotation>
			</xsd:enumeration>
			<xsd:enumeration value="04">
				<xsd:annotation>
					<xsd:documentation>Registro Civil</xsd:documentation>
				</xsd:annotation>
			</xsd:enumeration>
			<xsd:enumeration value="05">
				<xsd:annotation>
					<xsd:documentation>Tarjeta de Identidad</xsd:documentation>
				</xsd:annotation>
			</xsd:enumeration>
			<xsd:enumeration value="06">
				<xsd:annotation>
					<xsd:documentation>Pasaporte</xsd:documentation>
				</xsd:annotation>
			</xsd:enumeration>
			<xsd:enumeration value="07">
				<xsd:annotation>
					<xsd:documentation>Cédula de Extranjería</xsd:documentation>
				</xsd:annotation>
			</xsd:enumeration>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="enumTipoCuentaBancaria">
		<xsd:annotation>
			<xsd:documentation>Tipos de cuenta bancaria</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="AHR">
				<xsd:annotation>
					<xsd:documentation>Cuenta de Ahorros</xsd:documentation>
				</xsd:annotation>
			</xsd:enumeration>
			<xsd:enumeration value="CRR">
				<xsd:annotation>
					<xsd:documentation>Cuenta Corriente</xsd:documentation>
				</xsd:annotation>
			</xsd:enumeration>
			<xsd:enumeration value="DEL">
				<xsd:annotation>
					<xsd:documentation>Depósito Electrónico</xsd:documentation>
				</xsd:annotation>
			</xsd:enumeration>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="enumTipoMedioPago">
		<xsd:annotation>
			<xsd:documentation>Tipos de medio de pago</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="AC">
				<xsd:annotation>
					<xsd:documentation>Abono en Cuenta</xsd:documentation>
				</xsd:annotation>
			</xsd:enumeration>
			<xsd:enumeration value="CH">
				<xsd:annotation>
					<xsd:documentation>Cheque</xsd:documentation>
				</xsd:annotation>
			</xsd:enumeration>
			<xsd:enumeration value="GR">
				<xsd:annotation>
					<xsd:documentation>Giro</xsd:documentation>
				</xsd:annotation>
			</xsd:enumeration>
			<xsd:enumeration value="TT">
				<xsd:annotation>
					<xsd:documentation>Títulos</xsd:documentation>
				</xsd:annotation>
			</xsd:enumeration>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="tipoNumDocIdentidad">
		<xsd:annotation>
			<xsd:documentation>Tipo simple que contiene las restricciones necesarias para representar el número del documento de identificación de un tercero</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:string">
			<xsd:maxLength value="25"/>
			<xsd:minLength value="1"/>
			<xsd:whiteSpace value="collapse"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="tipoCantidadPositiva">
		<xsd:annotation>
			<xsd:documentation>Tipo simple que contiene las restricciones necesarias para los valores monetarios. El signo de separación de la parte decimal es punto(.)</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:string">
			<xsd:pattern value="([0-9]{1,15}[.][0-9]{0,2})|([0-9]{1,15})"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="tipoCadena30">
		<xsd:annotation>
			<xsd:documentation>Tipo simple cadena de 30 caracteres máximo</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:string">
			<xsd:minLength value="1"/>
			<xsd:maxLength value="30"/>
			<xsd:whiteSpace value="collapse"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="tipoTarifa">
		<xsd:annotation>
			<xsd:documentation>Tipo simple que contiene las restricciones necesarias para los valores de tarifa de deducción.El signo de separación de la parte decimal es punto(.) Permitidas 5 posiciones decimales</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:string">
			<xsd:pattern value="([0-9]{1,12}[.][0-9]{0,5})|([0-9]{1,15})"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:complexType name="tipoConceptosPrincipales">
		<xsd:annotation>
			<xsd:documentation>Tipo compuesto que contiene la estructura para agrupar los conceptos principales, para conversión en datos presupuestales: Dependencia origen, concepto origen y valor</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="itemConcepto" type="siifepg:tipoItemConceptoPrincipal" maxOccurs="unbounded">
				<xsd:annotation>
					<xsd:documentation>Elemento contenedor de un ítem de conceptos principales para conversión en datos presupuestales.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="tipoItemConceptoPrincipal">
		<xsd:annotation>
			<xsd:documentation>Tipo compuesto que contiene la estructura de un ítem de conceptos principales para conversión en datos presupuestales: Dependencia origen, concepto origen, base gravable, tarifa y valor</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="codDependencia" type="siifepg:tipoCadena30">
				<xsd:annotation>
					<xsd:documentation>Código que identifica la Dependencia Origen</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="codConcepto" type="siifepg:tipoCadena30">
				<xsd:annotation>
					<xsd:documentation>Código que identifica el Concepto Origen</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="valor" type="siifepg:tipoCantidadPositiva">
				<xsd:annotation>
					<xsd:documentation>Valor por cada dependencia y concepto origen relacionados</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="tipoDeducciones">
		<xsd:annotation>
			<xsd:documentation>Tipo compuesto que contiene la estructura para agrupar las deducciones que se aplican a un Tercero</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="itemDeduccion" type="siifepg:tipoItemDeduccion" maxOccurs="unbounded">
				<xsd:annotation>
					<xsd:documentation>Elemento contenedor de un ítem de deduccion</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="tipoItemDeduccion">
		<xsd:annotation>
			<xsd:documentation>Tipo compuesto que contiene la estructura de una deduccion. Agrupa concepto de deducción, valor y tercero beneficiario</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="codConceptoDescuento" type="siifepg:tipoCadena30">
				<xsd:annotation>
					<xsd:documentation>Código del concepto de descuento</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="baseGravable" type="siifepg:tipoCantidadPositiva" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Base Gravable</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="tarifa" type="siifepg:tipoTarifa" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Tarifa</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="valor" type="siifepg:tipoCantidadPositiva">
				<xsd:annotation>
					<xsd:documentation>Cantidad a deducir por concepto de descuento.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="codTipoDocumento" type="siifepg:enumTipoDocumento">
				<xsd:annotation>
					<xsd:documentation>Código del tipo de documento de identificación del Tercero Beneficiario</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="numDocBeneficiario" type="siifepg:tipoNumDocIdentidad">
				<xsd:annotation>
					<xsd:documentation>Número del documento de identificación del Tercero Beneficiario. NIT se envía sin dígito de verificación</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="tipoCuentaBancaria">
		<xsd:annotation>
			<xsd:documentation>Tipo compuesto que contiene la estructura para definición de una Cuenta Bancaria</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="codTipoDocumento" type="siifepg:enumTipoDocumento">
				<xsd:annotation>
					<xsd:documentation>Código del tipo de documento de identificación de la Entidad Financiera</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="numDocEntidadFinanciera" type="siifepg:tipoNumDocIdentidad">
				<xsd:annotation>
					<xsd:documentation>Número del documento de  identificación de la Entidad Financiera, si es NIT se envía sin dígito de verificación</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="codTipoCuenta" type="siifepg:enumTipoCuentaBancaria">
				<xsd:annotation>
					<xsd:documentation>Código del tipo de cuenta bancaria</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="numCuenta" type="siifepg:tipoCadena30">
				<xsd:annotation>
					<xsd:documentation>Número de la cuenta bancaria</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="tipoMedioPago">
		<xsd:annotation>
			<xsd:documentation>Tipo compuesto  que contiene la estructura de la información del Medio de Pago</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="codMedioPago" type="siifepg:enumTipoMedioPago">
				<xsd:annotation>
					<xsd:documentation>Código de Identificación del Medio de Pago</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="cuentaBancaria" type="siifepg:tipoCuentaBancaria" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Elemento contenedor de la información de la Cuenta Bancaria. Elemento opcional, debe enviarse cuando el código del Medio de Pago es AC (Abono en Cuenta)</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="tipoDatosAdministrativos">
		<xsd:annotation>
			<xsd:documentation>Tipo compuesto que contiene la estructura de los datoa administrativos</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="fecha" type="xsd:date">
				<xsd:annotation>
					<xsd:documentation>Fecha de la solicitud</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="codTipoDocSoporte" type="siifepg:tipoNumCadena2">
				<xsd:annotation>
					<xsd:documentation>Código del tipo de documento soporte</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="numDocSoporte" type="siifepg:tipoCadena30">
				<xsd:annotation>
					<xsd:documentation>Número del documento soporte</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="codExpedidor" type="siifepg:tipoNumCadena2">
				<xsd:annotation>
					<xsd:documentation>Código del expedidor</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:simpleType name="tipoNumCadena2">
		<xsd:annotation>
			<xsd:documentation>Tipo simple que contiene las restricciones necesarias para representar el número de 2 posiciones</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:string">
			<xsd:pattern value="[0-9]{2}"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="tipoNumCadenaMax4">
		<xsd:annotation>
			<xsd:documentation>Tipo simple que contiene las restricciones necesarias para representar el número de máximo 4 posiciones</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:string">
			<xsd:pattern value="[0-9]{1,4}"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="tipoCadena100">
		<xsd:annotation>
			<xsd:documentation>Tipo simple cadena de 100 caracteres máximo</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:string">
			<xsd:minLength value="1"/>
			<xsd:maxLength value="100"/>
			<xsd:whiteSpace value="collapse"/>
		</xsd:restriction>
	</xsd:simpleType>
</xsd:schema>
