/* Cyprus Gate: static stand-in for the Voiceflow launcher. * * Roughly 600 bytes, and it replaces 1.9 MB for every visitor who never * opens the chat. Clicking it loads the real widget, which then removes this. * * Colours match the site: navy #001438, Geist body font. */ #cg-chat-launcher { position: fixed; right: 20px; bottom: 20px; z-index: 9998; display: flex; align-items: center; gap: .5rem; padding: 12px 20px; border-radius: 999px; background: #001438; color: #fff; font: 15px/1 Geist, system-ui, -apple-system, sans-serif; cursor: pointer; box-shadow: 0 4px 14px rgba(0, 0, 0, .2); transition: background .15s ease, transform .15s ease; user-select: none; white-space: nowrap; /* the pill must never break onto two lines */ } #cg-chat-launcher:hover, #cg-chat-launcher:focus-visible { background: #0a2050; transform: translateY(-1px); outline: none; } #cg-chat-launcher:focus-visible { box-shadow: 0 0 0 3px rgba(184, 129, 15, .55); } /* While the bundle downloads on first click. */ #cg-chat-launcher[data-loading] { opacity: .6; pointer-events: none; } .cg-chat-dot { width: 8px; height: 8px; border-radius: 50%; background: #22c55e; flex: none; } /* Keep clear of the cookie banner and of narrow screens. */ @media (max-width: 600px) { #cg-chat-launcher { right: 12px; bottom: 12px; padding: 10px 16px; font-size: 14px; } } @media (prefers-reduced-motion: reduce) { #cg-chat-launcher { transition: none; } } jQuery(function ($) { const FORM_SELECTOR = 'form#wppb-register-user'; function ensureMsgBox($form) { let $box = $form.find('.pb-ajax-msg'); if (!$box.length) { $box = $('
'); $form.prepend($box); } return $box; } // ? Stop popup from closing on button click / submit $(document).on('click', FORM_SELECTOR + ' button, ' + FORM_SELECTOR + ' input[type="submit"]', function (e) { e.stopPropagation(); e.stopImmediatePropagation(); }); // ? Stop any "close on submit" handlers (Elementor / modal libs) $(document).on('submit', FORM_SELECTOR, function (e) { e.preventDefault(); e.stopPropagation(); e.stopImmediatePropagation(); const $form = $(this); const $msg = ensureMsgBox($form); if (typeof PB_REG_AJAX === 'undefined' || !PB_REG_AJAX.ajaxurl) { $msg.text('PB_REG_AJAX is missing. The PHP snippet is not loaded on this page.'); return; } $msg.css('border-color', '#ddd').text('Processing...'); let payload = $form.serializeArray(); payload.push({ name: 'action', value: 'pb_register_ajax' }); payload.push({ name: '_ajax_nonce', value: PB_REG_AJAX.nonce }); $.ajax({ url: PB_REG_AJAX.ajaxurl, method: 'POST', data: $.param(payload), dataType: 'json', timeout: 20000, success: function (res) { if (res && res.success) { $msg.css('border-color', '#cfc').text(res.data?.message || 'Please check your email to confirm registration.'); // ? keep popup open; do NOT reload/redirect here } else { $msg.css('border-color', '#fcc').text(res.data?.message || 'Registration failed.'); } }, error: function (xhr, status) { let info = 'AJAX error: ' + status; if (xhr && xhr.responseText) info += ' | ' + xhr.responseText.substring(0, 200); $msg.css('border-color', '#fcc').text(info); } }); return false; }); }); /** * Force PB_REG_AJAX to exist everywhere * Fixes: "PB_REG_AJAX is missing" */ window.PB_REG_AJAX = window.PB_REG_AJAX || { ajaxurl: "/wp-admin/admin-ajax.php", nonce: "bypass-nonce" // not used server-side };

כלל 60 הימים / תושבות מס בקפריסין

מעבר לסף 183 הימים הרגיל, קפריסין מאפשרת להפוך לתושבי מס גם עם נוכחות קצרה יותר, אם עומדים בתנאי כלל 60 הימים. לישראלים ששוקלים מעבר חלקי, מיסוי חוצה-גבולות או בסיס בקפריסין בלי לעזוב לגמרי את ישראל: כאן תראו מה הכלל דורש, איך הוא מתחבר לנכס, ומה חייבים לאשר מול יועץ מס מורשה.

מידע כללי בלבד. לא ייעוץ מס. בדקו מול יועץ מס בישראל ובקפריסין לפני כל החלטה.

שני מסלולים לתושבות מס

ברפובליקת קפריסין יש שני מסלולים עיקריים לתושבות מס לשנת מס:

  • כלל 183 הימים. נוכחות של 183 ימים לפחות בקפריסין במהלך שנת המס.
  • כלל 60 הימים (מ-2017). מסלול אלטרנטיבי למי שמקיים תנאים מצטברים, כולל לפחות 60 ימי נוכחות בקפריסין באותה שנה.

כלל 60 הימים לא מחליף בדיקת תושבות מס בישראל. ישראל קובעת תושבות לפי מבחניה שלה. אפשר להיות תושבי מס בשתי מדינות במקביל, ואז נכנס אמנת מס (אם חלה) וכללי שבירת שוויון. אל תניחו ש״60 ימים בקפריסין״ מוציאים אתכם אוטומטית מתושבות ישראלית.

מה בדרך כלל נדרש בכלל 60 הימים

המסגרת הרגולטורית דורשת, בין השאר, נוכחות מינימלית בקפריסין, הימנעות מנוכחות ארוכה במדינה אחרת אחת, קיום מגורים קבועים בקפריסין, וקשר עסקי או תעסוקתי מקומי לפי התנאים המעודכנים. הפרטים משתנים לפי פרשנות ומצב אישי, ולכן הרשימה כאן היא כיוון כללי בלבד.

  • לפחות 60 ימי שהייה בקפריסין בשנת המס.
  • לא לשהות יותר מ-183 ימים במדינה אחרת אחת באותה שנה.
  • לקיים מגורים קבועים בקפריסין שמתאימים למגורים לאורך השנה, לא רק ״כתובת על נייר״.
  • לנהל עסק, לעבוד או להחזיק משרה בקפריסין, לפי התנאים הרלוונטיים למסלול שלכם.

הנכס שאתם קונים הוא חלק מהתשתית של הטענה לתושבות, לא תחליף לה. דירת נופש שלא מתאימה למגורים קבועים, או רכישה שלא תומכת בנוכחות אמיתית, מחלישות את המסלול. Cyprus Gate בוחרת נכס שמתאים למטרת התושבות שלכם, לא רק לכותרת הפרסום.

אמנות מס וחשיפה כפולה

בין קפריסין לבריטניה יש אמנת מס מעודכנת (2018). בין ישראל לקפריסין יש אמנה למניעת כפל מס. האמנה לא ״מבטלת מס״. היא קובעת איך לייחס הכנסות ורווחים כשיש חפיפה. סדר הפעולות חשוב: קודם מבהירים את מעמד התושבות בישראל ובקפריסין, ורק אז בונים את מבנה ההחזקה והנכס.

אם יש לכם גם זיקה לבריטניה (תושבות עבר, נכסים, הכנסות), בדקו בנפרד מול יועץ בריטי. כלל 60 הימים בקפריסין לא פותר אוטומטית שאלות HMRC או רשות המסים בישראל.

איך Cyprus Gate מחברת נכס לכלל 60 הימים

אנחנו לא יועצי מס. אנחנו מוודאים שהנכס והתהליך תומכים במטרה שהגדרתם בניתוח הצרכים והסטטוס: סוג נכס, מיקום, התאמה למגורים, לוח זמנים לרכישה, ואישור מועצת השרים לישראלים כמדינה שלישית (Cap. 109). כשצריך ייעוץ מס חוצה-גבולות, מחברים אתכם ליועצים בלתי תלויים שאתם שוכרים ישירות, בלי עמלת הפניה.

שאלות נפוצות

האם 60 ימים בקפריסין מספיקים לבד?

לא. הנוכחות היא תנאי אחד מתוך מערכת תנאים. בלי מגורים מתאימים ובלי עמידה ביתר הדרישות, המסלול לא מחזיק.

האם זה מבטל תושבות מס בישראל?

לא אוטומטית. תושבות ישראלית נקבעת לפי דין ישראלי. ייתכן כפל תושבות עד שמבהירים את המעמד מול יועץ מוסמך.

האם חייבים לקנות נכס כדי להשתמש בכלל?

הכלל דורש מגורים קבועים בקפריסין. רכישה היא דרך נפוצה לבסס זאת, אבל ההתאמה למגורים ולמטרות שלכם חשובה יותר מכותרת העסקה.

קריאה נוספת

המשיכו לסטטוס Non-Dom, למס, תושבות ומבנה, או לתושבות קבע.

עצמאות לאורך כל הדרך

Cyprus Gate מייצג רק את הקונה. אין לנו מלאי יזמים, אין עמלת מוכר, ואין עמלת הפניה מבעלי מקצוע שאנחנו מחברים אליכם. התשלום מגיע מכם, לפי היקף העבודה שסוכם מראש בכתב, לפני שמתחילים.

מידע כללי בלבד, לא ייעוץ משפטי, מס או הגירה. מסלולי מס, מע״מ, העברה ותושבות דורשים אישור מול עורך דין ויועץ מס מורשים בקפריסין (ולפי הצורך גם בישראל).

Cyprus Gate - ייעוץ נדלן עצמאי לקונים בקפריסין, נוף חוף ים
Loading...
/* Cyprus Gate: load the Voiceflow widget on demand, not on every page view. * * Replaces the body of the existing "Simple Custom CSS and JS" snippet that * contains the Voiceflow widget-next bundle URL. * * Before: 713 KB transferred and 1.9 MB decoded on every page, for every * visitor, whether or not anyone opens the chat. * After: nothing is fetched from Voiceflow until someone clicks. * * The three existing entry points are preserved: * - the floating launcher (#cg-chat-launcher, see 2- and 3- in this folder) * - the #talktoagent button * - empty buttons and placeholder links, which send the page title */ (function () { var VF_PROJECT = '69cabed422b2cc69776855ae'; var loading = null; // Fetches and initialises the widget once. Returns a promise that settles // when chat.open() is actually callable. function loadVoiceflow() { if (loading) return loading; loading = new Promise(function (resolve, reject) { var v = document.createElement('script'); v.type = 'text/javascript'; v.async = true; v.onload = function () { window.voiceflow.chat.load({ verify: { projectID: VF_PROJECT }, url: 'https://general-runtime.voiceflow.com', voice: { url: 'https://runtime-api.voiceflow.com' }, launch: { event: { type: 'launch', payload: { user_name: (window.currentUser && window.currentUser.name) ? window.currentUser.name : '', user_email: (window.currentUser && window.currentUser.email) ? window.currentUser.email : '' } } } }); // chat.load() settles asynchronously, so poll until open() exists // rather than assuming it is ready the instant the script runs. var tries = 0; (function ready() { if (window.voiceflow && window.voiceflow.chat && typeof window.voiceflow.chat.open === 'function') { return resolve(); } if (++tries > 100) { return reject(new Error('Voiceflow did not initialise')); } setTimeout(ready, 100); })(); }; v.onerror = function () { loading = null; // allow a retry on the next click reject(new Error('Voiceflow bundle failed to load')); }; v.src = 'https://cdn.voiceflow.com/widget-next/bundle.mjs'; document.head.appendChild(v); }); return loading; } // Opens the chat, loading the bundle first if this is the first click. // `message` is sent into the conversation once it is open. function openChat(message) { var launcher = document.getElementById('cg-chat-launcher'); if (launcher) launcher.setAttribute('data-loading', 'true'); loadVoiceflow().then(function () { if (launcher) launcher.remove(); window.voiceflow.chat.open(); if (message) { setTimeout(function () { window.voiceflow.chat.interact({ type: 'text', payload: message }); }, 1500); } }).catch(function () { // Leave the launcher in place so the visitor can try again. if (launcher) launcher.removeAttribute('data-loading'); }); } window.cgOpenChat = openChat; document.addEventListener('click', function (e) { if (e.target.closest('#cg-chat-launcher') || e.target.closest('#talktoagent')) { e.preventDefault(); e.stopPropagation(); return openChat(); } // Same selector as the old third snippet: empty buttons and placeholder // links open the chat and seed it with the page title. var el = e.target.closest( 'button:not([type="submit"]):not([id]):not([class*="cky"]), ' + 'a[href="#"], a:not([href]), a[href=""]' ); if (el && !el.closest('form')) { e.preventDefault(); openChat(document.title); } }, true); })();