O que aprendemos lendo milhares de recibos

IA

Fotografe um recibo, ganhe uma transação preenchida. É o recurso mais pedido em qualquer app de despesas, e parece um problema resolvido — os modelos estão bons, é só apontar um deles para a imagem.

Aí você olha para recibos de verdade.

Recibos são um formato hostil

Não existe padrão. Um recibo é o que a impressora da loja resolveu imprimir, e a variedade impressiona:

  • O total não é o maior número. Ele disputa espaço com o dinheiro entregue, o troco, o saldo de pontos do programa de fidelidade e o resumo de gastos do mês passado.

  • Muitas vezes há vários totais. Subtotal, total antes do imposto, total com imposto, total com desconto, valor cobrado no cartão. Qual deles é “a conta”? O que saiu do bolso de quem pagou — que nem sempre é o impresso com a letra maior.

  • O imposto às vezes está incluído e às vezes é somado, e muitas vezes o recibo não diz qual dos dois.

  • A taxa de serviço se esconde. Uma linha de serviço de 12% fica no meio da lista de itens, igualzinha a um item.

  • Os itens quebram linha. Um nome de produto comprido se divide em duas linhas, e o preço fica na segunda, órfão.

  • O papel térmico desbota, fica vincado no meio e geralmente é fotografado torto, com a luz ruim do restaurante.

Isoladamente, cada um desses problemas tem solução. O difícil é que eles chegam combinados, e um escaneamento que acerta quatro de cinco campos continua sendo um escaneamento que você precisa conferir.

Extrair estrutura, não só números

Decidimos extrair um conjunto específico e limitado: título, total, moeda, data, itens — e imposto, gorjeta e taxa de serviço como campos próprios.

Essa última parte foi a decisão de design que mais importou, e demoramos um pouco para chegar nela.

A versão ingênua trata o recibo como uma lista plana de linhas e deixa as pessoas reivindicarem cada uma. Mas imposto e serviço não são coisas que alguém pediu. Se eles chegam como itens comuns, alguém tem que se oferecer para reivindicar “SERVIÇO 12%”, o que é absurdo e injusto — cai em quem for mais bonzinho, em vez de ser dividido pela mesa.

Então eles saem como custos compartilhados, divididos entre todos na proporção do que cada um consumiu. Extraí-los separadamente é o que torna possível uma divisão justa lá na frente. Se o formato da leitura sai errado, nenhuma tela de divisão, por melhor que seja, consegue consertar.

O campo de moeda também merece atenção. Tirá-la do próprio recibo — o símbolo, o nome dos impostos, a formatação dos números, o idioma — importa demais no caso em que escanear mais vale a pena: em viagem. É justamente quando você tem menos chance de perceber que um jantar de €48 foi registrado como $48. Por isso lemos a moeda no documento, em vez de supor que é a moeda padrão da sua conta.

Datas são a outra armadilha silenciosa. 03/04/2026 são dois dias diferentes, dependendo do país que imprimiu. As convenções de formato da região e o idioma do próprio recibo são indícios fortes, e preferimos usá-los a adotar uma das duas convenções por padrão.

Todo escaneamento passa por você antes de ser salvo

Esta é a decisão de design de que temos mais certeza, e a que os usuários às vezes questionam.

Um escaneamento nunca salva nada sozinho. O recibo é lido junto com a frase que você escreveu ao lado dele, quando você toca em Ler: o papel dá o total, a moeda, a data e os itens, e a frase dá as pessoas e o título. O resultado cai na mesma revisão de qualquer outra frase — com a nota Valor e data lidos de e o nome da foto — e nada é salvo até você tocar em Adicionar. Qualquer coisa lida errado se corrige com um toque numa etiqueta.

A frase e o recibo marcado lidos juntos: €47.77 em 6 de set. divididos com Anna Lopes, com o valor e a data lidos da foto

Depois de adicionada, a transação guarda a foto e os itens, e fica marcada como criada a partir de um recibo — como esta compra de mercado de antes, aberta no painel lateral:

Um recibo escaneado aberto no painel lateral, ao lado da lista de Atividade

O que mantém a revisão honesta é qual número ela mostra. É o impresso como total — o que foi cobrado de verdade de quem pagou —, não uma soma de linhas que o modelo pode ter lido errado. Se as linhas ficam abaixo dele, a diferença vira uma linha Outro, que você pode renomear ou excluir; se passam dele, a diferença vira um desconto. Quando nenhum total está legível, a lista de itens entra no lugar, e, quando nem ela está, a revisão pergunta Quanto? em vez de chutar.

O raciocínio: o custo dos dois tipos de erro é absurdamente desigual. Um escaneamento que você confere e corrige antes de salvar custa cinco segundos de leve irritação. Um número errado salvo em silêncio custa um saldo errado com um amigo que nenhum dos dois percebe por um mês — e, até lá, ninguém consegue reconstruir o que aconteceu de verdade. É por isso que um escaneamento nunca salva em silêncio: ele aparece na sua frente, e só Adicionar salva.

Um registro de contas é infraestrutura de confiança. Um app de despesas que às vezes erra sem ninguém ver é pior do que um que pede para você dar uma olhada nas coisas, porque todo o valor dele está em as duas pessoas acreditarem no número.

Então o escaneamento digita. A conferência fica com você. Achamos que essa é a divisão de trabalho certa, mesmo com os modelos cada vez melhores, porque a questão não é a precisão do modelo — é que você é o único que sabe se o número no papel é o número que realmente importa.

Escaneamentos têm limite mensal

Escanear com IA tem um custo real a cada chamada, então tem cota em vez de ser ilimitado:

Plano

Escaneamentos por mês

Free

5

Pro

100

Cinco por mês é, de propósito, o suficiente para os casos em que escanear realmente compensa — a conta longa do restaurante, a compra grande do mercado — sem ser um teste que expira. De qualquer jeito, digitar um café de €4 é mais rápido do que fotografá-lo.

Com o que ele combina

O escaneamento rende mais quando alimenta outra coisa. Duas combinações que usamos muito:

Escanear e dividir por itens. Os itens saem do recibo já separados, com as quantidades, então atribuí-los às pessoas leva poucos toques. Bom para grupos pequenos com uma conta detalhada.

Dividindo um recibo escaneado por itens: cada linha vai para quem consumiu, e o que ninguém recebe fica com você

Escanear e compartilhar. Tenha um total certinho sem digitar nada e depois deixe cada um reivindicar a própria parte. Bom para grupos grandes, em que você não quer ser a pessoa interpretando um recibo em nome de outras nove.


O escaneamento de recibos está em todos os planos, inclusive no Free. Ele começa no campo de frase: anexe a foto pelo clipe (Anexar uma foto ou arquivo), toque em Recibo nela, escreva com quem você dividiu e toque em Ler.

Uma foto de recibo anexada e marcada como Recibo: ela será lida quando você tocar em Ler

Continue lendo