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: 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. - `invoice.yaml` contains the invoice data
- [envelope.yaml](test_data/envelope.yaml) contains the address data of the sender and the recipient - `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 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 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 - The Name of the invoice file is used as the invoice number but you are free to override it in the
invoice.yaml file. 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 ```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 ```bash
python src/main.py --help python src/main.py --help