shithub: rech

Download patch

ref: 996ae644683888ebb0e23d6173f6f5239f72175b
parent: d023a73dc8bb187bd9161b0b804e8a097ffa8b8c
author: sirjofri <sirjofri@sirjofri.de>
date: Thu Aug 14 07:20:04 EDT 2025

cleanup, adds other income (not only from invoices)

--- a/bin/balance
+++ b/bin/balance
@@ -17,9 +17,7 @@
 END {
 	for (c in cats) {
 		printf "%s\t%.2f\n", c, cats[c]
-		total += cats[c]
 	}
-	#printf "\t%.2f\n", final
 	for (i in vats) {
 		if (i == 0)
 			continue;
@@ -26,6 +24,27 @@
 		printf "USt.%d\t%.2f\n", i, vats[i] * i / 100.
 	}
 }
+' > /tmp/invoices
+
+datafiles=`{ls in/*/data.tsv}
+cat $datafiles | awk -F '\t' '
+!/^#/ && NF >= 4 {
+	number = $1
+	total = $2
+	vat = $3
+	cat = $4
+	
+	cats[cat] += total
+	vats[vat] += total
+}
+END {
+	for (c in cats) {
+		printf "%s\t%.2f\n", c, cats[c]
+	}
+	for (v in vats) {
+		printf "USt.%d\t%.2f\n", v, vats[v] * v / 100.
+	}
+}
 ' > /tmp/in
 
 datafiles=`{ls out/*/*/data.tsv}
@@ -55,10 +74,13 @@
 NF == 2 {
 	cat = $1
 	val = $2
-	total += val
-	printf "%s\t%.2f EUR\n", cat, val
+	cats[cat] += val
 }
 END {
+	for (c in cats) {
+		printf "%s\t%.2f EUR\n", c, cats[c]
+		total += cats[c]
+	}
 	print "_"
 	printf "Summe\t%.2f EUR\n", total
 }'
@@ -73,7 +95,7 @@
 
 
 # Einnahmen
-awk -F '\t' $"dumpscript /tmp/in
+awk -F '\t' $"dumpscript /tmp/invoices /tmp/in
 
 echo '.T&
 l s
--