TL;DR ✨

Většinou se usádlíte na tom, že tato noční můra Flexibee prostě nefunguje, anebo funguje natolik vágně, že to stejně doděláváte ručně.

Takovým vysvobozením a odfajfknutím jedné věci, tkerá dlouho ze strany ABRA Flexi s.r.o měla být udělána a nebyla je php-flexibee-matcher z dílny Víťu. Podrobný popis nalezneme na GitHubu. Krátký výcuc:

Článek z archivu

Text byl poprvé publikován 2018-04-23. Čtěte ho proto i jako dobový pohled; některé údaje a doporučení už nemusí odpovídat dnešku.

✨ 🎯 Popis problému:

Článek ukazuje jak nasedlat na jeden z moha výborných kusů práce, který udělal Vitex Software pro ABRA Flexibee. Jedná se o pokročilé možnosti párování ve Flexibee. Jak jistě víte, když chcete párovat platby ve Flexibee, máte velmi omezené možnosti a to ty, které jsou uvedeny v printscreenu.

Většinou se usádlíte na tom, že tato noční můra Flexibee prostě nefunguje, anebo funguje natolik vágně, že to stejně doděláváte ručně.

Takovým vysvobozením a odfajfknutím jedné věci, tkerá dlouho ze strany ABRA Flexi s.r.o měla být udělána a nebyla je php-flexibee-matcher z dílny Víťu. Podrobný popis nalezneme na GitHubu. Krátký výcuc:

Párovač faktur pro FlexiBee

Instalace balíčku po spuštění (vytvoří potřebné štítky NEIDENTIFIKOVANO a CHYBIFAKTURA)

K dispozici jsou dva skripty na párování faktur:

[ParujFakturyNew2Old.php](src/ParujFakturyNew2Old.php) - páruje faktury po jednotlivých dnech zpět až 3mesíce.
[ParujFaktury.php](src/ParujFaktury.php)               - pokusí se zpárovat všechny nespárované doklady

Algoritmus je následující:

* stažení výpisů z banky do flexibee
* projdou se všechny nespárované příjmy v bance ( /c/firma_s_r_o_/banka/(sparovano eq false AND typPohybuK eq 'typPohybu.prijem' AND storno eq false AND datVyst eq '2018-03-07' )?limit=0&order=datVyst@A&detail=custom:id,kod,varSym,specSym,sumCelkem,datVyst )
* Platby se pak v cyklu po jedné zpracovávají
* Ke každé příchozí platbě se program pokusí nalézt vhodný (neuhrazený a nestornovaný) doklad ke spárování. Nejprve podle variabilního symbolu. Nakonec dle prostého specifického symbolu.
* Výsledky jsou sjednoceny dle čísla bankovního pohybu ve flexibee aby nedocházelo k duplicitám když faktura vyhoví více ruzným hledáním.
* Platby které nemají dohledaný protějšek dle žádné z podmínek jsou označeny štítkem NEIDENTIFIKOVANO
* Pokud k platbě není dohledána faktura, dostane platba štítek CHYBIFAKTURA

Dohledané doklady se pak párují takto:

* **FAKTURA** - platba se spáruje s fakturou + uhrazená faktura je odeslána z flexibee na email klienta
* **ZALOHA**  - zálohová faktura je spárována s platbou + je vytvořen daňový doklad se stejným variabilním symbolem od kterého je tato záloha odečtena.
* **DOBR**    - je proveden odpočet dobropisu
* Ostatní     - je zapsáno varování do protokolu s polu s linkem do webového flexibee

🐧 Debian/Ubuntu

Pro Linux jsou k dispozici.deb balíčky. Prosím použijte repo:

wget -O - http://v.s.cz/info@vitexsoftware.cz.gpg.key|sudo apt-key add -
echo deb http://v.s.cz/ stable main > /etc/apt/sources.list.d/ease.list
apt update
apt install php-flexibee-matcher

Po instalaci balíku jsou v systému k dispozici dva nové příkazy:

  • php-flexibee-matcher - páruje všechny toho schopné faktury
  • php-flexibee-matcher-new2old - páruje den po dni od nejnovějších plateb ke starším

🔍 Konfigurace

    "EASE_APPNAME": "InvoiceMatcher",             - název aplikace
    "EASE_MAILTO": "info@yourdomain.net",         - kam odesílat reporty
    "EASE_LOGGER": "syslog|mail|console",         - jak logovat
    "PULL_BANK": "false",                         - stahnout banku před párováním
    "DAYS_BACK": "7"                              - až kolik dní zpět párovat

✨ 🎯 Řešení:

Článek popisuje, jak to rozchodit pro testovací účely u nás doma. To hlavní, co očekáváme je, že se budou doklady párovat doklady podle nějakých kritérií, které si zvolíme. Hlavní očekávaná kritéria jsou:

  1. Páruj dle VS (to co dělá současné Flexibee)
  2. Páruj podle VS a SS (to co očekáváme jako novinku)
  3. Páruj jen dle SS
  4. Páruj v nějakém intervalu (např +- 20 dní)

🔍 🎯 Kuchařka nastavení:

  1. Stáhneme si z GitHubu zdrojové soubory (vpravo zelené tlačítko download as zip). Pro ňimrody klikni zde
  2. Stáhneme si Vagrantup dostupné na: https://www.vagrantup.com/downloads.html
  3. Stáhneme a nainstalujeme si virtualbox: https://www.virtualbox.org/wiki/Downloads
  4. Odzipujeme soubory z GitHubu, vejdeme dovnitř do adresáře cd /php-flexibee-matcher/ a zadáme příkaz vagrant up
  5. Počkáme asi půl století, než se vše přechroupe (utvoří se nám debianí virtuál) a pak zadáme příkaz vagrant ssh
  6. Tím se přihlásíme do naší virtuální mašinky. Nyní musíme zeditovat soubor s názvem client.json. Tento soubor najdeme v adresáři /vagrant. Zde si to zeditujeme tak, abychom tam měli URL naší flexibee firmy, login a heslo a název firmy. Ukázka: vagrant@stretch:/vagrant$ cat client.json { "FLEXIBEE_URL": "https:\/\/MojeFirma.flexibee.eu:5434", "FLEXIBEE_LOGIN": "flexicosi", "FLEXIBEE_PASSWORD": "tajneHeslo", "FLEXIBEE_COMPANY": "demo" }
  7. Nezapomeneme zeditovat matcher.json a to dle tohoto mého návrhu: vagrant@stretch:/vagrant$ cat matcher.json { "EASE_APPNAME": "InvoiceMatcher", "EASE_MAILTO": "tvujMail@connectica.cz", "EASE_LOGGER": "mail|console", "PULL_BANK": "false", "DAYS_BACK": "14" }
  8. A je to. Pak už jen snadno spustíme vagrant@stretch:/vagrant/src$ /usr/bin/php-flexibee-matcher a můžeme se chvíli civět, jak se práce (asi) dělá za nás.

Až výše uvedené budete mít za sebou, čeká vás fáze ladění a oprav. Každé podnikání má své specifikum a pokaždé vám proces vyplivne nějaký výsledek. Ono přikazová řádka snese všechno. Pokud s tím budete mít nějaké potíže, zkuste napsat nebo zavolat Víťovi

Naopak pokud jste skilled a už vám to jde, tak se přesuňte na další level - Flexibee upomínkovač: https://github.com/VitexSoftware/php-flexibee-reminder