Ce que nous avons appris en lisant des milliers de reçus

IA

Prenez un reçu en photo, obtenez une transaction déjà remplie. C’est la fonctionnalité la plus demandée dans toutes les apps de dépenses, et elle a l’air d’un problème résolu — les modèles sont bons maintenant, il suffit d’en pointer un sur l’image.

Puis vous regardez de vrais reçus.

Les reçus, un format hostile

Il n’existe aucune norme. Un reçu, c’est ce que l’imprimante du magasin a bien voulu sortir, et la variété est remarquable :

  • Le total n’est pas le plus grand nombre. Il est en concurrence avec l’argent remis, la monnaie rendue, le solde de points de fidélité et le résumé des achats du mois dernier.

  • Il y a souvent plusieurs totaux. Sous-total, total hors taxes, total TTC, total après remise, montant débité sur la carte. Lequel est « l’addition » ? Celui que la personne qui a payé a réellement déboursé — qui n’est pas toujours celui imprimé en plus gros.

  • Les taxes sont tantôt incluses, tantôt ajoutées, et souvent, le reçu ne dit pas lequel des deux.

  • Les frais de service se cachent. Une ligne de service à 12 % se glisse au milieu des articles, l’air d’un article comme les autres.

  • Les articles débordent. Un long nom de produit se coupe sur deux lignes, et le prix se retrouve sur la seconde, orphelin.

  • Le papier thermique s’efface, se froisse en son milieu, et il est en général photographié de biais, sous le mauvais éclairage d’un restaurant.

Chacun de ces problèmes se résout isolément. La difficulté, c’est qu’ils arrivent ensemble, et qu’un scan qui réussit quatre champs sur cinq reste un scan que vous devez vérifier.

Extraire une structure, pas seulement des chiffres

Nous avons fini par extraire un ensemble précis et limité : titre, total, devise, date, articles — et les taxes, le pourboire et les frais de service dans des champs à part.

Cette dernière partie est la décision de conception qui a le plus compté, et il nous a fallu un moment pour y arriver.

La version naïve traite un reçu comme une simple liste de lignes et laisse chacun prendre les siennes. Mais les taxes et le service, personne ne les a commandés. S’ils arrivent comme des articles ordinaires, il faut que quelqu’un se dévoue pour prendre « SERVICE 12 % », ce qui est à la fois absurde et injuste — ça retombe sur la personne la plus conciliante au lieu d’être réparti sur toute la tablée.

Ils ressortent donc comme des frais communs, répartis entre tout le monde au prorata de ce que chacun a pris. C’est en les extrayant à part qu’un partage équitable devient possible ensuite. Si la structure extraite est mauvaise, aucune interface de répartition, si bonne soit-elle, ne peut rattraper le coup.

Le champ devise mérite aussi qu’on s’y arrête. La tirer du reçu lui-même — le symbole, la terminologie fiscale, le format des nombres, la langue — compte énormément dans le cas où le scan est le plus utile : le voyage. C’est justement là que vous avez le moins de chances de remarquer qu’un dîner à €48 a été enregistré comme $48. Nous la lisons donc sur le document plutôt que de supposer la devise par défaut de votre compte.

Les dates sont l’autre piège discret. 03/04/2026 désigne deux jours différents selon le pays qui l’a imprimé. Les conventions de format régionales et la langue du reçu sont de bons indices, et nous préférons nous y fier plutôt que de choisir d’office l’une ou l’autre convention.

Chaque scan vous est montré avant d’être enregistré

C’est la décision de conception dont nous sommes le plus sûrs, et celle que les utilisateurs contestent de temps en temps.

Un scan n’enregistre jamais rien tout seul. Le reçu est lu avec la phrase que vous avez tapée à côté, quand vous appuyez sur Lire : le papier fournit le total, la devise, la date et les articles, et la phrase fournit les personnes et le titre. Le résultat arrive dans le même récapitulatif que n’importe quelle autre phrase — avec la mention Montant et date lus dans suivie du nom de la photo —, et rien n’est enregistré tant que vous n’appuyez pas sur Ajouter. Ce qui a été mal lu se corrige en touchant une étiquette.

La phrase et le reçu marqué lus ensemble : €47.77 le 6 sept. partagés avec Anna Lopes, montant et date lus sur la photo

Une fois ajoutée, la transaction garde la photo et les articles, et elle est marquée comme créée à partir d’un reçu — comme ces courses plus anciennes, ouvertes dans le panneau latéral :

Un reçu scanné ouvert dans le panneau latéral, à côté de la liste Activité

Ce qui garde le récapitulatif honnête, c’est le chiffre qu’il affiche. C’est celui imprimé comme total — ce que la personne qui a payé a réellement déboursé —, pas une somme de lignes que le modèle aurait pu mal lire. Si les lignes n’atteignent pas ce total, l’écart devient une seule ligne Autre, que vous pouvez renommer ou supprimer ; si elles le dépassent, la différence devient une remise. Quand aucun total n’est lisible, c’est la liste des articles qui fait foi, et quand rien n’est lisible, le récapitulatif demande Combien ? au lieu de deviner.

Le raisonnement : les deux types d’échec ont des coûts complètement asymétriques. Un scan que vous survolez et corrigez avant d’enregistrer vous coûte cinq secondes de légère contrariété. Un mauvais chiffre enregistré en silence vous coûte un mauvais solde avec un ami, que ni l’un ni l’autre ne remarque pendant un mois — et à ce moment-là, plus personne ne peut reconstituer ce qui s’est vraiment passé. C’est pour ça qu’un scan n’enregistre jamais rien en silence : il arrive sous vos yeux, et seul Ajouter l’enregistre.

Un carnet de comptes est une infrastructure de confiance. Une app de dépenses qui se trompe parfois, sans que ça se voie, est pire qu’une app qui vous demande de jeter un œil, parce que toute sa valeur tient à ce que les deux personnes croient le chiffre.

Le scan s’occupe donc de la saisie. La vérification reste à vous. Nous pensons que c’est le bon partage des tâches, même à mesure que les modèles progressent, parce que le problème n’est pas la précision du modèle — c’est que vous êtes la seule personne à savoir si le chiffre sur le papier est bien celui qui compte pour vous.

Des scans comptés

L’analyse par IA a un vrai coût à chaque appel, elle est donc soumise à un quota plutôt qu’illimitée :

Offre

Scans par mois

Free

5

Pro

100

Cinq par mois, c’est volontairement assez pour couvrir les cas où le scan l’emporte vraiment — la longue addition au restaurant, les grosses courses au supermarché — sans être un essai qui expire. Pour un café à €4, le taper va de toute façon plus vite que le photographier.

Ce qui va bien avec

Le scan est surtout utile quand il alimente autre chose. Deux combinaisons auxquelles nous revenons souvent :

Scanner puis détailler. Les articles sortent du reçu déjà séparés, avec leurs quantités, donc les attribuer aux personnes ne prend que quelques gestes. Idéal pour les petits groupes avec une addition détaillée.

Partager une addition scannée par articles : chaque ligne va à la personne qui l’a prise, et ce qui n’est attribué à personne reste à votre charge

Scanner puis partager. Un total exact sans rien taper, puis laissez chacun prendre sa part. Idéal pour les grands groupes, quand vous ne voulez pas être la personne qui interprète un reçu pour le compte de neuf autres.


Le scan de reçus est inclus dans toutes les offres, Free compris. Tout part du champ de saisie : joignez la photo avec le trombone (Joindre une photo ou un fichier), touchez Reçu dessus, tapez avec qui vous l’avez partagé, et appuyez sur Lire.

Une photo de reçu jointe et marquée « Reçu » : elle sera lue quand vous appuierez sur Lire

À lire aussi