Skip to content
Continuous updates

Everything we've shipped

Full transparency on Levia's evolution. We ship weekly. Here's the complete history.

NewImprovementFixSecurity

v0.11.0 · June 21, 2026

Fiche salariale RH complète : conformité Code du Travail TN + contacts d'urgence + tranches d'ancienneté visualisées

Latest version
TunisieRHConformité

La fiche salariale TN couvre maintenant l'intégralité des informations RH légalement requises (Art. 143 Code du Travail) — état civil structuré, contrat (essai + préavis), catégorie socioprofessionnelle selon Convention Collective Cadre 1973, et contacts d'urgence en relation 1-N. Plus aucun client TN n'a besoin d'un Excel parallèle.

Nouvelle section "🪪 État civil" : date/lieu de naissance, nationalité (TN/FR/MA/DZ/LY/MU), téléphone, email perso, adresse postale structurée.
Modèle Contact d'urgence relationnel 1-N par salarié (nom, lien, téléphone, email, contact principal).
Nouvelle section "📜 Contrat" : période d'essai en jours, date fin d'essai, préavis en jours — hints légaux selon convention sectorielle.
Catégorie socioprofessionnelle (Cadre / Agent de maîtrise / Employé / Ouvrier) selon Convention Collective Cadre TN 1973 Art. 8+40.
Type de contrat structuré (CDI / CDD / Stage / Apprentissage / Freelance / Temps partiel) + situation familiale + nombre d'enfants à charge (parts fiscales IRPP).
Fiche salariale réorganisée en 5 sections nommées avec icônes pour clarté visuelle (💰 Rémunération · 🔒 Identifiants chiffrés · 💼 Informations RH · 📜 Contrat · 🪪 État civil).
Matricule fiscal affiché uniquement pour les freelances/consultants (les CDI/CDD sont couverts par la DAEF employeur).
Catégorie salaire (grille convention) accessible directement depuis le formulaire d'édition (avant : double dropdown, redondance retirée).
Tenant isolation stricte sur toutes les mutations état civil + contact d'urgence + audit log avec masquage automatique des données personnelles (téléphone, adresse).

v0.10.0 · June 20, 2026

Conformité paie Tunisie avancée : tranches d'ancienneté + 13e mois automatique

TunisiePaieConformité

Les conventions collectives tunisiennes (Banques, Textile, etc.) sont désormais activables en 1 clic. Le moteur de paie applique automatiquement les tranches d'ancienneté selon la date d'embauche du salarié et injecte la prime du 13e mois en décembre selon le mode choisi.

Nouveau modèle `SeniorityBand` : tranches d'ancienneté paramétrables, versionnées dans le temps, applicables par secteur (BANKING / TEXTILE) ou par défaut org.
/admin/payroll/seniority-bands : bandeau 3 conventions TN en 1 clic (BANKING 2/5/10/15%, TEXTILE 2/4/6/8%, GENERAL 2/5/8%), formulaire création manuelle, historique pliable des tranches expirées.
Injection automatique de la prime d'ancienneté dans chaque bulletin selon `Member.startDate` et la convention active. Fallback rétrocompat sur le `seniorityRate` plat manuel si aucune tranche ne match.
Section "13e mois (TN)" dans `/admin/payroll/settings` : 3 modes (1 mois plein / Moyenne annuelle / Prorata mois travaillés) + minMonths configurable (12 année complète, 6 banques, 0 toujours prorata). Ligne THIRTEENTH_MONTH injectée automatiquement sur les bulletins de décembre.
/admin/payroll/allowances enrichi : bouton "Convention bancaire" provisionne en 1 clic les 5 indemnités TN courantes (Transport 60 TND exonéré, Repas, Scolarité, 13e mois, 14e mois). Mode "Complet" ajoute Ramadan, Aïd, Logement, Représentation, Solde de tout compte.
Fiche salariale enrichie : `contractType`, `maritalStatus` (5 statuts), `numberOfChildren`. CSV import bulk étendu de 16 à 26 colonnes pour l'onboarding accéléré.
Aides RH contextuelles sur 3 pages settings paie : panneaux pédagogiques pliables, exemples chiffrés (3 000 TND × 5% = 150 TND/mois), statut légal de chaque convention, conséquences fiscales détaillées (IRPP + CNSS). FR/EN/AR.
Nouveau script de validation `pnpm test:tn-bonuses-flow` : smoke test end-to-end sur base réelle qui vérifie l'injection automatique de la séniorité et du 13e mois en décembre.
Documentation `docs/PAYROLL_TN.md` formalisant les barèmes IRPP, les 3 catalogues de séniorité, les 3 modes de 13e mois, les flags fiscaux des indemnités et 8 points de vigilance à valider avec un expert-comptable tunisien.

v0.8.0 · June 2, 2026

Country pack Maurice 🇲🇺 (CSG/NSF/HRDC/PRGF/PAYE)

MauricePaieMulti-pays

Paie Maurice complète conforme MRA : 6 cotisations + 6 brackets PAYE versionnés, export return mensuel CSV 16 colonnes, 20 grades sectoriels (PRB + BPO + TEXTILE + TOURISM), demo seed `pnpm db:seed:demo-mu` pour tester en 30s.

Taux 2025 seedés via pnpm db:seed:payroll-defaults : CSG (1,5%/3% sous plafond 50k), NSF (1%+2,5% plafond 22 405), HRDC (1,5% patronal), PRGF (4,5% patronal), PAYE 6 tranches.
Export PAYE return MRA mensuel CSV avec 16 colonnes officielles (NIC, NPF/CSG ID, brut, CSG ceiling/employee/employer, NSF idem, HRDC, PRGF, PAYE, Net).
PDF bulletin avec labels MU dédiés (NIC + NPF/CSG ID + MRA) au lieu de TN_STANDARD.
Landing /payroll-mu avec hero MU + tableau 5 cotisations + 6 différenciateurs + 20 grades sectoriels + FAQ MRA + OG image.
Article blog SEO « Paie Maurice 2025 : guide complet CSG/NSF/HRDC/PRGF/PAYE » (~2500 mots).
Demo seed `pnpm db:seed:demo-mu` : org en mode MU + 5 employés MUR + 30 jours fériés multiculturels (Eid + Divali + Ganesh + Chinese Spring Festival + Christmas...).
20 catégories salariales seedées : 6 PRB transverses + 5 BPO + 4 TEXTILE + 5 TOURISM, indicatives V1 (minima à valider MIPA).
11 tests d'intégration calc paie MU (50k MUR + 18.5k MUR) verrouillent les contributions et plafonds 2025.

v0.9.0 · June 2, 2026

Programme cooptation end-to-end (bonus auto-injecté sur fiche de paie)

CooptationPaieHR

Workflow cooptation complet : formulaire employé inline 2-cols, page carrière qui crédite le cooptant, dashboard HR avec stats et bonus configurable, et auto-injection du bonus VALIDATED en ligne de paie lors du calcul de la prochaine campagne.

/my-referrals refondu en 2 colonnes (form + sidebar partage) avec radio cards CV/poste/3 étoiles + RGPD + section spontanée.
3 nouvelles pages employé /jobs + /my-referrals + /resources avec tabs nav partagées et sidebar « Partage ton lien ».
Bannière « Tu as été coopté par X » sur la page carrière publique quand le candidat arrive via lien ?ref=memberId.
Chip fuchsia « Coopté » sur les cards du kanban HR + tooltip avec nom du cooptant.
/admin/recruitment/referral-program : dashboard avec 4 KPIs 90j + top 5 cooptants + activité récente + form bonus avec dropdowns structurés (type/devise) + preview live.
Modèle `ReferralBonus` tracké workflow PENDING_TRIAL → VALIDATED → PAID + auto-création à HIRED + email cooptant à chaque transition.
Auto-injection des bonus VALIDATED en PayslipLine catégorie BONUS lors de calculatePayrollRun (FIXED même devise / PERCENTAGE × salaire / MONTHS × salaire). CUSTOM ou devise mismatch reste manuel.
Bannière violette sur /admin/payroll/runs listant les bonus à injecter au prochain calcul.
Tenant isolation stricte sur toutes les actions bonus (filtre organizationId). MFA non requis sur validateBonus (transaction de petit montant, dérogation au step-up payroll.run.validate).

v0.7.0 · May 24, 2026

Funnel marketing complet + Newsletter RGPD

MarketingSEONewsletter

Pages publiques /pricing, /alternatives (concurrents marché), /about, /blog avec 3 articles long-tail, et capture newsletter avec double opt-in.

Page /pricing avec 4 plans (Free / Essential 8 € / Pro 14 € / Enterprise 22 €) + tableau 30 features + FAQ.
3 pages d'alternatives concurrentielles : /alternatives/talenteo, /alternatives/personio, /alternatives/bayzat (avec OG image dédiée chacune).
Page /about avec roadmap publique, valeurs, et bio fondateur.
Blog /blog avec 3 articles seed (CNSS Tunisie 2026, Ramadan auto, Migration depuis solution existante) + OG dynamique par article.
Newsletter avec double opt-in RGPD (tokens cryptographiques distincts confirm/unsubscribe, anti-énumération).
Admin /super-admin/subscribers avec KPIs + filtres + export CSV pour digest mensuel externe.
PWA install prompt mobile (Android natif + iOS Safari instructions modal). Dismissal smart 7j/90j.
JSON-LD schema.org complet : Organization, SoftwareApplication, FAQPage, BreadcrumbList, Product, Article — boost CTR Google attendu +20-30%.
Sitemap XML dynamique + robots.txt + 10 OG images générées edge.

v0.2.0 · May 23, 2026

Sprint 1 · SSO Google

AuthSSO

Connexion via Google activable par variable d'environnement, masquée si non-configurée.

Better-Auth `socialProviders.google` activé si `GOOGLE_CLIENT_ID` + `GOOGLE_CLIENT_SECRET` définis.
Bouton "Continuer avec Google" sur /sign-in et /sign-up.
Le bouton est masqué proprement si les credentials Google ne sont pas configurés (pas d'erreur 404 visible).

v0.3.0 · May 23, 2026

Sprint 2 · Performance & OKR

PerformanceOKRTalent

Cycles de performance avec objectifs SMART, KR mesurables, reviews SELF/MANAGER et feedback continu — module talent management pour PME.

Modèles : PerformanceCycle, Objective (avec poids et KRs), KeyResult, Review (SELF + MANAGER), Feedback.
Workflow : HR crée cycle (DRAFT) → activate → employés fixent objectifs → openCycleReviews → submit → HR clôture (calibration).
Auto-recalcul de progress sur Objective quand un KR change.
Page /performance employé avec KPI perso + objectifs + reviews à compléter + feedbacks reçus.
Page /admin/performance HR avec liste des cycles + déclenchement batch reviews + clôture.

v0.4.0 · May 23, 2026

Sprint 3 · Recrutement (ATS) + Page carrière publique

RecrutementATSPage carrière

Module ATS complet avec kanban 6 stages, plus une page carrière publique brandée par organisation.

Modèle `JobOffer` avec slug unique par org, status DRAFT/PUBLISHED/CLOSED.
Modèle `Candidate` dédupliqué par email+org, et `Application` avec kanban 6 stages (NEW/SCREENING/INTERVIEW/OFFER/HIRED/REJECTED).
Page **publique** /careers/[orgSlug] : liste des offres PUBLISHED avec branding (logo + couleurs).
Page /careers/[orgSlug]/[offerSlug] avec formulaire de candidature + upload CV (PDF/DOC/DOCX/JPG/PNG, 10 Mo max).
Admin /admin/recruitment avec wizard de création d'offre + détail avec kanban interactif.
Notation 1-5 étoiles par candidature + interview scheduler (VIDEO/PHONE/ONSITE/TECHNICAL_TEST).
Pas d'audit log sur submitApplication (action publique sans actor authentifié) — limite respectée volontairement.

v0.5.0 · May 23, 2026

Sprint 4 · Apprentissage + Skills

FormationCompétencesTalent

Référentiel compétences avec 4 types (HARD/SOFT/LANGUAGE/CERTIFICATION) et catalogue formations avec sessions planifiées.

Modèle `Skill` avec types HARD/SOFT/LANGUAGE/CERTIFICATION et code unique par org.
Matrice compétences employé : auto-déclaration ou évaluation manager, niveaux BEGINNER → EXPERT.
Catalogue formations avec formats (ONLINE/IN_PERSON/HYBRID/SELF_PACED) et types (INTERNAL/EXTERNAL/CONFERENCE/CERTIFICATION).
TrainingSession avec ciblage par compétences requises et nombre de places limité.
Inscription employé anti-doublons + check de places. Email d'invitation auto.
Bonus IA : outil `suggest_trainings` qui croise objectifs OKR + compétences manquantes + sessions ouvertes. L'assistant peut répondre à "quelles formations je devrais prendre ?" avec justification.

v0.6.0 · May 23, 2026

Sprint 5 · Annuaire + API publique

AnnuaireAPIIntégrations

Annuaire interne avec recherche full-text et filtres compétences, plus une API REST publique versionnée (v1) avec OpenAPI 3.0 auto-généré.

Page /directory accessible à tout membre actif : recherche nom/email full-text + filtre département + filtre compétence.
Modèle Prisma `ApiKey` avec scopes granulaires (READ_MEMBERS, READ_LEAVES, READ_PAYSLIPS, READ_ATTENDANCE, WRITE_LEAVES).
Endpoints /api/v1/members, /api/v1/leaves, /api/v1/payslips — paginés cursor-based, aucun champ chiffré exposé.
Documentation OpenAPI auto-générée /api/v1/docs — importable dans Postman, Insomnia, Swagger.
Admin /admin/api-keys (ORG_ADMIN only) : création de clés avec affichage one-shot du token complet, révocation, lastUsedAt humanisé.
Tokens API stockés en hash SHA-256 (jamais en clair en DB). Prefix UI pour identification visuelle (lvk_xxxxxxxx).

v0.1.0 · April 30, 2026

MVP cœur RH + Paie Tunisie

Cœur RHPaiePointageTunisie

Premier release public : gestion congés, pointage multi-modes, paie tunisienne complète avec barèmes versionnés.

Module congés : 6 types par défaut, soldes par année fiscale, workflow EMPLOYEE → MANAGER → HR_ADMIN.
Pointage multi-modes : manuel, web check-in, mobile GPS, QR code, RFID, biométrique (ZKTeco/Suprema/Hikvision).
Paie Tunisie : CNSS, IRPP par tranches, TFP, FOPROLOS, accident travail — taux versionnés dans le temps.
Multi-tenant complet avec isolation par organizationId, et concept Platform Owner (cross-org sans pollution des listings).
Adaptation Ramadan automatique : cron job qui active un WorkSchedule "Ramadan" 1er du mois précédent + reverse à Aïd al-Fitr.
Workflow paie séparation des pouvoirs : PAYROLL_ADMIN calcule, ORG_ADMIN valide avec MFA TOTP step-up.
AES-256-GCM côté application pour IBAN/CIN/SocialSecurityNumber + masquage automatique dans audit log.
Conformité RGPD + INPDP (Tunisie) + CNDP (Maroc) + CNIL (France).

Follow Levia updates

1 email per month max · releases that really change your HR routine. Unsubscribe in one click.

By subscribing, you agree to our privacy policy. Double opt-in: we'll send you a confirmation email.

Want to test all these features?

30-day trial, no CB required. Import your team and test on your real organization, no commitment.

Made in Tunisia
Green Vitest test suite
AES-256-GCM
9 sector agreements
6 payroll countries
75 AI tools
GDPR · INPDP · CNDP · CNIL
MFA step-up mandatory
Ramadan auto-adjust
100% isolated multi-tenant
Made in Tunisia
Green Vitest test suite
AES-256-GCM
9 sector agreements
6 payroll countries
75 AI tools
GDPR · INPDP · CNDP · CNIL
MFA step-up mandatory
Ramadan auto-adjust
100% isolated multi-tenant
Next.js 15.5
Postgres 16 · Neon
Prisma 6.19
Anthropic Claude
Better-Auth 1.6
Vercel Edge · Cloudflare R2
Stripe · Inngest
TypeScript strict
@react-pdf/renderer
Vitest · Playwright
Next.js 15.5
Postgres 16 · Neon
Prisma 6.19
Anthropic Claude
Better-Auth 1.6
Vercel Edge · Cloudflare R2
Stripe · Inngest
TypeScript strict
@react-pdf/renderer
Vitest · Playwright
Changelog · Levia · Levia