Aller au contenu
Tous les projets

khlass.ma

Khlass

Facturation et conformité pour les auto-entrepreneurs marocains.

Rôle
Seul : produit, design, code et infrastructure
Année
2026
Site
khlass.ma
La page d’accueil de Khlass

Le problème

Les freelances marocains vivent avec des limites strictes : un plafond de chiffre d’affaires annuel, un impôt forfaitaire sur chaque dirham encaissé, et une retenue à la source de 30 % dès qu’un même client dépasse 80 000 MAD dans l’année. Les outils de facturation génériques font des PDF. Khlass répond aux questions qui comptent vraiment : quelle marge reste-t-il cette année ? Quel client va franchir le seuil ? Combien d’impôt est dû ce trimestre ?

Ce que j’ai construit

  1. 01 Devis, factures et avoirs avec une numérotation annuelle sans trou (FA-2026-0001), où un numéro ne peut qu’avancer.
  2. 02 Des jauges en temps réel pour le plafond annuel et le seuil par client, calculées sur l’argent réellement encaissé et converties en MAD à la date du paiement.
  3. 03 Un éditeur de documents A4 libre : blocs positionnés au millimètre, mentions légales déplaçables mais jamais supprimables.
  4. 04 Des PDF au pixel près, générés par Chromium headless, avec une solution de repli automatique quand Chromium n’est pas disponible.
  5. 05 Des abonnements par carte via YouCan Pay ou par virement validé manuellement, les deux passant par un seul et même chemin d’activation.
  6. 06 Tout le produit, documents compris, en français et en anglais.

Les détails qui m’ont obsédé

  • Une facture émise est immuable. Les corrections passent par un avoir lié à l’original, exactement comme la loi l’attend.
  • Plafonds, taux et mentions légales vivent dans un seul fichier de configuration : une nouvelle loi de finances, c’est une ligne à changer, pas une chasse dans le code.
  • Les clients qui paient depuis l’étranger via Deel, Upwork ou Payoneer ont un total annuel au lieu d’une jauge de retenue qui induirait en erreur.
  • Le contenu légal est figé à l’émission ; l’habillage est appliqué au rendu. Changer de logo ne réécrit jamais l’historique.

Stack

  • Laravel 13
  • PHP 8.4
  • Chromium PDF
  • YouCan Pay
  • MySQL
  • Redis
  • Cloudflare R2
  • Turnstile
  • Alpine.js
  • Tailwind CSS
  • Blade
  • Docker
Projet suivant eStock Ventes, achats et stock pour les entreprises marocaines.