Como Gerenciar suas Finanças com o Modo Ledger no Emacs

Imagem em Destaque do Emacs Ledger 00

O Modo Ledger é um pacote no Emacs para o programa de contabilidade de linha de comando Ledger. Isso permite que os usuários do Emacs utilizem os poderosos recursos do Ledger no conforto de seu editor de texto favorito.

Índice

  • Por que usar o Modo Ledger e fazer sua contabilidade no Emacs?
  • Como o Ledger funciona
  • Definindo Categorias de Conta no Ledger
  • Instalando o Ledger
  • Usando o Modo Ledger no Emacs
  • Perguntas Frequentes

Leia também: O que é Doom Emacs e como instalá-lo

Por que usar o Modo Ledger e fazer sua contabilidade no Emacs?

O Modo Ledger é simples e intuitivo de usar. Ele automaticamente equilibra suas finanças e notifica você quando há algum problema com seus registros. Ele também permite que você categorize suas despesas e fontes de renda, que podem, então, ser classificadas e analisadas a partir do próprio pacote.

Exemplo de Relatório do Modo Ledger do Emacs 02

Simplificando, o Modo Ledger é uma adição brilhante para alguém que usa o Emacs como sua suíte de produtividade. Ele remove a necessidade de planilhas, permitindo também que você use os dados do ledger em outras partes da sua experiência no Emacs.

O Emacs funciona na ideia de interoperabilidade. Isso significa que qualquer dado produzido no Emacs pode ser reaproveitado em qualquer outro pacote dentro dele. Nesse sentido, o Modo Ledger permite que seus usuários criem e combinem os dados que você escreveu para o ledger com outras ferramentas no Emacs.

Interoperabilidade do Emacs 03

Isso permite que você, por exemplo, crie documentos do Org Mode que se conectam tanto a e-mails arquivados quanto a arquivos de ledger. Não só isso, você também pode facilmente copiar suas entradas de ledger para seus e-mails e vice-versa. Tudo isso porque as entradas no Modo Ledger são texto simples e o Emacs pode facilmente mover isso para qualquer buffer.

Exemplo de Interoperabilidade do Emacs 04

Leia também: Como usar e-mail dentro do Emacs

A Utilidade do Ledger

Como discutido acima, o Modo Ledger do Emacs é apenas uma forma de acessar a utilidade de linha de comando Ledger. Com isso, é importante saber o que é o programa Ledger e o que ele pode fazer imediatamente.

Leia também: Como gerenciar Git no Emacs com Magit

Como o Ledger Funciona

O Ledger é um programa simples que lê ledgers em texto simples e cria relatórios contábeis a partir deles. Ao contrário dos programas tradicionais de contabilidade, ele não cria nem modifica arquivos de banco de dados. Isso torna o Ledger uma solução leve e flexível para acompanhar seu status financeiro.

Tradicional Vs Ledger do Emacs 05

A maneira como o Ledger torna isso possível é que ele espera que cada entrada no arquivo siga um formato específico. Considere o seguinte exemplo:

2022/02/16 Despesas  
    Despesas:Alimentos:Almoço                          140 PHP  
    Despesas:Alimentos:Lanchar                          50  PHP  
    Ativos:Fiat:Dinheiro                            -190 PHP

Aqui, o Ledger espera três coisas do arquivo de texto simples:

  • Uma linha de título que especifica uma data e um nome para a entrada do livro. Neste caso, eu adicionei uma entrada de Despesas em 16 de fevereiro.
  • Um grupo de contas que mostra de onde veio o dinheiro e para onde foi. Neste caso, eu usei meu ativo em dinheiro e o movi para uma conta de despesas.
  • O valor do dinheiro que eu movi. Aqui, eu movi meu ativo em dinheiro duas vezes para meu almoço e lanche. No entanto, tudo foi retirado de uma vez dos meus ativos no final do dia.

Essas três suposições básicas fazem com que você possa facilmente adaptar o Ledger a qualquer tipo de situação. Por exemplo, o Ledger pode lidar tanto com moeda quanto com commodities. Isso o torna útil para pessoas que não apenas rastreiam seus hábitos de gastos, mas também acompanham seus investimentos.

Leia também: Como usar o Emacs para RSS com Elfeed

Definindo Categorias de Conta no Ledger

Uma coisa importante a notar é que as categorias para cada transação no Ledger são completamente arbitrárias. No entanto, a prática geral de rastreamento de finanças pessoais pode ser dividida em cinco partes:

  • A conta de Ativos são as commodities e moedas que você possui. Isso pode ser uma única moeda ou uma mistura de moedas, ações e inventários de itens.
  • A conta de Despesas são as commodities que você comprou com seus ativos.
  • A conta de Renda é onde você pode retirar dinheiro de suas fontes de riqueza. Por exemplo, você pode anexar o salário que recebe sob esta conta.
  • A conta de Passivos é onde você pode atribuir todas as commodities que atualmente deve.
  • A conta de Patrimônio é uma conta especial que você pode usar para determinar seu patrimônio líquido atual. Isso é comumente usado ao criar um saldo inicial no Ledger.

Você pode especificar ainda mais uma transação adicionando dois pontos (:) após cada uma dessas cinco categorias. Por exemplo, uma transação com o rótulo Despesas:Alimentos:Almoço pode ser representada por uma hierarquia de três níveis.

Exemplo de Hierarquia do Emacs Ledger 06

Leia também: 5 Recursos Ocultos que Você Pode Usar para Melhorar o Emacs

Instalando o Ledger

Com isso em mente, instalar o Ledger é simples. Você pode encontrá-lo nos repositórios da maioria das distribuições Linux. Por exemplo, você pode instalar o ledger no Debian e Ubuntu usando apt:

sudo apt install ledger

Para Fedora, você pode usar dnf:

sudo dnf install ledger

No Arch Linux, você pode usar pacman:

sudo pacman -S ledger

No meu caso, estou usando Debian, então vou instalar o ledger através do apt.

Instalando o Ledger 1 do Emacs 07

Leia também: Como usar IRC no Emacs com ERC

Usando o Modo Ledger no Emacs

Para usar o programa Ledger com o Emacs, você precisa instalar seu pacote acompanhante, o Modo Ledger. Este pacote está disponível no repositório ELPA padrão. Assim, você já pode instalá-lo através do gerenciador de pacotes do Emacs.

Website Elpa do Emacs 08

  1. Para fazer isso, você pode pressionar Alt + X e digitar package-install. Isso abrirá um buffer de comando onde você pode digitar o pacote que deseja adicionar ao Emacs. Digite ledger-mode.
  2. A partir daí, o Emacs fará o download e compilará o código-fonte do pacote. Depois disso, você pode usar o Ledger no Emacs através do Modo Ledger.

Modo Ledger Instalado do Emacs 09

Criando seu Primeiro Ledger no Emacs

Por padrão, o Modo Ledger se ativa automaticamente quando o Emacs abre um arquivo que termina com .ledger.

  1. Assim, você pode começar a criar seu próprio arquivo ledger no Emacs pressionando Control + X, Control + F.

  2. Isso abrirá um buffer onde você pode digitar o nome do arquivo que deseja criar. Digite example.ledger.

  3. Depois disso, o Emacs criará o arquivo “example.ledger” no diretório atual e o abrirá para você. A partir daqui, você pode começar a preencher seu arquivo ledger com suas transações.

Leia também: Como Criar Belos Slides Beamer com Emacs

Crie seu Saldo Inicial no Emacs

Para começar a rastrear suas finanças no Ledger, você precisa primeiro fornecer seu saldo atual a ele. Você pode fazer isso deduzindo o que você atualmente possui e deve a uma conta de Patrimônio. Por exemplo, este é o saldo inicial de alguém com um número de Ativos e Passivos:

2022/02/10* Saldo Inicial  
    Ativos:Bitcoin:Poupança                     0.045 BTC  
    Ativos:Bitcoin:Corrente               0.00050712 BTC  
    Ativos:Fiat:Corrente                   15,000.00 PHP  
    Ativos:Fiat:Poupança                   255,944.00 PHP  
    Passivos:Fiat:Empréstimo de Carro            -450,000.00 PHP  
    Passivos:Fiat:Crédito a Pagar        -5,000.00 PHP  
    Passivos:Fiat:Empréstimo de Casa           -755,831.34 PHP  
    Patrimônio:Saldo Inicial

A estrutura da entrada inicial do Ledger é semelhante ao exemplo acima, com uma diferença chave. Aqui, adicionamos um asterisco antes do título da entrada para informar ao Ledger que esta transação já está “liquida”. Isso significa que o Ledger está livre para adicionar e deduzir dessas contas.

Verifique seu Saldo Atual

Uma vez feito, você pode agora testar se o Ledger detecta seu arquivo corretamente.

  1. Para fazer isso, você pode pressionar Control + C, Control + O, Control + R. Isso solicitará ao Modo Ledger que gere um relatório para você.
  2. Digite bal para exibir o saldo corrente.

Exemplo de Saldo do Emacs Ledger 11

  1. Fazer isso produzirá uma hierarquia de todas as contas que você adicionou ao seu arquivo Ledger. Todas elas devem, então, totalizar zero na linha final.

Adicionar Novas Transações

Com isso feito, você pode agora adicionar novas transações ao seu arquivo ledger.

  1. Você pode fazer isso pressionando Control + C, Control + A. Isso informará ao Modo Ledger que você deseja criar uma nova transação.
  2. Em seguida, ele pedirá a data que você deseja para esta transação. Isso é útil se você estiver emitindo cheques que só serão liquidadas após uma certa data. No meu caso, quero usar a data atual, então pressionarei Enter aqui.

Data da Nova Transação do Emacs Ledger 12

  1. A partir daí, o Modo Ledger perguntará o nome de uma transação registrada anteriormente. Você pode usar esse recurso se estiver fazendo pagamentos recorrentes e apenas quiser copiar uma transação anterior. No meu caso, quero criar uma nova transação, então também pressionei Enter aqui.

Transações Anteriores do Emacs Ledger 13

  1. Com isso, o Modo Ledger criará uma nova linha em branco com a data atual. Você pode, então, adicionar a transação que deseja fazer a partir daqui. Por exemplo, adicionei a seguinte transação após meu saldo inicial:
2022/02/10* Saldo Inicial  
   Ativos:PHP:Corrente                     5,000.00 PHP  
   Ativos:PHP:Poupança                     10,000.00 PHP  
   Passivos:PHP:Crédito a Pagar         -5,000.00 PHP  
   Patrimônio:Saldo Inicial  
  
2022/02/11 Minha Primeira Transação  
   Despesas:Alimentos:Lanchar                       250.00 PHP  
   Ativos:PHP:Corrente                      -250.00 PHP

Exemplo de Novas Transações do Emacs Ledger 14

Leia também: 7 Melhores Leitores USENET para Linux

Gerar Relatórios Básicos

  1. Como discutido acima, você pode pressionar Control + C, Control + O, Control + R para gerar um relatório. Além de bal, no entanto, você também pode usar uma série de outros comandos para gerar diferentes relatórios dentro do ledger.
  2. Por exemplo, você pode digitar account e o nome da conta para criar um extrato de conta para uma categoria específica. No meu caso, digitei “Ativos” para criar um extrato para minha categoria de Ativos.

Extrato de Ativos do Emacs Ledger 15

  1. Por outro lado, você pode digitar payee para mostrar todas as transações tituladas com a string que você forneceu. Por exemplo, posso digitar “lanchar” para exibir apenas todas as transações com a palavra lanchar.

Payee Snack do Emacs Ledger 16

  1. Por fim, você pode digitar reg para produzir um relatório de registro de todo o ledger. Este é um relatório de saldo mais detalhado onde o Ledger rastreia cada commodity e como todas elas se equilibram.

Exemplo de Reg do Emacs Ledger 17

Parabéns! Agora você sabe como usar o Emacs para ajudá-lo a rastrear suas finanças. Você também aprendeu sobre o programa Ledger e como pode usá-lo para criar relatórios detalhados sobre seu status financeiro.

Leia também: 5 Pacotes Úteis do Emacs para Melhorar a Produtividade

Perguntas Frequentes

1. O Ledger está lançando um erro de que meu ledger não está equilibrado. O que eu fiz de errado?

Isso pode ser devido a uma série de problemas. O mais comum, no entanto, é que você esqueceu de fechar uma transação no ledger. Uma maneira de corrigir isso é verificar se há transações que não têm nenhum valor negativo.

Um valor negativo no Ledger significa que você está retirando um valor de uma conta. Por outro lado, um valor positivo significa que você está adicionando a ele. Esses dois valores representam um fluxo de ativos e é necessário equilibrar suas contas no Ledger.

Com isso, isso significa que para cada transação que você fará no Ledger, você precisa ter um valor positivo e um negativo.

2. O Ledger é utilizável apenas com ativos do mundo real?

De forma alguma. Como discutido acima, todas as contas usadas no Ledger são completamente arbitrárias. Isso significa que, embora os exemplos neste guia se refiram a ativos do mundo real, você também pode usar o Ledger para rastrear ativos virtuais.

Por exemplo, este é um trecho de um ledger que rastreia ativos em um popular jogo MMO, EVE Online:

2022/01/04 Lucros da Venture  
      Principal:Ativos:Líquido:ISK            150,000,000.00 ISK  
      Alt 1:Renda:Mineração de Minério           -10,000,000.00 ISK  
      Alt 1:Renda:Comércio de Estação      -40,000,000.00 ISK  
      Alt 2:Renda:Execução de Dados (0.0)-100,000,000.00 ISK  
  
2022/01/07 Custos de Manutenção  
      Alt 1:Despesas:Seguro de Nave          10,000.00 ISK  
      Alt 2:Despesas:Nova Nave            53,450,000.00 ISK  
      Principal:Ativos:Líquido:ISK            -53,460,000.00 ISK

3. É possível inverter a ordem das transações, semelhante a um extrato bancário?

Sim e não. Você pode inverter a ordem das transações nos relatórios que o Ledger gera. No entanto, você não pode inverter a ordem das transações em seu arquivo Ledger. Para fazer o primeiro, você pode pressionar Shift + R enquanto estiver em um buffer de relatório para inverter sua ordem.

Crédito da imagem: Unsplash