freelance-toolkit-fr
Boîte à outils pour freelances/indépendants en France : factures, time tracking, clients, dashboard.
Setup & Installation
Install command
clawhub install hugosbl/freelance-toolkit-frIf the CLI is not installed:
Install command
npx clawhub@latest install hugosbl/freelance-toolkit-frOr install with OpenClaw CLI:
Install command
openclaw skills install hugosbl/freelance-toolkit-fror paste the repo link into your assistant's chat
Install command
https://github.com/openclaw/skills/tree/main/skills/hugosbl/freelance-toolkit-frWhat This Skill Does
A set of Python scripts for French freelancers to manage clients, track time, generate invoices, and view revenue summaries. All data is stored locally in ~/.freelance/. Designed for micro-entreprise status with French legal requirements built in.
Uses only Python 3 stdlib with no dependencies or external services, so it works immediately on any machine without setup.
When to Use It
- Generating a compliant HTML invoice for a client project
- Tracking billable hours across multiple projects
- Checking monthly revenue and unpaid invoices
- Adding a new client with custom rate and contact details
- Reviewing effective hourly rate for the past quarter
View original SKILL.md file
# Freelance Toolkit
Boîte à outils pour freelances/indépendants en France : factures, time tracking, clients, dashboard.
## Scripts
Tous dans `scripts/`. Python 3 stdlib uniquement. Données dans `~/.freelance/`.
### config.py — Configuration prestataire
```bash
python3 config.py set --name "Hugo Dupont" --address "42 rue de la Paix, 75002 Paris" \
--siret "98765432100010" --email "hugo@example.com" --phone "0600000000" \
--iban "FR76 1234 5678 9012 3456 7890 123" --rate 80 --micro
python3 config.py show [--json]
```
Stockage : `~/.freelance/config.json`
### clients.py — Gestion clients
```bash
python3 clients.py add --name "Acme" --email "contact@acme.fr" --phone "0612345678" \
--address "10 rue Example, 75001 Paris" --siret "12345678900010" --rate 80 --notes "Client fidèle"
python3 clients.py list [--json]
python3 clients.py show "Acme" [--json]
python3 clients.py edit "Acme" --rate 90 --notes "Nouveau taux"
python3 clients.py remove "Acme"
```
Stockage : `~/.freelance/clients.json`
### timetrack.py — Suivi du temps
```bash
python3 timetrack.py start "Site web Acme" [--client "Acme"]
python3 timetrack.py stop
python3 timetrack.py status [--json]
python3 timetrack.py log [--from 2026-01-01] [--to 2026-01-31] [--project "Site web"] [--json]
python3 timetrack.py report [--month 2026-01] [--json]
```
Stockage : `~/.freelance/timetrack.json`
### invoice.py — Génération de factures HTML
```bash
python3 invoice.py generate --client "Acme" --items "Dev site web:5:400" "Design logo:1:200" \
[--number 2026-001] [--date 2026-02-15] [--due-days 30] [--no-open]
python3 invoice.py list [--json]
python3 invoice.py show 2026-001
python3 invoice.py paid 2026-001
```
- Génère un HTML professionnel dans `~/.freelance/invoices/`
- Auto-numérotation YYYY-NNN si `--number` omis
- Ouvre dans le navigateur par défaut (sauf `--no-open`)
- Pré-remplit les infos client depuis `clients.json` si trouvé
- Mentions légales françaises incluses (micro-entreprise par défaut)
- `paid` marque une facture comme payée (suivi dans dashboard)
- Montants au format français (2 900,00 €)
- Initiales du prestataire comme logo sur la facture
### dashboard.py — Tableau de bord revenus
```bash
python3 dashboard.py summary [--year 2026] [--json]
python3 dashboard.py monthly [--year 2026] [--json]
```
- Agrège factures + time tracking
- CA total, par mois, par client
- Heures travaillées, jours ouvrés (heures/7), taux horaire effectif
- Factures payées vs impayées
- Taux effectif calculé sur les mois avec CA uniquement
## Configuration
Fichier optionnel `~/.freelance/config.json` :
```json
{
"provider": {
"name": "Hugo Dupont",
"address": "42 rue de la Paix, 75002 Paris",
"siret": "98765432100010",
"email": "hugo@example.com",
"phone": "0600000000"
},
"default_rate": 80,
"tva_rate": 0,
"micro_entreprise": true,
"payment_delay_days": 30,
"payment_method": "Virement bancaire",
"iban": "FR76 1234 5678 9012 3456 7890 123"
}
```
Si `micro_entreprise: true` → TVA = 0%, mention art. 293B du CGI.
Si `tva_rate > 0` → TVA calculée sur chaque facture.
## Données
Tout dans `~/.freelance/` :
```
~/.freelance/
├── config.json — Configuration prestataire
├── clients.json — Base clients
├── timetrack.json — Entrées de temps
└── invoices/
├── 2026-001.html — Factures HTML
├── 2026-001.json — Métadonnées facture
└── ...
```
## Notes
- Montants en euros (€), output en français
- `--json` disponible sur toutes les commandes pour usage machine
- Les factures HTML sont optimisées pour impression / export PDF via navigateur
- Voir `references/french-law.md` pour le détail des obligations légales
Example Workflow
Here's how your AI assistant might use this skill in practice.
User asks: Generating a compliant HTML invoice for a client project
- 1Generating a compliant HTML invoice for a client project
- 2Tracking billable hours across multiple projects
- 3Checking monthly revenue and unpaid invoices
- 4Adding a new client with custom rate and contact details
- 5Reviewing effective hourly rate for the past quarter
Boîte à outils pour freelances/indépendants en France : factures, time tracking, clients, dashboard.
Security Audits
These signals reflect official OpenClaw status values. A Suspicious status means the skill should be used with extra caution.