Open Net Worth
Open Net Worth is an open-source personal AI wealth assistant you run yourself: one ledger for your whole financial life, worked by an AI agent you control.
翻訳待ち
No updates detected yet. GitHub releases will appear here.
Contrôle ton bulletin de paie
翻訳待ち
Loading the full README. The saved excerpt is shown below.
Analyse de bulletin de paie français : décompose le salaire, explique chaque cotisation et repère les erreurs potentielles en comparant les taux au barème légal 2026. • Analyse débloquée par un code d'accès (PAYLUMO_ACCESS_CODE, défaut ASSIATA), sans compte ni paiement. • Import PDF uniquement. Lecture (IA, repli local) + analyse sur le serveur ; le PDF n'est pas conservé. Le résultat est mis en cache dans le navigateur. • Le comparateur de salaire et l'exemple d'analyse sont libres d'accès. • Web responsive (PWA installable) ; app Android via Capacitor à venir, puis iOS.Read the full README ↗
Analyse de bulletin de paie français : décompose le salaire, explique chaque cotisation et repère les erreurs potentielles en comparant les taux au barème légal 2026.
PAYLUMO_ACCESS_CODE, défaut
ASSIATA), sans compte ni paiement.npm install
cp .env.example .env # renseigner ANTHROPIC_API_KEY (npm run set-key), éventuellement PAYLUMO_ACCESS_CODE
npm run dev:all # front (5173) + API (8787), Vite proxifie /api
npm run dev seul lance le front ; les appels /api/* échouent alors
proprement (« Serveur injoignable »).
| Script | Rôle |
|---|---|
npm run dev | front Vite |
npm run server | API locale (Hono, port 8787) |
npm run dev:all | front + API en parallèle |
npm run build | build de production (dist/) |
npm run preview | sert le build |
npm test | tests Vitest |
npm run fixtures | régénère les bulletins PDF synthétiques de test |
npm run typecheck | vérification TypeScript (client + serveur) |
npm run set-key | écrit ANTHROPIC_API_KEY dans .env (saisie au clavier) |
npm run verify:claude | appel réel à l'API sur un bulletin d'exemple |
shared/ code exécuté côté client ET serveur (imports relatifs)
extraction.ts schéma Zod de la lecture IA
lib/ money (parse/format FR), dates
data/ params · rates2026 · taxonomy · explanations.fr
parsing/ pdf-core · extract (→ Payslip) · fromRaw · model
analysis/ context · findings · engine · checks/
server/
claude.ts PDF → RawExtraction via l'API Anthropic (sortie structurée)
localPdf.ts pdf.js « legacy » pour le repli local
analyze.ts runAnalysis : Claude → repli local → analyzePayslip → StoredAnalysis
app.ts app Hono : POST /api/analyze (code d'accès + PDF)
dev.ts serveur de dev local
api/[[...route]].ts entrée serverless Vercel (délègue à server/app)
src/
app/ routes, layout, thème, store (Zustand)
features/
import/ ImportPage (choix → précontrôle → code → analyse) · precheck · requestAnalysis
parsing/pdf.ts câblage worker pdf.js (client) → délègue à shared/parsing/pdf-core
comparator/ comparateur de salaire INSEE (gratuit, 100 % client)
results/ explain/ history/ settings/
lib/storage.ts historique local (IndexedDB)
PDF ─ précontrôle local (couche texte + mots-clés bulletin)
└─ code d'accès ─ POST /api/analyze { code, pdf, fileName }
1. code == PAYLUMO_ACCESS_CODE ? (sinon 401)
2. extractWithClaude → (repli extract local)
3. analyzePayslip (déterministe)
4. → StoredAnalysis | bulletin illisible → 422 | panne → 502 retry
shared/analysis/checks/)Taux salarial/patronal vs barème 2026, cohérence base × taux = montant,
assiette attendue (tranches / plafond), cotisation obligatoire manquante, ligne
inconnue, cohérence du brut, passage brut → net, net après PAS, prélèvement à la
source, SMIC, dépassement de plafond.
POST /api/analyze) exige un code d'accès égal à
PAYLUMO_ACCESS_CODE (défaut ASSIATA), comparé sans casse ni espaces.sessionStorage pour la session en cours.RATE_LIMIT_PER_HOUR, défaut 30) — pour la prod,
brancher Vercel KV / Upstash.api/[[...route]].ts est détecté comme fonction serverless Node ; le front Vite
se build dans dist/. Variables d'environnement (dashboard) :
ANTHROPIC_API_KEY, PAYLUMO_MODEL, PAYLUMO_ACCESS_CODE,
ALLOWED_ORIGINS (= URL de l'app), MAX_PDF_MB, RATE_LIMIT_PER_HOUR.
Arrêté du 22 décembre 2025 (PMSS 4 005 € / PASS 48 060 €), barèmes URSSAF /
BOSS, « Chiffr'Agirc-Arrco 2026 », SMIC au 1er janvier (12,02 €) puis 1er juin
2026 (12,31 €). Taux centralisés dans shared/data/, à revérifier chaque année.
samples/).nullable vérifié accepté par
l'API (npm run verify:claude).Analyse indicative fondée sur des barèmes publics. Elle ne constitue pas un conseil juridique, comptable ou fiscal ; pour toute précision, votre service paie ou un expert-comptable est le bon interlocuteur.