Está en la página 1de 16

Timbrado de nmina

Tal como hemos estado escuchando en distintas fuentes y de acuerdo con lo aprobado
por los legisladores federales en materia de ISR y de Cdigo Fiscal de la Federacin,
ahora se debern timbrar las nminas.
El "timbrado de nmina" o tambin conocido como factura electrnica para salarios
implica que se debe incluir un comprobante fiscal digital por internet (CFDI) en cada
recibo o comprobante de pago que se haga al empleado.
El fundamento se puede encontrar en los siguientes artculos:
Artculo 94 de la ley federal de trabajo. Quienes hagan pagos por los conceptos a que
se refiere este Captulo, tendrn las siguientes obligaciones:
III. Expedir y entregar comprobantes fiscales a las personas que reciban pagos por los
conceptos a que se refiere este Captulo, en la fecha en que se realice la erogacin
correspondiente, los cuales podrn utilizarse como constancia o recibo de pago para
efectos de la legislacin laboral a que se refieren los artculos 132 fracciones VII y VIII,
y 804, primer prrafo, fracciones II y IV, de la Ley Federal de Trabajo
Artculo 99, fraccin III de la LISR. Los patrones expedir y entregar comprobantes
fiscales a los trabajadores, en la fecha en que se realice el pago de salarios, los cuales
podrn utilizarse como constancia o recibo de pago para efectos de la legislacin
laboral a que se refieren los artculos 132 fracciones VII y VIII, y 804, primer prrafo,
fracciones II y IV, de la Ley Federal de Trabajo.
Artculo 28 del cdigo fiscal de la federacin. Las deducciones autorizadas en este
Ttulo debern reunir los siguientes requisitos:
V. Los pagos que a la vez sean ingresos en los trminos del Captulo I del Ttulo IV, de
esta Ley, se podrn deducir siempre que las erogaciones por concepto de
remuneracin, las retenciones correspondientes y las deducciones del impuesto local
por salarios y, en general, por la prestacin de un servicio personal independiente,
consten en
comprobantes fiscales emitidos en trminos del Cdigo Fiscal de la Federacin.
Artculo 29 del cdigo fiscal de la federacin. Cuando las leyes fiscales establezcan la
obligacin de expedir comprobantes fiscales por los actos o actividades que realicen,
por los ingresos que se perciban o por las retenciones de contribuciones que efectuen,
los contribuyentes debern emitirlos mediante documentos digitales a travs de la
pgina de Internet del Servicio de Administracin Tributaria.
El 19 de noviembre de 2013, el SAT public algunos contenidos en el apartado de
Factura electrnica y aunque ellos comentan que es de carcter informativo, nos dejan
saber que debemos prepararnos para cumplir con esta obligacin.
El contenido publicado por el SAT va enfocado a conocer la estructura, el estndar y la
secuencia de la cadena original que se deber cumplir para el CFDI versin 3.2.

This XML file does not appear to have any style information associated with it.
The document tree is shown below.

<xs:schema xmlns:nomina="http://www.sat.gob.mx/nomina" xmlns:xs="http://w


ww.w3.org/2001/XMLSchema" targetNamespace="http://www.sat.gob.mx/nomina"
elementFormDefault="qualified"attributeFormDefault="unqualified">
<xs:element name="Nomina">
<xs:annotation>
<xs:documentation>
Complemento al Comprobante Fiscal Digital a travs de Internet (CFDI)
para el manejo de datos de Nmina.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="Percepciones" minOccurs="0">
<xs:annotation>
<xs:documentation>
Nodo opcional para expresar las percepciones aplicables
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="Percepcion" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>
Nodo para expresar la informacin detallada de una percepcin
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="TipoPercepcion" use="required">
<xs:annotation>
<xs:documentation>
Clave agrupadora. Clasifica la percepcin conforme al catlogo publicado
en el portal del SAT en internet
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:minInclusive value="1"/>
<xs:pattern value="[0-9]{3}"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Clave" use="required">
<xs:annotation>
<xs:documentation>
Atributo requerido, representa la clave de percepcin de nmina propia de
la contabilidad de cada patrn, puede conformarse desde 3 hasta 15
caracteres
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="3"/>
<xs:maxLength value="15"/>
<xs:whiteSpace value="collapse"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>

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


<xs:annotation>
<xs:documentation>
Atributo requerido para la descripcin del concepto de percepcin
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="100"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="ImporteGravado" type="nomina:t_Importe" use="required
">
<xs:annotation>
<xs:documentation>
Atributo requerido, representa el importe gravado de un concepto de
percepcin
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ImporteExento" type="nomina:t_Importe" use="required"
>
<xs:annotation>
<xs:documentation>
Atributo requerido, representa el importe exento de un concepto de
percepcin
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="TotalGravado" type="nomina:t_Importe" use="required">
<xs:annotation>
<xs:documentation>
Atributo requerido para expresar el total de percepciones gravadas que se
relacionan en el comprobante
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="TotalExento" type="nomina:t_Importe" use="required">
<xs:annotation>
<xs:documentation>
Atributo requerido para expresar el total de percepciones exentas que se
relacionan en el comprobante
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="Deducciones" minOccurs="0">
<xs:annotation>
<xs:documentation>
Nodo opcional para expresar las deducciones aplicables
</xs:documentation>

</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="Deduccion" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>
Nodo para expresar la informacin detallada de una deduccin
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="TipoDeduccion" use="required">
<xs:annotation>
<xs:documentation>
Clave agrupadora. Clasifica la deduccin conforme al catlogo publicado
en el portal del SAT en internet
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:minInclusive value="1"/>
<xs:pattern value="[0-9]{3}"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Clave" use="required">
<xs:annotation>
<xs:documentation>
Atributo requerido para la clave de deduccin de nmina propia de la
contabilidad de cada patrn, puede conformarse desde 3 hasta 15
caracteres
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="3"/>
<xs:maxLength value="15"/>
<xs:whiteSpace value="collapse"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Concepto" use="required">
<xs:annotation>
<xs:documentation>
Atributo requerido para la descripcin del concepto de deduccin
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="100"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="ImporteGravado" type="nomina:t_Importe" use="required
">
<xs:annotation>
<xs:documentation>

Atributo requerido, representa el importe gravado de un concepto de


deduccin
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ImporteExento" type="nomina:t_Importe" use="required"
>
<xs:annotation>
<xs:documentation>
Atributo requerido, representa el importe exento de un concepto de
deduccin
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="TotalGravado" type="nomina:t_Importe" use="required">
<xs:annotation>
<xs:documentation>
Atributo requerido para expresar el total de deducciones gravadas que se
relacionan en el comprobante
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="TotalExento" type="nomina:t_Importe" use="required">
<xs:annotation>
<xs:documentation>
Atributo requerido para expresar el total de deducciones exentas que se
relacionan en el comprobante
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="Incapacidades" minOccurs="0">
<xs:annotation>
<xs:documentation>
Nodo opcional para expresar las incapacidades aplicables
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="Incapacidad" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>
Nodo opcional para expresar informacin de las incapacidades
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="DiasIncapacidad" use="required">
<xs:annotation>
<xs:documentation>
Nmero de das que el trabajador se incapacit en el periodo
</xs:documentation>
</xs:annotation>
<xs:simpleType>

<xs:restriction base="xs:decimal">
<xs:fractionDigits value="6"/>
<xs:minInclusive value="1"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="TipoIncapacidad" type="xs:int" use="required">
<xs:annotation>
<xs:documentation>
Razn de la incapacidad: Catlogo publicado en el portal del SAT en
internet
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Descuento" type="nomina:t_Importe" use="required">
<xs:annotation>
<xs:documentation>Monto del descuento por la
incapacidad</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="HorasExtras" minOccurs="0">
<xs:annotation>
<xs:documentation>
Nodo opcional para expresar las horas extras aplicables
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="HorasExtra" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>
Nodo opcional para expresar informacin de las horas extras
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Dias" type="xs:int" use="required">
<xs:annotation>
<xs:documentation>
Nmero de das en que el trabajador realiz horas extra en el periodo
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="TipoHoras" use="required">
<xs:annotation>
<xs:documentation>Tipo de pago de las horas extra: dobles o
triples</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
<xs:enumeration value="Dobles"/>
<xs:enumeration value="Triples"/>

</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="HorasExtra" type="xs:int" use="required">
<xs:annotation>
<xs:documentation>Nmero de horas extra trabajadas en el
periodo</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ImportePagado" type="nomina:t_Importe" use="required"
>
<xs:annotation>
<xs:documentation>Importe pagado por las horas extra</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="Version" type="xs:string" use="required" fixed="1.1">
<xs:annotation>
<xs:documentation>
Atributo requerido para la expresin de la versin del complemento
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="RegistroPatronal" use="optional">
<xs:annotation>
<xs:documentation>
Atributo opcional para expresar el registro patronal a 20 posiciones
mximo
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="20"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="NumEmpleado" use="required">
<xs:annotation>
<xs:documentation>
Atributo requerido para expresar el nmero de empleado de 1 a 15
posiciones
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="15"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="CURP" type="nomina:t_CURP" use="required">

<xs:annotation>
<xs:documentation>
Atributo requerido para la expresin de la CURP del trabajador
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="TipoRegimen" use="required">
<xs:annotation>
<xs:documentation>
Atributo requerido para la expresin de la clave del rgimen por el cual
se tiene contratado al trabajador, conforme al catlogo publicado en el
portal del SAT en internet
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:minInclusive value="1"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="NumSeguridadSocial" use="optional">
<xs:annotation>
<xs:documentation>
Atributo opcional para la expresin del nmero de seguridad social
aplicable al trabajador
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="15"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="FechaPago" type="xs:date" use="required">
<xs:annotation>
<xs:documentation>
Atributo requerido para la expresin de la fecha efectiva de erogacin
del gasto. Se expresa en la forma aaaa-mm-dd, de acuerdo con la
especificacin ISO 8601.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="FechaInicialPago" type="xs:date" use="required">
<xs:annotation>
<xs:documentation>
Atributo requerido para la expresin de la fecha inicial del pago. Se
expresa en la forma aaaa-mm-dd, de acuerdo con la especificacin ISO
8601.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="FechaFinalPago" type="xs:date" use="required">
<xs:annotation>
<xs:documentation>

Atributo requerido para la expresin de la fecha final del pago. Se


expresa en la forma aaaa-mm-dd, de acuerdo con la especificacin ISO
8601.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="NumDiasPagados" use="required">
<xs:annotation>
<xs:documentation>
Atributo requerido para la expresin del nmero de das pagados
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:fractionDigits value="6"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Departamento">
<xs:annotation>
<xs:documentation>
Atributo opcional para la expresin del departamento o rea a la que
pertenece el trabajador
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="100"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="CLABE" type="nomina:t_Clabe">
<xs:annotation>
<xs:documentation>Atributo opcional para la expresin de la
CLABE</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Banco">
<xs:annotation>
<xs:documentation>
Atributo opcional para la expresin del Banco conforme al catlogo, donde
se realiza un depsito de nmina
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:minInclusive value="1"/>
<xs:pattern value="[0-9]{3}"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="FechaInicioRelLaboral" type="xs:date" use="optional">
<xs:annotation>
<xs:documentation>
Atributo opcional para expresar la fecha de inicio de la relacin laboral
entre el empleador y el empleado

</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Antiguedad" type="xs:int" use="optional">
<xs:annotation>
<xs:documentation>
Nmero de semanas que el empleado ha mantenido relacin laboral con el
empleador
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Puesto" type="xs:string" use="optional">
<xs:annotation>
<xs:documentation>
Puesto asignado al empleado o actividad que realiza
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="TipoContrato" type="xs:string" use="optional">
<xs:annotation>
<xs:documentation>
Tipo de contrato que tiene el trabajador: Base, Eventual, Confianza,
Sindicalizado, a prueba, etc.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="TipoJornada" type="xs:string" use="optional">
<xs:annotation>
<xs:documentation>
Tipo de jornada que cubre el trabajador: Diurna, nocturna, mixta, por
hora, reducida, continuada, partida, por turnos, etc.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="PeriodicidadPago" use="required">
<xs:annotation>
<xs:documentation>
Forma en que se establece el pago del salario: diario, semanal,
quincenal, catorcenal mensual, bimestral, unidad de obra, comisin,
precio alzado, etc.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="100"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="SalarioBaseCotApor" type="nomina:t_Importe" use="opti
onal">
<xs:annotation>
<xs:documentation>
Retribucin otorgada al trabajador, que se integra por los pagos hechos
en efectivo por cuota diaria, gratificaciones, percepciones,
alimentacin, habitacin, primas, comisiones, prestaciones en especie y
cualquiera otra cantidad o prestacin que se entregue al trabajador por

su trabajo, sin considerar los conceptos que se excluyen de conformidad


con el Artculo 27 de la Ley del Seguro Social. (Se emplea para pagar las
cuotas y aportaciones de Seguridad Social).
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="RiesgoPuesto" use="optional">
<xs:annotation>
<xs:documentation>
Clave conforme a la Clase en que deben inscribirse los patrones, de
acuerdo a las actividades que desempean sus trabajadores, segn lo
previsto en el artculo 196 del Reglamento en Materia de Afiliacin
Clasificacin de Empresas, Recaudacin y Fiscalizacin. Catlogo
publicado en el portal del SAT en internet
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:minInclusive value="1"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="SalarioDiarioIntegrado" type="nomina:t_Importe" use="
optional">
<xs:annotation>
<xs:documentation>
El salario se integra con los pagos hechos en efectivo por cuota diaria,
gratificaciones, percepciones, habitacin, primas, comisiones,
prestaciones en especie y cualquiera otra cantidad o prestacin que se
entregue al trabajador por su trabajo, de conformidad con el Art. 84 de
la Ley Federal del Trabajo. (Se utiliza para el clculo de las
indemnizaciones).
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:simpleType name="t_CURP">
<xs:annotation>
<xs:documentation>Tipo definido para la expresin de una
CURP</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
<xs:length value="18"/>
<xs:pattern value="[A-Z][A,E,I,O,U,X][A-Z]{2}[0-9]{2}[0-1][0-9][0-3][0-9]
[M,H][A-Z]{2}[B,C,D,F,G,H,J,K,L,M,N,,P,Q,R,S,T,V,W,X,Y,Z]{3}[0-9,A-Z][09]"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="t_Importe">
<xs:annotation>
<xs:documentation>
Tipo definido para expresar importes numricos con fraccin hasta seis
decimales
</xs:documentation>
</xs:annotation>

<xs:restriction base="xs:decimal">
<xs:fractionDigits value="6"/>
<xs:whiteSpace value="collapse"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="t_Clabe">
<xs:annotation>
<xs:documentation>Tipo definido para expresar la CLABE
interbancaria</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:integer">
<xs:pattern value="[0-9]{18}"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>

This XML file does not appear to have any style information associated with it.
The document tree is shown below.
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs
="http://www.w3.org/2001/XMLSchema" xmlns:fn="http://www.w3.org/2005/xpat
h-functions"xmlns:nomina="http://www.sat.gob.mx/nomina" version="2.0">
<xsl:output method="text" version="1.0" encoding="UTF-8" indent="no"/>
<!-- Manejador de nodos tipo nomina -->
<xsl:template match="nomina:Nomina">
<!-Iniciamos el tratamiento de los atributos de Nmina
-->
<xsl:choose>
<xsl:when test="./@Version='1.0'">
<xsl:call-template name="Requerido">
<xsl:with-param name="valor" select="./@Version"/>
</xsl:call-template>
<xsl:call-template name="Requerido">
<xsl:with-param name="valor" select="./@RegistroPatronal"/>
</xsl:call-template>
<xsl:call-template name="Requerido">
<xsl:with-param name="valor" select="./@NumEmpleado"/>
</xsl:call-template>
<xsl:call-template name="Requerido">
<xsl:with-param name="valor" select="./@CURP"/>
</xsl:call-template>
<xsl:call-template name="Requerido">
<xsl:with-param name="valor" select="./@TipoRegimen"/>
</xsl:call-template>
<xsl:call-template name="Opcional">
<xsl:with-param name="valor" select="./@NumSeguridadSocial"/>
</xsl:call-template>
<xsl:call-template name="Opcional">
<xsl:with-param name="valor" select="./@CLABE"/>
</xsl:call-template>
<xsl:call-template name="Opcional">
<xsl:with-param name="valor" select="./@Banco"/>
</xsl:call-template>
<!--

Iniciamos el tratamiento de los atributos de Ingresos


-->
<xsl:call-template name="Requerido">
<xsl:with-param name="valor" select="./nomina:Ingresos/@TotalGravado"/>
</xsl:call-template>
<xsl:call-template name="Requerido">
<xsl:with-param name="valor" select="./nomina:Ingresos/@TotalExento"/>
</xsl:call-template>
<!-Iniciamos el tratamiento de los atributos de descuentos
-->
<xsl:call-template name="Requerido">
<xsl:with-param name="valor" select="./nomina:Descuentos/@Total"/>
</xsl:call-template>
</xsl:when>
<xsl:when test="./@Version='1.1'">
<xsl:call-template name="Requerido">
<xsl:with-param name="valor" select="./@Version"/>
</xsl:call-template>
<xsl:call-template name="Opcional">
<xsl:with-param name="valor" select="./@RegistroPatronal"/>
</xsl:call-template>
<xsl:call-template name="Requerido">
<xsl:with-param name="valor" select="./@NumEmpleado"/>
</xsl:call-template>
<xsl:call-template name="Requerido">
<xsl:with-param name="valor" select="./@CURP"/>
</xsl:call-template>
<xsl:call-template name="Requerido">
<xsl:with-param name="valor" select="./@TipoRegimen"/>
</xsl:call-template>
<xsl:call-template name="Opcional">
<xsl:with-param name="valor" select="./@NumSeguridadSocial"/>
</xsl:call-template>
<xsl:call-template name="Requerido">
<xsl:with-param name="valor" select="./@FechaPago"/>
</xsl:call-template>
<xsl:call-template name="Requerido">
<xsl:with-param name="valor" select="./@FechaInicialPago"/>
</xsl:call-template>
<xsl:call-template name="Requerido">
<xsl:with-param name="valor" select="./@FechaFinalPago"/>
</xsl:call-template>
<xsl:call-template name="Requerido">
<xsl:with-param name="valor" select="./@NumDiasPagados"/>
</xsl:call-template>
<xsl:call-template name="Opcional">
<xsl:with-param name="valor" select="./@Departamento"/>
</xsl:call-template>
<xsl:call-template name="Opcional">
<xsl:with-param name="valor" select="./@CLABE"/>
</xsl:call-template>
<xsl:call-template name="Opcional">
<xsl:with-param name="valor" select="./@Banco"/>
</xsl:call-template>
<xsl:call-template name="Opcional">
<xsl:with-param name="valor" select="./@FechaInicioRelLaboral"/>

</xsl:call-template>
<xsl:call-template name="Opcional">
<xsl:with-param name="valor" select="./@Antiguedad"/>
</xsl:call-template>
<xsl:call-template name="Opcional">
<xsl:with-param name="valor" select="./@Puesto"/>
</xsl:call-template>
<xsl:call-template name="Opcional">
<xsl:with-param name="valor" select="./@TipoContrato"/>
</xsl:call-template>
<xsl:call-template name="Opcional">
<xsl:with-param name="valor" select="./@TipoJornada"/>
</xsl:call-template>
<xsl:call-template name="Requerido">
<xsl:with-param name="valor" select="./@PeriodicidadPago"/>
</xsl:call-template>
<xsl:call-template name="Opcional">
<xsl:with-param name="valor" select="./@SalarioBaseCotApor"/>
</xsl:call-template>
<xsl:call-template name="Opcional">
<xsl:with-param name="valor" select="./@RiesgoPuesto"/>
</xsl:call-template>
<xsl:call-template name="Opcional">
<xsl:with-param name="valor" select="./@SalarioDiarioIntegrado"/>
</xsl:call-template>
<!-Iniciamos el tratamiento de los elementos de Nmina
-->
<xsl:if test="./nomina:Percepciones">
<xsl:apply-templates select="./nomina:Percepciones"/>
</xsl:if>
<xsl:if test="./nomina:Deducciones">
<xsl:apply-templates select="./nomina:Deducciones"/>
</xsl:if>
<xsl:for-each select="./nomina:Incapacidades">
<xsl:apply-templates select="."/>
</xsl:for-each>
<xsl:for-each select="./nomina:HorasExtras">
<xsl:apply-templates select="."/>
</xsl:for-each>
</xsl:when>
</xsl:choose>
</xsl:template>
<xsl:template match="nomina:Percepciones">
<!-Iniciamos el tratamiento de los atributos de Percepciones
-->
<xsl:call-template name="Requerido">
<xsl:with-param name="valor" select="./@TotalGravado"/>
</xsl:call-template>
<xsl:call-template name="Requerido">
<xsl:with-param name="valor" select="./@TotalExento"/>
</xsl:call-template>
<!-Iniciamos el tratamiento del los elementos de Percepciones
-->
<xsl:for-each select="./nomina:Percepcion">

<xsl:apply-templates select="."/>
</xsl:for-each>
</xsl:template>
<xsl:template match="nomina:Percepcion">
<!-Iniciamos el tratamiento de los atributos de Percepcion
-->
<xsl:call-template name="Requerido">
<xsl:with-param name="valor" select="./@TipoPercepcion"/>
</xsl:call-template>
<xsl:call-template name="Requerido">
<xsl:with-param name="valor" select="./@Clave"/>
</xsl:call-template>
<xsl:call-template name="Requerido">
<xsl:with-param name="valor" select="./@Concepto"/>
</xsl:call-template>
<xsl:call-template name="Requerido">
<xsl:with-param name="valor" select="./@ImporteGravado"/>
</xsl:call-template>
<xsl:call-template name="Requerido">
<xsl:with-param name="valor" select="./@ImporteExento"/>
</xsl:call-template>
</xsl:template>
<xsl:template match="nomina:Deducciones">
<!-Iniciamos el tratamiento de los atributos de Deducciones
-->
<xsl:call-template name="Requerido">
<xsl:with-param name="valor" select="./@TotalGravado"/>
</xsl:call-template>
<xsl:call-template name="Requerido">
<xsl:with-param name="valor" select="./@TotalExento"/>
</xsl:call-template>
<!-Iniciamos el tratamiento del los elementos de Deducciones
-->
<xsl:for-each select="./nomina:Deduccion">
<xsl:apply-templates select="."/>
</xsl:for-each>
</xsl:template>
<xsl:template match="nomina:Deduccion">
<!-Iniciamos el tratamiento de los atributos de Deduccion
-->
<xsl:call-template name="Requerido">
<xsl:with-param name="valor" select="./@TipoDeduccion"/>
</xsl:call-template>
<xsl:call-template name="Requerido">
<xsl:with-param name="valor" select="./@Clave"/>
</xsl:call-template>
<xsl:call-template name="Requerido">
<xsl:with-param name="valor" select="./@Concepto"/>
</xsl:call-template>
<xsl:call-template name="Requerido">
<xsl:with-param name="valor" select="./@ImporteGravado"/>
</xsl:call-template>
<xsl:call-template name="Requerido">

<xsl:with-param name="valor" select="./@ImporteExento"/>


</xsl:call-template>
</xsl:template>
<xsl:template match="nomina:Incapacidades">
<!-Iniciamos el tratamiento del los elementos de Incapacidades
-->
<xsl:for-each select="./nomina:Incapacidad">
<xsl:apply-templates select="."/>
</xsl:for-each>
</xsl:template>
<xsl:template match="nomina:Incapacidad">
<!-Iniciamos el tratamiento de los atributos de Incapacidad
-->
<xsl:call-template name="Requerido">
<xsl:with-param name="valor" select="./@DiasIncapacidad"/>
</xsl:call-template>
<xsl:call-template name="Requerido">
<xsl:with-param name="valor" select="./@TipoIncapacidad"/>
</xsl:call-template>
<xsl:call-template name="Requerido">
<xsl:with-param name="valor" select="./@Descuento"/>
</xsl:call-template>
</xsl:template>
<xsl:template match="nomina:HorasExtras">
<!-Iniciamos el tratamiento del los elementos de HorasExtras
-->
<xsl:for-each select="./nomina:HorasExtra">
<xsl:apply-templates select="."/>
</xsl:for-each>
</xsl:template>
<xsl:template match="nomina:HorasExtra">
<!-Iniciamos el tratamiento de los atributos de HorasExtra
-->
<xsl:call-template name="Requerido">
<xsl:with-param name="valor" select="./@Dias"/>
</xsl:call-template>
<xsl:call-template name="Requerido">
<xsl:with-param name="valor" select="./@TipoHoras"/>
</xsl:call-template>
<xsl:call-template name="Requerido">
<xsl:with-param name="valor" select="./@HorasExtra"/>
</xsl:call-template>
<xsl:call-template name="Requerido">
<xsl:with-param name="valor" select="./@ImportePagado"/>
</xsl:call-template>
</xsl:template>
</xsl:stylesheet>

También podría gustarte