The programs to create validated Swiss Payments Code strings (SPC) are qrinvoice_spc.exe and qrinvoice_spc_console.exe (if you prefer console application).

Type qrinvoice_spc.exe --help in order to see available options and arguments:

qrinvoice_spc.exe [OPTION...] [optional stdin]
Table 1. Options
Option Description Default Value


Print help

--basepath <value> -a <value>

Base path for all files. If set, all non-absolute paths are resolved relative to this base path

--inputfile <value> -b <value>

Input data (*) file name / path , if not specified, input is read from standard input.

--inputformat <value> -c <value>

Input format (JSON|CSV)


--inputbase64 -d

Input is base64 encoded


--outputfile <value> -e <value>

Output file name, if not specified output is written into standard output

--outputbase64 -g

Output is written base64 encoded


--loglevel <value> -x <value>



--logfile <value> -y <value>

Log file name, if log should be printed to log file instead of standard output (if no output file is used, log is written to log.txt as default value


The input data (*) if not provided by inputfile.

*) Data can be passed as JSON or CSV document, please make sure that UTF-8 is used as encoding. Input can be passed as base64 encoded string in case you encounter encoding issues, especially when passing via stdin.


From JSON Input File to File

qrinvoice_spc.exe --inputfile inputdata.json --outputfile spc.txt --logfile spc.log

From JSON Input File to Standard Output

qrinvoice_spc.exe --inputfile inputdata.json