Планирование финансов через командную стоку в ledger

Перевод статьи Program your Finances: Command-line Accounting | Автор: Pete Keen (спасибо!)

Примечание. Больше информации о бухгалтерской книге ledger доступно на сайте ledger-cli.org, включая ссылку на документацию и прочие полезные сведения

Около трех лет назад у меня были некоторые серьезные финансовые проблемы. Я только-только начал свою первую работу, выйдя из колледжа, ради которого я проехал по всей стране, я имел начальную загрузку почти на всю мою жизнь. Это означало: покупка мебели, покупка автомобиля, экипировка кухни и проч. Каждые две недели я хотел бы получать депозит зарплаты, и в течение двух недель он будет почти полностью уйдет из моего текущего счета. Я отклонил чек на аренду или даже два. После второго раза я поклялся, что больше это не повторится и начал отслеживать каждую копейку с помощью программы под названием ledger. Это было сделано задним числом – именно то, что мне нужно было, чтобы войти в нужное русло. На самом деле, увидев деньги, движущиеся по счетам, я изменил свое поведение. В то время, Mint не было, но я не думаю, что это помогло бы почти в такой же степени. Принуждение себя, на самом деле, было ключом к изменению собственного поведения.

ledger - едва ли не самая скучная, строгая программа для учета, которую только можно придумать. В ней нет графики, нет онлайн взаимодействие, нет графического интерфейса. Это, в основном, командная строка, калькулятор с большим количеством специализаций, которые делают его идеальным для отслеживания финансов. ledger идеально подходит для тех, кто ведет учет доходов и расходов в текстовом редакторе. Здесь имеется также очень легкий язык сценариев, очень богатый язык запросов, который позволяет получить на данные, которые вы хотите, с минимумом суеты.

Основная идея заключается в том, что вы записываете все ваши финансовые операции в текстовый файл с помощью простого в освоении синтаксиса, а затем запускаете команду ledger, чтобы сгенерировать отчеты. Вот упрощенная выдержка из моей бухгалтерской книги ledger:

2010/05/20 * Opening Balances
  Assets:Checking                          $500.00
  Liabilities:Amex                         $-10.00
  Equity

2010/05/21 * Salary
  Assets:Checking                        $1,000.00
  Expenses:Taxes:Federal                   $250.00
  Expenses:Taxes:State                     $100.00
  Expenses:Taxes:Social Security            $80.00
  Expenses:Insurance:Medical                $20.00
  Expenses:Insurance:Dental                  $2.00
  Income:Salary                         $-1,452.00

2010/05/21 Rent
  Expenses:Rent                            $600.00
  Assets:Checking

2010/05/21 Pacific Power
  Expenses:Utils:Electric                   $61.75
  Assets:Checking

2010/05/21 * AT&T Wireless
  Expenses:Cell Phone                       $88.46
  Assets:Checking

2010/05/22 NW Natural
  Expenses:Utils:Gas                        $20.31
  Assets:Checking

2010/05/22 Pizzicato
  Expenses:Food:Lunch                        $7.90
  Assets:Checking

2010/05/23 Comcast
  Expenses:Cable                            $60.00
  Liabilities:Amex

Это, на самом деле полный файл ledger (вы можете скачать его здесь), который иллюстрирует несколько ключевых моментов. Во-первых, ledger – система бухгалтерского учета двойной записи. Каждая запись имеет по крайней мере один «из» и по меньшей мере один «в».

  • Первая линия – куда деньги идут, и это положительная сумма
  • вторая линия – откуда деньги поступают.

Если вы опустите цифры одной из линий, ledger автоматически заполнит их и сделать баланс входа. Если у вас есть фоновый учет, вы можете думать с точки зрения дебета и кредита, но ledger не заставляет это делать. Во-вторых, учетные записи имеют иерархические имена, которые мы можем видеть так:

$ ledger -f ledger.sample.txt -s bal
     $721.58  Assets:Checking
    $-490.00  Equity
   $1,290.42  Expenses
      $60.00    Cable
      $88.46    Cell Phone
       $7.90    Food:Lunch
      $22.00    Insurance
       $2.00      Dental
      $20.00      Medical
     $600.00    Rent
     $430.00    Taxes
     $250.00      Federal
      $80.00      Social Security
     $100.00      State
      $82.06    Utils
      $61.75      Electric
      $20.31      Gas
  $-1,452.00  Income:Salary
     $-70.00  Liabilities:Amex

Такое расположение счетов помогает поддерживать некоторые здравомыслие, когда имеем дело с большим количеством счетов, и это cходится с основным уравнением учета: активы = обязательства + долевые + (доходы - расходы). Вы заметите, что счета просто появляются, когда вы используете их, вроде переменных в Perl, без использования strict;. Это и благословение, и проклятие, потому что иногда это не очевидно, пока вы не запустите отчеты, и они выглядят смешно. Риск испортить смягчается, если вы используете Emacs в комплекте основного режима ledger.el, который устанавливает автодополнения для вас.

Снова используя пример файла, мы можем запустить более подробные отчеты. Например, вот регистр чековой книжки:

$ ledger -f ~/Documents/blog/static/ledger.sample.txt -r reg checking
2010/05/20 Opening Balances     Liabilities:Amex             $10.00       $10.00
                                Equity                      $490.00      $500.00
2010/05/21 Salary               Expenses:Taxes:Federal     $-250.00      $250.00
                                Expenses:Taxes:State       $-100.00      $150.00
                                Ex:Ta:Social Security       $-80.00       $70.00
                                Ex:Insurance:Medical        $-20.00       $50.00
                                Ex:Insurance:Dental          $-2.00       $48.00
                                Income:Salary             $1,452.00    $1,500.00
2010/05/21 Rent                 Expenses:Rent              $-600.00      $900.00
2010/05/21 Pacific Power        Ex:Utils:Electric           $-61.75      $838.25
2010/05/21 AT&T Wireless        Expenses:Cell Phone         $-88.46      $749.79
2010/05/22 NW Natural           Expenses:Utils:Gas          $-20.31      $729.48
2010/05/22 Pizzicato            Expenses:Food:Lunch          $-7.90      $721.58

Леджер будет сокращать имена учетных записей по мере необходимости при печати, чтобы все уместилось в 80 колонок. Если у вас есть более широкий терминал, можно передать опцию -w, чтобы подогнать его к 132 столбцам.

Сила книги действительно находится в фокусе, когда у вас имеется больше данных. Один из самых интересных докладов дает мне представление о том, как я делаю месяц к месяцу, показав, насколько мои активы изменились (отрицательные числа лучше, в данном случае): ledger -MAn reg расходы обязательств , The-M – опция группы сделок по месяцам, -А покажет текущее среднее во втором столбце. По умолчанию будет показываться текущая сумма. -n cгруппирует все сделки вместе, вместо того, чтобы показывать один итог для каждой учетной записи.

$ ledger -f ~/Documents/blog/static/ledger.sample.txt -MAn reg income expenses
2010/05/01 - 2010/05/23        <Total>;                    $-161.58     $-161.58

В любом из этих примеров вы можете изменить формат вывода, чтобы удовлетворить ваши потребности. Есть много вариантов, которые подробно описаны в мануале, но вот один пример. У меня есть маленькая программа в каталоге bin под названием transpose, которая принимает разделенные данных по трем столбцам. В первой колонке строки, второй столбец – собственно столбец, третье – значение, которое нужно вставить в эту ячейку. Мы можем попросить ledger вывести, например, основной отчет о расходах, отформатированный для transpose, например:

$ ledger -f ~/Documents/blog/static/ledger.sample.txt -F '%A|%D|%t\n' -M reg income expenses
Expenses:Cable|2010/05/01|$60.00
Expenses:Cell Phone|2010/05/01|$88.46
Expenses:Food:Lunch|2010/05/01|$7.90
Expenses:Insurance:Dental|2010/05/01|$2.00
Expenses:Insurance:Medical|2010/05/01|$20.00
Expenses:Rent|2010/05/01|$600.00
Expenses:Taxes:Federal|2010/05/01|$250.00
Expenses:Taxes:Social Security|2010/05/01|$80.00
Expenses:Taxes:State|2010/05/01|$100.00
Expenses:Utils:Electric|2010/05/01|$61.75
Expenses:Utils:Gas|2010/05/01|$20.31
Income:Salary|2010/05/01|$-1,452.00

С большим количеством данных, это позволяет легко сравнить месяц к другим месяцем, когда вы тратите деньги.

Если вы хотите вытащить свою финансовую жизнь вместе, но не хотите тратить деньги на что-то вроде Quicken или доверяете Mint с учетными данными, я настоятельно рекомендую вам попробовать ledger в дополнение к другим решениям с открытым исходным кодом, таким как GnuCash.

Не нашли ответ на свой вопрос? Возможно, вы найдете решение проблемы на нашем канале в Youtube! Здесь мы собрали небольшие, но эффективные инструкции. Смотрите и подписывайтесь на наш youtube-канал!

Смотреть на Youtube

Руководства и обзоры

1 Что нужно восстановить?

Видео

MP4, AVI и HD видео хранятся на телефоне и / или по ошибке удаляются вместе с фотографиями и другими медиафайлами.

Контакты

Номера телефонов друзей и знакомых из приложения «Контакты Android», журналы вызовов; Восстановление SIM-карты.

Фото

Удалены файлы JPG / PNG из Галереи Android; фото, загруженные на мобильный, файлы повреждены после восстановления.

Смс и сообщения

Чаты WhatsApp и Facebook, текстовые сообщения в соцсетях, информация на сим-карте

2 Где пропали файлы?

На sd-карте

Фотографии и документы хранятся на SD-картах. Часто на них случайно удаляются файлы

На телефоне

Программы для восстановления не распознают внутреннее хранилище телефона как диск, но есть другие решения.

На USB флешке

Эти небольшие устройства хранения данных часто выходят из строя или на них появляются ошибки чтения.

На HDD или SSD

Несмотря на то, что настольные платформы становятся все менее популярными, проблема потери файлов всегда оставалась.