Add script for ofxstatement

Conversion of multiple XML-files into separate OFX-files using
    ofxstatement and ofxstatement-iso20022
This commit is contained in:
exu 2023-07-14 16:47:51 +02:00
parent 84e8e092c1
commit 633af81fda

View File

@ -0,0 +1,37 @@
#!/usr/bin/env bash
set -euo pipefail
# help message
fn_help() {
cat <<EOF
Helper script to convert multiple XML-files in the camt.053 format into OFX files with sensible filenames
This script requires ofxstatement and ofxstatement-iso20022 to be installed as well as configured
Use like this:
./statement-convert.sh (profile) (path)
profile: Name of the configuration profile in the ofxstatement config
path: Folder path containing one or more XML-files to be converted
EOF
}
# 2 parameters, profile and path
if [ $# -ne 2 ]; then
fn_help
exit 1
fi
profile="$1"
path="$2"
# find all xml files in the folder
readarray -d '' xmlfiles < <(find "$path" -maxdepth 1 -name "*\.xml" -print0)
for file in "${xmlfiles[@]}"; do
# Takes a path like this
# /home/exu/Documents/camt.053_SPS_08_083522212930_ND_0835222129300000_20230309_005134241_005.xml
# And converts it into this new path
# /home/exu/Documents/statement_20230309.ofx
outfile="$(dirname "$file")/statement_$(basename "$file" | cut -d_ -f7).ofx"
ofxstatement convert -t "$1" "$file" "$outfile"
done