Přeskočit obsah

SFTP

SFTP

SFTP (SSH File Transfer Protocol) umožňuje bezpečný export dokumentů z Alice na vzdálený server přes SSH tunel. Na rozdíl od FTPS se autentizovat lze i pomocí SSH klíče (bez hesla).

Podporované formáty

  • Datové formáty: JSON, XML, ISDOC, MRP XML
  • Archivační formáty: ZIP, ISDOCX

Firewall

Pokud je přístup k vašemu SFTP serveru omezen jen na určité adresy skrze Firewall, bude zapotřebí povolit přístup pro našeho agenta. Agent přistupuje z IP adresy: 20.224.100.194.

Jak to funguje?

Po označení dokumentu k exportu (stav state-ready-to-export.png K exportu) Alice připraví soubory ve zvoleném formátu a předá je Azure Function, která se připojí k vašemu SFTP serveru přes SSH (heslem nebo SSH klíčem) a soubory nahraje. Po úspěšném nahrání se v Alici doklad přesune do stavu Exportovaný, při chybě do stavu Chyba -- viz Diagnostika. Přehled všech stavů viz Stavy dokumentů.

Schéma datového toku

graph LR
    A[Alice] -->|soubory| B[SFTP server]
    B -.->|potvrzení| A

Podporované verze a předpoklady

Oblast Požadavek
Server SFTP server (SSH)
Autentizace Heslo nebo OpenSSH privátní klíč
Síť SFTP server (port 22) dosažitelný z IP 20.224.100.194
Můstek Není potřeba

Vytvoření integrace

V nastavení na kartě Integrace přidejte SFTP.

Podrobný postup, jak vytvořit integraci pro účetní systémy, naleznete v části Integrace.

Konfigurace

  1. Přejděte do sekce Nastavení > Integrace a klikněte na tlačítko plus
  2. Vyberte požadovaný typ exportu: SFTP/FTPS
  3. Vyplňte dialog dle předlohy výše:
    1. Obecné
      1. Název: Název, pod kterým se uložený export bude zobrazovat
      2. Typ: Použitý typ exportu: SFTP/FTPS
      3. Účetní jednotka: Účetní jednotka pro kterou tento export bude použit
    2. Nastavení
      1. Hostitel: Adresa nebo IP SFTP serveru
      2. Port: Port daného serveru, na kterém SFTP poslouchá
        1. SFTP - Výchozí: 22
        2. FTPS - Výchozí: 21
      3. Uživatelské jméno: Uživatel, pod kterým aplikace bude exportovat data na server
      4. Heslo: Heslo daného uživatele
      5. Cesta: Cesta v rámci SFTP, kam se mají exportovat soubory
        1. Pokud chcete exportovat do kořenové složky (nejvyšší složka po přihlášení na server), uveďte "/"
      6. OpenSSH Privátní klíč: Privátní klíč SSH v případě, že nechcete používat pro export přihlašování za pomoci hesla
      7. Přepsat již existující soubor - Přepíše již existující soubor
    3. Externí nastavení úložiště
      1. Formát - Definuje formát výsledného souboru nahraného na server
        1. JSON - Alice standardizovaný JSON
        2. XML - Alice standardizované XML
        3. ISDOC - Standardizovaný ISDOC
        4. MRP XML - XML pro MRP účetnictví
      2. Archivační formát
        1. Žádný - Soubory se nahrají bez archivace
        2. ZIP - Soubory budou nahrány v ZIP archivu
        3. ISDOCX - Soubor se vyexportuje jako ISDOCX (ISDOC obsahující i přiložené soubory)
      3. Zdroj názvu souboru
        1. ID dokumentu - Interní ID dokumentu Příklad: 7ab8f948347d4f00b19137849940ea37.xml
        2. Externí ID dokumentu - Externí ID dokumentu přiřazené uživatelem nebo aplikací třetí strany Příklad: VZ20231264.xml
        3. Název souboru - Zachová původní název souboru Příklad: 2023_06_20 Vyúčtování plyn.xml
        4. IČO dodavatele - Na začátek názvu souboru bude umístěno IČO dodavatele Příklad: 12345678_7ab8f948347d4f00b19137849940ea37.xml
        5. IČO odběratele - Na začátek názvu souboru bude umístěno IČO odběratele Příklad: 98765432_7ab8f948347d4f00b19137849940ea37.xml
      4. Styl písmen souboru
        1. Původní - Pojmenování souborů zůstane stejné Příklad: 2023_06_20 Vyúčtování plyn.xml
        2. camelCase - Převede název do camelCase Příklad: 20230620VyúčtováníPlyn.xml
        3. lowercase - Převede název do lowercase Příklad: 20230620vyúčtováníplyn.xml
        4. snake_case - Převede název do snake_case Příklad: 2023_06_20_vyúčtování_plyn.xml
      5. Zdroj názvu složky - Pokud se zvolí jiná možnost než Žádný, dokumenty budou exportovány do složky
        1. Žádný - Dokumenty nebudou exportovány do složky
        2. ID dokumentu - Interní ID dokumentu Příklad: 7ab8f948347d4f00b19137849940ea37
        3. Externí ID dokumentu - Externí ID dokumentu přiřazené uživatelem nebo aplikací třetí strany Příklad: VZ20231264
        4. Název dokumentu - Zachová původní název souboru Příklad: 2023_06_20 Vyúčtování plyn
        5. ID složky - Použije interní ID složky 31B7D0D4F758D9AEB6C9FF405AD1AA4065DA595BB7D73789B5A0D43AC6DE10F3
        6. IČO dodavatele - Na začátek nazvu složky bude umístěno IČO dodavatele Příklad: 12345678_31B7D0D4F758D9AEB6C9FF405AD1AA4065DA595BB7D73789B5A0D43AC6DE10F3
        7. IČO odběratele - Na začátek názvu složky bude umístěno IČO odběratele Příklad: 98765432_31B7D0D4F758D9AEB6C9FF405AD1AA4065DA595BB7D73789B5A0D43AC6DE10F3
      6. Styl písmen složky - Pouze pro možnost: "Zdroj názvu složky: Název dokumentu"
        1. Původní - Zachová původní název složky na základě názvu dokumentu Příklad: 2023_06_20 Vyúčtování plyn
        2. camelCase - Převede název do camelCase Příklad: 20230620VyúčtováníPlyn
        3. lowercase - Převede název do lowercase Příklad: 20230620vyúčtováníplyn
        4. snake_case - Převede název do snake_case Příklad: 2023_06_20_Vyúčtování_plyn
      7. Exportovat původní dokument - Vyexportovat dokument, který přišel do systému ve formátu PDF
      8. Exportovat celou složku - Exportovat všechny dokumenty, které jsou ve složce s exportovaným dokumentem
  4. Zvolte Save

Autentizace SSH klíčem

Místo hesla můžete použít OpenSSH privátní klíč (formát PEM). Postup:

  1. Na SFTP serveru přidejte veřejnou část klíče do ~/.ssh/authorized_keys cílového uživatele
  2. Privátní klíč (např. id_rsa) zkopírujte do pole OpenSSH Privátní klíč v Alici
  3. Pole Heslo nechte prázdné

Bezpečnost privátního klíče

Privátní klíč zůstává v Alice v zašifrované podobě. Pro vyšší bezpečnost doporučujeme používat dedikovaného SFTP uživatele s omezenými právy (jen zápis do exportní složky).

Rozdíl mezi SFTP a FTPS

Alice podporuje dva protokoly pro export souborů na vzdálený server: SFTP a FTPS. Přestože mají podobný účel, jedná se o odlišné technologie.

Vlastnost SFTP FTPS
Protokol SSH (Secure Shell) FTP + TLS/SSL
Výchozí port 22 21
Autentizace Heslo nebo SSH klíč Heslo
Šifrování SSH tunel TLS/SSL

Který protokol zvolit?

Volba závisí na tom, jaký protokol podporuje váš server. Pokud máte na výběr, oba protokoly poskytují dostatečné zabezpečení pro export dokumentů.

Diagnostika

Při chybě se dokument v Alici přesune do stavu error Chyba s detailem v náhledu.

Authentication failed

Příčina: Neplatné jméno/heslo nebo neplatný SSH klíč.

Řešení: Ověřte přihlašovací údaje na běžném SSH/SFTP klientovi (např. WinSCP, FileZilla). U klíče zkontrolujte, že je ve formátu OpenSSH PEM (ne PuTTY .ppk -- to je potřeba převést).

Connection refused / Connection timeout

Příčina: SFTP server není dosažitelný z cloudu Alice.

Řešení: V firewallu povolte IP 20.224.100.194. Ověřte, že server poslouchá na portu 22.

Permission denied

Příčina: Uživatel nemá oprávnění zapisovat do nastavené cílové složky.

Řešení: Na SFTP serveru udělte uživateli zápisová práva k cestě uvedené v konfiguraci.

Soubor již existuje

Příčina: Soubor se stejným názvem už na serveru je a volba Přepsat již existující soubor je vypnutá.

Řešení: Buď zapněte přepsání, nebo zvolte jiný zdroj názvu souboru.

Podklady pro integraci

Nastavení prostředí

Týká se pouze zákazníků v procesu integrace se smlouvou.

Pokud chcete při integraci nastavit export, doplňte následující informace. Hodnoty pro jednotlivá pole najdete výše. Vyplněné hodnoty uveďte v implementačním formuláři do sekce Poznámky:

SFTP | FTPS Export

Pro všechny účetní jednotky: Ano/Ne

Hostitel:
Port:
Uživatelské jméno:
Heslo:
Cesta:
Přepsat již existující soubor:
Formát:
Archivační formát:
Zdroj názvu souboru:
Styl písmen souboru:
Zdroj názvu složky:
Styl písmen složky:
Exportovat původní dokument:
Exportovat celou složku: