Interfaces entre el sistema de caja de ahorros y el sistema de nomina Contenido 1 2 INTRODUCCION ........................................................................................... 3 ARCHIVO DE MOVIMIENTOS DE PERSONAL ............................................ 4 2.1 Introducción ............................................................................................ 4 2.2 Formato del archivo ................................................................................ 4 2.3 Registro de detalle .................................................................................. 5 2.4 Registro cifra de control ........................................................................ 12 2.5 Ejemplos ............................................................................................... 15 3 PROCESAMIENTO DEL ARCHIVO DE DESCUENTOS ............................ 16 3.1 Introducción .......................................................................................... 16 3.2 Descripción del proceso ....................................................................... 17 3.3 Archivo de descuentos ......................................................................... 20 3.4 Archivo de confirmación ....................................................................... 26 4 Bitácora de cambios .................................................................................... 33 Interfaces entre la Caja de Ahorro y Nomina V1.3 Ultima revisión 5/Oct/2007 2 1 INTRODUCCION ODESSA es una empresa dedicada a dar servicios de asesoría y outsourcing de individualización de cuentas y administración de beneficios para los trabajadores. El outsourcing de individualización de cuentas lo hace a través de un sistema propietario que requiere del flujo mostrado en la Figura 1.1 para poder trabajar. Nóminas Internet SOCIO Obtiene archivo para descuento de nómina a socios para aportación al ahorro (Interfase de nómina) y efectúa descuento al trabajador. Define cuota de ahorro por teléfono o Internet Casa de Bolsa Site Efectúa inversión de acuerdo a instrucciones del Comité Técnico de la caja de Ahorro BANCO Tesorería Aplica archivo de confirmación de descuentos para acreditar en la cuenta individual del socio Solicita a Tesorería pago de descuentos de nómina efectuados. Efectúa depósito en la cuenta de cheques de la caja de ahorros por los descuentos de nómina e invierte en la Casa de Bolsa el monto depositado. Figura 1.1 Flujo de información entre la caja de ahorro y el sistema de nominas Como puede observarse en los pasos 2 y 3 de la figura antes mencionada, para que el sistema de la caja de ahorros pueda llevar a cabo la individualización de cuentas, es necesario que las empresas realicen las siguientes modificaciones a sus sistemas de nomina: La generación del archivo de movimientos de personal contiene datos generales del personal activo. Procesamiento del archivo de descuentos proveniente del sistema de caja de ahorros, para generar un archivo de confirmación de dichos descuentos. Como los trabajadores deben pertenecer a una asociación civil para poder ahorrar y pedir prestamos bajo un marco legal, serán conocidos como socios y así haremos referencia a ellos de aquí en delante. Interfaces entre la Caja de Ahorro y Nomina V1.3 Ultima revisión 5/Oct/2007 3 Los archivos de interfaz manejados por el sistema de la caja de ahorros, se generarán a nivel división, considerando que, una división comprende a un grupo de empresas que generan su nomina en la misma “corrida” de su sistema de nomina, por lo mismo, un archivo puede contener información de mas de una empresa. 2 ARCHIVO DE MOVIMIENTOS DE PERSONAL 2.1 Introducción El archivo de movimientos de personal, comúnmente llamado MOPER, sirve para que la caja de ahorros pueda tener actualizado el catalogo de socios, por lo mismo, este archivo debe incluir a todo el personal activo de la empresa, no solo las adiciones o cambios. El MOPER se generará típicamente (más no estrictamente) a la par que el archivo de confirmación y cada vez que la empresa considere que ha habido los cambios suficientes que justifiquen una actualización. El desarrollador puede incluir la generación del archivo automáticamente junto con el de confirmación para simplificarle la operación al usuario, pero no debe olvidar incluir una opción para generarlo en forma eventual e independiente de la confirmación. En algunas ocasiones, deberá decidirse si se incluye al personal que no tiene cuenta bancaria para deposito de nomina, ya que dicho personal no podrá efectuar retiros de la caja de ahorro, ni podrán pagársele los prestamos autorizados o inclusive su propio finiquito en un momento dado. Sin embargo, si se trata de la administración del fondo de ahorro, en el cual no hay retiros en forma directa, deberán incluirse los socios aun si no cuentan con una cuenta bancaria. Por lo mismo se le recomienda al desarrollador, considerar esto como una opción en su sistema, incluyendo una casilla de verificación (checkbox) o parámetro en su programa para dicho propósito. 2.2 Formato del archivo El MOPER es un archivo de texto separado por comas que contiene dos tipos de registro, el primero es el registro de detalle, del cual existe uno por socio. El segundo es el registro de cifra de control, del cual solo se incluye uno por archivo y típicamente (mas no estrictamente) ira al final del mismo. Los registros en el archivo deberán estar separados por un salto de línea (ASCII 10 o la combinación ASCII 10 y 13). Interfaces entre la Caja de Ahorro y Nomina V1.3 Ultima revisión 5/Oct/2007 4 Nota 1: Debe incluirse un salto de línea al final del último registro incluido en el archivo, ya que de otro modo, dicho registro no será leído. Nota 2: El archivo debe contener caracteres ASCII, ya que el formato Unicode no esta soportado, esto debe tomarse en cuenta en sistemas preparados con soporte para internacionalización. 2.3 Registro de detalle El registro de detalle contiene los datos generales del socio y tienen el formato indicado en la Tabla 2.3.1. Los campos son descritos en consecuencia. No. Descripción Tipo 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 Tipo de Registro Número de Registro Número de Socio Campo4 Clave de Empresa Clave de Planta Clave de Departamento Nombre del Socio Apellido Paterno Apellido Materno Fecha de Nacimiento Sexo Estado Civil Fecha de Ingreso al Grupo Fecha de Ingreso a la Empresa Forma de Pago Tipo Trabajador Ruta de Pago Nombre Banco Cuenta Bancaria Sueldo Mensual Sueldo Neto Numérico Numérico Numérico Numérico Numérico Numérico Numérico Alfanumérico Alfanumérico Alfanumérico Numérico Alfanumérico Alfanumérico Numérico Numérico Alfanumérico Alfanumérico Alfanumérico Alfanumérico Alfanumérico Numérico Numérico Tabla 2.3.1 Campos del registro de detalle 2.3.1 Tipo de Registro Tipo Numérico Interfaces entre la Caja de Ahorro y Nomina V1.3 Ultima revisión 5/Oct/2007 5 Longitud Opcional Descripción 2 No Valor fijo 02 2.3.2 Número de Registro Tipo Longitud Opcional Descripción Numérico 5 No Consecutivo que inicia en uno en cada archivo, debe notarse que es el mismo consecutivo para todos los registros incluso para el de cifra de control. Otra forma de entenderlo es como el número del renglón en el que se encuentra el registro. 2.3.3 Número de Socio Tipo Longitud Opcional Descripción Numérico 7 No Típicamente será el número de trabajador, y si este incluye letras deberá manejarse una equivalencia. 2.3.4 Campo4 Tipo Longitud Opcional Descripción Numérico 1 No Vacío o Cero 2.3.5 Clave de Empresa Tipo Longitud Opcional Descripción Numérico 3 No Número asignado por el sistema de caja de ahorros. Este debe ser solicitado al ejecutivo de cuentas. Interfaces entre la Caja de Ahorro y Nomina V1.3 Ultima revisión 5/Oct/2007 6 2.3.6 Clave de Planta Tipo Longitud Opcional Descripción Numérico 3 No Número asignado por la empresa, representa típicamente una zona geográfica o una sucursal y sirve para la división de responsabilidad en un momento dado. En caso de no manejar sucursales ni zonas geográficas especificar este valor como 1. 2.3.7 Clave de Departamento Tipo Longitud Opcional Descripción Numérico 5 Si Número asignado por la empresa, sirve para hacer reportes por este campo. En base a la experiencia es raro que se obtengan reportes por este campo, por lo que puede ponerse un cero en su lugar, sin embargo, si en la empresa se acostumbra obtener este tipo de reportes, no estaría de mas incluirlo por si acaso. 2.3.8 Nombre del Socio Tipo Longitud Opcional Descripción Alfanumérico 20 No Nombre del Socio 2.3.9 Apellido Paterno Tipo Longitud Opcional Descripción Alfanumérico 16 Si Apellido Paterno del Socio Interfaces entre la Caja de Ahorro y Nomina V1.3 Ultima revisión 5/Oct/2007 7 2.3.10 Tipo Longitud Opcional Descripción 2.3.11 Tipo Longitud Opcional Descripción 2.3.12 Tipo Longitud Opcional Descripción 2.3.13 Tipo Longitud Opcional Descripción 2.3.14 Tipo Longitud Apellido Materno Alfanumérico 16 Si Apellido Materno del Socio Fecha de Nacimiento Numérico 8 No Formato aaaammdd, ejemplo 07/Feb/2005 = 20050207. Este campo es necesario, ya que en base a él se define la clave de NIP inicial del socio. Sexo Alfanumérico 1 Sí M=masculino, F=femenino Estado Civil Alfanumérico 3 Sí CAS=casado, SOL=soltero, DIV=divorciado, VIU=viudo Fecha de Ingreso al Grupo Numérico 8 Interfaces entre la Caja de Ahorro y Nomina V1.3 Ultima revisión 5/Oct/2007 8 Opcional Descripción 2.3.15 Tipo Longitud Opcional Descripción 2.3.16 Tipo Longitud Opcional Descripción 2.3.17 Tipo Longitud Opcional Descripción 2.3.18 Tipo Longitud No Formato aaaammdd, ejemplo 07/Feb/2005 = 20050207. Indica la fecha en la que el socio entró a alguna de las empresas del grupo, sin haber salido del mismo hasta la fecha. Esta fecha puede ser tomada en cuenta al considerar la antigüedad. Si no se dispone de ella, debe copiarse la fecha del campo 15 (Fecha de Ingreso a la Empresa). Fecha de Ingreso a la Empresa Numérico 8 No Formato aaaammdd, ejemplo 07/Feb/2005 = 20050207. Esta fecha puede ser tomada en cuenta al considerar la antigüedad. Forma de Pago Alfanumérico 3 No QUI=quincenal, CAT=catorcenal, SEM=semanal, MEN=mensual Tipo Trabajador Alfanumérico 1 Sí E=Empleado, O=Obrero Ruta de Pago Alfanumérico 1 Interfaces entre la Caja de Ahorro y Nomina V1.3 Ultima revisión 5/Oct/2007 9 Opcional Descripción 2.3.19 Tipo Longitud Opcional Descripción Sí Antiguamente usado para repartir cheques, este dato es informativo Nombre Banco Alfanumérico 10 No Es el nombre del banco en donde tiene la cuenta de pago de nomina el trabajador, las claves validas están especificadas en la Tabla 2.3.2. Debe formatearse a 10 espacios y rellenar con blancos a la derecha. Banco SERFIN BITAL BBVA-BANCOMER BANCRECER BANORTE S.A. BANAMEX CITIBANK Clave “SERFIN “ “BITAL “ “BBVA-BANCO” “BANCRECER “ “BANORTE S.” “BANAMEX “ “CITIBANK “ Tabla 2.3.2 Catalogo de bancos 2.3.20 Tipo Longitud Opcional Descripción 2.3.21 Tipo Longitud Opcional Cuenta Bancaria Alfanumérico 10 No Es el numero de la cuenta de pago de nomina del trabajador. Sueldo Mensual Numérico 13 y dos decimales Sí Interfaces entre la Caja de Ahorro y Nomina V1.3 Ultima revisión 5/Oct/2007 10 Descripción 2.3.22 Tipo Longitud Opcional Descripción Es la cifra con dos decimales, aunque estas sean ceros. Ejemplo: 1250.00 Sueldo Neto Numérico 13 y dos decimales Sí Es la cifra con dos decimales, aunque estas sean ceros. Ejemplo: 1250.00 Interfaces entre la Caja de Ahorro y Nomina V1.3 Ultima revisión 5/Oct/2007 11 2.4 Registro cifra de control El registro de cifra de control sirve para que el sistema pueda corroborar que no han sido agregados ni borrados registros manualmente, es decir, sirve para verificar que el origen del archivo sea de un sistema de computo. Dicho registro, debe cumplir con el formato indicado en la Tabla 2.4.1. Los campos son descritos en consecuencia. No. Descripción 1 2 3 4 5 6 Tipo de Registro Número de Registro Cantidad de Movimientos Sumatoria de Números de Socios Sumatoria de Sueldo Mensual Filler Tipo Numérico Numérico Numérico Numérico Numérico Alfanumérico Tabla 2.4.1 Campos del registro de cifra de control 2.4.1 Tipo de Registro Tipo Longitud Opcional Descripción Numérico 2 No Valor fijo 03 2.4.2 Número de Registro Tipo Longitud Opcional Descripción Numérico 5 No Consecutivo que inicia en uno en cada archivo, debe notarse que es el mismo consecutivo que se usa para el registro de detalle. Otra forma de entenderlo es como el número del renglón en el que se encuentra el registro. 2.4.3 Cantidad de Movimientos Interfaces entre la Caja de Ahorro y Nomina V1.3 Ultima revisión 5/Oct/2007 12 Tipo Longitud Opcional Descripción Numérico 5 No Número de registros de detalle. 2.4.4 Sumatoria de Números de Socios Tipo Longitud Opcional Descripción Numérico 11 No Como su nombre lo indica, hay que sumar los números de socio, esto con la finalidad de verificar la integridad del archivo. 2.4.5 Sumatoria de Sueldo Mensual Tipo Longitud Opcional Descripción Numérico 15 y dos decimales Sí Es la cifra con dos decimales, aunque estas sean ceros. Ejemplo: 1250.00 Nota: Debe recordarse que la cifra debe ser reproducible, por lo que se recomienda utilizar el siguiente pseudo código, /****CODIGO CORRECTO****/ Por cada socio: Suma_sueldo := Suma_sueldo + Redondear(socio.sueldo,2). Desplegar Suma_sueldo. En lugar de: /****CODIGO INCORRECTO****/ Por cada socio Suma_sueldo := Suma_sueldo + socio.sueldo. Desplegar Redondear(Suma_sueldo,2). La diferencia es que en el segundo método, el acumulador toma en cuenta todas las decimales y al final redondea, haciendo que el calculo no sea reproducible a partir de las cifras incluidas en el archivo, las cuales solo tienen dos decimales. 2.4.6 Filler Tipo Numérico Interfaces entre la Caja de Ahorro y Nomina V1.3 Ultima revisión 5/Oct/2007 13 Longitud típica Opcional Descripción 117 No Relleno de espacios. Este campo es una herencia del formato de ancho fijo. Interfaces entre la Caja de Ahorro y Nomina V1.3 Ultima revisión 5/Oct/2007 14 2.5 Ejemplos Archivo El Archivo 2.5.1, es un ejemplo de un MOPER válido. Archivo 2.5.1 Ejemplo de MOPER En el pueden observarse los dos tipos de registro que se muestran en consecuencia†. Registro de detalle 02,00001,0012000005,00,418,030,830260,"ERNESTO ","GUERRA ",19830301,"M","SOL",20040119,20040119,"QUI","E"," ","BANAMEX, S","5177125488064594 ","DE LEON ",000000000000000 Registro de cifra de control 03,00085,00084,01008007714,00000000000000000, † Nótese que debido al ancho del presente documento, el registro puede aparecer dividido en varios renglones, pero en el archivo solo ocupa uno. Interfaces entre la Caja de Ahorro y Nomina V1.3 Ultima revisión 5/Oct/2007 15 3 PROCESAMIENTO DEL ARCHIVO DE DESCUENTOS 3.1 Introducción La caja de ahorros hace su cierre de prestamos al final de cada periodo (semana, quincena, mes, catorcena, etc.), proyectando cuotas de préstamo para el siguiente periodo, a partir de ese momento los noministas pueden bajar los archivos de descuento de la pagina, obteniendo los descuentos ya calculados de prestamos, así como las ultimas definiciones de cuotas de ahorros dispuestas por los socios, sin embargo, se les recomienda que los bajen justo cuando comiencen el cierre de su nomina, para que las cuotas de ahorros sean las mas exactas. Una vez teniendo el archivo de descuentos, el nominista deberá contar con una opción en su sistema que le permita subir dicho archivo para procesarlo y emitir un archivo de confirmación incluyendo las cantidades que efectivamente pudieron ser descontadas. 3.1.1 Tipos de descuento A pesar de que en el sistema de caja de ahorros, puede haber varios tipos de ahorros (Ahorro vista, vista 2, un mes, tres meses, Diciembre, etc.) y prestamos (Personal, auto, comercial, con abonos, etc.), los descuentos se engloban en tres tipos para simplificar el registro en los sistemas de nomina: Ahorro vista. Ahorro a plazo. Pago de préstamo. Típicamente, los desarrolladores del sistema de nomina crearan un concepto por cada uno de los tipos de descuento en su sistema para registrarlos y reportarlos en los recibos de nomina. Como se vera mas adelante, los archivos de descuento, incluyen un registro por cada descuento con el que cuente cada socio. Esto es, si un socio tiene préstamo y definió cuotas para ahorro vista y plazo fijo, entonces para este socio habrá 3 registros en el archivo de descuentos, cada uno identificado con una clave de descuentos. Interfaces entre la Caja de Ahorro y Nomina V1.3 Ultima revisión 5/Oct/2007 16 3.1.2 Periodos Los descuentos son identificados también por el número de periodo al cual pertenecen (algo muy similar a las nominas) de tal modo que hablaremos de los descuentos de la semana 4, quincena 2, catorcena 3, mes 1, etc. Nota: El sistema de caja de ahorros, toma en cuenta como primer semana del año, a aquella que incluye al primer viernes del año. Si el sistema de nomina que se esta adecuando maneja otra numeración, deberá hacerse una traducción respetando el criterio, para que no se genere trabajo extra para los noministas, ni para los ejecutivos de cuenta. 3.2 Descripción del proceso Los descuentos incluidos en el archivo deberán ser procesados una vez calculado el sueldo neto†, aplicando primero el descuento de pago de préstamo, siguiendo con el ahorro vista y terminando con el ahorro a plazo; esta prioridad, asegura que el socio cumpla con sus compromisos y que tenga la liquidez necesaria en ahorros. Cabe aclarar, que los descuentos podrán ser cubiertos parcialmente, ya que al seguir el orden, puede que uno o mas descuentos no alcancen a ser cubiertos totalmente, por lo que inclusive podrían ser confirmados como cero o excluirlos de la confirmación (esta decisión se le deja al desarrollador). 3.2.1 Ejemplos A continuación se muestran ejemplos de cómo deben aplicarse los descuentos, indicando los descuentos incluidos en el archivo para un socio dado, la contabilidad del sistema de nominas comenzando el saldo con el sueldo neto y las confirmaciones de dichos descuentos que deberán ser incluidas en el archivo de confirmación. Caso ideal Aquí el socio cuenta con descuentos de ahorros y prestamos, que alcanzan a cubrirse con su sueldo. Descuentos Nomina Confirmación † Se considera sueldo neto al que se obtiene después de aplicar las retenciones de ley y los descuentos propios de la empresa. Interfaces entre la Caja de Ahorro y Nomina V1.3 Ultima revisión 5/Oct/2007 17 Descuento Préstamo Ahorro vista Ahorro a plazo Monto 125.42 100 50 Concepto Percepción Neta préstamo Ahorro vista Ahorro a plazo Cargo Crédito 1000 125.42 100 50 Saldo 1000 874.58 774.58 724.58 Descuento préstamo Ahorro vista Ahorro a plazo Monto 125.42 100 50 Descuentos que sobrepasan al sueldo En los siguientes ejemplos el socio fijó cuotas que exceden al sueldo, esta situación puede darse a propósito o porque el socio perciba menos sueldo debido a faltas por incapacidad o voluntarias. En los casos en que el socio fije a propósito cuotas mayores a su sueldo, él no estará obrando de mala fe, simplemente esta dando la instrucción de que todo el sueldo se deposite en la caja para obtener rendimiento desde un principio. Cabe recordar, que el socio esta ejerciendo su voluntad al fijar las cuotas y que con esto esta instruyendo a la empresa a que se le pague de este modo, por lo que no tendrá queja de ver su recibo en cero como se muestra en los ejemplos. Descuentos Descuento Préstamo Ahorro vista Ahorro a plazo Monto 2000 5000 10000 Nomina Concepto Percepción Neta préstamo Ahorro vista Ahorro a plazo Cargo Crédito 6000 2000 4000 0 Saldo 6000 4000 0 0 Confirmación Descuento Préstamo Ahorro vista Ahorro a plazo Monto 2000 4000 0 Durante y después de una incapacidad Si el socio se encuentra en un periodo de incapacidad el sistema de nomina puede arrojar una percepción en cero en cuyo caso el sistema debe reaccionar como sigue: Descuentos Descuento Préstamo Ahorro vista Ahorro a plazo Monto 1000 500 100 Nomina Concepto Percepción Neta Préstamo Ahorro vista Ahorro a plazo Interfaces entre la Caja de Ahorro y Nomina V1.3 Ultima revisión 5/Oct/2007 Cargo Crédito 0 0 0 0 Saldo 0 0 0 0 Confirmación Descuento Préstamo Ahorro vista Ahorro a plazo Monto 0 0 0 18 Después de confirmar en cero por varios periodos, las cuotas de préstamo se incrementaran por la falta de pago y porque ahora la cuota se cuota se calculara con un plazo menor. En este caso, al reanudar el socio su actividad laboral, puede encontrarse con los siguientes descuentos en su recibo y generarle descontento: Descuentos Descuento Préstamo Ahorro vista Ahorro a plazo Monto 2000 500 100 Nomina Concepto Percepción Neta Préstamo Ahorro vista Ahorro a plazo Cargo Crédito 3000 2000 500 100 Saldo 3000 1000 500 400 Confirmación Descuento Préstamo Ahorro vista Ahorro a plazo Monto 2000 500 100 Ante esta situación, el desarrollador debe decidir cual será la mejor forma de manejar esta situación sin afectar al socio, llegado el primer descuento después de su regreso y alertar al nominista acerca de esta situación, para que pueda solicitar la reestructuración del préstamo, a fin de que los descuentos subsecuentes sean mas razonables. Documento excel A continuación se incluye el archivo de excel utilizado para generar los ejemplos: Archivo 3.2.1 Excel utilizado para los ejemplos Interfaces entre la Caja de Ahorro y Nomina V1.3 Ultima revisión 5/Oct/2007 19 3.3 Archivo de descuentos 3.3.1 Formato del archivo El Archivo de descuentos es un archivo de texto de ancho fijo, que contiene dos tipos de registro, el primero es el registro de detalle, del cual existe uno por cada descuento de cada socio, esto es de uno a tres registros por cada socio, dependiendo de que el socio tenga prestamos y que haya fijado cuotas para los ahorros a plazo o vista. El segundo es el registro de cifra de control, del cual solo se incluye uno por archivo y se ubica al final del mismo. Los registros en el archivo están separados por un salto de línea (ASCII 10 o la combinación ASCII 10 y 13). En ocasiones especiales, cuando alguno de los datos exceda la longitud del campo, este archivo podrá ser enviado usando un formato separado por comas, respetando la disposición de los registros y campos especificados en esta sección, pero se requiere de una petición especial ya que el sistema debe configurarse para enviarlo en especifico al nominista con dicho formato. 3.3.2 Registro de detalle El registro de detalle contiene la relación socio-descuento y tiene el formato indicado en la Tabla 3.3.1. Los campos son descritos en consecuencia. No. 1 2 3 4 5 6 7 8 9 Posición No. de Tipo De A posiciones Tipo de Registro 2 Numérico 1 2 Número de Registro 5 Numérico 3 7 Número de Socio 8 14 7 Numérico Clave Movimiento (Cve. Descuento) 15 17 3 Numérico Valor del Descuento 18 32 15 Numérico Campo6 33 34 2 Numérico Clave de Empresa 35 37 3 Numérico Número de proceso 38 39 2 Numérico Periodo de pago 40 46 7 Numérico Descripción Tabla 3.3.1 Campos del registro de detalle Interfaces entre la Caja de Ahorro y Nomina V1.3 Ultima revisión 5/Oct/2007 20 3.3.2.1 Tipo de Registro Tipo Longitud Opcional Descripción Numérico 2 No Valor fijo 02 3.3.2.2 Número de Registro Tipo Longitud Opcional Descripción Numérico 5 No Consecutivo que inicia en uno en cada archivo, debe notarse que es el mismo consecutivo que se usa para la cifra de control. Otra forma de entenderlo es como el número del renglón en el que se encuentra el registro. 3.3.2.3 Número de Socio Tipo Longitud Opcional Descripción Numérico 7 No Típicamente será el número de trabajador. 3.3.2.4 Clave Movimiento Tipo Longitud Opcional Descripción Numérico 3 No Clave de descuento. 001 = Ahorro Vista, 010 = Ahorro a plazo y 060 = Pago de préstamo. 3.3.2.5 Valor del Descuento Tipo Longitud Opcional Numérico 15 No Interfaces entre la Caja de Ahorro y Nomina V1.3 Ultima revisión 5/Oct/2007 21 Descripción Cantidad a descontar especificada con punto virtual, es decir, que esta multiplicada por 100. Ejemplo: si el descuento es de 125.34 la cantidad que aparecerá es 000000000012534. 3.3.2.6 Campo6 Tipo Longitud Opcional Descripción Numérico 2 Si Típicamente estará relleno con ceros. 3.3.2.7 Clave de Empresa Tipo Longitud Opcional Descripción Numérico 3 No Número asignado por el sistema de caja de ahorros. Este debe ser solicitado al ejecutivo de cuentas. 3.3.2.8 Número de proceso Tipo Longitud Opcional Descripción Numérico 2 No 01 = Sem, 02 = Quincena, 03 = Catorcena, 04 = Mensual 3.3.2.9 Periodo de pago Tipo Longitud Opcional Numérico 7 No Interfaces entre la Caja de Ahorro y Nomina V1.3 Ultima revisión 5/Oct/2007 22 Descripción Tiene el siguiente formato: aaaaccc donde aaaa es el año y ccc es el número de periodo. Ejemplo: si se trata de los descuentos de la tercera quincena del año 2005 entonces aparecerá 2005003. Véase también lo expuesto en el punto 3.1.2. 3.3.3 Registro de cifra de control El registro de cifra de control sirve para que el sistema pueda corroborar que no han sido agregados ni borrados registros manualmente, es decir, sirve para verificar que el origen del archivo sea de un sistema de computo. Dicho registro, debe cumplir con el formato indicado en la Tabla 3.3.2. Los campos son descritos en consecuencia. No. 1 2 3 4 5 6 Descripción Tipo de Registro Número de Registro Cantidad de Movimientos Sumatoria de Número de Socios Sumatoria de Valor Descuento Filler Posición No. de Tipo De A posiciones Numérico 1 2 2 Numérico 3 7 5 8 12 5 Numérico 13 21 9 Numérico 22 40 19 Numérico 41 46 6 Numérico Tabla 3.3.2 Campos del registro de cifra de control 3.3.3.1 Tipo de Registro Tipo Longitud Opcional Descripción Numérico 2 No Valor fijo 03 3.3.3.2 Número de Registro Tipo Longitud Opcional Numérico 5 No Interfaces entre la Caja de Ahorro y Nomina V1.3 Ultima revisión 5/Oct/2007 23 Descripción Consecutivo que inicia en uno en cada archivo, debe notarse que es el mismo consecutivo que se usa para el registro de detalle. Otra forma de entenderlo es como el número del renglón en el que se encuentra el registro. 3.3.3.3 Cantidad de Movimientos Tipo Longitud Opcional Descripción Numérico 5 No Número de registros de detalle. 3.3.3.4 Sumatoria de Números de Socios Tipo Longitud Opcional Descripción Numérico 9 No Como su nombre lo indica, hay que sumar los números de socio, esto con la finalidad de verificar la integridad del archivo. 3.3.3.5 Sumatoria del Valor Descuento Tipo Longitud Opcional Descripción Numérico 19 Sí Es la sumatoria del campo 5 del registro de detalle, especificada con punto virtual, es decir, que esta multiplicada por 100. Ejemplo: si el resultado de la sumatoria es de 125,789.34 la cantidad que aparecerá es 0000000000012578934. 3.3.3.6 Filler Tipo Longitud Opcional Descripción Numérico 6 No Relleno de espacios. Interfaces entre la Caja de Ahorro y Nomina V1.3 Ultima revisión 5/Oct/2007 24 3.3.4 Ejemplos Archivo El Archivo 3.3.1, es un ejemplo de un archivo de descuentos válido. Archivo 3.3.1 Ejemplo de archivo de descuentos En el pueden observarse los dos tipos de registro que se muestran en consecuencia. Registro de detalle 0200001010010800100000000000300000481022005002 Registro de cifra de control 0301264012631331485440000000000004180980 Interfaces entre la Caja de Ahorro y Nomina V1.3 Ultima revisión 5/Oct/2007 25 3.4 Archivo de confirmación 3.4.1 Formato del archivo El Archivo de confirmación, es un archivo de texto separado por comas que contiene dos tipos de registro, el primero es el registro de detalle, del cual existe uno por cada descuento confirmado de cada socio. El segundo es el registro de cifra de control, del cual solo se incluye uno por archivo y típicamente (mas no estrictamente) ira al final del mismo. Los registros en el archivo deberán estar separados por un salto de línea (ASCII 10 o la combinación ASCII 10 y 13). Nota 1: Debe incluirse un salto de línea al final del último registro incluido en el archivo, ya que de otro modo, dicho registro no será leído. Nota 2: El archivo debe contener caracteres ASCII, ya que el formato Unicode no esta soportado, esto debe tomarse en cuenta en sistemas preparados con soporte para internacionalización. 3.4.2 Registro de detalle El registro de detalle contiene la relación socio-descuento confirmado y tiene el formato indicado en la Tabla 3.4.1. Los campos son descritos en consecuencia. No. Descripción Tipo 1 2 3 4 5 6 7 8 9 10 11 Tipo de Registro Número de Registro Número de Socio Campo4 Clave de Empresa Fecha Movimiento Clave Movimiento Destino Valor Movimiento Clave Movimiento Origen Número de proceso Periodo de pago Numérico Numérico Numérico Numérico Numérico Numérico Numérico Numérico Numérico Numérico Numérico Tabla 3.4.1 Campos del registro de detalle 3.4.2.1 Tipo de Registro Interfaces entre la Caja de Ahorro y Nomina V1.3 Ultima revisión 5/Oct/2007 26 Tipo Longitud Opcional Descripción Numérico 2 No Valor fijo 02 3.4.2.2 Número de Registro Tipo Longitud Opcional Descripción Numérico 5 No Consecutivo que inicia en uno en cada archivo, debe notarse que es el mismo consecutivo para todos los registros incluso para el de cifra de control. Otra forma de entenderlo es como el número del renglón en el que se encuentra el registro. 3.4.2.3 Número de Socio Tipo Longitud Opcional Descripción Numérico 7 No Típicamente será el número de trabajador, y si este incluye letras deberá manejarse una equivalencia. 3.4.2.4 Campo4 Tipo Longitud Opcional Descripción Numérico 1 No Vacío o Cero 3.4.2.5 Clave de Empresa Tipo Longitud Opcional Descripción Numérico 3 No Número asignado por el sistema de caja de ahorros. Este debe ser solicitado al ejecutivo de cuentas. Interfaces entre la Caja de Ahorro y Nomina V1.3 Ultima revisión 5/Oct/2007 27 3.4.2.6 Fecha de Movimiento Tipo Longitud Opcional Descripción Numérico 8 No Formato aaaammdd, ejemplo 07/Feb/2005 = 20050207. Indica la fecha en la que deberá ser acreditado el descuento, y debe coincidir con la fecha en la que queda acreditada la nomina del periodo. Nota: en el caso de las nominas atrasadas, se debe especificar la fecha en la que se espera hacer el deposito de la suma confirmada en la cuenta de la caja de ahorro. 3.4.2.7 Clave Movimiento Destino Tipo Longitud Opcional Descripción Numérico 3 No Indica el descuento que se esta confirmando. 1 = Ahorro Vista, 10 = Ahorro a plazo y 60 = Pago de préstamo. Véase también el documento de interfaces opcionales, en él se explica el uso de este campo para confirmar otros tipos de descuento. 3.4.2.8 Valor del Descuento Tipo Longitud Opcional Descripción Numérico 15 No Representa la cantidad que alcanzo a descontarse para el descuento indicado en la campo 7, esta cifra debe especificarse con dos decimales, aunque estas sean ceros. Ejemplo: 1250.00 Interfaces entre la Caja de Ahorro y Nomina V1.3 Ultima revisión 5/Oct/2007 28 3.4.2.9 Clave Movimiento Origen Tipo Longitud Opcional Descripción Numérico 3 Si Para las confirmaciones generadas a partir de un archivo de descuentos, este campo deberá contener un valor vacío o cero. Véase también el documento de interfaces opcionales, en él se explica el uso de este campo para confirmar otros tipos de descuento. 3.4.2.10 Tipo Longitud Opcional Descripción 3.4.2.11 Tipo Longitud Opcional Descripción Número de proceso Numérico 2 No 01 = Semana, 02 = Quincena, 03 = Catorcena, 04 = Mensual Número de periodo Numérico 7 No Tiene el siguiente formato: aaaaccc donde aaaa es el año y ccc es el numero de periodo. Ejemplo: si se trata de los descuentos de la tercer quincena del año 2005 entonces aparecerá 2005003. Véase también lo expuesto en el punto 3.1.2. 3.4.3 Registro cifra de control El registro de cifra de control sirve para que el sistema pueda corroborar que no han sido agregados ni borrados registros manualmente, es decir, que sirve para verificar que el origen del archivo sea un sistema de computo. Dicho registro, Interfaces entre la Caja de Ahorro y Nomina V1.3 Ultima revisión 5/Oct/2007 29 debe cumplir con el formato indicado en la Tabla 3.4.2. Los campos son descritos en consecuencia. No. Descripción 1 2 3 4 5 6 Tipo de Registro Número de Registro Cantidad de Movimientos Sumatoria de Números de Socios Sumatoria de Valor Descuento Filler Tipo Numérico Numérico Numérico Numérico Numérico Alfanumérico Tabla 3.4.2 Campos del registro de cifra de control 3.4.3.1 Tipo de Registro Tipo Longitud Opcional Descripción Numérico 2 No Valor fijo 03 3.4.3.2 Número de Registro Tipo Longitud Opcional Descripción Numérico 5 No Consecutivo que inicia en uno en cada archivo, debe notarse que es el mismo consecutivo que se usa para el registro de detalle. Otra forma de entenderlo es como el número del renglón en el que se encuentra el registro. 3.4.3.3 Cantidad de Movimientos Tipo Longitud Opcional Descripción Numérico 5 No Número de registros de detalle. Interfaces entre la Caja de Ahorro y Nomina V1.3 Ultima revisión 5/Oct/2007 30 3.4.3.4 Sumatoria de Números de Socios Tipo Longitud Opcional Descripción Numérico 11 No Como su nombre lo indica, hay que sumar los números de socio, esto con la finalidad de verificar la integridad del archivo. 3.4.3.5 Sumatoria de Valor Descuento Tipo Longitud Opcional Descripción Numérico 17 y dos decimales No Es la cifra con dos decimales, aunque estas sean ceros. Ejemplo: 1250.00 Nota: Debe recordarse que la cifra debe ser reproducible, por lo que se recomienda utilizar el siguiente pseudo código, /****CODIGO CORRECTO****/ Por cada socio: Suma_sueldo := Suma_sueldo + Redondear(socio.sueldo,2). Desplegar Suma_sueldo. En lugar de: /****CODIGO INCORRECTO****/ Por cada socio Suma_sueldo := Suma_sueldo + socio.sueldo. Desplegar Redondear(Suma_sueldo,2). La diferencia es que en el segundo método, el acumulador toma en cuenta todas las decimales y al final redondea, haciendo que el calculo no sea reproducible a partir de las cifras incluidas en el archivo, las cuales solo tienen dos decimales. 3.4.3.6 Filler Tipo Longitud Numérico 4 Interfaces entre la Caja de Ahorro y Nomina V1.3 Ultima revisión 5/Oct/2007 31 Opcional Descripción No Relleno de espacios. Este campo es una herencia del formato de ancho fijo. 3.4.4 Ejemplos Archivo El Archivo 3.4.1, es un ejemplo de una confirmación válida. Archivo 3.4.1 Ejemplo de una confirmación En el pueden observarse los dos tipos de registro que se muestran en consecuencia†. Registro de detalle 2,1,12000005,0,418,20041115,1,30000.00,,2,2004021 Registro de cifra de control 3,26,25,300000855,512370.00, † Nótese que debido al ancho del presente documento, el registro puede aparecer dividido en varios renglones, pero en el archivo solo ocupa uno. Interfaces entre la Caja de Ahorro y Nomina V1.3 Ultima revisión 5/Oct/2007 32 4 Bitácora de cambios Aquí se asientan los cambios hechos al documento: Versión 1.3 Se cambia el valor del punto 3.4.3.5 del campo opcional a “NO”. Versión 1.2 Se inicia la bitácora Se modificaron los valores del punto 3.3.2.4 por no reflejar los valores contenidos en el archivo, el problema se presentaba solo en la versión del archivo de descuentos separado por comas. Se arreglaron las referencias cruzadas que apuntaban a capítulos que ahora se incluyen en el documento “Interfaces Opcionales” Versión 1.1 Separa las interfaces minimas de las opcionales las cuales ahora se incluyen en el documento “Interfaces Opcionales” Versión 1.0 Especificación original Interfaces entre la Caja de Ahorro y Nomina V1.3 Ultima revisión 5/Oct/2007 33