Title: Port of the week: ledger
       Author: Solène
       Date: 02 May 2018
       Tags: unix
       Description: 
       
       In this post I will do a short presentation of the port
       productivity/ledger, an very powerful command line accounting
       software, using plain text as back-end. Writing on it is not an easy
       task, I will use a real life workflow of my usage as material, even if
       my use is special.
       
       As I said before, Ledger is _very_ powerful. It can helps you manage
       your bank accounts, bills, rents, shares and others things. It uses a
       double entry system which means each time you add an operation
       (withdraw, paycheck, ...) , this entry will also have to contain the
       current state of the account after the operation. This will be checked
       by ledger by recalculating every operations made since it has been
       initialized with a custom amount as a start. Ledger can also tracks
       categories where you spend money or statistics about your payment
       method (check, credit card, bank transfer, money...).
       
       As I am not an english native speaker and that I don't work in banks
       or related, I am not very familiar with accounting words in english,
       it makes me very hard to understand all ledger keywords, but I found a
       special use case for accounting things and not money which is really
       practical.
       
       My special use case is that I work from home for a company working in
       a remote location. From time to time, I take the train to the to the
       office, the full travel is
       
           [home]   → [underground A] → [train] → [underground B] →
       [office]
           [office] → [underground B] → [train] → [underground A] →
       [home]
       
       It means I need to buy tickets for both underground A and underground
       B system, and I want to track tickets I use for going to work. I buy
       the tickets 10 by 10 but sometimes I use it for my personal use or
       sometimes I give a ticket to someone. So I need to keep track of my
       tickets to know when I can give a bill to my work for being refunded.
       
       Practical example: I buy 10 tickets of A, I use 2 tickets at
       day 1. On day 2, I give 1 ticket to someone and I use 2 tickets in the
       day for personal use. It means I still have 5 tickets in my bag but,
       from my work office point of view, I should still have 8 tickets. This
       is what I am tracking with ledger.
       
           2018/02/01 * tickets stock Initialization + go to work
               Tickets:inv                                   10 City_A
               Tickets:inv                                   10 City_B
               Tickets:inv                                   -2 City_A
               Tickets:inv                                   -2 City_B
               Tickets
       
               Tickets:inv                                    -2 City_A
               Tickets:inv                                    -2 City_B
               Tickets
       
               Tickets:inv                                    -4 City_B
               Tickets:inv                                    -2 City_A
               Tickets
       
       At the point, running `ledger -f tickets.dat balance Tickets` shows my
       tickets remaining:
       
           4 City_A
           2 City_B  Tickets:inv
       
       Will add another entry which requires me to buy tickets:
       
               Tickets:inv                                    -4 City_B
               Tickets:inv                                    -2 City_A
               Tickets:inv                                    10 City_B
               Tickets
       
       Now, running `ledger -f tickets.dat balance Tickets` shows my tickets
       remaining:
       
           2 City_A
           8 City_B  Tickets:inv
       
       
       I hope that the example was clear enought and interesting. There is a
       big tutorial document available on the ledger homepage, I recommend to
       read it before using ledger, it contains real world examples with
       accounting. [Homepage link](http://www.ledger-cli.org/)