Elementary POS for WooCommerce

Popis

Elementary POS je moderní cloudový pokladní systém pro maloobchodní podniky. Tento plugin umožňuje automatickou, real-time synchronizaci produktů a zásob mezi vaším systémem Elementary POS a obchodem WooCommerce.

Klíčové funkce

  • Kompatibilní s HPOS – Plně kompatibilní s WooCommerce High-Performance Order Storage
  • Bidirectional Product Import – Import products from Elementary POS to WooCommerce, or export from WooCommerce to Elementary POS
  • Tax Mapping System – Intelligent tax mapping between WooCommerce tax classes and Elementary POS tax types
  • Import v režimu Koncept – Možnost importovat nové produkty jako koncept místo publikovaných.
  • Draft Products Synchronization – Optional synchronization of draft products along with published ones
  • Safe Product Removal – Products are moved to Trash instead of permanent deletion, allowing recovery
  • Obousměrná synchronizace skladu – Udržujte skladové zásoby synchronizované v obou směrech.
  • Webhooky v reálném čase – Okamžité aktualizace při prodeji v Elementary POS.
  • Automatická synchronizace objednávek – WooCommerce objednávky automaticky aktualizují inventář v Elementary POS.
  • Queue System – Reliable processing with automatic retry on failures; failed items are automatically retried when new activity occurs
  • Komplexní logování – Sledování všech synchronizačních aktivit s podrobnými záznamy.
  • Manuální ovládání – Plná manuální kontrola nad synchronizací podle potřeby.

Jak to funguje

Co se synchronizuje:

Elementary POS WooCommerce:
* Product data (name, SKU, price, categories, tax classes)
* Stock quantity changes from all sources (sales, manual adjustments, inventory corrections)

WooCommerce Elementary POS:
* Product data (name, SKU, price, tax classes)
* Stock quantity changes from completed orders
* Manual stock adjustments in WooCommerce admin

Kdy dochází k synchronizaci:

Elementary POS WooCommerce:
Když dojde ke změně skladu v Elementary POS (prodej, manuální úprava atd.), webhook je odeslán do WooCommerce.
Plugin zpracuje aktualizaci okamžitě v reálném čase a aktualizuje skladové zásoby ve WooCommerce.

WooCommerce Elementary POS:
When an order is completed in WooCommerce or when stock is manually changed in WooCommerce admin, stock changes are automatically sent to Elementary POS.
Changes are sent immediately when they occur. If the API is unavailable, changes are queued and retried automatically with exponential backoff (15min, 1hour, 6hours). Any previously failed items are automatically reset and retried when new activity occurs, ensuring no changes are permanently lost.

Požadavky

  • WordPress 5.8 nebo vyšší
  • WooCommerce 5.0 nebo vyšší
  • PHP 7.4 nebo vyšší
  • Elementary POS API klíč
  • Products must have SKU codes for stock synchronization (product import can work without SKU)

Kompatibilita

  • Kompatibilní s HPOS – Plně kompatibilní s WooCommerce High-Performance Order Storage
  • WP Cron – Používá WordPress cron pro zpracování fronty (běží každých 15 minut)

Omezení

  • Desetinná množství nejsou podporována – Kvůli omezením WooCommerce jsou podporována pouze celá čísla. Desetinné hodnoty (např. 1,5 kg) jsou automaticky zaokrouhleny, což může ovlivnit obchody prodávající zboží na váhu či objem.
  • Stock Synchronization Trigger – WooCommerce Elementary POS stock synchronization occurs in two scenarios: (1) when WooCommerce reduces stock from completed orders (via woocommerce_reduce_order_item_stock hook), and (2) when stock is manually changed in WooCommerce admin. If your store has stock management disabled for certain products (e.g., services, digital products), those products will not trigger synchronization to Elementary POS.
  • Product Visibility and Stock Status – Newly imported products are set as „Visible“ in catalog and „In Stock“ by default. During updates, catalog visibility is preserved (not changed), but stock status is always set to „In Stock“. If you need products hidden or out of stock, adjust these settings manually after import.
  • Simple Products Only – The plugin imports all products as Simple products (WC_Product_Simple). Products with variants in Elementary POS are imported as single simple products, not as Variable products with variations. If your catalog relies heavily on product variations (size, color, etc.), you will need to manually configure them in WooCommerce after import.
  • Flat Category Structure – All product categories from Elementary POS are created as root-level categories in WooCommerce. Category hierarchies (parent/child relationships) are not preserved during import. Categories are matched by name only.
  • WP-Cron Limitations – WP-Cron works based on time intervals (e.g., every hour or once a day), but it only runs when someone visits your site. That means if no one opens your website, the task may not run on time but is put to queue and is executed when first visitors load your web.

Podpora

Pro podporu prosím navštivte https://elementarypos.com/en/contact/ nebo kontaktujte support@elementarypos.com

Externí služby

Tento plugin spoléhá na Elementary POS API, externí službu třetí strany, pro synchronizaci dat produktů a inventáře mezi vaším WooCommerce obchodem a Elementary POS systémem.

Co je Elementary POS API a k čemu se používá?

Elementary POS API je cloudová služba poskytovaná Elementary POS, která spravuje vaše data z pokladního systému. Tento plugin se připojuje k API pro:
* Import produktů z Elementary POS do WooCommerce
* Synchronizaci skladových zásob obousměrně
* Odesílání aktualizací WooCommerce objednávek do Elementary POS
* Příjem real-time notifikací o změnách skladu přes webhooky

Jaká data jsou odesílána a kdy?

Plugin odesílá data do Elementary POS API v následujících situacích:

Během importu produktů:
* Žádná data nejsou odesílána – plugin pouze získává informace o produktech (SKU, název, cena, skladové množství)

Během synchronizace skladu (WooCommerce Elementary POS):
* SKU kódy produktů
* Změny skladového množství
* Časové razítko změn
* Nastává při manuální aktivaci WCEP synchronizace nebo při dokončení objednávky ve WooCommerce

Během registrace webhooku:
* URL vaší WordPress stránky
* URL koncového bodu webhooku
* Nastává při zapnutí automatické synchronizace v nastavení pluginu

Co plugin přijímá z Elementary POS:
* Informace o produktech (SKU, název, cena, sklad)
* Notifikace o změnách skladu (SKU, rozdíl v množství)
* Informace o stavu webhooku

Použité API koncové body

  • Produkční: https://api.elementarypos.com

Příslušný koncový bod je automaticky vybrán na základě vašeho Elementary POS API klíče.

Podmínky služby a ochrana soukromí

Důležité: Pro použití tohoto pluginu musíte mít aktivní Elementary POS účet a API klíč. Použitím tohoto pluginu souhlasíte s podmínkami služby Elementary POS a berete na vědomí, že data budou přenášena na jejich API koncové body.

Zásady ochrany osobních údajů

Tento plugin neshromažďuje ani neukládá osobní údaje uživatelů (jména, e-maily, adresy).

Plugin ukládá provozní data ve vaší databázi:
* Protokoly synchronizace (časová razítka, typy operací, SKU produktů)
* Data fronty pro opakované operace (informace o produktech a objednávkách)

Všechna data jsou uložena lokálně ve vaší WordPress databázi. Žádná data nejsou odesílána třetím stranám kromě vašeho Elementary POS API koncového bodu pro účely synchronizace. Protokoly lze manuálně vymazat v nastavení pluginu.

Snímky obrazovky

  • Nástěnka – Přehled stavu synchronizace a rychlé akce
  • Import produktů – Import produktů z Elementary POS do WooCommerce s možnostmi filtrování
  • Synchronizace zásob – Ruční ovládací prvky synchronizace zásob v obou směrech
  • Nastavení – Konfigurace API a přepínač automatické synchronizace
  • Protokoly – Podrobné protokoly aktivit s možnostmi filtrování a vyhledávání

Instalace

  1. Nainstalujte plugin z WordPress.org (Pluginy Přidat nový Vyhledat „Elementary POS“)
  2. Aktivujte plugin
  3. Přejděte na Elementary POS v administračním menu WordPress
  4. Přejděte na záložku Nastavení
  5. Zadejte váš Elementary POS API klíč
  6. Klikněte na „Uložit nastavení“ pro uložení API klíče
  7. (Volitelně) Klikněte na „Testovat API připojení“ pro ověření připojení

Počáteční nastavení

Po instalaci a konfiguraci API klíče můžete začít plugin používat:

  1. (Volitelně) Import produktů: Přejděte na záložku Import Načíst produkty Importovat pro přenesení produktů z Elementary POS do WooCommerce
  2. (Volitelně) Synchronizace skladu: Proveďte počáteční synchronizaci skladu v libovolném směru (Elementary POS WooCommerce nebo WooCommerce Elementary POS) ze záložky Synchronizace
  3. (Volitelně) Zapnutí automatické synchronizace: Po provedení počáteční synchronizace skladu můžete zapnout automatickou synchronizaci v záložce Nastavení přepnutím přepínače na ZAP
  4. Ověření stavu: Zkontrolujte Nástěnku pro potvrzení, že všechna nastavení jsou správně nakonfigurována

Recenze

Pro tento plugin nejsou žádné recenze.

Autoři

Elementary POS for WooCommerce je otevřený software. Následující lidé přispěli k vývoji tohoto pluginu.

Spolupracovníci

Plugin „Elementary POS for WooCommerce“ byl přeložen do 1 jazyku. Děkujeme všem překladatelům za jejich pomoc.

Přeložte “Elementary POS for WooCommerce” do svého jazyka.

Zajímá vás vývoj?

Prohledejte kód, podívejte se do SVN repozitáře, nebo se přihlaste k odběru protokolu vývoje pomocí RSS.

Přehled změn

0.9.16

  • Added: Manual stock changes in WooCommerce admin are now synchronized to Elementary POS
  • Added: Loop prevention for import operations to avoid duplicate sync during EPWC import
  • Improved: Stock synchronization now covers both order-based and manual inventory adjustments
  • Improved: Queue system now automatically retries previously failed items when new activity occurs
  • Improved: Error suppression for server limit overrides to prevent fatal errors on restricted hosting environments
  • Fixed: All hardcoded Czech strings replaced with proper English translatable strings
  • Fixed: JavaScript strings now properly translatable through wp_localize_script
  • Changed: Updated documentation to reflect full bidirectional stock synchronization
  • Changed: Removed redundant en_US translation files

0.9.14

  • Added: Bidirectional tax mapping system for product imports
  • Added: Option to import tax classes with mapping for both EPWC and WCEP directions
  • Added: Auto-mapping of taxes based on percentage matching
  • Added: Interactive tax mapping table with dropdown selectors
  • Added: Visual display of tax rates (max 3 countries with „…“ indicator)
  • Added: „No tax assigned“ option for WooCommerce tax classes
  • Improved: Tax mapping stored in transients during import for consistency
  • Improved: WCEP import now uses correct API endpoint (edit-sale-item for existing products, add-sale-item for new)
  • Changed: Replaced single tax dropdown in WCEP import with comprehensive mapping system
  • Changed: Tax mapping is required for WCEP import (EP API requires taxId), optional for EPWC
  • Fixed: „SKU code already exists“ error when updating existing products in WCEP import

0.9.13

  • Improved: Pending products are now handled the same way as draft products
  • Improved: When „Sync draft products“ is enabled, pending products are included in synchronization
  • Improved: Import, export, and stock sync now support pending product status
  • Improved: Dashboard statistics now include pending products when draft sync is enabled

0.9.12

  • Improved: Import tab – unified interface with dropdown for direction selection (EPWC or WCEP)
  • Improved: Sync tab – unified interface with dropdown for direction selection
  • Improved: Single „Načíst produkty“ button instead of separate buttons for each direction
  • Improved: Single „Aktualizovat sklad“ button instead of separate buttons for each direction
  • Changed: Removed „Quick Actions“ section from Dashboard
  • Changed: Import and Sync tabs now use single unified buttons for better UX

0.9.11

  • Major: Refactored import to 3-phase system with transparent progress reporting
  • Added: Phase 1 – Delete all WC products in chunks (optional, prevents timeouts on large catalogs)
  • Added: Phase 2 – Import products from Elementary POS in chunks (prevents timeouts)
  • Added: Phase 3 – Load stock from Elementary POS in chunks (optional, prevents timeouts)
  • Improved: Real-time progress display for each phase with product counts
  • Improved: Phase-specific error handling and cancellation support
  • Improved: Function naming for future WC EP export compatibility
  • Improved: Import option checkboxes are now disabled during import to prevent confusion
  • Changed: Import operations now separated for better user visibility and control
  • Fixed: Large imports (10k+ products) no longer timeout

0.9.10

  • Fixed: Draft products are now properly detected and updated during import
  • Fixed: Import now respects draft status – draft products remain draft after update
  • Added: New helper method for draft-aware product retrieval during import
  • Added: Detailed timeout diagnostics in JavaScript console
  • Improved: Import chunk size optimized for better performance (50 products per chunk)
  • Improved: Progress bar now shows actual percentage and product counts
  • Improved: Comprehensive error reporting with specific timeout types
  • Changed: Product status is preserved during updates (draft/published)

0.9.9

  • Added: Optional synchronization of draft products – new setting in Settings tab
  • Changed: Product removal now moves products to Trash instead of permanent deletion
  • Improved: Products can be restored from Trash after import with „delete all“ option
  • Improved: Rollback mechanism now restores trashed products when import fails

0.9.8

  • Přidáno: Možnost importovat produkty jako koncept místo stavu publikováno.
  • Vylepšeno: Mechanismus prevence smyček nyní používá globální příznaky požadavků místo dočasných dat (transients).
  • Vylepšeno: Odinstalace pluginu automaticky vypne webhook v Elementary POS, aby se předešlo osiřelým notifikacím.
  • Vylepšeno: Odstraněny podrobné zprávy o inicializaci pro čistší protokoly.
  • Změněno: Typ fronty přejmenován na „stock_change“ pro lepší konzistenci.
  • Změněno: Handler skladu WooCommerce objednávek refaktorován do samostatné třídy.

0.9.7

  • Vylepšeno: Mechanismus prevence smyček nyní používá globální příznaky požadavků místo dočasných dat (transients).
  • Vylepšeno: Odinstalace pluginu automaticky vypne webhook v Elementary POS, aby se předešlo osiřelým notifikacím.
  • Změněno: Typ fronty přejmenován na „stock_change“ pro lepší konzistenci.
  • Změněno: Handler skladu WooCommerce objednávek refaktorován do samostatné třídy.

0.9.6

  • Opraveno: Import s načtením skladu správně nastavuje časové razítko pro povolení automatické synchronizace.
  • Vylepšeno: Nástěnka přepracována na jednu sjednocenou tabulku stavů (9 řádků).
  • Vylepšeno: Na nástěnku přidána statistika „Celkem produktů s SKU“ pro lepší přehled o inventáři.
  • Vylepšeno: Stav „Automatická synchronizace“ přesunut na druhou pozici na nástěnce pro lepší viditelnost.
  • Vylepšeno: Snížena podrobnost protokolů – odstraněny detailní výpisy API požadavků při zachování chyb a důležitých událostí.
  • Změněno: Zjednodušena validace webhooku pro přijetí počáteční synchronizace z obou směrů.

0.9.5

  • KRITICKÁ OPRAVA: Webhook nyní správně aplikuje změny skladu jako rozdíly (delta), nikoli absolutní hodnoty.
  • KRITICKÁ OPRAVA: Synchronizace používá syncTimestamp z API místo lokálního času serveru.
  • KRITICKÁ OPRAVA: Synchronizace WCEP nyní správně nastavuje všechna časová razítka.
  • Opraveno: Webhook nyní funguje správně bez ohledu na to, který směr synchronizace proběhl jako první.
  • Bezpečnost: Automatická synchronizace je při změně API klíče automaticky vypnuta.
  • Bezpečnost: Webhook nelze aktivovat bez provedení počáteční synchronizace (podporovány oba směry).
  • Vylepšeno: Manuální synchronizace nyní správně ukládá syncTimestamp z odpovědi API.
  • Vylepšeno: Rozšířené logování operací webhooku s detaily o agregaci.
  • Změněno: Časová razítka synchronizace se resetují při změně API klíče (bezpečnost při změně účtu).

0.9.4

  • Opraveno: Webhook nyní ignoruje změny skladu vyslané vlastním pluginem, aby se předešlo chybám v počtech.
  • Opraveno: Odstraněno nadbytečné logování změn pocházejících z vlastního pluginu.

0.9.3

  • Vylepšeno: Prodlouženo automatické čištění fronty a protokolů ze 7 na 30 dní.
  • Vylepšeno: Protokoly webhooku filtrovány pouze pro události stock_updated.
  • Změněno: Odstraněn redundantní „Stav webhooku“ z nástěnky.
  • Změněno: Sekce automatického obnovování nahrazena tlačítky pro manuální obnovení u nadpisů.
  • Změněno: Formát časového razítka v záznamech změněn na ISO (RRRR-MM-DD HH:MM:SS).

0.9.2

  • Vylepšeno: Doba zobrazení upozornění prodloužena z 5 na 8 sekund pro lepší čitelnost.
  • Změněno: Test API nyní zobrazuje Base URL místo prostředí a počtu produktů.
  • Vylepšeno: Úklid kódu – odstraněny nadbytečné funkce a neaktivní kód.

0.9.1

  • Změněno: Standardizace interních identifikátorů s prefixem „elementary-pos-woocommerce“.
  • Změněno: Aktualizovány názvy CSS tříd pro lepší konzistenci.
  • Změněno: Aktualizovány JavaScript handles pro lepší konzistenci.
  • Opraveno: ID pluginu nyní odpovídá slugu pluginu.

0.9.0

  • Přidáno: Automatická správa webhooku přes Elementary POS API.
  • Přidáno: Přepínač pro zapnutí/vypnutí webhooku v Nastavení.
  • Přidáno: Real-time monitorování stavu webhooku (v pořádku, varování, chyba, vypnuto).
  • Přidáno: Tlačítko pro test stavu pro manuální ověření webhooku.
  • Změněno: URL webhooku se již nekopíruje ručně – proces je plně automatizován.
  • Změněno: Zjednodušená konfigurace webhooku v záložce Nastavení.
  • Vylepšeno: Lepší UX s vizuálním přepínačem a indikátory stavu.
  • Vylepšeno: Automatická registrace webhooku při zapnutí/vypnutí.
  • Vylepšeno: Stav načítání brání nechtěným změnám vizuálního stavu přepínače.

0.8.5

  • Změněno: Název pluginu zkrácen na „Elementary POS for WooCommerce“.
  • Změněno: Text domain aktualizován na „elementary-pos-for-woocommerce“.
  • Změněno: Všechny překlady aktualizovány na novou textovou doménu.
  • Opraveno: Odstraněna duplicitní Author URI pro soulad s pravidly WordPress.org.

0.8.4

  • Opraveno: Soulad názvu pluginu s pravidly WordPress.org pro ochranné známky.
  • Opraveno: Příprava SQL dotazů dle standardů WordPress.
  • Opraveno: Pojmenování globálních proměnných se správnými prefixy.
  • Vylepšeno: Dokumentace kódu a bezpečnostní komentáře pro recenzenty.
  • Aktualizováno: Testováno až do WordPress 6.8.

0.8.3

  • Počáteční release kandidát.
  • Automatický import produktů – Import produktů z Elementary POS do WooCommerce jedním kliknutím.
  • Obousměrná synchronizace skladu – Udržujte skladové zásoby synchronizované v obou směrech.
  • Webhooky v reálném čase – Okamžité aktualizace při prodeji v Elementary POS.
  • Automatická synchronizace objednávek – WooCommerce objednávky automaticky aktualizují inventář Elementary POS.
  • Systém fronty – Spolehlivé zpracování s automatickým opakováním při selhání.
  • Komplexní logování – Sledování všech synchronizačních aktivit s podrobnými záznamy.
  • Manuální ovládání – Plná manuální kontrola nad synchronizací podle potřeby.
  • Nástěnka s real-time statistikami a rychlými akcemi.
  • Kompatibilní s HPOS – Plně kompatibilní s WooCommerce High-Performance Order Storage.