{"id":26358323,"url":"https://github.com/spoje-net/php-abraflexi","last_synced_at":"2026-02-04T11:19:49.684Z","repository":{"id":43809590,"uuid":"189886957","full_name":"Spoje-NET/php-abraflexi","owner":"Spoje-NET","description":"PHP Based Library for easy interaction with czech accounting system FlexiBee. ","archived":false,"fork":false,"pushed_at":"2024-04-30T17:51:03.000Z","size":3449,"stargazers_count":20,"open_issues_count":7,"forks_count":5,"subscribers_count":4,"default_branch":"main","last_synced_at":"2024-04-30T18:59:53.327Z","etag":null,"topics":["abraflexi","accounting","api-client","composer","fintech","flexibee","php","php-library"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Spoje-NET.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-06-02T19:33:57.000Z","updated_at":"2024-05-28T17:42:44.588Z","dependencies_parsed_at":"2023-07-15T23:38:15.395Z","dependency_job_id":"fd73dd51-76fa-47f9-8658-299ce8290727","html_url":"https://github.com/Spoje-NET/php-abraflexi","commit_stats":{"total_commits":241,"total_committers":5,"mean_commits":48.2,"dds":0.06224066390041494,"last_synced_commit":"360b385d4d95447c8a5b72daf66a5957cb653ece"},"previous_names":["spoje-net/php-flexibee"],"tags_count":22,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Spoje-NET%2Fphp-abraflexi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Spoje-NET%2Fphp-abraflexi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Spoje-NET%2Fphp-abraflexi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Spoje-NET%2Fphp-abraflexi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Spoje-NET","download_url":"https://codeload.github.com/Spoje-NET/php-abraflexi/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243881125,"owners_count":20362901,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["abraflexi","accounting","api-client","composer","fintech","flexibee","php","php-library"],"created_at":"2025-03-16T14:27:40.600Z","updated_at":"2026-02-04T11:19:49.639Z","avatar_url":"https://github.com/Spoje-NET.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PHP AbraFlexi\n![PHP AbraFlexi Logo](project-logo.png?raw=true \"Project Logo\")\n\nPHP7.1+ Based Library for easy interaction with Czech accounting system AbraFlexi.\n\nCZ: PHP Knihovna pro snadnou práci s českým ekonomickým systémem [AbraFlexi](https://www.abraflexi.eu/)\n\n[![Latest Version](https://img.shields.io/github/release/Spoje-NET/php-abraflexi.svg?style=flat-square)](https://github.com/Spoje-NET/php-abraflexi/releases)\n[![Software License](https://img.shields.io/badge/license-GNU-brightgreen.svg?style=flat-square)](https://github.com/Spoje-NET/php-abraflexi/blob/master/LICENSE)\n[![GitHub forks](https://img.shields.io/github/forks/Spoje-NET/php-abraflexi)](https://github.com/Spoje-NET/php-abraflexi/network)\n[![wakatime](https://wakatime.com/badge/user/5abba9ca-813e-43ac-9b5f-b1cfdf3dc1c7/project/48520b87-4e9a-4eca-861a-a5dd85b11374.svg)](https://wakatime.com/badge/user/5abba9ca-813e-43ac-9b5f-b1cfdf3dc1c7/project/48520b87-4e9a-4eca-861a-a5dd85b11374)\n[![Docker pulls](https://img.shields.io/docker/pulls/vitexsoftware/flexipeehp.svg)](https://hub.docker.com/r/vitexsoftware/flexipeehp/)\n[![Latest stable](https://img.shields.io/packagist/v/spojenet/php-abraflexi.svg?style=flat-square)](https://packagist.org/packages/spojenet/php-abraflexi)\n\n[![Latest Stable Version](https://poser.pugx.org/spojenet/flexibee/v/stable)](https://packagist.org/packages/spojenet/flexibee)\n[![Total Downloads](https://poser.pugx.org/spojenet/flexibee/downloads)](https://packagist.org/packages/spojenet/flexibee)\n[![Total Downloads](https://img.shields.io/packagist/dt/spojenet/flexibe.svg?style=flat-square)](https://packagist.org/packages/spojenet/flexibee)\n[![Latest Unstable Version](https://poser.pugx.org/spojenet/flexibee/v/unstable)](https://packagist.org/packages/spojenet/flexibee)\n[![License](https://poser.pugx.org/spojenet/flexibee/license)](https://packagist.org/packages/spojenet/flexibee)\n[![Monthly Downloads](https://poser.pugx.org/spojenet/flexibee/d/monthly)](https://packagist.org/packages/spojenet/flexibee)\n[![Daily Downloads](https://poser.pugx.org/spojenet/flexibee/d/daily)](https://packagist.org/packages/spojenet/flexibee)\n\n# Poděkování \nVznik této knihovny by nebyl možný bez laskavé podpory společnosti [Spoje.Net](http://www.spoje.net), \nkterá hradila vývoj řešení pro propojení LMS / AbraFlexi a importu skladu. :+1:\n\n![Spoje.Net](spoje-net_logo.gif?raw=true \"Spoje.Net\")\n\n**Dále chci poděkovat technické podpoře společnosti [ABRA Flexi s.r.o.](https://www.abraflexi.eu/podpora/) za jejich svatou trpělivost\npři reakcích na mé ne vždy bystré otázky a bugreporty.**\n\nParsování výsledků pro účely GDPR logování bylo dopracováno za laskavé podpory [\u0026lt;PureHTML\u0026gt;](https://purehtml.cz/) \n\nInstalace\n---------\n\n```shell\n    composer require spojenet/flexibee\n```\n\npokud váš výsledný composer.json bude vypadat  zhruba takto: \n\n```json\n{\n    \"name\": \"vendor/projectname\",\n    \"description\": \"Test\",\n    \"type\": \"project\",\n    \"require\": {\n        \"spojenet/flexibee\": \"*\"\n    },\n    \"license\": \"MIT\",\n    \"authors\": [\n        {\n            \"name\": \"Vítězslav Dvořák\",\n            \"email\": \"info@vitexsoftware.cz\"\n        }\n    ],\n    \"minimum-stability\": \"stable\"\n}\n```\n\nspustí se příkazem **composer install** instalace:\n\n![Compser Install](flexipeehp-composer-install.png?raw=true \"Installation\")\n\n\nKonfigurace\n-----------\n\nKonfigurace se provádí nastavením následujících konstant:\n\n```php\n   /*\n    * URL AbraFlexi API\n    */\n    define('ABRAFLEXI_URL', 'https://abraflexi-dev.spoje.net:5434');\n   /*\n    * Uživatel AbraFlexi API\n    */\n    define('ABRAFLEXI_LOGIN', 'apiuser');\n   /*\n    * Heslo AbraFlexi API\n    */\n    define('ABRAFLEXI_PASSWORD', 'apipass');\n   /*\n    * Společnost v AbraFlexi\n    */\n    define('ABRAFLEXI_COMPANY', 'test_s_r_o_');\n   /*\n    * Nebo pokud nechceme používat jméno a heslo \n    */\n    define('ABRAFLEXI_AUTHSESSID', '6QuifebMits'); //Volitelné\n   /*\n    * Pomalý server, velká databáze a přes modem k tomu\n    */\n    define('ABRAFLEXI_TIMEOUT', 60); //Volitelné\n   /*\n    * Pomalý server, velká databáze a přes modem k tomu\n    */\n    define('ABRAFLEXI_EXCEPTIONS', true); //Vracet PHP vyjímku v případě že AbraFlexi vrátí chybu\n```\n\nPokud nejsou konstanty nastaveny, pouší se třídy také o konfiguraci ze stejnojmených proměnných prostředí. např getenv('ABRAFLEXI_URL')\n\nTaktéž je možné přihlašovací údaje zadávat při vytváření instance třídy.\n\n```php\n    $invoicer = new \\AbraFlexi\\FakturaVydana(null,[\n                'company' =\u003e 'Firma_s_r_o_',\n                'url' =\u003e 'https://abraflexi.firma.cz/',\n                'user' =\u003e 'rest',\n                'password' =\u003e '-dj3x21xaA_'\n            ]);\n```\n\nTento způsob nastavení má vyšší prioritu než výše uvedené definovaní konstant.\n\n```php\n    $order = new \\AbraFlexi\\ObjednavkaPrijata('code:OBP0034/2019',['companyUrl'=\u003e $_GET['companyUrl'], 'authSessionId'=\u003e$_GET['authSessionId'] ])\n\n```\nTakto se ke abraflexi a konrétní objednávce může připojit aplikace vyvolaná uživatelským tlačítkem předávajícím hodnoty **companyUrl** a **authSessionId**\n\nJak to celé funguje ?\n---------------------\n\nÚstřední komponentou celé knihovny je Třída RO, která je schopna pomocí \nPHP rozšíření curl komunikovat s REST Api AbraFlexi.\n\nZ ní jsou pak odvozeny třídy pro jednotlivé evidence, obsahující metody pro \nčasto používané operace, například \"Zaplať\" v případě přijatých faktur.\n\nNová odvozená třída vzniká tak, že jméno třídy je název evidence avšak bez \npomlček. Ty jsou ve jméně nahrazeny velkým písmenem. \n\n```php\n    function evidenceToClass($evidence)\n    {\n        return str_replace(' ', '', ucwords(str_replace('-', ' ', $evidence)));\n    }\n```\n\nTzn. Pokud chceme odvodit \nnovou třídu pro evidenci \"Měrné jednotky\" bude vypadat takto:\n\n```php\n    \u003c?php\n    /**\n     * @link https://demo.abraflexi.eu/c/demo/merna-jednotka/properties Vlastnosti evidence\n     */\n    class MernaJednotka extends /AbraFlexi/RW\n    {\n        /**\n         * Evidence užitá objektem.\n         *\n         * @var string\n         */\n        public $evidence = 'merna-jednotka';\n    }\n```\n\nA poté je již snadné si vypsat měrné jednotky na 2 řádky:\n    \n```php\n    $jednotky = new MernaJednotka();\n    print_r( $jednotky-\u003egetAllFromAbraFlexi() );\n```\n\nPokud chceme aby nově vytvořená třída uměla do abraflexi i zapisovat, je třeba jí \nodvodit od předka AbraFlexiRW.\n\n\nVíce příkladů použití je možné najít [v samostatném projektu](https://github.com/VitexSoftware/AbraFlexi-Examples/tree/master/Examples)\n\nStruktura Evidencí, Akcí a vztahů\n---------------------------------\n\nV některých případech je dobré znát jaké můžeme provádět akce, či jáká je \nstruktura evidence. Tyto informace je možno získat voláním \nhttps://demo.abraflexi.eu/c/demo/*/properties.json \nrespektive https://demo.abraflexi.eu/c/demo/*/actions.json \navšak jedná se o relativně časově náročné operace. Jelikož se struktura \nevidencí a Akce či vztahy mezi evidencemi AbraFlexi často nemění AbraFlexi \ndisponuje mechanizmem který umožní pracovat s těmito údaji bez nutnosti \ndotazovat se na ně serveru. \n\nStruktura je uložena ve třídě Structure (Actions,Relations) která obsahuje \nstaticky definované pole obsahující informace které by jinak bylo nutné získat\nz AbraFlexi.\n\nPoložku v seznamu evidencí https://demo.abraflexi.eu/c/demo/evidence-list je pak \nmožné kdykoliv snadno ukázat:\n\n```php\n    echo \\AbraFlexi\\Structure::$evidence['faktura-vydana'];\n```\n\nSturktury jednotlivých evidencí jsou pak uloženy ve statických proměnných.\nJejich jméno se řídí stejnými pravidly jako jsou pro vytváření jména nové třídy\njen s tím rozdílem, že první písmeno je malé. Tzn.:\n\n```php\n    lcfirst(\\AbraFlexi\\RO::evidenceToClassName($evidence))\n```\n\nV případě potřeby je možné tyto třídy pak možné vygenerovat s aktuálním obsahem \nnásledujícím příkazem:\n\n  ```\n  cd tools/ \n  ./update_all.sh\n  ```\n\nOperace trvá několik minut. Zobrazit průběh můžeme takto:\n\n  ```\n  tail -f /var/log/syslog | grep  AbraFlexitest\n  ```\nLadicí režim\n------------\n\nPokud v objektech AbraFlexi nastavíte $this-\u003edebug na true, budou se před odesláním\ndat do AbraFlexi provedeny dodatečné testy. Kontrolují se tyto možné chyby:\n\n * Existuje vkládané políčko definované pro evidenci ?\n * Je vkládané políčko Pouze pro čtení ?\n * Pokud je vkládané políčko vazbou, je i polem ?\n\nV ladícím režimu se také ukládají do složky /tmp všechny požadavky na abraflexi a jejich odpovědi\n\nKnihovna obsahuje mechanizmus pro odesílání zaznamenaných chyb při běhu AbraFlexi vývojářům:\n\nPokud AbraFlexi vrátí Internal Server Error 500, je odeslán vývojářům email obsahující chybovou zprávu.\n\nV případě že je použito AbraFlexi běžící na stejném serveru a je možné číst chybové logy je z nich vypreparován patřičný fragment a i ten je přidán do těla mailu.\n\nEmail obsahuje také dodatečné informace o licenci a povolených modulech.\n\nJako přílohy jsou také připojeny soubory obsahující tělo dotazu na server, tělo jeho odpovědi a soubor obsahující informace o curl.\n\nBěhem života objektu se chyby evidují a odesílá se pouze první každého druhu. \n\nAktualizace na verzi 2.0\n------------------------\n\nOproti 1.x se změnilo následující:\n\n * Zmizely Třídy FlexiBeeRO a FlexiBeeRW (nově RO a RW) \n * Data z AbraFlexi jsou typovaná (už ne jenom strig)\n * Všechno FlexiBee bylo přejmenováno na AbraFlexi\n * Při chybě ze serveru se vyhodí Exeption (předtím se pouze zalogovalo)\n * Požadavky nespecifikují počet výsledků, (je třeba explicitně požadovat limit 0 pro všechny výsledky požadavku na api)\n * již se nepužívá starý zápis polí array()\n\n \nVýchozí **Nativní typy** se projevují tak že ze serveru ve chlívečku obsahující datum obdržíte php objekt DateTime. ve sloupečku 'id' integer a pod. \nToto chování je možné vypnout pomocí parametru konstruktoru ```['nativeTypes' = false]```\n\n\n```php\n    new \\AbraFlexi\\FakturaVydaná( 'code:VF2-12345', ['nativeTypes'=\u003efalse,'debug'=\u003etrue,'ignore404'=\u003efalse] );\n```\nViz.: [constructor RO](https://github.com/Spoje-NET/php-abraflexi/blob/cd829fcb05939ab54ed99aaa63d01b63700cbb83/src/AbraFlexi/RO.php#L450)\n\nJe možno zadat některé z těchto parametrů:\n\n     * user,password,authSessionId - autentifikace\n     * company,url,evidence - vynucení parametrů přístupu\n     * prefix - pro url začínající jinak než  '/c/' pro  company\n     * defaultUrlParams - pole vlastností pak automaticky přidávané\n     * debug - pro zapnutí ladícího režimu\n     * detail - pro specifikaci požadované [úrovně detailů](https://www.flexibee.eu/api/dokumentace/ref/detail-levels/). \n     * offline - nevykonávají se žádné síťové operace ( nepřiřipojit se při instancování objektu ) \n     * filter - viz [Filtrování](https://www.flexibee.eu/api/dokumentace/ref/filters}\n     * ignore404 - v případě že nevím zdali požadovaný záznam existuje nastavte na true aby to nevyhodilo chybu\n     * nativeTypes - pokud chci všecho ze serveru vracet jako stringy \n     * timeout - trpělivost než se vyhodí chyba síťové komunikace (předáváno do cURL)\n     * companyUrl - načte si z řetězce všechny náležitosti k připojení (heslo pro API atd..)\n     * ver - vynucení verze api (pokud chcete volat funkce určené pro nové webové rozhraní)\n     * throwException - vyhodit vyjímku při každé vhodné příležitosti\n\n\n\nAutoloading dat\n---------------\n\nPokud se konstruktoru objektu předá ID typu int nebo kódem  (code:..) záznamu zavolá tento funkci loadFromAbraFlexi(id) \nPoté je možné k načteným hodnotám se dostat za použití metod $this-\u003egetData() a RO::getDataValue('nazev')\n\n\nDatové typy\n-----------\n\nJelikož API vrací vše víceméně jako řetězec, knihovna provádí automatické konverze datových typů:\n\n| Strojový název | Název           | Poznámka    | Ukázka       | PHP Typ  |\n| -------------- | :-------------- | ----------- | :----------: | :------- |\n| string         | Řetězec         | Kódování je unicode. Lze tedy použít libovolný znak. | šílený koníček こちらは田中さんです | string |\n| integer        | Celé číslo      | Musí být bez mezer. Jde o znaménkový 4bajtový integer, ovšem rozsah může být omezený (viz přehled položek dané evidence) | 12 | integer |\n| numeric        | Desetinné číslo | Musí být bez mezer, oddělovačem desetinných míst je tečka. Jde o 8bajtový double, ovšem rozsah může být omezený (viz přehled položek dané evidence) | 12.5 | float |\n| date           | Datum           | Datum ve formátu YYYY-MM-DD; lze zadat i časovou zónu (YYYY-MM-DDZZZ), ale ta bude ignorována. ZZZ je označení časové zóny (Z nebo +HH:MM nebo -HH:MM). | 1980‑05‑06 2015‑01‑30Z 2008‑09‑01+02:00 | \\Date() |\n| datetime       | Datum + čas     | Datum a čas ve formátu YYYY-MM-DD'T'HH:MM:SS.SSS; lze zadat i časovou zónu (YYYY-MM-DD'T'HH:MM:SS.SSSZZZ), ale ta bude ignorována. | 1980‑05‑06 1980‑05‑06T12:30:12 2015‑01‑30T22:55:33Z 2008‑09‑01T17:18:14+02:00  2008‑09‑01T17:18:14.075+02:00 | \\DateTime() |\n| logic          | Logická hod.    | boolean     | true false | boolean |\n| select         | Výběr jedné z hodnot | Výběr jedné z hodnot. Je reprezentován jako řetězec.  | typVztahu.odberDodav | string |\n| relation       | Vazba mezi daty | Vstupem je záznam z jiné evidence (přehled typů identifikátorů)  | 123 code:CZK ext:DB:232 | \\AbraFlexi\\Relation |\n\n\nTestování\n---------\n\nPHPUnit testy se nachází ve složce **testing**. Pokud chcete testovat proti jinému\nserveru než je oficální http://demo.abraflexi.eu/ , je třeba změnit nastavení v \nsouboru **bootstrap.php**. \n\nObsah proměnné $testServer určuje která z předvolených nastavení budou použita.\nA samozřejmě si můžete nadefinovat i vlastní. Jako příklad je zde uveden testovací\nserver spoje.net.\n\nPro testování vytvořte prosím nejprve testovací firmu TESTING s.r.o. a nastavte\npřístupové údaje uživatele s oprávněním používat REST API. (Což je uživatel \nadministrátora zadaný při instalaci AbraFlexi.)\n\nUpozornění: testování proti firmě s množstvím faktur a připojenou bankou může \ntrvat nějakou dobu, jelikož se testuje i zavolání automatického párování dokladů.\n\nPokud se ve vašem projektu rozhodnete podědit AbraFlexi a k těmto třídám napíšete \ntesty také  poděděné z AbraFlexi např:\n\nclass HookRecieverTest extends \\Test\\AbraFlexi\\ChangesTest\n\nPřidejte do vašeho composer.json i cesty k původním testům:\n\n```json\n    \"autoload-dev\": {\n        \"psr-4\": {\n            \"Test\\\\\": \"vendor/spojenet/php-abraflexi/test/src/AbraFlexi/test/\",\n            \"Test\\\\Ease\\\\\": \"vendor/vitexsoftware/ease-core/tests/src/Ease\",\n            \"Test\\\\AbraFlexi\\\\\": \"vendor/spojenet/php-abraflexi/test/src/AbraFlexi/\",\n         }\n    }\n```\n\n\nUkázka\n------\n\nVe složce Examples jsou tyto ukázky použití:\n\n| Soubor                                                        | Popis                                 |\n| ------------------------------------------------------------- | --------------------------------------|\n| [AttachmentSaveToFile.php](Examples/AttachmentSaveToFile.php) | uložení přílohy do souboru\n| [AttachmentUpload.php](Examples/AttachmentUpload.php)         | nahrání přílohy\n| [AuthSessionIdUsage.php](Examples/AuthSessionIdUsage.php)     | Ukázka autentizace AuthSessionId\n| [AuthentizeContact.php](Examples/AuthentizeContact.php)       | autentizace kontaktu\n| [BatchOperation.php](Examples/BatchOperation.php)             | Použití filtru při dávkových operacích\n| [CreateLabel.php](Examples/CreateLabel.php)                   | práce se štítky\n| [DryRun.php](Examples/DryRun.php)                             | Testovací uložení (dry-run)\n| [DownloadInvoicePDF.php](Examples/DownloadInvoicePDF.php)     | stažení PDF faktury\n| [Error404.php](Examples/Error404.php)                         | práce s neexistujícími záznamy\n| [FindOverdueInvoices.php](Examples/FindOverdueInvoices.php)   | najdi faktury po splatnosti\n| [GetRecordWithRelation.php](Examples/GetRecordWithRelation.php) | Získání záznamu včetně dat z podevidence\n| [GetBankAccountForCompany.php](Examples/GetBankAccountForCompany.php) | Získání bankovního účtu k firmě z adresáře\n| [InvoiceLockUnlock.php](Examples/InvoiceLockUnlock.php)       | Zamykání a odemykání záznamu\n| [InvoiceCopy.php](Examples/InvoiceCopy.php)                   | vytvoření daňového dokladu ze zálohy\n| [LoginLogout](Examples/LoginLogout.php)                       | přihlášení uživatele a jeho odhlášení\n| [NajdiDanovyDokladKzalohovemu.php](Examples/NajdiDanovyDokladKzalohovemu.php) | dohledání dokladu\n| [Naskladnění.php](Examples/Naskladneni.php)                   | Naskladní produkt se sériovými čísly\n| [NewInvoice.php](Examples/NewInvoice.php)                     | Nová faktura se splatností vypsaná jako json\n| [ObjectChaining.php](Examples/ObjectChaining.php)             | Řetězení objektů pro více operací v jenom pořadavku\n| [ObjectCooperation.php](Examples/ObjectsCooperation.php)      | Sdílení data a parametrů připojení mezi objekty\n| [PerformingActions.php](Examples/PerformingActions.php)       | Jak vykonávat akce nad dokladem akce. např. storno\n| [ReadAddressColumns.php](Examples/ReadAddressColumns.php)     | vrať konkrétní sloupečky\n| [sendInvoiceByMail.php](Examples/sendInvoiceByMail.php)       | odeslání faktury mailem\n| [SendReminders.php](Examples/SendReminders.php)               | odeslání upomínek\n| [SetContactAuth.php](Examples/SetContactAuth.php)             | nastavení autentizace\n| [TestConnection.php](Examples/TestConnection.php)             | kontrola spojení \n\n\nPříklady použití:\n-----------------\n\n  * [Flexplorer](https://github.com/VitexSoftware/Flexplorer) Vývojářský nástoj a editor záznamů\n  * [FlexiProXY](https://github.com/VitexSoftware/FlexiProxy) Modifikátor webového rozhraní AbraFlexi\n  * [Upomínač](https://github.com/VitexSoftware/php-abraflexi-reminder) Odesílač upomínek\n  * [Matcher](https://github.com/VitexSoftware/php-abraflexi-matcher) Párovač fakur\n  * [Redmine2AbraFlexi](https://github.com/VitexSoftware/Redmine2AbraFlexi) Generuje faktury z odpracovaného času v Redmine\n  * [FlexiPeeHP-Bricks](https://github.com/VitexSoftware/FlexiPeeHP-Bricks) Příklady a často požívaní třídy při práci s AbraFlexi\n  * [AbraFlexi Tools](https://github.com/VitexSoftware/AbraFlexi-Tools) Nástroje pro skriptování AbraFlexi z příkazové řádky\n\n\nReference:\n----------\n\n  * [Import dat z FAPI do AbraFlexi](https://abraflexi.info/fapi2abraflexi/)  - blahasoft.cz\n  * [Import dat z iDokladu do AbraFlexi](https://abraflexi.info/idoklad2abraflexi/) - blahasoft.cz\n\nAbraFlexi knihovny pro další jazky:\n----------------------------------\n\n * [Flexipy](https://github.com/JakubJecminek/flexipy)  (Python) [Dokumentace](http://pythonhosted.org/flexipy/index.html)\n * [Flexibee.rb](https://github.com/danpecher/flexibee.rb) (Ruby)\n * [UniMapper Flexibee extension](https://github.com/unimapper/flexibee) (PHP)\n * [Flexibee client](https://github.com/ricco24/flexibee-client) (PHP)\n * [flexibee-client](https://github.com/Ecomailcz/flexibee-client) (PHP)\n * [flexibee-client](https://github.com/klemen/flexibee-client) (PHP)\n * [Flexibee](https://github.com/adleritech/flexibee) (Java)\n \n \n[Statistiky práce na projektu WakaTime](https://wakatime.com/@Vitex/projects/eftagqirep?start=2022-10-09\u0026end=2022-10-15)\n[Statistiky práce na projektu před přejmenováním](https://wakatime.com/@5abba9ca-813e-43ac-9b5f-b1cfdf3dc1c7/projects/ypdqvdcmsg) (cca 250h)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspoje-net%2Fphp-abraflexi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fspoje-net%2Fphp-abraflexi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspoje-net%2Fphp-abraflexi/lists"}