Popis problému:
Dnes si ukážeme 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
- /etc/flexibee/client.json – společná konfigurace připojení k FlexiBee serveru
- /etc/flexibee/matcher.json – nastavení párovače:
"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í:
My se společně podíváme, 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:
- Páruj dle VS (to co dělá současné Flexibee)
- Páruj podle VS a SS (to co očekáváme jako novinku)
- Páruj jen dle SS
- Páruj v nějakém intervalu (např +- 20 dní)
Kuchařka nastavení:
- Stáhneme si z GitHubu zdrojové soubory (vpravo zelené tlačítko download as zip). Pro ňimrody klikni zde
- Stáhneme si Vagrantup dostupné na: https://www.vagrantup.com/downloads.html
- Stáhneme a nainstalujeme si virtualbox: https://www.virtualbox.org/wiki/Downloads
- Odzipujeme soubory z GitHubu, vejdeme dovnitř do adresáře cd /php-flexibee-matcher/ a zadáme příkaz vagrant up
- 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
- Tím se nalogujeme 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“
} - 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“
} - 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