Retour aux outils
AutreIntermédiaireOpen sourceAuto-hébergeable

Invio

Outil léger de **suivi de dépenses** et de facturation minimaliste pour freelances, écrit en Python

MAJ 2026-06-14
Invio
Code source★ 0

Invio est une application web simple écrite en Python avec le micro-framework Flask, conçue pour aider les freelances et travailleurs indépendants à suivre leurs dépenses professionnelles et à générer des factures sans la complexité d'outils plus lourds comme [[app-invoice-ninja]] ou [[app-akaunting

Invio 🧾

Outil léger de suivi de dépenses et de facturation minimaliste pour freelances, écrit en Python (Flask) — orienté saisie rapide et rapports mensuels.

MétadonnéeValeur
Site webhttps://github.com/PythonicCoder/invio
GitHubhttps://github.com/PythonicCoder/invio
LicenseMIT
LangagePython (Flask) + SQLite/PostgreSQL
Étoiles⭐73
Dernière MAJ2024-08
Catégorie[[cat-accounting]]

Description

Invio est une application web simple écrite en Python avec le micro-framework Flask, conçue pour aider les freelances et travailleurs indépendants à suivre leurs dépenses professionnelles et à générer des factures sans la complexité d'outils plus lourds comme [[app-invoice-ninja]] ou [[app-akaunting]]. Le parti pris est la simplicité radicale : une interface épurée, peu de menus, et un workflow centré sur la saisie quotidienne de dépenses (avec catégories, montants, dates et notes).

L'application permet de créer et de gérer des clients, d'enregistrer des dépenses (avec TVA, devise, justificatif textuel), puis de générer des factures PDF à partir des prestations ou dépenses accumulées. Des tableaux de bord mensuels/annuels restituent les totaux par catégorie et par client, ce qui aide à la déclaration URSSAF, à la facturation rétroactive et au suivi de trésorerie. L'export CSV des dépenses est supporté pour réimport dans un logiciel comptable (Sage, Indy, etc.).

Le projet se distingue par sa faible empreinte : SQLite suffit en mono-utilisateur, PostgreSQL est recommandé en multi-utilisateurs. L'absence de frontend JavaScript lourd le rend utilisable sur de petits serveurs (Raspberry Pi, VPS 1 Go de RAM). La roadmap communautaire inclut un module de devis et un scan OCR de tickets via Tesseract. Idéal pour un usage personnel ou une TPE de 1 à 3 personnes.

Installation

Via Docker (placeholder à adapter)

# docker-compose.yml
services:
  invio:
    image: ghcr.io/pythoniccoder/invio:latest
    container_name: invio
    restart: unless-stopped
    ports:
      - "5080:5000"
    environment:
      SECRET_KEY: changez-moi
      DATABASE_URL: sqlite:///data/invio.db
    volumes:
      - ./data:/app/data

Manuelle (Python ≥ 3.10)

git clone https://github.com/PythonicCoder/invio.git
cd invio
python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
export FLASK_APP=invio.py
flask run --host 0.0.0.0 --port 5000

Configuration

Les principaux paramètres se règlent par variables d'environnement : SECRET_KEY (obligatoire, jeton aléatoire long), DATABASE_URL (chemin SQLite ou URL PostgreSQL postgresql://user:pwd@host/db), DEFAULT_CURRENCY (par défaut EUR), COMPANY_NAME (affiché sur les PDF). Le fichier config.py permet d'ajuster les modèles de facture (logo, mentions légales, taux de TVA par défaut).

Alternatives

  • Open Source : [[app-akaunting]] (complet, mais plus lourd), [[app-frescom]] (suivi de frais), [[app-invoiceplane]] (PHP), [[app-firefly-iii]] (PFM personnel)
  • Propriétaire : Indy (freelance FR), Henrri (auto-entrepreneur), FreshBooks, QuickBooks Self-Employed

Sécurité

  • Changer impérativement le SECRET_KEY par défaut avant toute exposition réseau
  • Mettre le service derrière un reverse proxy HTTPS (Traefik, Caddy, Nginx + Let's Encrypt) — voir [[recettes-docker-compose]]
  • Sauvegarder régulièrement le fichier SQLite ou le dump PostgreSQL
  • Activer les mises à jour automatiques de l'image (Watchtower ou Diun)
  • En multi-utilisateurs, créer un compte admin avec mot de passe long + 2FA si un reverse-proxy type Authelia est en place

Ressources

  • Code source : https://github.com/PythonicCoder/invio
  • Suivi des dépenses freelance (URSSAF) : https://www.autoentrepreneur.urssaf.fr
  • Tesseract OCR (scan tickets) : https://github.com/tesseract-ocr/tesseract