58 lines
1.6 KiB
Markdown
58 lines
1.6 KiB
Markdown
# schmeckels
|
|
|
|
## Installation
|
|
You need to have Python >= 3.8 and Poetry installed. Then you can run `poetry install` to create a virtuelenv and download all dependencies.
|
|
|
|
## Usage
|
|
It's currently not packages so you have to use `poetry run schmeckels <cmd>`.
|
|
Run it without a command to get a small help page listing all commands.
|
|
|
|
## Commands
|
|
|
|
### init
|
|
Run this once to create empty database and rules files
|
|
|
|
### info
|
|
This will print some informations about your sorted/unsorted transactions and also show the location of your config
|
|
files.
|
|
|
|
### import
|
|
Run this to import CSV's from your bank
|
|
|
|
### validate
|
|
Check the syntax of your rules. Good thing to do before running e.g. autosort
|
|
|
|
### autosort
|
|
Run your defined rules against all unsorted transactions. Run with "-v --dry-run" after writing new rules is a good
|
|
practice.
|
|
|
|
### serve
|
|
Start the web interface.
|
|
|
|
### sort
|
|
Manually sort all unsorted transactions.
|
|
|
|
### stats
|
|
Render a really simple EUR (Einnahmen Überschuss Rechnung).
|
|
|
|
restart
|
|
|
|
## Example rules
|
|
The rules file must be valid YAML and contain a list of all rules. A rule must contain:
|
|
* a list of comma seperated tags
|
|
* one or more matching RegExp via the name, iban or description field
|
|
|
|
Matching for the IBAN is made with direct comparison, so you have to enter the full IBAN. Matching for name and
|
|
description is done via regular expressions.
|
|
|
|
```yaml
|
|
# Match on the senders name
|
|
- name: "SUBWAY.*"
|
|
tags: "FastFood"
|
|
|
|
# Match on the senders IBAN AND the description
|
|
- iban: "DE88500700100175526303"
|
|
description: ".*VULTRHOLDIN.*"
|
|
tags: "Hosting, Server" # Apply multiple tags
|
|
|
|
```
|