Bill transactions

Bills are an advanced type of transaction, in addition to payments and items. They are specified using a text-based description of a bill.
In what follows, its features will be introduced step-by-step.

The basics

To start with a very simple example, imagine you paid a € 1.0 bread for "Mickey Mouse" (a friend of yours). In that case you could write:
1.0 bread: Mickey Mouse

It is possible to assign a single item to more than one person, by using a comma-separated list of names.
In case you shared the bread with Mickey, and each ate half of it, you can write:
1.0 bread: Mickey Mouse, Your Name

Now if he also drank a € 1.5 bottle of water (and you paid for it), it becomes somewhat tedious to keep writing all names in full:
1.0 bread: Mickey Mouse, Your Name
1.5 water: Mickey Mouse
Therefore, it is possible to define shorthands (single words) that refer to people:
i = Your Name
m = Mickey Mouse

1.0 bread: i, m
1.5 water: m

If it happens that someone involved in the transaction contributes some money, you can simply write an at-symbol (@) followed by that amount after the name of this person. The difference in money between all items and all contributions is assumed to come from yourself.
So, if it happened that Mickey did pay € 1.0, you could write:
i = Your Name
m = Mickey Mouse @1.0

1.0 bread: i, m
1.5 water: m

If some people consumed more than others, you could just list them more than once after the item, but you can also write a number in front (called a multiplier). So if you ate 2/3 of the bread, and Mickey only 1/3, you could write:
i = Your Name
m = Mickey Mouse @1.0

1.0 bread: 2 i, m
1.5 water: m

Automatic completion of names

In fact, it is not necessary to type the names of all people involved in the transaction. You can abbreviate all names or change their capitalization, as long as they remain unambiguous. If Mickey is the only one you know whose name starts with 'Mi', you can just type:
i = Your Name
m = mi @1.0
...
However, if you know Minnie Mouse as well, you would at least need to use "mic" to refer to Mickey. If you use an ambiguous abbreviation (of simply a wrong one), the interface will warn you, and return to the same screen to let you fix it. Otherwise, the names will be expanded to their full form when saving.
In what follows, we will refer to Mickey as "mick".

Simplifications

There are two simplifications allowed when using shorthands:
  • The comma after a shorthand is optional
  • The space between a multiplier and a shorthand is optional
Therefore, it is possible to simplify the running example to:
i = Your Name
m = mick @1.0

1.0 bread: 2i m
1.5 water: m

Also, the name of an item is optional. If no item name is present, the colon after it is also optional. So you could reduce the code to:
i = Your Name
m = mick @1.0
1.0 2i m
1.5 m

Additional features

If you got here, you know more than enough to use bills. In case you are interested, there are a few additional features. You can read about them here
powered by Kassys v0.9.196