E-commerce / Φίλτρα νερού (multi-country)
Center Plus S.A. / Olympus Plus
3 ανεξάρτητα WordPress installs σε GR / CY / BG με ERP bridge & custom payment work
Τρεις χώρες, τρία νομικά πλαίσια, τρία ξεχωριστά WP installs. Δεκάδες custom modules.
Challenge
Τι έπρεπε να λυθεί
Η Center Plus ήθελε να επεκταθεί από Ελλάδα σε Κύπρο και Βουλγαρία χωρίς να αναπαραστήσει 3 παράλληλες ομάδες. Τρία διαφορετικά νομικά πλαίσια ΦΠΑ (24% / 19% / 20%), διαφορετικά payment gateways (Viva σε GR, Stripe σε CY, διαφορετικό setup σε BG), διαφορετικά shipping providers (BoxNow GR/CY με διαφορετικά rates, EFKO/Σπίντερ σε BG), και SoftOne ERP που έπρεπε να βλέπει όλες τις παραγγελίες. Παράλληλα δεκάδες business edge cases που κανένα off-the-shelf plugin δε λύνει.
Solution
Τι χτίσαμε
Τρία ξεχωριστά WordPress installs σε 3 cPanel users (`olympusplus`, `olympuscy`, `olympuscom`) , όχι multisite. SoftOne bridge (XIT third-party) γέφυρα παραγγελιών WC → SoftOne ΠΑΡΛW series. GR custom Viva ecosystem με 3 plugins + WPCode snippets. CY με Stripe inline checkout + VIES VAT exemption. BG με δικό μας custom theme `olympus-starter`. Δεκάδες custom mu-plugins για island VAT fix, payment switch notifications, locker missing alerts.
Custom Modules
Τι το κάνει διαφορετικό
SoftOne ERP bridge integration
Παραγγελία WC → bridge γράφει SALDOC με SOSOURCE 1351, SERIES 7024 (ΠΑΡΛW), 50+ CCCD1* custom fields για shipping/courier, και CCCXIT* tracking fields. SoftOne API endpoint centerplus.s1cloud.net (AppId 1002). Reverse-engineered πλήρως ώστε να μπορέσουμε να χτίσουμε δικό μας connector ως replacement.
Custom Viva Wallet ecosystem (GR)
Στο GR install τρέχουν 3 συμπληρωματικά payment plugins (Smart Checkout + IRIS + ένα δικό μας wrapper). Custom mu-plugin Payment Switch Notify v1.2.3 ειδοποιεί πελάτη αν αλλάξει payment method post-order. Δικό μας mu-plugin Viva Smart Cron v1.1.0 πιάνει stuck orders post-IRIS-via-paylink με fallback σε `_viva_dup_previous_table_rows`.
Stripe inline checkout για CY
Στο CY install Stripe αντικατέστησε το Viva ως κύριο gateway (cards + ApplePay + GooglePay + Klarna + Revolut + Link). Custom compact-checkout + accordion-checkout mu-plugins, VIES VAT exemption για same-country CY, custom attribution fallback. PayPal + Hellenic Bank ως extra options.
Custom theme `olympus-starter` για BG
Το BG install δεν χρησιμοποιεί έτοιμο theme. Φτιάξαμε `olympus-starter` v2.2.14, με Concept C product cards, micron selection, side cart drawer, Splide slider, 2-col tab grid, lightbox, compact ticks highlights. Bulgarian-first content με δικά του legal pages.
Multi-country VAT + island VAT fix
Σωστό VAT routing per region (GR 24%, CY 19%, BG 20%). Custom mu-plugin Island VAT Fix v1.3.0 με 2-layer hooks (`woocommerce_checkout_create_order_line_item` για race condition coverage) ώστε νησιωτικές παραγγελίες να βγάζουν correct rate. Foreign-customer routing μέσω Prosvasis seira 7075 για auto-VAT calc.
20+ business-rule snippets (managed via WPCode)
Αντί για functions.php που σπάει σε theme update, όλα τα small business rules ζουν σε WPCode με version tracking. VAT exclusions ανά κατηγορία, custom shipping rules, bulk discount logic, GDPR order data export, sorting rules. Σταδιακή migration προς mu-plugins όταν αγγίζουμε το καθένα.
8+ active mu-plugins (production-grade)
Payment Switch Notify, Island VAT Fix v1.3.0, Out of Stock Badge, SEO Categories, SEO Bottom Content, Product Tabs (ACF reviews), Product FAQ, City FAQ pages, Epilogi Filter wizard, Viva Smart Cron, BoxNow Locker Details v1.7.1, BoxNow Locker Missing Alert v1.0.0 (read-only cron κάθε 15min). Όλα με semantic versioning + .bak backups.
Cloudflare zone management για 3 domains
Τρία ξεχωριστά Cloudflare zones (olympusplus.gr, .cy, bg.olympusplus.com , η BG αρχικά πέρασε από Papaki λόγω .bg registry restrictions). Image optimization, country-specific caching, geo-aware redirects, manual purge μετά από DB-level changes.
Live από production
Πώς δείχνει στην πράξη
Screenshots από το ζωντανό site. Τιμές, ονόματα πελατών και ευαίσθητα στοιχεία είναι μασκαρισμένα με skeleton blur ώστε να φαίνεται μόνο το functionality.

Mobile
Shop mobile με ελληνική σημαία branding και 2-col grid

Desktop
Shop desktop με sticky breadcrumb και sort options
Tech Stack
Με τι χτίστηκε
Όλο το stack είναι τυποποιημένο. Δεν βασίζεται σε κρυφά παραμετροποιημένα plugins ή proprietary cloud services. Μπορεί να μεταφερθεί ή να συντηρηθεί από οποιαδήποτε ομάδα γνωρίζει το stack.
FAQ
Συχνές ερωτήσεις
Γιατί 3 ξεχωριστά WordPress installs αντί για multisite;
Multisite κάνει sense όταν τα sites μοιράζονται theme, plugins και users. Στο Olympus τα 3 sites έχουν διαφορετικά νομικά πλαίσια ΦΠΑ (24% GR, 19% CY, 20% BG), διαφορετικά payment gateways, διαφορετικά shipping providers και διαφορετικά νομικά κείμενα. Επίσης το BG τρέχει δικό μας custom theme olympus-starter ενώ τα GR και CY διαφορετικό. 3 cPanel users (olympusplus, olympuscy, olympuscom) σημαίνει ότι αν σπάσει το ένα δε ρίχνει τα άλλα 2, και κάθε χώρα ενημερώνεται ανεξάρτητα.
Πώς διαχειρίζεστε αλλαγές προϊόντων ταυτόχρονα σε 3 χώρες;
Master data έρχεται από SoftOne ERP. Όλες οι παραγγελίες των 3 sites καταγράφονται με SOSOURCE 1351 και SERIES 7024 (ΠΑΡΛW), με 50+ CCCD1* custom fields για shipping και CCCXIT* για tracking. Όταν αλλάζει τιμή ή stock στο SoftOne, αντανακλάται και στα 3 sites μέσω του XIT bridge. Αν χρειάζεται αλλαγή content πχ νέο banner ή νομικό text, γίνεται per-site γιατί το tone και η νομοθεσία διαφέρει ανά χώρα.
Πώς γίνεται σωστός ΦΠΑ για παραγγελίες σε ελληνικά νησιά;
Φτιάξαμε mu-plugin Island VAT Fix v1.3.0 με 2-layer hooks (woocommerce_checkout_create_order_line_item για race condition coverage) που εφαρμόζει το σωστό rate σε νησιωτικές παραγγελίες. Foreign-customer routing μέσω Prosvasis seira 7075 για auto-VAT calculation. Έτσι ο πελάτης από Λέρο ή Κω βλέπει το νόμιμο ΦΠΑ και το λογιστήριο δε χρειάζεται να φτιάχνει manually τιμολόγια.
Έχετε 3 διαφορετικά payment gateways. Πώς αποφεύγετε χάος στο checkout;
GR τρέχει custom Viva Wallet ecosystem (Smart Checkout + IRIS + δικό μας wrapper plugin). CY τρέχει Stripe inline checkout (cards + ApplePay + GooglePay + Klarna + Revolut + Link) με VIES VAT exemption για same-country invoicing. BG τρέχει διαφορετικό setup. Έχουμε mu-plugin Payment Switch Notify v1.2.3 που ειδοποιεί πελάτη αν αλλάξει payment method post-order, και Viva Smart Cron v1.1.0 που πιάνει stuck orders post-IRIS-via-paylink με fallback σε _viva_dup_previous_table_rows. Το αποτέλεσμα είναι zero stuck orders στο Viva ecosystem.
Γιατί χρησιμοποιείτε WPCode snippets αντί για functions.php;
Functions.php σπάει σε κάθε theme update και χάνεται αν αλλάξεις theme. Στο Olympus έχουμε 20+ business rules (VAT exclusions ανά κατηγορία, custom shipping, bulk discount logic, GDPR order data export, sorting rules). Όλα ζουν σε WPCode με version tracking. Σταδιακά τα μεταφέρουμε σε mu-plugins όταν αγγίζουμε το καθένα, οπότε γίνεται production-grade με semantic versioning και .bak backups.
Πώς διαχειρίζεστε το Cloudflare όταν έχετε 3 ξεχωριστούς domains;
Τρία ξεχωριστά Cloudflare zones (olympusplus.gr, olympusplus.cy, bg.olympusplus.com). Η BG αρχικά πέρασε από Papaki λόγω .bg registry restrictions πριν μεταφερθεί στο Cloudflare. Image optimization, country-specific caching, και geo-aware redirects ρυθμίζονται per zone. Μετά από DB-level changes κάνουμε manual purge ώστε νέοι visitors να βλέπουν fresh content.