Nómina

Liga para timbrar nómina

https://facturas.easysmart.com.mx/cgi-bin/externos/timbrarGR33

Layout para nómina

Layout Estándar Nómina

Cálculo de Antigüedad.

Existen 2 algoritmos para obtener la antigüedad, ambos casos utilice librerías de su entorno de desarrollo para obtener los valores necesarios, a forma de pseudo código se utilizarán estas funciones

  • Diferencia_en_dias : Calcula el número de días calendario entre 2 fecha (incluye años bisiestos)
  • Diferencia_AMD : Diferencia de años, meses y días
  • Suma_Dias : Regresa una nueva fecha en base a sumar N cantidad de días a una fecha dada
  • Dias_en_Mes : Indica cuantos días tiene un mes (incluye años bisiestos)

Semanas Esta es la forma más segura y sencilla de reportar la antigüedad, funciona independientemente del PAC


Dias = Diferencia_en_dias(año_ingreso,mes_ingreso,dia_ingreso,año_pago,mes_pago,dia_pago)
Semanas = integer((Dias + 1) / 7)

Años, Meses y Días Este algoritmo cambia dependiendo de los PAC, aunque dicen que está homologado, no me parece a mí. Este es el algoritmo para el nuevo PAC con CFDI 3.3


(Años,Meses,Días) = Diferencia_AMD(año_ingreso,mes_ingreso,dia_ingreso,año_pago,mes_pago,dia_pago)
Días++;
if (Años > 0) {
   if (Meses>0) {
      Antigüedad = P{Años}Y{Meses}M{Días}D
   } else {
      Antigüedad = P{Años}Y{Días}D
   }
} else {
   Dias = Diferencia_en_dias(año_ingreso,mes_ingreso,dia_ingreso,año_pago,mes_pago,dia_pago)
   Semanas = integer((Dias + 1) / 7)
   Antigüedad = = P{Semanas}W
}

Nota adicional

Adicionalmente el SAT dice que si la antigüedad es menor a un año se utilice la representación en semanas. Y si supera el año, es opcional cualquiera de los 2 métodos

Reglas a considerar

  • Tipo Contrato < 09
    • Registro patronal es obligatorio
    • Campos obligatorios: Número de seguridad social, Antigüedad, Salario Integrado, Salario Cotización, Fecha Alta, Clave de Riesgo
  • Tipo Contrato > 08
    • No se debe enviar registro patronal
    • Debe eliminar los valores : Número de seguridad social, Antigüedad, Salario Integrado, Salario Cotización, Fecha Alta, Clave de Riesgo

Ejemplo general

EMPRESA:EXTERNOS|testext452|LAN7008173R5|
COMPROBANTE:3.3|NOMX|2613400|26/07/2017|994961.31|59.20|MXN|1|4902.11|N|PUE|20200|
PDF:Aguascalientes, Ags|V9633|26/07/2017|Recibo nómina
RESPUESTA:HTML
VERSION_NOMINA:1.2
RECEPTOR:PERH650201NR2|Hans Peyrot|P01|
RECEPTOR_DIRECCION:La calle|1000La colonia|20000|Aguascalientes|Aguascalientes|Aguascalientes|México
LINEA:841115051|ACTPago de nómina|4961.31|4961.31|59.20
SUBCONTRATACION:MSO0206067S5|50
SUBCONTRATACION:PERH650201NR2|50
EMPLEADO:Y4529887103|12345|PERH650201HVZYBN07|02|87584578AGU|Sí
EMP_FECHAS:2017-07-26|2017-07-01|2017-07-30|15|2014-02-07|P3Y5M24D|30.42|8|300
EMP_INFO:Sistemas|0021234567|002|Ingeniero|01|01|05|1
EMP_SALARIO:40|45
PERCEPCION:001|000|Sueldo|2284.88|0
PERCEPCION:045|000|Sueldo|100|0
PAGO_ACCIONES:42|38
PERCEPCION:019|000|Vales|100|0
HORASEXTRA:01|03|1|30
HORASEXTRA:01|01|2|20
HORASEXTRA:01|02|3|50
PERCEPCION:039|000|Jubilacion|1000|0
PERCEPCION:014|000|Subsidio incapacidad|1200|0
TOTAL_PERCEPCIONES:4684.88|0|3684.881000
JUBILACION_PENSION:1000|500|500
DEDUCCION:001|000|IMSS|59.20|0
TOTAL_DEDUCCIONES:59.20|
OTRO_PAGO:002|000|Subsidio empleo pagado|276.43
SUBSIDIO_EMPLEO:276.43
INCAPACIDAD:01|01|600
INCAPACIDAD:01|02|600
TOTALES_NOMINA:O|4684.88|59.20|276.43
LEYENDA_LEGAL:
Texto con la leyenda legal del recibo
FIN_LEYENDA_LEGAL:
FIN:


Continuar a: Facturar / Notas de crédito
Continuar a : Generar recibos de nómina
Continuar a : Documentos de Pago
Continuar a : Subir Archivo Batch para escuelas
Continuar a : Retenciones y Pagos

Continuar a : Cancelaciones