Přeskočit na hlavní obsah
Všechny sbírkyVýukové článkyJak začít s Flexi?
Jak napojit libovolný e-shop na účetnictví ABRA Flexi – část 2.
Jak napojit libovolný e-shop na účetnictví ABRA Flexi – část 2.

Z e-shopu do účetnictví

Petr Pech avatar
Autor: Petr Pech
Aktualizováno před více než 3 lety

Přenos objednávek z e-shopu do ABRA Flexi

Doporučujeme nejdříve prostudovat 1. díl článku: Přenos dat z účetnictví do e-shopu.

Jaká data bude nutné přenášet z e-shopu do systému ABRA Flexi?

Zákazník svou cestu po e-shopu zakončil vytvořením objednávky, kterou je nutné přenést a zpracovat v ABRA Flexi. Vytvořit z ní výdejku na skladové zboží a fakturu. K této faktuře pak „napárovat“ úhrady.

Většina napojení e-shopů na Flexi nevytváří ve Flexi záznamy do evidence objednavka-prijata ale rovnou vytváří faktury nebo výzvy k platbě, aby se snížil počet dokladů, které je potřebné zpracovat. Je však samozřejmě možné vytvořit nejdříve objednávku, a tu vyfakturovat. Každá objednávka obsahuje položky, které určují, co si zákazník objednal. Ve Flexi je možné do objednávek (i faktur) zadávat položky z ceníku i bez vyplnění ceníku, skladové i neskladové. Zákazníka lze vybrat z adresáře firem nebo vyplnit přímo na dokladu.

Pro úspěšné vytvoření objednávky je nutné na straně e-shopu nejdříve sestavit XML nebo JSON soubor, a ten pak pomocí metody PUT nebo POST zaslat do Flexi.

Soubor pro vytvoření objednávky by měl mít strukturu například:

<?xml version="1.0"?>
<winstrom>
  <objednavka-prijata><id>ext:OBP-ESHOP:123</id><!-- místo 123 použijte vnitřní identifikátor objendávky v eshopu --><typDokl>code:OBP-ESHOP</typDokl><!-- zkratka typu dokladu, který se má použít na vytvářenou objednávku --><stredisko>code:ESHOP</stredisko><!-- pokud využíváte střediskovou cenotvorbu --><firma>code:FIRMA</firma><!-- zkratka firmy pro výběr firmy z adresáře -->...<polozkyDokladu removeAll="true"><objednavka-prijata-polozka><id>ext:OBP-POL-ESHOP:234</id><!-- místo 234 použijte vnitřní identifikátor položky objednávky v eshopu --><cenik>code:CENIK</cenik><!-- zkratka objednaného zboží z ceníku--><sklad>code:SKLAD</sklad><!-- zkratka skladu ze kterého bude zboží vyskladněno --><mnozMj>1</mnozMj><!-- objednané množství --><cenaMj>100</cenaMj><!-- jednotková cena za kterou bylo zboží objednáno -->...</objednavka-prijata-polozka></polozkyDokladu></objednavka-prijata>
</winstrom>

TIP: Doporučujeme Vám, vždy když posíláte nějaká data do ABRA Flexi, snažte se používat identifikátory (elementy id). Umožníte tím zpětné změny na objednávce pro zákazníky z e-shopu (například změnu objednaného množství nebo dodací adresy). Také vyplňujte jen pole, o kterých víte, co znamenají a co se s nimi ovlivňuje. Kompletní seznam polí dostupných pro objednávky přijaté naleznete na adrese https://demo.flexibee.eu/c/demo/objednavka-prijata/properties .

Realizace objednávky

Objednávku z e-shopu nyní zrealizujeme. To je možné v provést buď ručně, nebo automatizovaně.

Pro zautomatizování je potřeba do ABRA Flexi poslat XML které bude vypadat například takto:

<?xml version="1.0"?>
<objednavka-prijata>
  <id>ext:OBP-ESHOP:123</id>
  <realizaceObj type="faktura-vydana">
    <id>ext:FAV-ESHOP:123</id>
    <!-- nepovinné, id faktury, která se z objednávky vytvoří -->
    <polozkyObchDokladu>
      <polozka>
        <cisRad>1</cisRad>
        <!--č. řádky v obj.-->
        <mj>1</mj>
      </polozka>
    </polozkyObchDokladu>
  </realizaceObj>
</objednavka-prijata>

Při realizaci objednávky je výhodné vytvářené faktuře rovnou přiřadit externí identifikátor, abychom mohli následně s fakturou pracovat, např. získat PDF tiskopis, odeslat do EET, poslat PDF zákazníkovi mailem.

V případě, že je objednávka zaplacena kartou, je potřeba fakturu, vzniklou z této objednávky, odeslat do EET. Odesílání dokladů do EET popisujeme v článku EET automaticky přes REST API.

Pokud chcete poslat fakturu zákazníkovi mailem, stačí po úspěšné realizaci objednávky odeslat do ABRA Flexi XML soubor:

<?xml version="1.0"?>
<winstrom>
  <faktura-vydana>
    <id>ext:FAV-ESHOP:123</id>
    <stavMailK>stavMail.odeslat</stavMailK>
    <!-- na faktuře nastaví, že má dojít k automatickému odeslání -->
  </faktura-vydana>
</winstrom>

Samostatné odeslání faktur určených k odeslání se provádí pomocí volání

PUT|POST /c/{firma}/faktura-vydana/automaticky-odeslat-neodeslane

Autentizace evidencí kontaktů

Pokud přemýšlíte, kde mít bezpečně uložena uživatelská jména a hesla vašich zákazníků a jak jednoduchou formou pomocí těchto údajů umožnit uživatelům se přihlásit, je výhodné využít evidenci kontakt.

Pro každého zákazníka je potřeba vytvořit záznam do evidence kontakt s vyplněním polí username a password:

POST /c/{firma}/kontakty/{id}.xmljanheslo

Autentizace pomocí záznamů v evidenci kontakt se pak provádí pomocí požadavkem

POST na adresu:

POST /c/{firma}/kontakty/{id}/authenticate username=jan&password=heslo

Uživatelské dotazy

Pokud se vám zdá, že některá volání jsou pro vás zbytečně složitá nebo pomalá, případně nevracejí výsledky přesně tak, jak potřebujete, můžete využít evidenci uzivatelsky-dotaz.

Tato evidence umožňuje do ABRA Flexi doplnit vlastní SQL dotazy, které budou „ušity“ Vám na míru. Díky nim je možné získat z ABRA Flexi data, která jsou přes API nedostupná nebo optimalizovat jejich čtení.

Nevýhodou tvorby uživatelských dotazů je nutná znalost databázového schématu ABRA Flexi a také to, že systém negarantuje na rozdíl od API stabilitu databázového schématu.

Uživatelský dotaz je pak možné přes API volat:

GET|POST /c/{firma}/uzivatelsky-dotaz/{id}/call.{xml|json}?parametry=hodnoty... &detail/start/limit

Web Hooks

Další možností, jak propojení zoptimalizovat, je využití web hooks. Je to nejlepší způsob, jakým se e-shop může dozvědět o změnách v systému ABRA Flexi v reálném čase.

Dokumentace k web hooks je dostupná zde. Web hooky Vám ušetří mnoho zbytečně složitých dotazů do ABRA Flexi a budete moci načítat pouze ta data, která se reálně změnila.

Dostali jste odpověď na svou otázku?