viernes, 24 de mayo de 2013

¿Me han calculado bien las retenciones?

Buenas, en este post voy a introducir tema de actualidad que está relacionado con el inicio de la campaña de la renta y la puesta a disposición del borrador de la declaración con los datos fiscales que obran en poder de la Agencia Tributaria. Bueno, ¿y esos datos de donde se sacan? Los datos provienen de los resúmenes anuales que las empresas y profesionales presentan a lo largo del mes de enero: el 180 y 190 para retenciones, el 390 para el IVA, el 193 para rendimientos del capital mobiliario, etc.

Pues es muy importante revisar los datos fiscales porque esos datos provienen de otras personas y el error humano siempre es posible. La Agencia Tributaria simplemente te los muestra lo que ellos han declarado para que tú los compruebes pues con tus certificados de retenciones (que cabe remarcar que no tienen validez legal ninguna ni ningún formato legal, sólo es a título informativo) y con tus facturas o con todas tus nóminas del año anterior.
Cuidado porque hay varias claves según lo que se perciba. Clave A para rendimientos del trabajo personal o nóminas, retribuciones de actividades económicas o facturas es la clave G, A2 dividendos, etc…
Una inmensa mayoría de los contribuyentes tuvieron el año anterior retribuciones del trabajo personal (clave A) y en los datos fiscales pueden ver el bruto de su nómina y las retenciones. Aquí empieza la duda: me han retenido correctamente o he sido yo el que no he informado a la empresa de algún cambio en mi situación personal y familiar a través del modelo 145. Pues bien el trabajador debe informar de cualquier cambio en su situación personal presentando el modelo 145 a la empresa en el momento en el que se produce la variación. Lógicamente te pueden estar reteniendo de más cuando no sería necesario. A la empresa le es indiferente retenerte más o menos ya que lo que se te retiene se lo ingresa mensual o trimestralmente a Hacienda.
En este enlace está el programa que nos permitirá calcular la retención global que deberás tener durante todo el año cuando percibes Rendimientos de Trabajo Personal, es decir, cuando tienes una nómina. Con este programa el trabajador puede saber en todo momento el % de retención que le corresponde e informar mediante el modelo 145 de cualquier variación.  El programa te pedirá el importe bruto. El bruto no es lo que ves en el banco ya que aquí se le resta la retención y el 6,35 % (puede ser diferente según el tipo de contrato) de la Seguridad Social a cargo del trabajador. El importe de la seguridad social si no lo sabes mira en tus nóminas o en tu certificado de retenciones pero suele ser un 6,35 % del bruto, pero según el tipo de contrato puede variar un poco. Para más info mira en este link.
El tan conocido 2% de retención en los contratos de duración inferior al año, que es correcto, puede ocasionar que te toque pagar lo que no te han retenido cuando haces la Renta. O también puedes avisar si ves que en tu nómina no te están reteniendo correctamente ya que las regulaciones de retenciones en diciembre no quedan muy bien.
Bueno pues vamos a hacer un supuesto práctico en el que un trabajador  prevé tener unos ingresos brutos durante el 2013 de 24.500 €. No está casado (clave 3) ni tiene ascendientes ni descendientes a su cargo ni tampoco tiene un préstamo hipotecario constituido antes del 2013. Pues vamos a calcular la retención definitiva que te tendría que salir para el año 2013.
En ‘Datos Personales’ es donde se rellenan los sus datos como su NIF y el año de nacimiento y la situación en la que se encuentra. Si pasas el cursor por encima de cada checkbox verás una pequeña descripción.
En ‘Ascendientes’ y ‘Descendientes’ se rellena si tiene hijos o padres a su cargo.
 ‘En Datos económicos’ es donde rellenamos el bruto de su nómina y la seguridad social en este caso.
 ‘En datos regularización’ pues se rellenarían si por ejemplo hay un cambio en la situación del trabajador informada a través del modelo 145 que obliga a recalcular las retenciones.
Pues bien nada más simple pulsas en ‘Resultados’ y el programa te calculará la retención que deberías tener durante el año, en este caso un 16 %, para que en renta si no tienes pues más rendimientos ni te salga a pagar ni a devolver. Como ves te está haciendo una predeclaración de la Renta.

sábado, 11 de mayo de 2013

Que lo sepas… validar NIF, NIE y CIF en JAVA gracias a la AEAT

Buenas, a veces a los programadores nos gusta escribir código pensando que la funcionalidad que nosotros queremos para nuestra aplicación no ha sido desarrollada. Pues bien a veces estamos haciendo doblemente el trabajo ya que es posible que lo que nosotros queramos hacer ya exista y se puede reaprovechar. Un ejemplo es como validar un NIF, un NIE y un CIF. Verás un montón de páginas con diversos tipos de algoritmos de validación de un NIF, que puedes también reutilizar en tus aplicaciones. Eso sí nadie te garantiza que sean 100 % correctos, para ello hay que analizarlos línea por línea y testearlos haciendo varias pruebas. Pues bien para las empresas que desarrollan software la AEAT ha proporcionado un archivo .jar con un método que podremos usar para conseguir validar un NIF, un NIE y un CIF. Campo que siempre suele aparecer en casi todo formulario que se precie y cuya validación es un poco farragosa. Pues bien nada más simple: agregas el archivo .jar a la liblioteca del tu proyecto y añades el paquete a tu proyecto mediante un import.

El zip con todo lo proporcionado por la AEAT está disponible en este link.
En el zip hay un archivo con documentación muy útil y hasta con un ejemplo de código, pero el nif pásalo con letras en mayúsculas para que funcione bien.

String cad = “000000000”;
Validador val = new Validador();
int ret = val.checkNif(cad);
if( ret > 0) {
// NIF_OK
}
else {
// NIF_MAL
}
...que por ejemplo en un función quedaría:
  public boolean EsValido(String nif) {

        Validador val = new Validador();

        int ret = val.checkNif(nif);

        if (ret > 0) {
        // NIF_OK
            return true;
        } else {
        // NIF_MAL
            return false;
        }
    }
Si el contenido de la variable nif lo obtienes, por ejemplo, de un control jTextfield con el método getText() ya funcionaría y como el resultado de la validación no seria true si no es correcto, podrías avisar al usuario indicando que lo que ha introducido no es válido.

miércoles, 1 de mayo de 2013

Cómo internacionalizar nuestras aplicaciones en Java usando Netbeans


Creo recordar que una vez colgué algo muy similar con .NET y donde se vio lo sencillo que era internacionalizar una aplicación de Windows Forms. Pues en Netbeans más de lo mismo, en menos de 10 minutos con la ayuda de varios asistentes se puede hacer lo que buscamos: que todas las cadenas de texto de nuestra aplicación en Java estén en un archivo y que según la configuración regional y del idioma del ordenador de un usuario aparezcan en el idioma correcto.
Pues lógicamente con Netbeans es en un periquete pero si te fijas en el proceso, que es muy simple, tienes la clave para hacerlo manualmente, por ejemplo, si usas Eclipse. Con la misma idea se podría hacer lo mismo en muy poco tiempo también.

A parte voy a aprovechar para enseñar como añadir a la paleta de controles de Netbeans más controles. Por ejemplo si trabajas con Visual Studio verás que hay controles que en Netbeans no hay, algunos basicos como el Calendar, y otros interesantes como el ErrorProvider. Pues es muy sencillo agregar controles que otros usuarios crean o que tú también puedes crear para usarlos en el IDE. Necesitarás agregar sólo el archivo .jar. En este caso explicaré  como agregar el control jcalendar.
Bueno cuelgo el vídeo ya que, como no voy a escribir ninguna línea de código y sólo voy a usar Netbeans, así quedará más claro que subir un montón de imágenes para cada paso del proceso.
A partir de aquí en el siguiente post continuaré hablando sobre más cosas interesantes siempre que los exámenes me lo permitan.