Initial vault setup
This commit is contained in:
@@ -0,0 +1,94 @@
|
||||
---
|
||||
title: Invio
|
||||
created: 2026-06-07
|
||||
updated: 2026-06-07
|
||||
type: app
|
||||
tags: [catalogue, accounting, dépenses, freelance, python, flask]
|
||||
confidence: medium
|
||||
contested: false
|
||||
sources: [https://selfh.st/apps/?tag=Accounting, https://github.com/PythonicCoder/invio]
|
||||
---
|
||||
|
||||
# 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ée | Valeur |
|
||||
| :--- | :--- |
|
||||
| **Site web** | https://github.com/PythonicCoder/invio |
|
||||
| **GitHub** | https://github.com/PythonicCoder/invio |
|
||||
| **License** | MIT |
|
||||
| **Langage** | Python (Flask) + SQLite/PostgreSQL |
|
||||
| **Étoiles** | ⭐73 |
|
||||
| **Dernière MAJ** | 2024-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)
|
||||
|
||||
```yaml
|
||||
# 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)
|
||||
|
||||
```bash
|
||||
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
|
||||
|
||||
## Pages Liées
|
||||
|
||||
- [[cat-accounting]]
|
||||
- [[recettes-docker-compose]]
|
||||
- [[app-invoice-ninja]]
|
||||
- [[app-akaunting]]
|
||||
- [[app-firefly-iii]]
|
||||
Reference in New Issue
Block a user