Digitalitza la gestió del temps

Optimitza la productivitat de la teva empresa i gestiona els temps de tots els treballadors.

Software de control horari

Defineix una política horària per a la teva empresa, automatitza processos i redueix els problemes.

logo woffu

Personalitza el teu registre horari

Podràs seleccionar les regles i quins mètodes de fitxatge vols que segueixi cada empleat segons els seus projectes, àrees o distribució de la jornada.

Crea horaris i jornades laborals

Els podràs fixar segons la flexibilitat que requereixi cada cas.

Configuració avançada

Configura els límits d'hores i els descansos segons les característiques de la teva empresa.

Equilibra la jornada teòrica i la efectiva

Oblida't de malentesos amb la precisió horària de Woffu, estableix toleràncies d'inici i final de la jornada laboral i marca uns estàndards que funcionin per a cada cas.

Simplifica la gestió als teus treballadors

Woffu s’ocupa de la gestió per tu, simplificant el control de tots els aspectes tant per a tu com per als teus treballadors.

Diverses formes de registre

Descompte automatitzat dels descansos

Fàcil modificació dels fitxatges erronis, supervisats

Geolocalització i adreça IP

Sol·licituds d'absència o presència

Notificacions automàtiques per als empleats

Accediu a Woffu a través de l'App

Tindràs al teu abast totes les funcionalitats per poder fitxar i controlar el teu horari des de qualsevol moment i en qualsevol lloc.

imagen trabajadores con tablet

Controla els torns de treball

Coordina els torns dels teus empleats de forma digital prioritzant l’accés fàcil als horaris i possibles canvis.

Configuració dels torns

Varietat il·limitada a la programació d'horaris

Minuts de flexibilitat d´entrada i sortida

Controla les hores extres

Especifica descansos

Personalitza la configuració al moment

Configuració segons contracte o conveni

Compleix la normativa de registre de la jornada laboral

Segueix la normativa vigent del registre de la jornada

Exporteu a l’instant els informes d’assistència de la vostra empresa o consulteu els registres històrics de torns quan tingueu una auditoria.

imagen funcionalidades woffu

Obtingues informes per al teu departament de RRHH

Pren decisions reals, amb la informació actualitzada que necessites.

logo woffu

Configura els teus informes d'acord amb filtres o reports de la teva empresa i obtingues una estratègia empresarial basada en dades.

Actualitza la teva comunicació interna de la manera més eficient

Millora la comunicació entre treballadors i empresa, el departament de RH pot enviar comunicats.

Comparteix anuncis amb tota l'empresa o amb un petit grup que triïs

Opció de justificant de recepció: confirma que arriben els teus missatges

Accelera el procés de signatura a la comunicació interna

Gestiona els teus documents interns amb una distribució eficient i segura

Sol·licitar una demostració

logo woffu
/**Cambio de color en la label al hacer focus en el campo*/ let inputName = document.querySelector('#form-field-name'); let inputEmail = document.querySelector('#form-field-email'); let inputPhone = document.querySelector('#form-field-field_2cc46be'); let inputMessage = document.querySelector('#form-field-message'); let labelName = document.querySelector('label[for="form-field-name"]'); let labelEmail = document.querySelector('label[for="form-field-email"]'); let labelPhone = document.querySelector('label[for="form-field-field_2cc46be"]'); let labelMessage = document.querySelector('label[for="form-field-message"]'); inputName.addEventListener('focus', function() { labelName.style.color = '#205BF1'; labelEmail.style.color = ''; labelPhone.style.color = ''; labelMessage.style.color = ''; }); inputName.addEventListener('blur', function() { labelName.style.color = ''; }); inputEmail.addEventListener('focus', function() { labelName.style.color = ''; labelEmail.style.color = '#205BF1'; labelPhone.style.color = ''; labelMessage.style.color = ''; }); inputEmail.addEventListener('blur', function() { labelEmail.style.color = ''; }); inputPhone.addEventListener('focus', function() { labelName.style.color = ''; labelEmail.style.color = ''; labelPhone.style.color = '#205BF1'; labelMessage.style.color = ''; }); inputPhone.addEventListener('blur', function() { labelPhone.style.color = ''; }); inputMessage.addEventListener('focus', function() { labelName.style.color = ''; labelEmail.style.color = ''; labelPhone.style.color = ''; labelMessage.style.color = '#205BF1'; }); inputMessage.addEventListener('blur', function() { labelMessage.style.color = ''; }); /**Limitar a 9 xifres el camp telèfon*/ document.addEventListener('DOMContentLoaded', function () { const phoneInput = document.querySelector('input[type="tel"]'); if (phoneInput) { phoneInput.addEventListener('input', function () { this.value = this.value.replace(/\D/g, '').slice(0, 9); if (this.value.length < 9) { this.style.borderColor = '#ff4444'; this.setCustomValidity('El teléfono debe tener 9 cifras'); } else { this.style.borderColor = '#A4A8A8'; this.setCustomValidity(''); } }); } });

Agenda la teva demo gratuïta

T'ensenyem com funciona pas a pas i com et pot ajudar a estalviar temps des del primer dia.

Quan prefereixes que et truquem? (Opcional)

Sense compromís, sense correu brossa. Només una trucada per ajudar-te millor.

/**Cambio de color en la label al hacer focus en el campo*/ let inputName = document.querySelector('#form-field-name'); let inputEmail = document.querySelector('#form-field-email'); let inputPhone = document.querySelector('#form-field-field_2cc46be'); let inputMessage = document.querySelector('#form-field-message'); let labelName = document.querySelector('label[for="form-field-name"]'); let labelEmail = document.querySelector('label[for="form-field-email"]'); let labelPhone = document.querySelector('label[for="form-field-field_2cc46be"]'); let labelMessage = document.querySelector('label[for="form-field-message"]'); inputName.addEventListener('focus', function() { labelName.style.color = '#205BF1'; labelEmail.style.color = ''; labelPhone.style.color = ''; labelMessage.style.color = ''; }); inputName.addEventListener('blur', function() { labelName.style.color = ''; }); inputEmail.addEventListener('focus', function() { labelName.style.color = ''; labelEmail.style.color = '#205BF1'; labelPhone.style.color = ''; labelMessage.style.color = ''; }); inputEmail.addEventListener('blur', function() { labelEmail.style.color = ''; }); inputPhone.addEventListener('focus', function() { labelName.style.color = ''; labelEmail.style.color = ''; labelPhone.style.color = '#205BF1'; labelMessage.style.color = ''; }); inputPhone.addEventListener('blur', function() { labelPhone.style.color = ''; }); inputMessage.addEventListener('focus', function() { labelName.style.color = ''; labelEmail.style.color = ''; labelPhone.style.color = ''; labelMessage.style.color = '#205BF1'; }); inputMessage.addEventListener('blur', function() { labelMessage.style.color = ''; }); /**Limitar a 9 xifres el camp telèfon*/ function waitFor(selector, { interval = 200, timeout = 10000 } = {}) { return new Promise((resolve, reject) => { const start = Date.now(); const timer = setInterval(() => { const el = document.querySelector(selector); if (el) { clearInterval(timer); resolve(el); } else if (Date.now() - start >= timeout) { clearInterval(timer); reject(new Error('waitFor timeout: ' + selector)); } }, interval); }); } waitFor('#form-field-field_2cc46be', { interval: 150, timeout: 15000 }) .then((input) => { input.addEventListener('input', function () { this.value = this.value.replace(/\D/g, '').slice(0, 9); if (this.value.length < 9) { this.style.borderColor = '#ff4444'; this.setCustomValidity('El teléfono debe tener 9 cifras'); } else { this.style.borderColor = '#4CAF50'; this.setCustomValidity(''); } }); }) .catch(console.warn);

Parla amb un expert real. T'ajudem a triar la millor solució.

Sense robots, sense esperes. Només assessorament honest d'algú que coneix el teu sector.

Sense compromís. Només et trucarem una vegada per ajudar-te a prendre la millor decisió.

Agenda la teva demo gratuïta

T'ensenyem com funciona pas a pas i com et pot ajudar a estalviar temps des del primer dia.

Quan prefereixes que et truquem? (Opcional)

Sense compromís, sense correu brossa. Només una trucada per ajudar-te millor.

/**Cambio de color en la label al hacer focus en el campo*/ let inputName = document.querySelector('#form-field-name'); let inputEmail = document.querySelector('#form-field-email'); let inputPhone = document.querySelector('#form-field-field_2cc46be'); let inputMessage = document.querySelector('#form-field-message'); let labelName = document.querySelector('label[for="form-field-name"]'); let labelEmail = document.querySelector('label[for="form-field-email"]'); let labelPhone = document.querySelector('label[for="form-field-field_2cc46be"]'); let labelMessage = document.querySelector('label[for="form-field-message"]'); inputName.addEventListener('focus', function() { labelName.style.color = '#205BF1'; labelEmail.style.color = ''; labelPhone.style.color = ''; labelMessage.style.color = ''; }); inputName.addEventListener('blur', function() { labelName.style.color = ''; }); inputEmail.addEventListener('focus', function() { labelName.style.color = ''; labelEmail.style.color = '#205BF1'; labelPhone.style.color = ''; labelMessage.style.color = ''; }); inputEmail.addEventListener('blur', function() { labelEmail.style.color = ''; }); inputPhone.addEventListener('focus', function() { labelName.style.color = ''; labelEmail.style.color = ''; labelPhone.style.color = '#205BF1'; labelMessage.style.color = ''; }); inputPhone.addEventListener('blur', function() { labelPhone.style.color = ''; }); inputMessage.addEventListener('focus', function() { labelName.style.color = ''; labelEmail.style.color = ''; labelPhone.style.color = ''; labelMessage.style.color = '#205BF1'; }); inputMessage.addEventListener('blur', function() { labelMessage.style.color = ''; }); /**Limitar a 9 xifres el camp telèfon*/ function waitFor(selector, { interval = 200, timeout = 10000 } = {}) { return new Promise((resolve, reject) => { const start = Date.now(); const timer = setInterval(() => { const el = document.querySelector(selector); if (el) { clearInterval(timer); resolve(el); } else if (Date.now() - start >= timeout) { clearInterval(timer); reject(new Error('waitFor timeout: ' + selector)); } }, interval); }); } waitFor('#form-field-field_2cc46be', { interval: 150, timeout: 15000 }) .then((input) => { input.addEventListener('input', function () { this.value = this.value.replace(/\D/g, '').slice(0, 9); if (this.value.length < 9) { this.style.borderColor = '#ff4444'; this.setCustomValidity('El teléfono debe tener 9 cifras'); } else { this.style.borderColor = '#4CAF50'; this.setCustomValidity(''); } }); }) .catch(console.warn);

Parla amb un expert real. T'ajudem a triar la millor solució.

Sense robots, sense esperes. Només assessorament honest d'algú que coneix el teu sector.

Sense compromís. Només et trucarem una vegada per ajudar-te a prendre la millor decisió.