Oracle3
Open-source trading engine and MCP server for prediction markets. Fee-aware no-arbitrage trading across related contracts, live on Kalshi, Polymarket and Solana or on paper.
PayLumo — analyze your payslip and spot potential errors: rates compared to the 2026 scale, gross → net breakdown, each contribution explained.
AI translation
PayLumo — analysez votre bulletin de paie et repérez les erreurs potentielles : taux comparés au barème 2026, décomposition brut → net, chaque cotisation expliquée.
FinanceTypeScript · JavaScriptGitHub @PAYLUMOOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Contrôle ton bulletin de paie
Translation pending
Taken from the repository README
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.