ref: 982ba593935d007955d7d53f69622af34b3436ab
dir: /bin/formatdata.awk/
#!/bin/awk -F '\t' -f
BEGIN {
print ".TS"
print "expand linesize(5);"
print "l l l l l"
print "l n n n n"
print "."
print "_"
printf "##ROW_NAME##\t##ROW_COUNT##\t##ROW_PRICE##\t##ROW_TAX##\t##ROW_TOTAL##\n"
print "="
}
!/^#/ && NF >= 4 {
number = $1
single = $2
vat = $3
name = $4
total = number * single
vats[vat] += total
final += total
vv = "\\R-"
if (vat > 0)
vv = sprintf("%.2f %%", vat);
printf "%s\t%.2f\t%.2f\t%s\t%.2f EUR\n", name, number, single, vv, total
}
END {
print "_"
print ".T&"
print "l s s s n"
print "."
# net sum
printf "##SUBTOTAL##\t%.2f EUR\n", final
hasvat = 0
for (i in vats) {
if (i == 0)
continue;
hasvat++
}
if (hasvat)
print "_"
for (i in vats) {
if (i == 0)
continue;
v = vats[i] * i / 100.
printf "##VAT_TOTAL## %.2f %%\t%.2f EUR\n", i, v
final += v
}
print "="
print ".B"
printf "##TOTAL##\t%.2f EUR\n", final
print "_"
print ".TE"
}