Initial vault setup

This commit is contained in:
2026-06-09 18:40:21 +02:00
commit bda02d587f
3692 changed files with 402457 additions and 0 deletions
@@ -0,0 +1,155 @@
---
title: Receipt Wrangler
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, document-management, receipts, scanner, ocr, typescript, nodejs]
confidence: high
contested: false
sources: [https://selfh.st/apps/?tag=document-management, https://github.com/Receipt-Wrangler/receipt-wrangler, https://www.receiptwrangler.io/]
---
# Receipt Wrangler 🧾
> **Gestionnaire de reçus/tickets de caisse** spécialisé : uploadez vos tickets scannés, Receipt Wrangler les OCR, extrait les métadonnées (montant, date, vendeur, catégorie), et permet la validation collaborative en équipe.
| Métadonnée | Valeur |
| :--- | :--- |
| **Site web** | https://www.receiptwrangler.io/ |
| **GitHub** | https://github.com/Receipt-Wrangler/receipt-wrangler |
| **License** | AGPL-3.0 |
| **Langage** | TypeScript / Node.js (NestJS + Angular) |
| **Étoiles** | ⭐19 |
| **Dernière MAJ** | 2026-05-01 |
| **Catégorie** | [[cat-document-management]] |
## Description
Receipt Wrangler est un **gestionnaire de reçus** (tickets de caisse, factures) pensé pour les **équipes** (comptabilité, RH, associations) qui doivent **valider et catégoriser** les dépenses avant remboursement ou export comptable. Contrairement à Paperless (généraliste) ou Firefly III (budgeting), Receipt Wrangler est **ultra-spécialisé** sur le workflow de gestion des notes de frais : upload, OCR, validation par un manager, export CSV/PDF vers un logiciel comptable.
L'**OCR** est basé sur Tesseract 5 (auto-hébergé) ou un service cloud optionnel (Google Vision, AWS Textract) pour une meilleure qualité sur les tickets froissés/sombres. Le **parser** extrait automatiquement : montant TTC/HT, TVA, date, vendeur, numéro de ticket, devise. Les **règles de catégorisation automatique** (regex sur vendeur → catégorie) accélèrent le classement. L'**API REST** complète permet l'intégration avec des outils tiers (Slack pour notifications, ERP pour export).
L'**UI Angular** est dense et orientée « workflow » : tableau de bord des reçus en attente, vue détaillée avec preview du scan, commentaires/mentions pour collaboration, historique d'audit complet, export groupé. Le **multi-utilisateurs** est natif (auth, groupes, permissions par groupe), ce qui distingue Receipt Wrangler des apps mono-utilisateur. Idéal pour les **TPE, associations, labos, services comptables** qui gèrent 50-500 reçus/mois.
## Installation
### Via Docker Compose (recommandé)
```yaml
# docker-compose.yml
services:
api:
image: ghcr.io/receipt-wrangler/api:latest
container_name: receipt-wrangler-api
restart: unless-stopped
ports:
- "8085:3000"
environment:
- DATABASE_URL=postgres://receipt:***@db:5432/receipt
- JWT_SECRET=*** - UPLOAD_DIR=/data/uploads
- OCR_ENGINE=tesseract
- OCR_LANG=fra+eng
- TESSERACT_PATH=/usr/bin/tesseract
- APP_URL=https://receipts.example.com
volumes:
- receipt-data:/data
depends_on:
- db
frontend:
image: ghcr.io/receipt-wrangler/frontend:latest
container_name: receipt-wrangler-frontend
restart: unless-stopped
ports:
- "8086:80"
environment:
- API_URL=http://api:3000
db:
image: postgres:16-alpine
container_name: receipt-db
restart: unless-stopped
environment:
- POSTGRES_DB=receipt
- POSTGRES_USER=receipt
- POSTGRES_PASSWORD=*** volumes:
- receipt-db:/var/lib/postgresql/data
volumes:
receipt-data:
receipt-db:
```
> **Note** : pour l'OCR Tesseract, s'assurer que le binaire `/usr/bin/tesseract` et les modèles `fra.traineddata`/`eng.traineddata` sont présents dans l'image API (image custom requise si pas embarqués).
### Installation manuelle
1. **Pré-requis** : Node.js 18+, Angular CLI 16+, PostgreSQL 14+, Tesseract 5 + langues, ImageMagick.
2. **API** : `git clone https://github.com/Receipt-Wrangler/receipt-wrangler-api && cd receipt-wrangler-api && npm install && npm run build && npm start` (port 3000).
3. **Frontend** : `git clone https://github.com/Receipt-Wrangler/receipt-wrangler-frontend && cd receipt-wrangler-frontend && npm install && npm run build` (sert le bundle statique via Nginx).
4. **DB** : créer la base `receipt`, configurer `DATABASE_URL` dans `.env`.
5. **Premier admin** : créé via `npm run seed` ou via l'UI au premier lancement.
## Configuration
- **Premier admin** : créé via la commande seed ou via l'UI (mode invitation).
- **Groupes** : créer des groupes (ex: « Équipe Marketing », « Compta ») avec rôles distincts (lecteur, validateur, admin).
- **Catégories** : définir les catégories de dépenses (Transport, Repas, Hébergement, Fournitures, etc.) avec regex d'auto-catégorisation.
- **Validation** : configurer le workflow de validation (ex: « tout reçu > 50€ doit être validé par un manager »).
- **Export** : configurer les formats d'export (CSV, PDF groupé, format ERP).
- **OCR** : choisir le moteur (Tesseract local ou cloud), définir les langues.
- **Notifications** : configurer SMTP pour emails (notifications de validation) et webhooks Slack optionnels.
- **HTTPS** : obligatoire via reverse proxy.
- **Backups** : `pg_dump` + rsync du dossier `uploads/`.
## Alternatives
### Open Source
- [[app-paperless-ngx]] — GED complète (peut gérer des reçus)
- [[app-mayan-edms]] — EDMS enterprise
- [[app-papermerge]] — GED moderne
- [[app-docspell]] — EDMS Scala avec ML auto
- [[app-papra]] — GED TypeScript minimaliste
- **Firefly III** — budgeting/finance (gère les dépenses mais pas l'OCR de reçus)
- **Actual Budget** — budgeting local-first
- **GnuCash** — comptabilité double-partie (desktop)
- **Invoice Ninja** — facturation + dépenses (PHP)
### Propriétaires
- **Expensify** — référence freemium, OCR excellent, export comptable
- **Rydoo** — gestion notes de frais enterprise
- **Spendesk** — cartes + reçus entreprise
- **Lettuce** — gestion reçus simple
- **Dext** (anciennement Receipt Bank) — référence comptable
- **QuickBooks** — comptabilité + reçus
- **Pennylane** — comptabilité + reçus (FR)
- **Sage** — comptabilité enterprise
## Sécurité
- **HTTPS obligatoire** + HSTS via reverse proxy.
- **JWT** : `JWT_SECRET` long et aléatoire.
- **2FA** : TOTP natif dans les paramètres utilisateur (depuis v2+).
- **SSO OIDC/SAML** : intégrable via `passport-openidconnect` (config manuelle).
- **RBAC** : permissions par groupe, très granulaires.
- **Audit log** : toutes les actions loggées (upload, validation, export).
- **Chiffrement at-rest** : monter les volumes sur stockage chiffré.
- **Quotas** : limiter la taille d'upload par user pour éviter les abus.
- **CVE** : Node.js/Angular à jour, suivre les releases GitHub.
- **Backups testés** : tester la restauration (DB + scans).
- **Conformité RGPD** : les reçus contiennent des données personnelles (nom, montant) — attention à la conservation.
## Ressources
- Site officiel : https://www.receiptwrangler.io/
- Documentation : https://docs.receiptwrangler.io/
- GitHub : https://github.com/Receipt-Wrangler/receipt-wrangler
- Discord communautaire : https://discord.gg/receipt-wrangler
- selfh.st : https://selfh.st/apps/?tag=document-management
## Pages Liées
- [[cat-document-management]] — catégorie parente
- [[app-paperless-ngx]] — GED plus généraliste
- [[app-docspell]] — EDMS auto-classé
- [[app-papermerge]] — concurrent moderne
- [[recettes-docker-compose]] — templates de déploiement
- [[securisation-home-lab]] — bonnes pratiques sécurité