Skip to content
HNROS Help Center
English
Start free
Contents1. What it does and does not do2. Connection methods3. The credential encryption key4. Setting up a connection — four steps5. Fetching, the duplicate guard and matching6. Automatic fetching and notifications7. Statuses and error reasons8. The Live tab and the synchronisation log9. Permissions and security10. On the phone11. Frequently asked questions

Help › Finance › Bank Transactions › Live Bank Connection

Live Bank Connection — A Guide from Scratch

If you have an agreement with your bank, you can receive account transactions directly from the bank without downloading a statement file. The system administrator sets up the connection once under Settings › Company Information › Bank connections; transactions then arrive at the chosen interval (or with Fetch now) and go through the same matching as imported files. Even if the same transaction comes both from the connection and from a file, it is never written twice.

1. What it does and does not do

2. Connection methods

Method What it needs Status
Turkish open banking (ÖHVPS · account information service) A company cannot connect to the bank directly: it needs a licensed YÖS (payment service provider) as intermediary, a consent approved in the bank app and an access token. Written to the standard; becomes active with a YÖS agreement.
The corporate account-transaction web service of Turkish banks (Garanti BBVA, İş Bankası, Yapı Kredi, Akbank, Ziraat, Halkbank, VakıfBank, QNB, DenizBank, Kuveyt Türk) An ERP integration agreement with the branch; web service user name/password, customer number, IP permission for the server (for Garanti BBVA a client id/secret and a consent number created in internet banking). Listed in the catalogue; the driver is completed when the bank sends its service document. Until then the status is "Bank agreement required".
Indonesia Bank Indonesia SNAP (BCA, Bank Mandiri, BNI, BRI) Registration on the bank's developer portal and a corporate agreement; X-CLIENT-KEY, client secret, the public key of an RSA key pair we generate given to the bank, X-PARTNER-ID, CHANNEL-ID, account numbers. Signatures and endpoints written to the standard; the first test with a real bank comes after the agreement.
Simulation (test bank) User name demo, any password. It never reaches a real bank; it always produces the same sample transactions for each day. For rehearsing the setup and for training.

3. The credential encryption key

The password, client secret and private key given by the bank are written to the database encrypted (AES-256-GCM). The encryption key is not in the database but in the server's environment: HNR_BANKA_KIMLIK_ANAHTARI. In this installation the key is kept with Windows' per-user protection (java\gpt\tls\banka-kimlik.dpapi.xml) and the Node launcher supplies it at start. Without the key the screen warns "The credential encryption key is not defined"; credentials cannot be saved and the bank cannot be reached. If the key changes, saved credentials cannot be decrypted — the screen says "The encryption key has changed" and the credentials are entered again.

4. Setting up a connection — four steps

  1. Bank and connection method: Settings › Company Information › Bank connections › New connection. Choose the bank/method from the list; below it appear the source document and the Information to request from the bank list — apply to the bank with this list.
  2. Credentials and connection settings: give the connection a name, fill in the fields the bank gave you and press Save and continue. Secret fields (password, secret, private key) are never shown again after saving; the box reads "Saved — type a new value to change it". If you leave it empty, the old value is kept.
  3. Connection test: Test connection signs in at the bank and brings the account list and balances. If it succeeds the status becomes "Connection is working"; otherwise the reason is shown (section 7).
  4. Account mapping and fetching: next to each bank account choose the cash/bank account in HNR (an unmapped account is not fetched; one HNR account maps to only one bank account). Fetch interval 5-60 minutes, days to go back on the first fetch 0-90. If Automatic fetch on is not ticked, transactions arrive only with Fetch now. Save and close.

First set up a rehearsal connection with the Simulation driver (user name demo): you see the four steps, fetching and matching without waiting for a real bank. By writing giris|amount|description|counterparty|tax id lines in the "Sample transactions" box you can try matching against your own open invoices. Delete the connection after the rehearsal.

5. Fetching, the duplicate guard and matching

6. Automatic fetching and notifications

Automatic fetching is off by default on the server; the system administrator turns it on with BANKA_CANLI_GOREV=1. When on, each connection is synchronised at its own interval. After an error the waiting time doubles at every attempt (at most 6 hours); on permanent errors such as rejected credentials, a missing agreement or incomplete settings, automatic retries stop and wait for the administrator. When new transactions arrive, the administrator who set up the connection gets a "… new bank transactions received, … transactions awaiting matching." message in Messages; on the third consecutive error a warning comes once. A failing connection is also listed in the Queued section of the Pulse screen.

7. Statuses and error reasons

On screen Meaning and what to do
Configured, awaiting testSaved; press Test connection.
Connection is workingThe last test or fetch succeeded.
Bank agreement requiredThere is no service document for this bank yet, or the bank has not opened the service. Apply to the bank with the list in section 2.
Credentials rejectedThe password/secret/consent has expired or is wrong. Enter the new value and test again. Automatic retries stop on this error.
The bank could not be reached · The bank service is temporarily not respondingA temporary problem on the network or at the bank; automatic fetching retries at growing intervals.
Connection settings incompleteA required field is empty, the address is not https or there is no account mapping. Complete the form.

8. The Live tab and the synchronisation log

The Bank Transactions › Live tab shows each connection's status, last synchronisation, last successful fetch, number of mapped accounts and fetch interval; the red number on the tab name is the number of failing connections. Here the administrator can press Fetch now and open the Sync log: each row holds the time, the reason (manual / scheduler / when the window opened / connection test), the status, the received, new, duplicate, exact and suggestion counts and the error message if any. Credentials are never written to the log.

9. Permissions and security

10. On the phone

11. Frequently asked questions

Question Answer
Can I enter my own internet banking password? No. The connection works with the web service user the bank issues separately for ERP integration, or with an open banking consent. Never give your internet banking password to any system.
My bank is in the list but the status is "Bank agreement required". The bank's service document has not been built into the driver yet. Apply to your branch with the "Information to request from the bank" list in section 2; when the document arrives the driver is completed and the connection test opens.
Why do transactions not arrive by themselves? Either Automatic fetch on is not ticked for the connection, or the automatic fetching task is off on the server (not BANKA_CANLI_GOREV=1). The top of the Live tab says which applies; meanwhile Fetch now can be used.
What happens to fetched transactions if I delete the connection? They stay. Only the connection and its saved credentials are deleted; transactions, matches and written receipts remain.

Related guides: Bank Transactions · Finance · Settings · Mobile.