#cli #terminal #portuguese #money

app rateio

Um CLI para dividir contas de forma justa

4 releases

Uses new Rust 2024

new 0.1.3 Dec 29, 2025
0.1.2 Dec 29, 2025
0.1.1 Nov 9, 2025
0.1.0 Nov 9, 2025

#89 in Visualization

MIT license

56KB
355 lines

Rateio

rateio é uma ferramenta de linha de comando (CLI) para dividir contas de forma justa e eficiente.

Ela calcula quanto cada pessoa deve pagar ou receber após uma série de gastos compartilhados, otimizando o número de transações necessárias para acertar as contas. Ideal para jantares, viagens, festas ou qualquer situação em que várias pessoas contribuam com valores diferentes.

Instalação

Certifique-se de ter o Cargo instalado e então execute:

cargo install rateio

Como Usar

Uso básico

rateio Rafael=150.00 Maria=80.50 Italo=45.00

Este comando divide o total de R$ 275,50 igualmente entre as 3 pessoas que pagaram, mostrando quem deve pagar ou receber.

Incluindo Pessoas que Não Pagaram

Use a opção -p ou --pessoas quando houver pessoas que devem participar da divisão mas não fizeram nenhum pagamento:

rateio -p 5 Rafael=150.00 Maria=80.50

Neste exemplo, R$ 230,50 serão divididos entre 5 pessoas (R$ 46,10 cada).

Exportar como Grafo

Visualize as transações como um grafo usando Graphviz:

rateio --graphviz Italo=100 "Ana Clara"=50 -p 3 -g | dot -Tpng > grafo.png

Exemplos Práticos

Exemplo 1

Três amigos jantaram. Rafael pagou a comida (R$ 120), Maria pagou as bebidas (R$ 45), e Gabriel não pagou nada:

rateio rafael=120 maria=45 -p 3

Resultado:

Valor total da conta: 165.00
    55.00 para cada

maria:
    total a pagar: 10.00
    total a receber: 0.00

    pagar: 10.00 -> rafael

rafael:
    total a pagar: 0.00
    total a receber: 65.00

Pessoa restante:
    total a pagar: 55.00
    total a receber: 0.00

    pagar: 55.00 -> rafael

Exemplo 2

Imagine uma festa onde várias pessoas compraram bebidas, comida e decoração. Os gastos serão divididos igualmente entre todos os convidados, mas se cada pessoa que não pagou tiver que reembolsar cada organizador separadamente, seriam dezenas de transferências. Com o rateio, os pagamentos ficam muito mais simples!

rateio Ítalo=222.48 Maria=14.5 "Ana Clara"=22.48 Luis=146.6 Guilherme=48.76 Rafael=232 -p 11

Resultado

Valor total da conta: 686.82
    62.43 para cada

Ana Clara:
    total a pagar: 39.95
    total a receber: 0.00

    pagar: 36.22 -> Luis
    pagar: 3.73 -> Ítalo

Guilherme:
    total a pagar: 13.68
    total a receber: 0.00

    pagar: 13.68 -> Ítalo

Luis:
    total a pagar: 0.00
    total a receber: 84.16

Maria:
    total a pagar: 47.94
    total a receber: 0.00

    pagar: 47.94 -> Luis

Rafael:
    total a pagar: 0.00
    total a receber: 169.56

Ítalo:
    total a pagar: 0.00
    total a receber: 160.04

Cada uma das 5 pessoas que restaram:
    total a pagar: 62.43
    total a receber: 0.00

    pagar: 33.91 -> Rafael
    pagar: 28.52 -> Ítalo

Grafo Resultante

Grafo resultante do Exemplo 2

Opções

  • -p, --pessoas <NÚMERO>: Define o número total de pessoas para a divisão. Se não for especificado, a conta será dividida apenas entre aqueles que realizaram pagamentos.
  • --graphviz: Exporta o resultado no formato Graphviz DOT em vez do relatório de texto.
  • -h, --help: Mostra a mensagem de ajuda.
  • -V, --version: Mostra a versão do programa.

Dependencies

~9–29MB
~492K SLoC