From c9ad6debfe04a14f612e56d5da1c5a5865dff884 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Tue, 23 Feb 2021 22:04:03 +0100 Subject: [PATCH] documentation for invoice --- documentation.md | 32 +++++++++++++++- preview/invoice.pdf | Bin 0 -> 17038 bytes preview/styles.css | 89 ++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 120 insertions(+), 1 deletion(-) create mode 100644 preview/invoice.pdf create mode 100644 preview/styles.css diff --git a/documentation.md b/documentation.md index 41fe224..fabfb2d 100644 --- a/documentation.md +++ b/documentation.md @@ -273,10 +273,20 @@ gtt report --output=markdown gtt report --output=csv gtt report --output=pdf --file=filename.pdf gtt report --output=xlsx --file=filename.xlsx +gtt report --output=invoice --file=invoice.md ``` - Defaults to `table`. `csv` and `markdown` can be printed to stdout, `pdf` and `xlsx` need the file parameter. +#### Invoice Output + +There are additional options for the invoice output as given in the following example: + +```shell +gtt report --output=invoice --file=invoice.md --from 2021-02-01 --to 2021-02-28 --closed --invoiceCurrencyMaxUnit 1 --invoiceTitle "Rechnung" --invoiceAddress "Firma" "Mr. X" "Strasse" "10000 Ort" "Land" --invoiceCurrency "EUR" --invoiceCurrencyPerHour "50" --invoiceVAT "0.15" --invoiceDate "1.03.2021" +``` + +For paper invoice, further process the output with a css, see the folder preview (styles.css, invoice.pdf) + #### Print the output to a file ```shell @@ -629,6 +639,26 @@ _checkToken: false # Skip parsing the issue/merge_request description for time records _skipDescriptionParsing: false + +# settings for invoice output +invoiceSettings: + from: + - Absender FA + - Name + - Strasse + - PLZ ORT + - + - Weitere Infos + fromShort: absender fenstercouvert + opening: + - Satz 1. + - Satz 2. + positionText: Positionstext + closing: + - Grussformel + - + - Name + bankAccount: "Bitte den Betrag auf unser Konto... IBAN .." ``` ### Time format diff --git a/preview/invoice.pdf b/preview/invoice.pdf new file mode 100644 index 0000000000000000000000000000000000000000..258f19c0cb330d25ea831b929d8164958a115c06 GIT binary patch literal 17038 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 literal 0 HcmV?d00001 diff --git a/preview/styles.css b/preview/styles.css new file mode 100644 index 0000000..4a99463 --- /dev/null +++ b/preview/styles.css @@ -0,0 +1,89 @@ +body { + font-family: "Source Sans Pro"; + font-size: 10pt; + margin-top: 70px; + margin-bottom: 120px; + margin-left: 100px; + margin-right: 100px; +} + +.h1 { + font-family: "Source Serif Pro"; + font-size: 14.3pt; +} + +.h2 { + font-family: "Source Serif Pro"; + font-size: 12.6pt; +} +.h3 { + font-family: "Source Serif Pro"; + font-size: 11.1pt; +} + + +.senderBox { + margin-bottom: 100px; +} + +.addressBox { + width: 30%; + margin-left: 60%; + margin-bottom: 50px; + +} +.addressFrom { + font-size: 8pt; + text-decoration: underline; +} + +.addressTo { + font-size: 10pt; +} + +.dateBox { + text-align: right; +} + +.positionBox { + margin-top: 30px; + margin-bottom: 60px; +} + + +.positionDesc { + display: inline-block; + width: 80%; + margin-top: 5px; + margin-bottom: 5px; +} + + +.positionValue { + display: inline-block; + width: 19%; + margin-top: 5px; + margin-bottom: 5px; + text-align: right; +} + +.positionDescTot { + display: inline-block; + width: 80%; + margin-top: 5px; + margin-bottom: 5px; +} + + +.positionValueTot { + display: inline-block; + width: 19%; + text-decoration: underline; + margin-top: 5px; + margin-bottom: 5px; + text-align: right; +} + + + +