Jednoduchý přenos objednávek z e-shopu Shoptet do ABRA FlexiBee

Online řešení Shoptet využívá více než deset tisíc e-shopů a pokladních systémů. Jak z něj efektivně přenášet data do účetnictví ABRA FlexiBee? Celý proces lze snadno automatizovat, ruční přepisování jednotlivých objednávek nebo faktur patří dávné minulosti.

Co budeme potřebovat?

Nastavení v Shoptetu

V administrátorském rozhraní Shoptetu je možné spravovat objednávky, prodávané produkty, zákazníky a všemožné další nastavení. Uživatele FlexiBee budou nejspíše zajímat především objednávky. V menu Objednávky tedy zvolíte možnost Export a začnete vytvářet vlastní typ exportu.

Vlastní typ exportu objednávek ze Shoptetu

Ze Shoptetu je nutné exportovat XML soubor ve formátu, který FlexiBee umí naimportovat. To je díky možnosti vlastního typu exportu celkem jednoduché.

Po stisku tlačítka Vytvořit vlastní typ exportu vyplníte průvodce Přidáním šablony exportu objednávek. Zvolte prázdnou šablonu, Formát nastavte na XML a vhodně si šablonu pojmenujte.

Otevře se Detail šablony objednávky. Ujistěte se, že je zaškrtnuta možnost Exportovat jednotlivé položky objednávky a můžete se pustit do nastavování struktury exportního XML souboru.

Obsažené sloupce

Hlavička XML

Do pole hlavička XML vyplňte jen

<winstrom>

Tělo XML

Pro základní a minimalistický import do pole Tělo XML vyplňte

<objednavka-prijata>
<id>code:#code#</id>
<kod>#code#</kod>
<typDokl>code:OBP</typDokl>
<nazFirmy>#billFullName# - #billCompany#</nazFirmy>
<ulice>#billStreet#</ulice>
<mesto>#billCity#</mesto>
<psc>#billZip#</psc>
<stat>code:#billCountryCode#</stat>
<ic>#billCompanyId#</ic>
<dic>#billVatId#</dic>
<polozkyDokladu>
#orderItems#
</polozkyDokladu>
</objednavka-prijata>

Tím jsou vytvořeny hlavičky jednotlivých objednávek. Do FlexiBee se podle tohoto předpisu vytvoří nové objednávky přijaté, které mají interní číslo shodné s číslem objednávky v Shoptetu. Mají vyplněny fakturační údaje (název firmy, adresu, IČ a DIČ).

Jako typ dokladu je pro tyto objednávky použit typ se zkratkou OBP, který je standardně vytvořen v každé nově založené firmě. V případě, že potřebujete mít objednávky z konkrétního e-shopu zařazeny pod samostatný typ dokladu, je nutné řetězec OBP nahradit jinou zkratkou (např. OBP-MUJSHOPTET) a zároveň mít ve FlexiBee vytvořen typ dokladu se stejnou zkratkou. Z typu dokladu se do objednávky přenáší spousta výchozích hodnot, takže není nutné přenášet ze Shoptetu úplně všechna pole.

Položky objednávky budou automaticky vloženy místo značky #orderItems#.

Tělo XML pro položky objednávky

V tomto poli musíte nadefinovat, jak bude vypadat XML element pro položku objednávky.

Vložte do něj tedy

<objednavka-prijata-polozka>
<nazev>#orderItemName# - #orderItemVariantName#</nazev>
<kod>#orderItemCode#</kod>
<mnozMj>#orderItemAmount#</mnozMj>
<cenaMj>#orderItemUnitPriceWithoutVat#</cenaMj>
<slevaPol>#orderItemDiscountPercent#</slevaPol>
<szbDph>#orderItemUnitPriceVatRate#</szbDph>
<sumZkl>#orderItemTotalPriceWithoutVat#</sumZkl>
<sumDph>#orderItemTotalPriceVat#</sumDph>
<sumCelkem>#orderItemTotalPriceWithVat#</sumCelkem>
</objednavka-prijata-polozka>

Tímto zápisem se do FlexiBee přenesou jednotlivé položky objednávek bez vazby na ceník a sklad. Přenesou se také všechna potřebná pole pro vystavení faktury – název, kód, množství, jednotková cena a celkové částky základu, dph a celkem.

Patička XML

Stejně jako Hlavička, i patička XML bude velmi jednoduchá.

Vložte do ní jen

</winstrom>

Nastavení ve FlexiBee

Ve FlexiBee je nutné nastavit pouze typu dokladu. Pokud objednávky exportujete s jiným než výchozím typem dokladu se zkratkou OBP, je nutné tento typ dokladu založit a kompletně v něm nastavit všechny potřebné hodnoty.

Automatizace přenosu Integromatem

Přenos objednávek lze automatizovat mnoha různými způsoby. Můžete zkusit curl a cron, můžete naprogramovat jednoduchou PHP aplikaci, ale nejjednodušším řešením bude využití Integromatu.

V Integromatu tedy vytvořte nový scénář, který bude spočívat ve využití dvou HTTP modulů.

Zpracování HTTP(S) požadavku

První modul bude načítat nové objednávky ze Shoptetu. Jako URL zadáte adresu, kterou naleznete v Shoptetu v dolní části obrazovky Export objednávek. Adresa je označena jako Permanentní odkaz zvoleného exportu.

Permanentní odkaz zvoleného exportu

Metodu nastavte na GET a můžete modul otestovat. Pokud se jako status kód vrátí 200 a v poli data je vidět XML struktura, je všechno úspěšně načteno.

Druhý modul HTTP bude data načtená ze Shoptetu ukládat do FlexiBee. URL adresu vyplňte adresu našeho FlexiBee serveru a doplňte ji o endpoint objednavka-prijata.xml.

Adresa URL bude vypadat například

https://demo.flexibee.eu/c/demo/objednavka-prijata.xml

Jako metodu zvolte PUT, Druh těla požadavku nastavte na Raw, Typ obsahu na XML (application/xml) a obsahem požadavku budou data načtená ze Shoptetu. Ještě vyplňte uživatelské jméno a heslo uživatele, pod kterým budou objednávky do FlexiBee zapisovány.

Rozšíření a další možnosti

Samozřejmě zde uvádíme jen nejjednodušší možnou variantu bez ceníku a skladu, s vyplněním jen minima polí na hlavičce objednávky. Přenos dat je samozřejmě možné rozšířit. Není problém doplnit do hlaviček měnu a kurz objednávky, doručovací adresu, formu dopravy a spoustu dalších informací.

Celkem jednoduše lze rovněž celý přenos přenastavit tak, aby místo objednávek byly ve FlexiBee vytvářeny rovnou faktury. Stačí nahradit tagy objednavka-prijata za faktura-vydana, objednavka-prijata-polozka za faktura-vydana-polozka a nastavit jiný typ dokladu.

Závěr

Jak vidno, ze Shoptetu lze přenášet objednávky do FlexiBee velmi jednoduše. Také automatizace celého procesu není nijak složitá a pokud budete přenášet pouze nové objednávky jednou za hodinu, vystačíte si s volným tarifem Integromatu.

Během přenosů můžete narazit na dva problémy. Shoptet ve výchozím nastavení exportuje desetinná čísla s čárkou jako oddělovačem desetinných míst. Tento formát ale FlexiBee nezvládne načíst a začne hlásit, že se nejedná o číslo. Problém je možné odstranit tak, že v Nastavení změníte u měny desetinnou čárku na tečku (Nastavení – Základní nastavení – Měny – CZK – Zobrazení měny – Desetinná čárka). Obdobný problém se vyskytuje, pokud se exportuje datum. FlexiBee očekává formát “YYYY-MM-DDThh:mm:ss”. Shoptet ale datum exportuje ve formátu “YYYY-MM-DD hh:mm:ss”. Na vyřešení tohoto problému pracujeme, prozatím doporučujeme synchronizovat objednávky pravidelně a datum nepřenášet.