1
0
Fork 0
mirror of https://github.com/Findus23/invoices.git synced 2024-09-19 15:13:47 +02:00

restructured readme

This commit is contained in:
fkarg 2020-09-22 14:26:41 +02:00
parent 2dab90e9ed
commit 0248e829dc

105
README.md
View file

@ -1,42 +1,53 @@
# Invoices
To generate invoices, you need multiple local configs. Your own information
should be present in `from.yaml`, the person (or company) you write the invoice
to should be present as a file in `recipients/<rname>.yaml`, where `rname` is
the selector. The specific information about this invoice should be in
`config.yaml`.
## Config: config.yaml
The main config is in a file called `config.yaml`:
## Your own information: from.yaml
Have a file called `from.yaml` with your own information structured like this:
### Field descriptions
| Field | Type | description |
|:---|:---:|:---|
| `default_hourly_rate` | int | The hourly rate you bill for in this receipt. |
| `default_recipient` | string | Filename (before the `.yaml`) of your default recipient. |
| `description` | string | Description of the work you did. |
| `title` | string | Title of the invoice. |
| `hours` | int | Probably: number of hours worked. Will be asked regardless, for some reason. |
| `invoice_dir` | string | Directory in which the invoice will be generated. Needs to exist prior to execution. |
| `last_id` | int | Since invoices need to have unique IDs, this number will be increased by one. After that, the config will be written back to the file. This deletes any prior comments. |
| `bank_fee` | int | Optional. If there are some bank fees you can invoice. |
| `name` | string | Your full name. |
| `address` | string | Your Address. Both street and number. |
| `zip` | int | Your area ZIP code. |
| `city` | string | The city you live in. |
| `cityShort` | string | Shortened version of your city name. |
| `countryDE` | strang | Name of your country in german, used for an invoice in german. |
| `countryEN` | strang | Name of your country in english, used for an invoice in english. |
| `IBAN` | string | The IBAN of your bank account. |
| `BIC` | string | The BIC of your bank account. |
| `bank` | string | The name of your bank. |
### Example
```config.yaml
default_hourly_rate: 50 # what you expect to get for each hour worked
default_recipient: <rname> # filename of recipient in `recipients`
description: some description # description of what you've been working on
hours: 31 # worked hours
invoice_dir: invoice # directory needs to exist
last_id: 3 # will get updated after generating invoice
```from.yaml
name: <name>
address: <address>
zip: <zip>
city: <name of city>
cityShort: <short name of city>
countryDE: Deutschland
countryEN: Germany
IBAN: <IBAN>
BIC: <BIC>
bank: <name of bank>
```
## Recipients: recipients/\<rname.yaml\>
For every recipient `rname`, have a `recipients/<rname>.yaml` file structured
## Clients: recipients/\<rname\>.yaml
For every clients `rname`, have a `recipients/<rname>.yaml` file structured
like this:
### Field descriptions
| Field | Type | description |
|:---|:---:|:---|
| `name` | string | Your recipients name. |
| `address` | string | Your recipients business address. Both street and number. |
| `zip` | int | ZIP code of your recipients address. |
| `name` | string | Your clients name. |
| `address` | string | Your clients business address. Both street and number. |
| `zip` | int | ZIP code of your clients address. |
| `city` | string | City correlating to the zip code. |
| `country` | string | Country of your recipients business address. |
| `country` | string | Country of your clients business address. |
<!--
| `IBAN` | string | The IBAN of your bank account. |
| `BIC` | string | The BIC of your bank account. |
@ -49,40 +60,36 @@ name: <name>
address: <address>
zip: <zip>
city: <city>
cityShort: O ??
country: Deutschland
IBAN: <IBAN>
BIC: <BIC>
country: <country>
```
## Your own information: from.yaml
Have a file called `from.yaml` with your own information structured like this:
## Config: config.yaml
The main config is in a file called `config.yaml`:
### Field descriptions
| Field | Type | description |
|:---|:---:|:---|
| `name` | string | Your full name. |
| `address` | string | Your Address. Both street and number. |
| `zip` | int | Your area ZIP code. |
| `city` | string | The city you live in. |
| `cityShort | string | Shortened version of your city name. |
| `countryDE` | strang | Name of your country in german, used for an invoice in german. |
| `countryEN` | strang | Name of your country in english, used for an invoice in english. |
| `IBAN` | string | The IBAN of your bank account. |
| `BIC` | string | The BIC of your bank account. |
| `bank` | string | The name of your bank. |
| `title` | string | Title of the invoice. |
| `description` | string | Description of the work you did. |
| `range` | string | Timeframe during which you accumulated the given number of hours. |
| `hours` | int | Number of hours you worked for the given timeframe and client. |
| `default_recipient` | string | Filename (before the `.yaml`) of your default client. |
| `last_id` | int | Since invoices need to have unique IDs, this number will be increased by one. After that, the config will be written back to the file. This deletes any prior comments. |
| `invoice_dir` | string | Directory in which the invoice will be generated. Needs to exist prior to execution. |
| `default_hourly_rate` | int | The hourly rate you bill for in this receipt. |
| `bank_fee` | int | Optional. Amount of bank fees you can invoice. |
### Example
```from.yaml
name: <name>
address: <address>
zip: <zip>
city: <city>
cityShort: <string>
country: Deutschland
IBAN: <IBAN>
BIC: <BIC>
countryDE: <string>
```config.yaml
title: <invoice title>
description: <work description>
range: <timeframe in which you worked>
hours: <hours worked>
default_recipient: <rname>
last_id: <int>
invoice_dir: invoice # directory needs to exist
default_hourly_rate: <int>
```
## Structure