1. Home
  2. F.A.Q
  3. ¿Cómo se calcula la antigüedad en Nomina 1.2?

¿Cómo se calcula la antigüedad en Nomina 1.2?

Problema

No sé cómo se calcula la antigüedad en formato PYMD o PW para el complemento Nomina 1.2

Solución

La entidad SAT no proporciona una formula para calcular el campo antigüedad en el comprobante Nomina 1.2 por lo que esa decisión se la deja a cada (PAC) Proveedor Autorizado para la Certificación de CFDI.

En SmarterWeb contamos con una herramienta para calcular la antigüedad en ambos formatos en nuestro sitio validador CFDI.

En SmarterWeb calculamos la antigüedad de con ambos formatos de la siguiente manera:

Patrón P([1-9][0-9]?Y)?(([1-9]|1[012])M)?(0|[1-9]|[12][0-9]|3[01])D

  1. Se obtienen los datos FechaInicioRelLaboral y FechaFinalPago.
    1. FechaInicioRelLaboral: 2016/12/01 – “1 de Diciembre del 2016”
    2. FechaFinalPago: 2018/07/05 – “5 de Julio del 2018”
  2. Se obtiene la diferencia en años entre los datos FechaInicioRelLaboral y FechaFinalPago sin pasarse de FechaFinalPago. (diferenciaAños)
    1. 2018/07/05 menos 2016/12/01= 1 año de diferencia
  3. A la fecha inicial se le suma los años de diferencia:
    1. FechaInicioRelLaboral = 2016/12/01 + 1 año = 2017/12/01
  4. Se obtiene la diferencia en meses entre los datos FechaInicioRelLaboral y FechaFinalPago sin pasarse de FechaFinalPago. (diferenciaMeses)
    1. 2018/07/05 menos 2017/12/01= 7 meses.
  5. A la fecha inicial se le suma los meses de diferencia:
    1. 2017/12/01 + 7 meses = 2018/07/01
  6. Se obtiene la diferencia en díasentre los datos FechaInicioRelLaboral y FechaFinalPago sin pasarse de FechaFinalPago. (diferenciaDías)
    1. 2018/07/05 menos 2018/07/01 = 5
  7. A la fecha inicial se le suma los días de diferencia menos uno (diferenciaDias -1)
    1. 2018/07/01 más (diferenciaDias-1) = 2018/07/01 más (4) = 2018/07/05
  8. Si la diferenciaAños y diferenciaMeses son menores o iguales a 0, se coloca la antiguedad en formato P{diferenciaDías}D
  9. Si la diferenciaAños es mayor a 0 y la diferenciaMeses es igual a 0, se coloca la antiguedad en formato P{diferenciaAños}Y{diferenciaDías}D
  10. Si la diferenciaAños es menor o igual a 0 y la diferenciaMeses es mayor a 0, se coloca la antiguedad en el formato P{diferenciaMeses}M{diferenciaDías}D
  11. Si la diferenciaAños es mayor a 0 y la diferenciaMeses es mayor a 0, se coloca la antiguedad en formato P{diferenciaAños}Y{diferenciaMeses}M{diferenciaDías}D

Patrón P(([1-9][0-9]{0,3})|0)W

  1. Se obtienen los datos FechaInicioRelLaboral y FechaFinalPago.
    1. 2016/12/01
    2. 2016/12/31
  2. Se obtiene la diferencia en días entre los datos FechaInicioRelLaboral y FechaFinalPago sin pasarse de FechaFinalPago más 1 día. (diferenciaDías más 1)
    1. 2016/12/31 menos 2016/12/01 = 30 + 1 = 31
  3. Se divide la diferencia en días entre 7 para obtener el número de semanas. (semanas)
    1. 31 días entre 7 = 4
  4. Se coloca la antigüedad en formato P{semanas}W
Updated on mayo 15, 2017

Was this article helpful?

Related Articles