← Toutes les réalisations
Outils & applications

Compta

Comptabilité locale, chiffrée et déterministe pour micro-entreprise

Les logiciels de comptabilité indépendante du marché sont des SaaS mensuels dont les données bancaires transitent par le cloud. Tech Fox a conçu Compta, une application de comptabilité 100 % locale pour micro-entrepreneur : un cœur métier Swift qui importe les relevés bancaires, catégorise les opérations de façon strictement déterministe et auditable, calcule les cotisations URSSAF et tient les registres légaux inaltérables ; le tout chiffré au repos et exposé par une interface web locale moderne servie par un serveur Swift embarqué. Aucun serveur distant, aucune donnée qui sort du Mac.

Année2026
StatutmacOS · testé sur données réelles
Point fort100 % local
Swift 6SwiftUISQLite (GRDB) + SQLCipherNetwork.frameworkNext.js 16React 19Tailwind v4shadcn/uiRecharts
100 %local ; aucune donnée ne sort du Mac
Chiffrébase illisible sans la clé (SQLCipher)
65tests Swift verts sur le socle métier
SHA-256registre légal scellé et inaltérable

Contexte & problème résolu

Marque Compta / Tech Fox
Marque Compta : renard origami en facettes sur squircle dégradé, lisible du favicon à l'icône macOS.

Un micro-entrepreneur doit chaque mois ou trimestre suivre ce qu'il a encaissé et dépensé (perso et pro mélangés sur ses relevés), distinguer ce qui entre dans le chiffre d'affaires déclarable, calculer et provisionner ses cotisations URSSAF, tenir un livre des recettes légal et inaltérable conservé dix ans, et surveiller ses plafonds. Le marché français (Indy, Freebe, Abby, Tiime, Qonto…) répond par des SaaS mensuels dont la valeur repose sur l'agrégation bancaire : les données réelles transitent obligatoirement par le cloud d'un prestataire agréé. Pour une activité manipulant des données financières sensibles, Tech Fox a fait le choix inverse : tout reste sur la machine.

Contrainte-pivot identifiée dès la recherche : lire les comptes en direct via l'open banking (DSP2) exige en France un agrégateur agréé muni d'un certificat qualifié, inaccessible à un particulier, et la donnée transiterait forcément par le cloud. Le « 100 % local » ne peut donc porter que sur le stockage et le traitement. Réponse d'architecture : le cœur du produit est l'import de fichiers (relevés bancaires OFX et CSV), la catégorisation locale, le calcul URSSAF et les registres légaux ; la synchro « live » devient un module optionnel opt-in, clairement séparé et documenté comme hors du socle 100 % local.

Architecture : cœur Swift + interface web locale

Icône macOS de Compta
Icône d'application macOS, telle qu'embarquée dans le bundle signé.

Principe directeur : le cœur métier ne connaît ni le réseau ni l'UI. Tout ce qui touche à l'argent est calculé dans un cœur Swift pur, en type décimal exact, et couvert par des tests headless. Un package Swift multi-cibles sépare strictement le cœur métier, la persistance (SQLite via GRDB, chiffrée par SQLCipher), le serveur web local (Network.framework, sans dépendance HTTP externe) et les exécutables (serveur, fenêtre macOS native, outil en ligne de commande de validation).

L'interface est un front Next.js 16 / React 19 exporté en statique puis servi par le serveur Swift ; aucun runtime Node embarqué, aucun calcul comptable côté client. Le flux type va de l'import d'un relevé (parsing, conversion en décimal, déduplication) à la déclaration : toute opération arrive « à trier » (rien n'entre automatiquement dans le chiffre d'affaires), l'utilisateur transfère et qualifie manuellement, le moteur fiscal agrège par période, et les exports produisent le livre des recettes scellé et une synthèse URSSAF.

  • Invariant non négociable : tout montant est un type décimal exact ; l'usage de flottants binaires est proscrit en comptabilité.
  • Persistance durable : journalisation WAL, écriture synchrone complète, sauvegardes par copie atomique ; jamais de copie d'une base active.
  • Trois itérations d'UI documentées (SwiftUI native, puis SPA vanilla locale, puis Next.js + shadcn/ui) sans jamais changer le moteur ni la base chiffrée.

Import, déduplication & catégorisation déterministe

Le piège central des relevés bancaires français est l'absence de standard : chaque banque impose son séparateur, sa décimale, son encodage, ses colonnes et parfois des libellés multi-lignes. Un lecteur maison conforme au format RFC 4180 gère les guillemets et les retours à la ligne internes aux champs, avec des profils par banque et un mapping des colonnes par nom. La déduplication s'appuie d'abord sur la référence bancaire, complétée d'un index d'occurrence et d'un moteur de réconciliation floue strictement inter-sources (montant exact, fenêtre de dates, similarité de libellé) pour éviter aussi bien les doublons de ré-import que la fusion à tort de deux opérations légitimement identiques.

Contrainte légale absolue posée par Tech Fox : aucun modèle de classement automatique n'est autorisé à qualifier une écriture comptable. L'application propose, l'humain valide. La cascade de catégorisation est déterministe et auditable ; catégorie fournie par la banque (suggestion informative), puis règles transparentes et rejouables définies par l'utilisateur, puis décision manuelle qui fait foi. Un assistant d'aide au classement, strictement cantonné à l'onglet personnel et opt-in, est bordé de trois verrous inscrits dans le code (perso uniquement, écriture de la seule catégorie, vocabulaire fermé) et n'applique jamais rien sans validation humaine explicite.

Moteur fiscal, registres légaux & sécurité

Le moteur fiscal est 100 % déterministe : chiffre d'affaires sur principe d'encaissement, agrégé par période, uniquement sur les recettes transférées en entreprise et qualifiées manuellement. Les paramètres sont datés par année et par activité, jamais codés en dur ; un invariant strict qui couvre les taux de cotisation, l'ACRE dégressive et l'option de versement libératoire. Le risque juridique n°1 (débours contre refacturation) est traité par une checklist des conditions cumulatives : au moindre doute, la recette est classée en chiffre d'affaires à déclarer. Un calendrier de déclaration matérialise les échéances, y compris les périodes sans encaissement (déclaration à zéro obligatoire), et surveille plafonds micro et seuils de franchise de TVA.

Le livre des recettes reprend les colonnes officielles et est scellé par une chaîne de hachage SHA-256 ligne à ligne : toute altération a posteriori casse la chaîne et devient détectable, répondant à l'obligation d'inaltérabilité et de conservation dix ans. Les justificatifs sont stockés chiffrés dans la base. La base entière est chiffrée au repos et illisible sans la clé (vérifié : refusée par sqlite3 sans elle), la clé de chiffrement étant conservée dans un fichier local à permissions restreintes, le trousseau macOS étant réservé aux identifiants de la synchro bancaire optionnelle.

Résultats & compétences

Le socle métier est couvert par une soixantaine de tests Swift verts portant sur le parsing, les importateurs, la déduplication et la réconciliation, la catégorisation (dont l'absence de mutation comptable automatique), les récurrences, les périodes URSSAF, les exports et le scellement. Le front compile sans erreur TypeScript, avec une QA navigateur automatisée (zéro erreur console, responsive vérifié, mode sombre). Le moteur a été exécuté sur l'historique bancaire réel de la micro-entreprise avec validation humaine cas par cas ; les chiffres correspondants étant privés et volontairement exclus de cette fiche. La chaîne de bout en bout est vérifiée : application native signée, base chiffrée persistée, parité fonctionnelle entre le moteur Swift et l'interface.

Le projet démontre l'architecture logicielle (cœur métier pur, une seule source de vérité pour tous les calculs monétaires), le développement Swift 6 avancé, la maîtrise des bases de données et de la sécurité (SQLite/GRDB, SQLCipher, trousseau, migrations, sauvegardes durables), le front-end moderne (Next.js/React/Tailwind/shadcn) intégré à un back-end Swift, le parsing et l'ingestion de données, l'algorithmique déterministe (détection de récurrences, scellement par hachage), une réelle expertise de la fiscalité micro-entreprise et une rigueur privacy-by-design assumée.

Une app Mac native, privée, à achat unique, qui fait mieux que les SaaS : deux volets clairs (gagné/dépensé, déclaré/à déclarer), la catégorisation locale, et la protection ; tout reste sur le Mac, chiffré, registres conservés dix ans.
Positionnement produit Compta
UN PROJET DU MÊME TYPE ?

Construisons-le.

Présentez le problème, même s'il est encore flou. On transforme le besoin en système clair.

Démarrer un projet