To Understand Cash Flow Track Time

To Understand Cash Flow Track Time

This is part 3 of a series on minimal tools for freelancers. This post assumes you've read part 1 and maybe part 2.

Once you're capturing your work log in a reliable and systematic way you can take advantage of other Tap elements to help you plan for the future.

One of the biggest challenges with freelancing is managing cash flow. Knowing what money is coming in is not only peace of mind, it allows you to plan for the future.

First, we will need to track how much time we've spent working. To keep track of time use a Tap element called a bean.


Using the examples from part 1 we are going to add some time tracking information.

2022-07-01 18:00 /queen I made some pasta +hours:2 
they liked it very much.

The +hours:2 is a Bean. There are three parts to a Bean: the sign (+ or -), the name (in this case hours), and the value 2. This bean says we want to increase the value of hours by 2.

The next day:

2022-07-02 06:00 /queen requires pizza +hours:3
it did not include anchovies, they were displeased.

In the previous entry we increased the value of hours by 3. The total value of the hours bean is now 5.

We can confirm this is the case by reviewing the Beans page.

Formulas Calculate Things

My services to the queen cost $95 per hour, they pay once a month. To know what I'll make next month I need a Formula.

We will multiply the value of the `hours` *Bean* by 95.

First we retrieve the value of the hours bean using the following entry:

 The hours worked for the queen: 
 $$()(bean hours)

The $$()(bean hours) text at the end of the previous entry is a *Formula*. This formula is made up of an opener and an instruction. The $$() is the opener. And (bean hours) is the instruction to retrieve the value of the hours bean.

The opener  indicates to Tap that what follows is a formula. The opener can also, optionally, assign a name to the formula. Our formula does not yet have a name.

We will soon see that there are problems with this formula. For one thing, I need to differentiate my hours by month. Furthermore, I have more than one client. I need to keep the king and queen’s hours separate.

We can fix this:

The hours worked for the queen: 
$$()(bean hours "/queen" - "202207")

The bean function here is customized to report only the value for `hours` in the `/queen` folder and in the 202207 (July 2022) date range (it can also get the value of beans that have specific tags ie. $$()(bean hours "/queen" “#fancy” "202207"), but those are skipped in our example with the -).

Next we are going to take a big leap and multiply the selection of hours worked for the queen in July 2022 by our rate.

Next month I will receive 

$$()(* 95 
      (bean hours "/queen" - "202207"))

Standby for explanation...

Following the opener $$()  is the formula body. Unlike the first *formula* this one includes multiple instructions, * and bean.

And now we are going to give the formula a useful name.

Next month I will receive 

$$("$ from the Queen")
  (* 95 
    (bean hours "/queen" - "202207"))

The $$("$ from the Queen") portion of the formula is the opener with a name. That name, in quotes, is optional. The formula can be called anything you like.

What is cool about formulas:

  • They always stay up to date with the beans they reference
  • Their values can be sent to you on a schedule in a reminder text or email

Finishing up

The above entry is great. Every month we will create a note that calculates our monthly gross earnings. Two more ideas to  make these entries even more useful:

First, Pin the note. By including an * at the beginning of the entry it will force this entry to the top of your list of notes.

* Next month I will receive 

$$("$ from the Queen")
  (* 95 
    (bean hours "/queen" - "202207"))

Second, convert this note to a Todo Task.  We need to remember to submit an invoice to get paid.

* Todo Submit my invoice to the queen  Next month I will receive 

$$("$ from the Queen")
  (* 95 
    (bean hours "/queen" - "202207"))

Further reading

  • The formula guide includes a reference to all the functions available in Tap along with their options