Bill transactionsBills are an advanced type of transaction, in addition to payments and items. They are
specified using a text-based description of a bill. The basicsTo 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
Therefore, it is possible to define shorthands (single words) that refer to people:
1.5 water: Mickey Mouse
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 namesIn 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
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.m = mi @1.0 ... In what follows, we will refer to Mickey as "mick". SimplificationsThere are two simplifications allowed when using shorthands:
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 featuresIf 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 |