Popis ovládača HBXML.hbd
Všeobecný ovládač, pomocou ktorého je možné realizovať univerzálne exporty platobných príkazov a importy bankových výpisov.
Prenosovým médiom je XML súbor, ktorý má presne definovanú štruktúru. V praxi to znamená, že pokiaľ sa vyexportuje platobný príkaz, na disku vznikne XML súbor, ktorý je ďalej možné užívateľský spracovávať (napr. XSL transformáciou a pod.). V případě importu bankovního výpisu je třeba, aby byl externí bankovní výpis uložen ke zpracování v ABRA Gen v souboru XML definované struktury v cestě zadané v parametrech ovladače HBXML.hbd.
Popis štruktúry pre Bankový výpis
V následující tabulce je uveden popis položek XML a jejich přiřazení k položkám databázových tabulek ABRA Gen, kde tabulka BankStatements je tabulka hlaviček bankovních výpisů a BankStatements2 je tabulka řádků bankovních výpisů. Více viz popis Struktur a definic GenDoc.chm.
XML element | Popis | Cílová položka v systému ABRA Gen | ||
---|---|---|---|---|
<ABRA-GX-BankStatement> | Povinné - identifikácia súboru. Vždy na prvej úrovni. | --- | ||
<DocDate> | Nepovinné - dátum bankového výpisu vo formáte YYYYMMDD. Element môže byť obsiahnutý len jedenkrát. | BankStatements.DocDate$DATE | ||
<ExternalNumber> | Nepovinné - číslo výpisu. Element môže byť obsiahnutý len jedenkrát. | BankStatements.ExternalNumber | ||
<Rows> | Riadky príkazu (Subelement elementu <ABRA-GX-BankStatement>) - obsahuje toľko subelementov <Row>, koľko má bankový výpis riadkov. Povinné. Element môže byť obsiahnutý len jedenkrát. | --- | ||
<Row> |
Subelement <Rows>. Jeden riadok výpisu. Obsahuje nasledujúce elementy: |
--- | ||
<DocDate> | Subelement <Row>. Povinné - dátum riadka výpisu vo formáte YYYYMMDD. | BankStatements2.DocDate$DATE | ||
<Credit> | Subelement <Row>. Povinné - príznak Kreditu ("A"... kredit, "N"... debet) | BankStatements2.Credit | ||
<Amount> | Subelement <Row>. Povinné - suma na riadku. Na 2 desatinné miesta, oddeľovačom je '.' (bodka) | BankStatements2.Amount | ||
<CurrencyCode> | Subelement <Row>. Nepovinné - ISO kód meny. Pokiaľ neuvedený, prevezme sa mena daného účtu alebo <CurrencyBankCode>. |
BankStatements2.Currency_ID odpovídá kódu měny v tagu <CurrencyCode> nebo |
||
<CurrencyBankCode> | Subelement <Row>. Nepovinné - NBS kód meny. Pokiaľ neuvedený, prevezme sa mena daného účtu alebo <CurrencyCode>. | |||
<VarSymbol> | Subelement <Row>. Nepovinné - Variabilný symbol obratu. Dle tohoto symbolu se po přijetí do ABRA Gen provádí spojení s placeným dokladem. | BankStatements2.VarSymbol | ||
<LocalAmount> | Subelement <Row>. Nepovinné - pokiaľ je vyplnené <Amount> - suma v lokálnej mene | BankStatements2.LocalTAmount | ||
<OwnBankAccount> | Subelement <Row>. Slúži na kontrolu. Nepovinné - číslo bankového účtu, pre ktorý je daný riadok. Vo formáte 6+10+4 (predčíslie+číslo+kód banky - všetko bez oddeľovačov). Pokiaľ tento element nie je uvedený, pri importe sa nezrealizuje kontrola účtu a riadok bude automaticky považovaný za riadok k účtu, jeho BV je práve zadávaný. Pokiaľ je uvedené a účet nesúhlasí, riadok nebude prijatý. | - | ||
<BankAccount> | Subelement <Row>. Číslo protiúčtu operácie. |
BankStatements2.BankAccount Ďalej platí: Ak existuje užívateľská položka X_BankAccount, Y_BankAccount, S_BankAccount alebo U_BankAccount viazaná k záznamu v tabuľke BankStatements2, naplní sa z tagu <BankAccount>. Naplní sa prvá z existujúcich užívateľských položiek. Existencia položiek sa kontroluje v poradí, ako sú vyššie uvedené. Napr. ak existuje položka X_BankAccount, naplní sa a ďalšie vyššie uvedené užívateľské položky neplní. |
||
<SpecSymbol> | Subelement <Row>. Špecifický symbol operácie. | BankStatements2.SpecSymbol | ||
<ConstSymbolCode> | Subelement <Row>. Konštantný symbol operácie. V ABRA Gen se nevyužívá. | - | ||
<SwiftCode> | Subelement <Row>. SwiftCode protistrany. Neplní sa v žiadnom ovládači (nepoužíva sa). | - | ||
<IBANCode> | Subelement <Row>. IBANCode protistrany. Neplní sa v žiadnom ovládači (nepoužíva sa) | - | ||
<Description> | Subelement <Row>. Popis operácie (AV - správa). | BankStatements2.Text |
Příklad xml souboru, který vznikl na základě přijatého souboru s bankovním výpisem z banky a který bude moci být naimportován do vystavovaného bankovního výpisu obecným e-bankingovým driverem HBXML.hbd:
<?xml version="1.0" encoding="Windows-1250" ?>
<ABRA-GX-BankStatement>
<ExternalNumber>00196</ExternalNumber>
<DocDate>20021108</DocDate>
<Rows>
<Row>
--- údaje řádku 1 ---
<DocDate>20021108</DocDate>
<Credit>A</Credit>
<Amount>442.50</Amount>
<VarSymbol>2419911124</VarSymbol>
<OwnBankAccount>00000001150732930300</OwnBankAccount>
<CurrencyCode>CZK</CurrencyCode>
</Row>
<Row>
--- údaje řádku 2 ---
<DocDate>20021109</DocDate>
<Credit>N</Credit>
<Amount>4550.50</Amount>
<VarSymbol>2555551124</VarSymbol>
<OwnBankAccount>00000001150732930300</OwnBankAccount>
<CurrencyCode>CZK</CurrencyCode>
</Row>
--- atd. dalších řádků ... ---
</Rows>
</ABRA-GX-BankStatement>
Pri preberaní súboru NIE JE realizovaná kontrola správnosti XML súboru (PARSE), preto je potrebné, aby bol formát korektný.
Prípad, kedy prijatý súbor z banky obsahuje dáta z viac bank. výpisov a viac účtov
Môže nastať situácia, keď jeden súbor, ktorý ste prijali od banky, obsahuje viac ako jeden bankový výpis z viac ako jedného bankového účtu. Príkladom môže byť súbor na elektronickú výmenu dát medzi bankou a klientom, vo formáte "Kompatibilné média", v ktorom sa každý výpis začína kódom 074 so špecifikáciami výpisu (číslo bankového výpisu, dátum výpisu ….) a ďalej pokračujú riadky s kódom 075, kde je číslo samotného účtu, dátum transakcie, suma a iné.
-
Súbor obsahuje platby z jedného účtu, ale viac bankových výpisov:
Import e-bankingem do dokladu bankovního výpisu neřeší možnost importovat z jednoho souboru různé bankovní výpisy. (Element <Rows> v importnom xml súbore môže byť práve jedenkrát, pokiaľ by bol uvedený viackrát, nebudú jeho ďalšie výskyty ovládačom HBXML.hbd spracované). Situáciu teda treba riešiť napr. prevedením jedného súboru z banky na niekoľko xml súborov, z nich každý bude zodpovedať jednému bankovému výpisu. Případně, pokud by nebylo třeba zachovat informace o externím čísle výpisu z banky a jeho datu vystavení, by bylo možno řádky z různých bankovních výpisů vnořit všechny jako subelementy jednoho elementu <Rows> (závisí pochopitelně na tom, jakým způsobem zachováváte kontinuitu s číslováním banky a zda je možné zadat platby z více bankovních výpisů pod jeden doklad BV v ABRA Gen či nikoliv.)
-
Súbor obsahuje platby z viacerých účtov:
Tento problém môže byť riešený pomocou elementu <OwnBankAccount>. Jak je uvedeno v popisu elementu výše, je-li element uveden, provádí se kontrola, zda daný řádek odpovídá účtu, do něhož se e-bankingem importuje, tj. účtu zadanému předtím v hlavičce editovaného bankovního výpisu. Teda načítajú sa len tie riadky, ktoré danému bankovému účtu zodpovedajú, tie ktoré zodpovedajú inému číslu účtu je potreba obdobne naimportovať do iného dokladu bankového výpisu, v ktorého hlavičke bude vybraný zodpovedajúci bankový účet. Tu je potrebné ale ošetriť, zadanie správneho dátumu bankového výpisu a jeho externého čísla, pretože elementy <DocDate> a <ExternalNumber> môžu byť v importnom xml súbore práve jedenkrát rovnako ako element <Rows>, pokiaľ by boli uvedené viackrát, nebudú ich ďalšie výskyty ovládačom HBXML.hbd spracované.
Popis štruktúr pre Platobný príkaz
XML element | Popis | |||
---|---|---|---|---|
<ABRA-GX-PaymentOrder> | Identifikace souboru s platebními příkazy z ABRA Gen - v první úrovni | |||
<CompanyName> | Meno vlastnej firmy | |||
<DueDate> | Dátum splatnosti | |||
<SentDate> | Dátum odoslania príkazu | |||
<DocDate> | Dátum dokladu | |||
<OrdNumber> | Číslo príkazu | |||
<LocalCurrencyCode> | ISO kód miestnej meny (SKK) | |||
<LocalCurrencyBankCode> | NBS kód miestnej meny (číslo) | |||
<LocalCountryCode> | ISO kód tuzemska (SK) | |||
<BankAccount> | Údaje o vlastnom účte (Subelement elementu <ABRA-GX-PaymentOrder>) - obsahuje 5 nasledujúcich elementov | |||
<Name> | Subelement <BankAccount>. Názov účtu | |||
<BankAccount> | Subelement <BankAccount>. Číslo účtu vo formáte 6+10+4 (predčíslie + číslo + kód banky - bez oddeľovačov) | |||
<SpecSymbol> | Subelement <BankAccount>. Špecifický symbol účtu | |||
<CurrencyCode> | Subelement <BankAccount>. ISO kód meny účtu | |||
<CurrencyBankCode> | Subelement <BankAccount>. NBS kód meny účtu | |||
<SwiftCode> | Subelement <BankAccount>. Swift kód vlastného bank. účtu. | |||
<IBANCode> | Subelement <BankAccount>. IBAN kód vlastního bank. účtu. | |||
<BankCountryCode> | Subelement <BankAccount>. Kód krajiny banky vlastného bank. účtu. Ak nie je vyplnený, tak sa naplní kódom krajiny z Firemných údajov. | |||
<CompanyAddress> | Údaje o vlastnej firme (Subelement elementu <ABRA-GX-PaymentOrder>) - obsahuje 4 nasledujúce elementy | |||
<Street> | Subelement <CompanyAddress>. Adresa - Ulica. | |||
<City> | Subelement <CompanyAddress>. Adresa - Mesto. | |||
<Country> | Subelement <CompanyAddress>. Adresa - Štát. | |||
<PostCode> | Subelement <CompanyAddress>. Adresa - PSČ. | |||
<OrgIdentNumber> | Subelement <CompanyAddress>. IČO vlastnej firmy. | |||
<VATIdentNumber> | Subelement <CompanyAddress>. IČ DPH vlastnej firmy. | |||
<Rows> | Riadky príkazu (Subelement elementu <ABRA-GX-PaymentOrder>) - obsahuje toľko subelementov <Row>, koľko je riadkov príkazu. | |||
<Row> | Jeden riadok príkazu (Subelement elementu <Rows>). Obsahuje nasledujúce elementy: | |||
<Position> | Subelement <Row>. Pozícia | |||
<DueDate> | Subelement <Row>. Dátum splatnosti | |||
<Description> | Subelement <Row>. Popis (AV - správa) | |||
<Amount> | Subelement <Row>. Suma v mene príkazu (desatinný oddeľovač je "." (bodka)) | |||
<CurrencyCode> | Subelement <Row>. ISO kód meny | |||
<CountryCode> | Subelement <Row>. ISO kód krajiny | |||
<ForeignIssue> | Subelement <Row>. Spôsob platby dodatočných poplatkov transakcie ("0"... OUR, "1"... BEN,"2"... SHA ) | |||
<Urgent> | Subelement <Row>. Urgentnosť platby ("0"... STD, "1"... URG) | |||
<VarSymbol> | Subelement <Row>. Variabilný symbol | |||
<ConstSymbolCode> | Subelement <Row>. Konštantný symbol | |||
<SpecSymbol> | Subelement <Row>. Špecifický symbol | |||
<TargetBankAccount> | Subelement <Row>. Číslo protiúčtu | |||
<TargetBankName> | Subelement <Row>. Názov banky protiúčtu | |||
<TargetBankStreet> | Subelement <Row>. Ulica banky protiúčtu | |||
<TargetBankCity> | Subelement <Row>. Mesto banky protiúčtu | |||
<TargetBankPostCode> | Subelement <Row>. PSČ banky protiúčtu | |||
<TargetBankCountry> | Subelement <Row>. Kód krajiny banky protiúčtu | |||
<TargetBankCountryCode> | Subelement <Row>. Kód krajiny banky protiúčtu | |||
<TargetCompany> | Subelement <Row>. Údaje o protistrane. Obsahuje nasledujúcich 5 elementov. | |||
<Name> | Subelement <TargetCompany>. Meno firmy | |||
<Street> | Subelement <TargetCompany>. Adresa - Ulica. | |||
<City> | Subelement <TargetCompany>. Adresa - Mesto. | |||
<PostCode> | Subelement <TargetCompany>. Adresa - PSČ | |||
<Country> | Subelement <TargetCompany>. Adresa - Kód krajiny | |||
<CountryName> | Subelement <TargetCompany>. Adresa - Meno krajiny | |||
<CountryNumCode> | Subelement <TargetCompany>. Adresa - Trojmiestny číselný kód daného štátu podľa ISO3166. | |||
<CurrencyBankCode> | Subelement <Row>. Číselný bankový kód meny. | |||
<SwiftCode> | Subelement <Row>. Swift kód. | |||
<PDocumentsDisplayNames> | Subelement <Row>. Ak riadok platí viac ako jeden doklad, je tu zoznam platených dokladov. | |||
<SEPAPayment> | Subelement <Row>. Príznak o zahraničnej platbe s príznakom SEPA. SEPA platby sú v systéme ABRA Gen riešené pomocou definovateľných položiek dohodnutého mena SEPAPayment vytvorených k riadku plat. príkazu. Ak taká položka existuje a je naplnená pomocou užívateľského formulára na platobnom príkaze, ovládač na ňu reaguje a vyexportuje ju. Ďalej viď realizácia platieb s príznakom SEPA. |
Všechny elementy (u kterých to připadá v úvahu) jsou s diakritikou, v kódování 1250 (potažmo v kódování ABRA Gen).
Parametre tohto ovládača sú usporiadané do nasledujúcich záložiek:
Obsiahnuté záložky: | Platobné príkazy | Bankové výpisy |
---|
Názov | Doplňujúci popis |
---|---|
Cesta pre ukladanie vygenerovaného platobného príkazu | Tu je potrebné zadať platné meno adresára vrátane disku a koncovej spätnej lomky. Adresár musí byť vytvorený. |
Po exporte spustiť | Po vlastnom exporte je možné spustiť externý program, napríklad program, ktorý rovno umožní vytvorený el. platobný príkaz odoslať do banky (zodpovedajúca stránka WWW). Vo volaní programu možno využívať parametre - viď popis pri funkcii Parametre. |
Názov | Doplňujúci popis |
---|---|
Cesta k dátam bankového výpisu | Tu je potrebné zadať platné meno adresára vrátane disku a koncovej spätnej lomky. Adresár musí byť vytvorený. |
Pred importom spustiť | Pred vlastným importom je možné spustiť ľubovolný externý program. Zadaný program sa spustí ešte pred vyhľadaním importných súborov. Túto vlastnosť je teda možné využiť na spustenie programu, ktorý sťahuje výpisy z banky. |
Súbor výpisu po spracovaní |
Nastavenie, čo sa má so súborom výpisu stať po spracovaní. Možnosti sú nasledujúce:
|
Súbor výpisu presunúť do zložky | Zložka, do ktorej sa má súbor výpisu presunúť po spracovaní. Relevantné len v kombinácii s nastavením predchádzajúceho parametra na "Presunúť súbor do inej zložky". |