Raiffeisen Bank statement tools for MultiFlexi
desktop applicationUtilityapt install multiflexi-pohoda-raiffeisenbankAllow use of Raiffeisen Bank statement tools in MultiFlexi environment
It downloads PDF and XML statements from the Raiffeisen Premium API for a specified period and uploads both to SharePoint.
It parses the XML statements and imports the bank movements into Stormware Pohoda via mServer.
After importing all items, document liquidation is initiated and they are automatically matched.
After uploading to SharePoint, links to the PDF statements are attached to all imported bank movements in Pohoda via a direct SQL insert into the DOC table (requires a SQLServer credential with access to the Pohoda database).
Check certificate presence yet.
Import Bank movements from RaiffeisenBank (using getTransactionList as source) to Pohoda using mServer

Configuration is stored in .env file in the working directory. You can use .env.example as template.
When the configuration file is missing, the application will try to use environment variables.
EASE_LOGGER=syslog|console
CERT_FILE='RAIFF_CERT.p12'
CERT_PASS=CertPass
XIBMCLIENTID=PwX4bOQLWGiuoErv6I
ACCOUNT_NUMBER=666666666
ACCOUNT_CURRENCY=CZK
IMPORT_SCOPE=last_two_months
IMPORT_SCOPE=yesterday
API_DEBUG=True
APP_DEBUG=True
STATEMENT_LINE=ADDITIONAL
STATEMENT_SAVE_DIR=/tmp/rb
CNB_CACHE=http://localhost/cnb-cache/
RATE_OFFSET=today
FIXED_RATE=25.1
FIXED_RATE_AMOUNT=1
POHODA_ICO=12345678
POHODA_URL=http://10.11.25.25:10010
POHODA_USERNAME=mServerXXX
POHODA_PASSWORD=mServerXXX
POHODA_TIMEOUT=60
POHODA_COMPRESS=false
POHODA_DEBUG=true
POHODA_BANK_IDS=RB
todayyesterdaylast_weeklast_monthlast_two_monthsprevious_monthtwo_months_agothis_year (statements only)January (statements only)February (statements only)March (statements only)April (statements only)May (statements only)June (statements only)July (statements only)August (statements only)September (statements only)October (statements only)November (statements only)December (statements only)auto2024-08-05>2024-08-11 - custom scope2024-10-11 - only specific dayIf you have transactions in foreign currency, you can use FIXED_RATE to convert them to CZK using preconfigured fixed rate.
(for some currencies eg. 💴 you can use FIXED_RATE_AMOUNT=100)
Otherwise you can use CNB_CACHE to get actual rate from CNB.
In this case you can also need to specify RATE_OFFSET=yesterday to get rate for previous day.
For CNB currency rates you need to have running CNB cache server!
Login based auth
OFFICE365_USERNAME=me@company.tld
OFFICE365_PASSWORD=xxxxxxxxxxxxxx
ClientID based auth
OFFICE365_CLIENTID=78842b49-651d-516e-0f2g-f979956aa620
OFFICE365_SECRET=09f04vbd-cfbc-5d78-afb7-2dfbebc4c385
OFFICE365_CLSECRET=8FR8Q~3Rab4-5o8dVd~1vDRId9oYiqEtMJB.Ucb2
Destination options
OFFICE365_TENANT=yourcomapny
OFFICE365_SITE=YourSite
OFFICE365_PATH='Shared documents/statements'
Into configuration file .env please put ClientID OR Login/Password values.
All scripts perform certificate validation before attempting API calls. If the certificate cannot be read or validated, a detailed error report is generated including:
0 - Success, all operations completed without errors1 - Generic API error (when no specific error code is available)2 - Certificate validation failed (file not found, not readable, or invalid password)3 - Error accessing Pohoda mServer4 - Cannot link to Sharepoint145 - API authentication error (HTTP 401 Unauthorized - typically certificate blocked or invalid)254 - Another exception without numeric code occurredNote on Exit Codes: Unix/Linux exit codes are limited to 0-255. When an HTTP error code like 401 (Unauthorized) is used as an exit code, it may be truncated by the shell to its modulo 256 value. For example:
message fieldImportant: Exit code 0 is only returned when the entire script completes successfully. Any error during execution (API failures, certificate issues, etc.) will result in a non-zero exit code.
Pohoda RaiffeisenBank is ready for run as MultiFlexi application. See the full list of ready-to-run applications within the MultiFlexi platform on the application list page.
Please use the .deb packages. The repository is availble:
echo "deb http://repo.vitexsoftware.com $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/vitexsoftware.list
sudo wget -O /etc/apt/trusted.gpg.d/vitexsoftware.gpg http://repo.vitexsoftware.com/keyring.gpg
sudo apt update
sudo apt install pohoda-raiffeisenbank
Po instalaci balíku jsou v systému k dispozici tyto nové příkazy:
pohoda-raiffeisenbank-setup - check and/or prepare Bank account setup in Pohoda
pohoda-raiffeisenbank-transactions - Import transactions. From latest imported or within the given scope
pohoda-raiffeisenbank-statements - Import transactions from Account Statements.
pohoda-raiffeisenbank-offline-statement-importer - Import transactions from XML Statements file.
pohoda-raiffeisenbank-xml-statement - Import transactions from XML Statements file.
pohodasql-raiffeisenbank-statements-sharepoint - Download PDF+XML statements, upload both to SharePoint, import into Pohoda via mServer, attach SharePoint PDF link to each bank record via direct SQL (DOC table)
pohoda-sharepoint-link-fixer - Validate and repair SharePoint PDF links on Pohoda bank records for a given period: attach missing links and repoint links that were cross-attached to another bank account's statement. Scoped to the configured bank account; supports IMPORT_SCOPE; dry-run by default (LINK_FIX_APPLY).
pohoda-bank-transaction-report - Generate a JSON report of Pohoda bank transactions for a specified period. The output format matches the RaiffeisenBank statement reporter, including totals and transaction breakdowns.
Executes the following pipeline in order:
RESULT_FILEThe JSON report contains the result of every stage:
{
"certificate_valid": true,
"raiffeisenbank": {
"pdf": ["/tmp/147_2026_5230011111_4243005_CZK_2026-05-27.pdf"],
"xml": ["/tmp/147_2026_5230011111_4243005_CZK_2026-05-27.xml"]
},
"sharepoint": {
"pdf": {
"147_2026_5230011111_4243005_CZK_2026-05-27.pdf": "https://tenant.sharepoint.com/..."
},
"xml": {
"147_2026_5230011111_4243005_CZK_2026-05-27.xml": "https://tenant.sharepoint.com/..."
}
},
"pohoda": {
"1779931074_9022160411": {"success": true, "message": "..."}
},
"pohodaSQL": {
"30850": {"status": "success", "linkedTo": 12345}
},
"messages": [],
"exitcode": 0
}
On upload failure, the value is {"error": "exception message"} instead of the URL.
Validates and repairs the SharePoint PDF links on Pohoda bank records. Use when records were imported without the SharePoint URL attachment, or when an earlier un-scoped import cross-attached statements between the several bank accounts of one Pohoda company (so a record for one account links to another account's statement).
Executes the following pipeline in order:
ACCOUNT_NUMBERBV) in the period together with their current URL attachment, filtered by POHODA_BANK_IDS when setfixed)corrected), or remove it when no correct PDF exists (removed)ok)skipped)Dry-run by default: with LINK_FIX_APPLY unset/false the tool only reports what it would change and writes nothing. Set LINK_FIX_APPLY=true to apply. Always dry-run and review first.
Date range is resolved by IMPORT_SCOPE (default: last_month). DATE_FROM / DATE_TO override IMPORT_SCOPE when explicitly set.
Multi-bank behaviour: When POHODA_BANK_IDS is set (e.g. RB), only records belonging to that bank account are processed. Because one Pohoda company can hold several bank accounts, run the tool once per account (each with its own ACCOUNT_NUMBER + POHODA_BANK_IDS + SharePoint folder). SharePoint files and existing links are matched by ACCOUNT_NUMBER embedded in the filename to detect and prevent cross-account attachment.
Example JSON report (account numbers below are fictional):
{
"account": "1234567890/0100",
"bank_ids": "RB",
"since": "2026-05-01",
"until": "2026-05-31",
"apply": false,
"sharepoint_files": ["2026-05-31"],
"bank_records_checked": 3,
"ok": 1,
"fixed": [
{"pohodaId": 12345, "cislo": "VBÚ001", "date": "2026-05-31", "filename": "001_1234567890_0100_9999999_CZK_2026-05-31.pdf", "url": "https://tenant.sharepoint.com/..."}
],
"corrected": [
{"pohodaId": 12346, "docId": 555, "date": "2026-05-31", "from": "001_9999999999_0100_9999999_CZK_2026-05-31.pdf", "to": "001_1234567890_0100_9999999_CZK_2026-05-31.pdf", "url": "https://tenant.sharepoint.com/..."}
],
"removed": [],
"skipped": [],
"errors": [],
"exitcode": 0
}
This tool generates a JSON report of bank transactions imported in Pohoda for a given period.
Usage:
pohoda-bank-transaction-report --scope="last_month" --output="report.json"
Options:
--scope Specify the period (e.g. yesterday, last_month, custom range)--output Output file (default: stdout)--environment Path to .env file (default: ../.env)The report includes:
Example output:
{
"source": "Statementor",
"account": "666666666",
"status": "statement 2024-07-01_666666666_CZK_2024-07-01.xml",
"in": {"2024-07-01": 1000.00},
"out": {"2024-07-02": 500.00},
"in_total": 1,
"out_total": 1,
"in_sum_total": 1000.00,
"out_sum_total": 500.00,
"from": "2024-07-01",
"to": "2024-07-31",
"iban": "CZ1234567890123456789012"
}
Applications in this package use the following exit codes:
0: Success1: General error2: Misuse of shell command3: Application-specific error4: Application-specific error401: Unauthorized - authentication failed