Answering myself there, for the record.
The workflow looks like this:
1) download all csvs from bank into one folder
2) run this makefile
```makefile
%.ledger: %.csv
sed -i '1d' $<
# "Date","Payee","Account number","Transaction type","Payment reference","Category","Amount (EUR)","Amount (Foreign Currency)","Type Foreign Currency","Exchange Rate"
sed -i '1i date,payee,Account number,Transaction type,note,category,amount' $<
touch main.ledger
touch empty.ledger
ledger convert $< --account Assets:my_bank_csv --rich-data --invert -f empty.ledger > $@
echo "add currency to expenses"
sed -i 's/Expenses.*[0-9]$$/& EUR/' $@
rm empty.ledger
ledger_files:= $(patsubst %.csv,%.ledger,$(wildcard *.csv))
main.ledger: $(ledger_files)
find *.ledger -type f -exec cat '{}' \; >> main.ledger.tmp
echo "Inject our rules in"
ledger print -f rules.ledger -f main.ledger.tmp > main.ledger
```
then, in rules.ledger, one can inject custom payees, and then accounts too for entries that are too generic (amazon for example, or paypal)
```
; careful to use "uuid" and not "UUID" here
payee CUSTOM Amazon 9fa2b323d58d031afe7b776c5106949acf1
uuid 9fa2b323d58d031afe7b776c5106949acf1
account Expenses:House:Fixing Materials
payee ^CUSTOM Amazon 9fa2b323d58d031afe7b776c5106949acf1
```