Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Timbrado de Nómina
Timbrado de Nómina
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: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>
<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>
</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
<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>
<!--
</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">