Jezek duel plugin for Sylius
Provides integration with Duel accounting software.
- Downloads Sylius orders into Duel
- Updates product data in Sylius
- You can update any product data, by default the plugin updates stock level only. For details see
updateProduct()method of the
- In combination with the Payment Fee module, it can handle cash on delivery fees (known as "Dobírka" in Czechia and Slovakia) incl. taxes.
- Based on how integrations in Ježek Duel work, you will need an FTP account as a storage for XML files which are used for transferring data.
$ composer require mangoweb-sylius/sylius-jezek-duel-plugin.
\MangoSylius\JezekDuelPlugin\MangoSyliusJezekDuelPluginin your Kernel.
- Add ftp parameters into config.yml
mango_sylius_jezek_duel: server_url: 'server_url' username: 'username' password: 'password'
- Your Entity
Orderhas to implement
\MangoSylius\JezekDuelPlugin\Model\OrderWithExportedAtInterface. You can use Trait
- Your Entity
ProductVarianthas to implement
\MangoSylius\JezekDuelPlugin\Model\ProductVariantWithJezekIdsInterface. You can use Trait
- Include template
For guide to use your own entity see Sylius docs - Customizing Models
- Set up the eshop in Duel
Use "Webový servis" or "eBrána" type. Click "Založit e-shop" in "Agenda" tab (id asked for folder names, keep defaults - "in" and "out").
- Link products
Use Ježek product UID codes as code for products in Sylius or if you use another codes in your Sylius eshop, put Duel's product UID in dedicated product parameter "Ježek ID". You can put mode UIDs (one per line) to connect more Duel products to one Sylius product when selling product bundles. The plugin first checks "Ježek ID" field, if empty, it checks product code to match the product by Ježek UID. For configurable products, there is one "Ježek ID" per variant. You can use the same "Ježek ID" for multiple variants as well as products.
- Data handling by Sylius
Setup commands in cron as specified below. Recommended frequency is 5 mins for orders (can be less for busy shops) and one hour for products (if you update products less frequently, use daily sync).
- Invoice inbound sync (orders from eshop)
Click "Stažení objednávek z e-shopu" in "Agenda" tab.
- Invoice outbound sync (product data to eshop)
Click "Aktualizace dat v e-shopu" in "Agenda" tab.
Export orders to FTP.
Update products details from FTP.
- Create symlink from .env.dist to .env or create your own .env file
- Develop your plugin in
bin/for useful commands
After your changes you must ensure that the tests are still passing.
- Easy Coding Standard
This library is under the MIT license.
Developed by manGoweb.