Compare commits

..

21 Commits

Author SHA1 Message Date
Torsten Ueberschar
a6fb080c4f add pyproject.toml 2024-09-17 10:38:50 +02:00
Torsten Ueberschar
8377066ab8 fix demo data 2024-09-17 10:38:40 +02:00
Torsten Ueberschar
c9c34493b8 take cwd as base directory 2024-09-17 10:10:33 +02:00
Torsten Ueberschar
660e75d719 paths are not all required 2024-09-16 11:34:42 +02:00
Torsten Ueberschar
43163e2ac7 build and installable 2024-02-19 14:34:59 +01:00
Torsten Ueberschar
10765d16bf add __pycache__ to .gitignore 2024-02-19 11:43:08 +01:00
Torsten Ueberschar
314e4bde7f move requirements.txt 2024-02-19 11:29:55 +01:00
Torsten Ueberschar
d5580c097e fix requirements 2024-02-19 11:28:39 +01:00
Torsten Ueberschar
dd74245c64 fix visual position grouping 2024-02-19 10:48:55 +01:00
Torsten Ueberschar
b669e065f5 take fonts path from path to template 2024-02-19 10:34:13 +01:00
Torsten Ueberschar
b8bd3f288b take PricePerUnit from customer if not set in invoice position 2024-02-19 10:12:52 +01:00
Torsten Ueberschar
6f1120c8b4 remove .idea 2024-02-19 09:22:25 +01:00
Torsten Ueberschar
0bbaa78d0e update .gitignore 2024-02-18 20:42:53 +01:00
Torsten Ueberschar
3224295871 use path ... but still todo: set as base path to invoide.yaml 2024-02-18 20:39:09 +01:00
Torsten Ueberschar
36ffa54d81 besser fonts 2024-02-18 16:25:42 +01:00
Torsten Ueberschar
8371715072 README.md 2024-02-18 11:49:52 +01:00
Torsten Ueberschar
f7dfcb762d README.md 2024-02-18 11:49:00 +01:00
Torsten Ueberschar
4345cfb499 README.md 2024-02-18 11:49:00 +01:00
Torsten Ueberschar
7c2703f2fe write complete invoice 2024-02-18 11:48:57 +01:00
Torsten Ueberschar
1720f1b89e start writing letter head with kundennummer, rechnungsnummer and rechnungsdatum 2024-02-18 11:48:57 +01:00
Torsten Ueberschar
2c2066450c first try 2024-02-18 11:48:56 +01:00

View File

@@ -42,8 +42,8 @@ invoice -h
There are two yaml files describing your invoice:
- [RG004211.yaml](test_data/RG004211.yaml) Contains the invoice data. The filename is takes as the invoice id-number.
- [envelope.yaml](test_data/envelope.yaml) contains the address data of the sender and the recipient
- `invoice.yaml` contains the invoice data
- `envelope.yaml` contains the address data of the sender and the recipient
The invoice data is read from the `invoice.yaml` file and the address data is read from the `envelope.yaml` file. The
invoice data is then used to fill in the invoice template and the address data is used to fill in the address fields of
@@ -54,11 +54,84 @@ Some data are globaly available from the envelope template. Some of them can be
invoice.yaml - The Name of the invoice file is used as the invoice number but you are free to override it in the
invoice.yaml file.
```yaml
Id: RG004712 # overrides the file name as invlice Number
CustomerId: KD01234 # The customer id is used to identify the customer and is beeing looked up in the envelope.yaml file.
InvoiceDate: 2023-12-23 # The date of the invoice. If not set the current date is used.
Positions:
- Title: "Zuckerwatte fressen Ganz besonders langer Text"
SubTitle: "Leistungszeitraum: 11/2022"
PricePerUnit: 100 # The price per unit is taken from the envelope.yaml file using the customer id but can be overriden here.
Quantity: 100
- Title: "Aschlecken"
SubTitle: "Leistungszeitraum: 11/2022"
PricePerUnit: 99.99
Quantity: 12
- Title: "Aschkriechen"
SubTitle: "Leistungszeitraum: 10/2022"
PricePerUnit: 77.88
Quantity: 3
```
envelope.yaml
```yaml
AddressContent:
# AddressBoxSender is is used as the sender address in the letter head inside the address windows.
AddressBoxSender: "Abs.: Torsten Ueberschar - Pfarrweg 1 - 57439 Attendorn"
# The Content is a place to put your personal data. E.G. it is used in the footer of the invoice.
# you may put markdown in here.
Contents:
- Text: |
![logo](test_data/templates/images/logo.svg)
Torsten Ueberschar
Pfarrweg 1
57439 Attendorn
- Text: |
**Kontakt**
tu@uesome.de
+49 2734 4239271
- Text: |
**Steuern**
USt-IdNr.: DE313460724
- Text: |
**Bankverbindung**
Torsten Ueberschar
DE67 1001 1001 2626 8627 86
NTSBDEB1XXX
N26 Bank GmbH
# The Invoice field is used to put default values for the invoice. You may override them in the invoice.yaml file.
Invoice:
Vat: 19.0
Introduction: |
### Rechnung
*Sehr geehrte Damen und Herren*,
für folgende in Ihrem Auftrag ausgeführten Leistungen erlaube ich mir zu berechnen
Footer: |
Bitte überweisen Sie den Rechnungsbetrag unter Angabe der Rechnungsnummer auf mein Konto bis zum %%ZahlungsZiel%%.
Mit freundlichen Grüßen
*Torsten Uebeschar*
# Customers is a list of customers. The customer id is used to identify the customer and is beeing looked up in the invoice.yaml file.
Customers:
- CustomerId: KD01234
PricePerUnit: 88.88
DueDate: 30 # DueDate is the number of days the customer has to pay the invoice.
# The AddressField is used to fill in the address field window of the invoice.
AddressField: |
Klaus Peter Klausen
Am Klausenhof 1
04711 Klausenhausen
```
```bash
python src/main.py --help