{"id":293867,"date":"2020-10-02T14:31:23","date_gmt":"2020-10-02T12:31:23","guid":{"rendered":"https:\/\/www.jtl-software.com\/services"},"modified":"2026-04-20T16:23:53","modified_gmt":"2026-04-20T14:23:53","slug":"services","status":"publish","type":"page","link":"https:\/\/jtl-split-greyhound.betterscale.dev\/en\/help-center\/services\/","title":{"rendered":"Services"},"content":{"rendered":"\t\t<section class=\"hero-product-section orange\">\n\t\t\t\t\t<div class=\"container\">\n\t\t\t\t\t\t\t\t<div class=\"row\">\n\t\t\t\t\t\t\t<style>\n\t.utils-6acf4c1071a87 { color: #333333 !important; }\n<\/style><div class=\"col-lg-6 hero-product-section__content utils-6acf4c1071a87\">\n\t<h2 class=\"product-support-section__subtitle text-uppercase h3\">Setup, migration & hosting<\/h2><h1 class=\"hero-product-section__content--title\">Services from JTL<\/h1><span class=\"h5\">Good start with us<\/span>\t<div class=\"product-management-section__text\">\n<p>As a technology company, JTL\u2019s focus is on software development. Comprehensive services are usually provided by our partner network. However, we also offer some services directly to beginners and new sellers so that you can get started in the JTL world with good advice and confidence.<\/p>\n\t<\/div>\n<\/div>\n<div class=\"col-lg-6 hero-product-section__image\">\n\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/section>\n\t\t\t<section class=\"bg-secondary\">\n\t\t\t\t\t<div class=\"container\">\n\t\t\t\t\t\t\t\t<div class=\"row\">\n\t\t\t\t\t\t\t<div class=\"col-lg-12\">\n\t<h2 id=\"anchor-installation-setup-help-for-new-sellers\" class=\"mb-0 font-weight-normal h3\">Installation & setup help for new sellers<a href=\"#installation-setup-help-for-new-sellers\" class=\"far fa-link headline-link\" data-href=\"#installation-setup-help-for-new-sellers\"><\/a><\/h2><\/div>\n<div class=\"col-lg-12\">\n\t\n    <div class=\"slider-mobile-items-wrapper post-card-grid count_3_element no-x-padding \"\n         id=\"wrapper_6acf4c1072591\">\n\n        <div id=\"swiper_6acf4c1072590\" class=\"slider-mobile-slider swiper\">\n            <div class=\"slider-mobile-items swiper-wrapper\">\n                \n<div class=\"swiper-slide card-mobile-item card-mobile-image with_button  with_image with_description \">\n\n            <div class=\"swiper-slide__top-heading no-overlay\">\n            <div class=\"swiper-slide__image\">\n                <picture><source type=\"image\/webp\" srcset=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22416%22%20height%3D%22266%22%3E%3C%2Fsvg%3E 1x\" data-srcset=\"https:\/\/jtl-split-greyhound.betterscale.dev\/wp-content\/uploads\/2026\/07\/jtl-installationsservice-jtl-wawi-einzelplatzbetrieb.png.webp 1x, https:\/\/jtl-split-greyhound.betterscale.dev\/wp-content\/uploads\/2026\/07\/jtl-installationsservice-jtl-wawi-einzelplatzbetrieb.png.webp 1x\"><source type=\"image\/png\" srcset=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22416%22%20height%3D%22266%22%3E%3C%2Fsvg%3E 1x\" data-srcset=\"https:\/\/jtl-split-greyhound.betterscale.dev\/wp-content\/uploads\/2026\/07\/jtl-installationsservice-jtl-wawi-einzelplatzbetrieb.png 1x, https:\/\/jtl-split-greyhound.betterscale.dev\/wp-content\/uploads\/2026\/07\/jtl-installationsservice-jtl-wawi-einzelplatzbetrieb.png 1x\"><img fetchpriority=\"high\" decoding=\"async\" src=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22416%22%20height%3D%22266%22%3E%3C%2Fsvg%3E\" data-src=\"https:\/\/jtl-split-greyhound.betterscale.dev\/wp-content\/uploads\/2026\/07\/jtl-installationsservice-jtl-wawi-einzelplatzbetrieb.png\" width=\"416\" height=\"266\" alt=\"Installationsservice (JTL-Wawi Einzelplatzbetrieb)\" class=\"lazy img-fluid border-solid \"><\/picture>            <\/div>\n                            <div class=\"swiper-slide__title-heading\" style=\"max-width: px\">\n\n\n                                            <div class=\"swiper-slide__title\">\n                            Installation service (JTL-Wawi single-user operation)                        <\/div>\n                                                        <\/div>\n                    <\/div>\n    \n\n            <div class=\"swiper-slide__description\">\n            <span class=\"text-description\">Are you unsure whether you want to install and configure JTL-Wawi and the included SQL server yourself? Simply leave the entire process in experienced hands - our colleagues from Support will take care of it for you. As part of the installation, we will also take care of the appropriate settings for your Windows firewall.<\/span>\n                            <div class=\"swiper-slide__button-wrapper\">\n                    <a class=\"swiper-slide__button--link no-icon\"\n                           href=\"https:\/\/www.jtl-software.de\/jtl-store\/services\/installation-jtl-wawi-einzelplatz\" target=\"_blank\">\n                        <span class=\"swiper-slide__button--link-text\">To the JTL-Store<\/span>\n                        <i class=\"fa-regular fa-arrow-right-long swiper-slide__button--link-icon\"><\/i>\n                    <\/a>\n                <\/div>\n                                    <\/div>\n    <\/div>\n\n\n\n<div class=\"swiper-slide card-mobile-item card-mobile-image with_button  with_image with_description card-link-navy\">\n\n            <div class=\"swiper-slide__top-heading no-overlay\">\n            <div class=\"swiper-slide__image\">\n                <picture><source type=\"image\/webp\" srcset=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22416%22%20height%3D%22266%22%3E%3C%2Fsvg%3E 1x\" data-srcset=\"https:\/\/jtl-split-greyhound.betterscale.dev\/wp-content\/uploads\/2026\/07\/jtl-installationsservice-jtl-shop.png.webp 1x, https:\/\/jtl-split-greyhound.betterscale.dev\/wp-content\/uploads\/2026\/07\/jtl-installationsservice-jtl-shop.png.webp 1x\"><source type=\"image\/png\" srcset=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22416%22%20height%3D%22266%22%3E%3C%2Fsvg%3E 1x\" data-srcset=\"https:\/\/jtl-split-greyhound.betterscale.dev\/wp-content\/uploads\/2026\/07\/jtl-installationsservice-jtl-shop.png 1x, https:\/\/jtl-split-greyhound.betterscale.dev\/wp-content\/uploads\/2026\/07\/jtl-installationsservice-jtl-shop.png 1x\"><img decoding=\"async\" src=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22416%22%20height%3D%22266%22%3E%3C%2Fsvg%3E\" data-src=\"https:\/\/jtl-split-greyhound.betterscale.dev\/wp-content\/uploads\/2026\/07\/jtl-installationsservice-jtl-shop.png\" width=\"416\" height=\"266\" alt=\"Installationsservice (JTL-Shop)\" class=\"lazy img-fluid border-solid \"><\/picture>            <\/div>\n                            <div class=\"swiper-slide__title-heading\" style=\"max-width: px\">\n\n\n                                            <div class=\"swiper-slide__title\">\n                            Installation service (JTL-Shop)                        <\/div>\n                                                        <\/div>\n                    <\/div>\n    \n\n            <div class=\"swiper-slide__description\">\n            <span class=\"text-description\">Would you like to host JTL-Shop yourself, but have no experience with installing and setting up our online shop? Our colleagues from the support team will help you and make the right server settings. You'll be up and running quickly and can start with store design and article maintenance. Your alternative: <a href='\/en\/ecommerce-platform\/ecommerce-hosting'>Host your shop with JTL-Shop<\/a><\/span>\n                            <div class=\"swiper-slide__button-wrapper\">\n                    <a class=\"swiper-slide__button--link no-icon\"\n                           href=\"https:\/\/www.jtl-software.de\/jtl-store\/services\/installation-jtl-shop\" target=\"_blank\">\n                        <span class=\"swiper-slide__button--link-text\">To the JTL-Store<\/span>\n                        <i class=\"fa-regular fa-arrow-right-long swiper-slide__button--link-icon\"><\/i>\n                    <\/a>\n                <\/div>\n                                    <\/div>\n    <\/div>\n\n\n\n<div class=\"swiper-slide card-mobile-item card-mobile-image with_button  with_image with_description \">\n\n            <div class=\"swiper-slide__top-heading no-overlay\">\n            <div class=\"swiper-slide__image\">\n                <picture><source type=\"image\/webp\" srcset=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22416%22%20height%3D%22266%22%3E%3C%2Fsvg%3E 1x\" data-srcset=\"https:\/\/jtl-split-greyhound.betterscale.dev\/wp-content\/uploads\/2026\/07\/jtl-einrichtungsservice-jtl-shipping.png.webp 1x, https:\/\/jtl-split-greyhound.betterscale.dev\/wp-content\/uploads\/2026\/07\/jtl-einrichtungsservice-jtl-shipping.png.webp 1x\"><source type=\"image\/png\" srcset=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22416%22%20height%3D%22266%22%3E%3C%2Fsvg%3E 1x\" data-srcset=\"https:\/\/jtl-split-greyhound.betterscale.dev\/wp-content\/uploads\/2026\/07\/jtl-einrichtungsservice-jtl-shipping.png 1x, https:\/\/jtl-split-greyhound.betterscale.dev\/wp-content\/uploads\/2026\/07\/jtl-einrichtungsservice-jtl-shipping.png 1x\"><img decoding=\"async\" src=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22416%22%20height%3D%22266%22%3E%3C%2Fsvg%3E\" data-src=\"https:\/\/jtl-split-greyhound.betterscale.dev\/wp-content\/uploads\/2026\/07\/jtl-einrichtungsservice-jtl-shipping.png\" width=\"416\" height=\"266\" alt=\"Einrichtungsservice (JTL-Shipping)\" class=\"lazy img-fluid border-solid \"><\/picture>            <\/div>\n                            <div class=\"swiper-slide__title-heading\" style=\"max-width: px\">\n\n\n                                            <div class=\"swiper-slide__title\">\n                            Set-up service (JTL-Shipping)                        <\/div>\n                                                        <\/div>\n                    <\/div>\n    \n\n            <div class=\"swiper-slide__description\">\n            <span class=\"text-description\">Print shipping labels quickly & easily? Track DHL shipments in JTL-Wawi? With our setup service for JTL-Shipping, we ensure the correct setup of the JTL-ShippingLabels and JTL-Track&Trace shipping modules. We take care of the correct settings in your user account management and the integration of your existing shipping methods. At the end of our work, we will carry out a test delivery together.<\/span>\n                            <div class=\"swiper-slide__button-wrapper\">\n                    <a class=\"swiper-slide__button--link no-icon\"\n                           href=\"https:\/\/www.jtl-software.de\/jtl-store\/services\/einrichtung-jtl-shipping\" target=\"_blank\">\n                        <span class=\"swiper-slide__button--link-text\">To the JTL-Store<\/span>\n                        <i class=\"fa-regular fa-arrow-right-long swiper-slide__button--link-icon\"><\/i>\n                    <\/a>\n                <\/div>\n                                    <\/div>\n    <\/div>\n\n\n            <\/div>\n        <\/div>\n\n            <\/div>\n\n    <script>\n        document.addEventListener('DOMContentLoaded', function () {\n\n\n            const modalHTML = `\n    <div class=\"modal fade\" id=\"list-widget-modal\"\n         tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"list-widget-modal-label\" aria-hidden=\"true\">\n        <div class=\"modal-dialog modal-dialog-centered modal-lg\" role=\"document\">\n            <div class=\"modal-content\">\n                <div class=\"modal-header\">\n                    <h5 class=\"modal-title\" id=\"modal-title\"><\/h5>\n                    <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\">\n                        <span aria-hidden=\"true\" class=\"fal fa-times\"><\/span>\n                    <\/button>\n                <\/div>\n                <div class=\"modal-body\">\n                    <div class=\"my-3\" id=\"modal-data\"><\/div>\n                <\/div>\n            <\/div>\n        <\/div>\n    <\/div>`;\n            document.body.insertAdjacentHTML('beforeend', modalHTML);\n\n            const modal = document.getElementById('list-widget-modal');\n            const titleEl = modal.querySelector('#modal-title');\n            const dataEl = modal.querySelector('#modal-data');\n\n\n            function createBackdrop() {\n                const b = document.createElement('div');\n                b.className = 'modal-backdrop fade show';\n                b.dataset.modalBackdrop = '1';\n                document.body.appendChild(b);\n                return b;\n            }\n\n            function showModal() {\n                if (!document.querySelector('.modal-backdrop[data-modal-backdrop=\"1\"]')) createBackdrop();\n                modal.style.display = 'block';\n                modal.removeAttribute('aria-hidden');\n                modal.classList.add('show');\n                document.body.classList.add('modal-open');\n                modal.addEventListener('mousedown', onOutsideClick);\n                document.addEventListener('keydown', onEsc);\n            }\n\n            function hideModal() {\n                modal.classList.remove('show');\n                modal.setAttribute('aria-hidden', 'true');\n                modal.style.display = 'none';\n                document.body.classList.remove('modal-open');\n                const b = document.querySelector('.modal-backdrop[data-modal-backdrop=\"1\"]');\n                if (b) b.remove();\n                modal.removeEventListener('mousedown', onOutsideClick);\n                document.removeEventListener('keydown', onEsc);\n            }\n\n            function onOutsideClick(e) {\n                const dialog = modal.querySelector('.modal-dialog');\n                if (dialog && !dialog.contains(e.target)) hideModal();\n            }\n\n            function onEsc(e) {\n                if (e.key === 'Escape') hideModal();\n            }\n\n\n            document.addEventListener('click', function (e) {\n                const btn = e.target.closest('.additional-button');\n                if (!btn) return;\n\n                e.preventDefault();\n\n\n                const cls = Array.from(btn.classList).find(c => c.startsWith('open-modal-'));\n                if (!cls) return;\n                const suffix = cls.slice('open-modal-'.length);\n                const contentEl = document.getElementById('data-content-' + suffix);\n\n\n                titleEl.textContent = btn.dataset.title || '';\n                dataEl.innerHTML = contentEl ? contentEl.innerHTML : '';\n\n\n                showModal();\n            });\n\n\n            document.addEventListener('click', function (e) {\n                if (e.target.closest('[data-dismiss=\"modal\"], .modal .close')) {\n                    e.preventDefault();\n                    hideModal();\n                }\n            });\n        });\n    <\/script>\n\n    <script>\n        if (!document.querySelector('link[href*=\"swiper-bundle.min.css\"]')) {\n            const style = document.createElement('link');\n            style.rel = 'stylesheet';\n            style.href = 'https:\/\/jtl-split-greyhound.betterscale.dev\/wp-content\/plugins\/wpb-oop-widget-with-global\/widgets\/CardSliderMobile\/Views\/lib\/swiper-bundle.min.css';\n            document.head.appendChild(style);\n        }\n    <\/script>\n\n    <script>\n        (function () {\n            const WIDGET_SELECTOR = '#wrapper_6acf4c1072591 .swiper-wrapper';\n            const PARTS = [\n                '.swiper-slide-title',\n                '.swiper-slide-date',\n                '.swiper-slide-description'\n            ];\n\n            const CARD_FILTER = ':not(.swiper-slide-duplicate)';\n\n            function resetHeights(widget) {\n                PARTS.forEach(sel => {\n                    widget.querySelectorAll(sel).forEach(el => el.style.minHeight = '');\n                });\n            }\n\n            function maxHeights(widget) {\n                const max = {};\n                PARTS.forEach(sel => {\n                    let m = 0;\n                    widget.querySelectorAll(`${sel}${CARD_FILTER ? '' : ''}`).forEach(el => {\n                        const rectH = Math.ceil(el.getBoundingClientRect().height);\n                        const h = rectH || el.scrollHeight || 0;\n                        if (h > m) m = h;\n                    });\n                    max[sel] = m;\n                });\n                return max;\n            }\n\n            function applyHeights(widget, maxMap) {\n                PARTS.forEach(sel => {\n                    const h = maxMap[sel] || 0;\n                    if (!h) return;\n                    widget.querySelectorAll(sel).forEach(el => {\n                        el.style.minHeight = h + 'px';\n                    });\n                });\n            }\n\n            function equalizeWidget(widget) {\n                if (!widget) return;\n                resetHeights(widget);\n                const maxMap = maxHeights(widget);\n                applyHeights(widget, maxMap);\n            }\n\n            function equalizeAll() {\n                document.querySelectorAll(WIDGET_SELECTOR).forEach(equalizeWidget);\n            }\n\n\n            function debounce(fn, wait) {\n                let t;\n                return function () {\n                    clearTimeout(t);\n                    t = setTimeout(fn, wait);\n                };\n            }\n\n            function init() {\n                equalizeAll();\n\n\n                window.addEventListener('load', equalizeAll, {once: true});\n\n\n                window.addEventListener('resize', debounce(equalizeAll, 150));\n\n                const ro = new ResizeObserver(debounce(equalizeAll, 100));\n                document.querySelectorAll(WIDGET_SELECTOR).forEach(w => ro.observe(w));\n\n\n                document.addEventListener('cards:reflow', equalizeAll);\n            }\n\n            document.addEventListener('DOMContentLoaded', init);\n        })();\n    <\/script>\n\n\n\n\n    <script>\n        function initSwiper_swiper_6acf4c1072590(wrapper) {\n            let mode = 'no'\n            const swiperEl = wrapper.querySelector('.swiper');\n            const config = {\n                loop: false,\n                spaceBetween: 32,\n                slidesPerView: 4,\n                breakpoints: {\n                    0: {slidesPerView: 1},\n                    768: {slidesPerView: 2},\n                    1024: {slidesPerView: 3},\n                    1280: {slidesPerView: 4}\n                }\n            };\n\n            if (mode === 'mobile') {\n                const nextBtn = wrapper.querySelector('.swiper-button-next');\n                const prevBtn = wrapper.querySelector('.swiper-button-prev');\n                config.navigation = {\n                    nextEl: nextBtn,\n                    prevEl: prevBtn\n                };\n                config.breakpoints = {\n                    0: {slidesPerView: 1},\n                    768: {slidesPerView: 2},\n                    1024: {slidesPerView: 2},\n                    1280: {slidesPerView: 3}\n                }\n            }\n\n            return new Swiper(swiperEl, config);\n        }\n\n        (function () {\n            const wrapper = document.getElementById('wrapper_6acf4c1072591');\n            let swiperInstance = null;\n            const mq = window.matchMedia('(max-width: 1280px)');\n\n            function enable() {\n                if (!swiperInstance) swiperInstance = initSwiper_swiper_6acf4c1072590(wrapper);\n            }\n\n            function disable() {\n                if (swiperInstance) {\n                    swiperInstance.destroy(true, true);\n                    swiperInstance = null;\n                }\n            }\n\n            function toggle(e) {\n                if (e.matches) enable(); else disable();\n            }\n\n            function waitForSwiper() {\n                if (typeof Swiper !== 'undefined') {\n\n                    toggle(mq);\n\n                    if (mq.addEventListener) mq.addEventListener('change', toggle);\n                    else mq.addListener(toggle);\n                } else {\n                    setTimeout(waitForSwiper, 50);\n                }\n            }\n\n\n            if (!document.querySelector('link[href*=\"swiper-bundle.min.css\"]')) {\n                const style = document.createElement('link');\n                style.rel = 'stylesheet';\n                style.href = 'https:\/\/jtl-split-greyhound.betterscale.dev\/wp-content\/plugins\/wpb-oop-widget-with-global\/widgets\/CardSliderMobile\/Views\/lib\/swiper-bundle.min.css';\n                document.head.appendChild(style);\n            }\n\n\n            if (!document.querySelector('script[src*=\"swiper-bundle.min.js\"]')) {\n                const script = document.createElement('script');\n                script.src = 'https:\/\/jtl-split-greyhound.betterscale.dev\/wp-content\/plugins\/wpb-oop-widget-with-global\/widgets\/CardSliderMobile\/Views\/lib\/swiper-bundle.min.js';\n                script.onload = waitForSwiper;\n                document.head.appendChild(script);\n            } else {\n                waitForSwiper();\n            }\n        })();\n\n\n    <\/script>\n<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/section>\n\t\t\t<section>\n\t\t\t\t\t<div class=\"container\">\n\t\t\t\t\t\t\t\t<div class=\"row\">\n\t\t\t\t\t\t\t<div class=\"col-lg-12\">\n\t<h2 id=\"anchor-services-for-larger-retailers-switchers\" class=\"mb-0 font-weight-normal h3\">Services for larger retailers & switchers<a href=\"#services-for-larger-retailers-switchers\" class=\"far fa-link headline-link\" data-href=\"#services-for-larger-retailers-switchers\"><\/a><\/h2><\/div>\n<div class=\"col-lg-12\">\n\t\n    <div class=\"slider-mobile-items-wrapper post-card-grid count_3_element no-x-padding \"\n         id=\"wrapper_6acf4c1075f9b\">\n\n        <div id=\"swiper_6acf4c1075f9a\" class=\"slider-mobile-slider swiper\">\n            <div class=\"slider-mobile-items swiper-wrapper\">\n                \n<div class=\"swiper-slide card-mobile-item card-mobile-image with_button  with_image with_description \">\n\n            <div class=\"swiper-slide__top-heading no-overlay\">\n            <div class=\"swiper-slide__image\">\n                <picture><source type=\"image\/webp\" srcset=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22416%22%20height%3D%22266%22%3E%3C%2Fsvg%3E 1x\" data-srcset=\"https:\/\/jtl-split-greyhound.betterscale.dev\/wp-content\/uploads\/2026\/07\/jtl-migrationsservice.png.webp 1x, https:\/\/jtl-split-greyhound.betterscale.dev\/wp-content\/uploads\/2026\/07\/jtl-migrationsservice.png.webp 1x\"><source type=\"image\/png\" srcset=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22416%22%20height%3D%22266%22%3E%3C%2Fsvg%3E 1x\" data-srcset=\"https:\/\/jtl-split-greyhound.betterscale.dev\/wp-content\/uploads\/2026\/07\/jtl-migrationsservice.png 1x, https:\/\/jtl-split-greyhound.betterscale.dev\/wp-content\/uploads\/2026\/07\/jtl-migrationsservice.png 1x\"><img loading=\"lazy\" decoding=\"async\" src=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22416%22%20height%3D%22266%22%3E%3C%2Fsvg%3E\" data-src=\"https:\/\/jtl-split-greyhound.betterscale.dev\/wp-content\/uploads\/2026\/07\/jtl-migrationsservice.png\" width=\"416\" height=\"266\" alt=\"Migrationsservice\" class=\"lazy img-fluid border-solid \"><\/picture>            <\/div>\n                            <div class=\"swiper-slide__title-heading\" style=\"max-width: px\">\n\n\n                                            <div class=\"swiper-slide__title\">\n                            Migration service                        <\/div>\n                                                        <\/div>\n                    <\/div>\n    \n\n            <div class=\"swiper-slide__description\">\n            <span class=\"text-description\">Would you like to switch to JTL but are afraid of the effort involved in data transfer from your previous system? With our migration service, we offer an automated service that forms the basis for a quick and smooth transition to JTL. Our team of specialists uses powerful, in-house tools that enable us to import data from other systems into JTL-Wawi largely automatically. For large retailers, additional support from service partners is recommended, as we cannot provide any further support for your project after the takeover.<\/span>\n                            <div class=\"swiper-slide__button-wrapper\">\n                    <a class=\"swiper-slide__button--link no-icon\"\n                           href=\"https:\/\/www.jtl-software.de\/jtl-store\/services\/migrationsservice\" target=\"_blank\">\n                        <span class=\"swiper-slide__button--link-text\">To the JTL-Store<\/span>\n                        <i class=\"fa-regular fa-arrow-right-long swiper-slide__button--link-icon\"><\/i>\n                    <\/a>\n                <\/div>\n                                    <\/div>\n    <\/div>\n\n\n\n<div class=\"swiper-slide card-mobile-item card-mobile-image with_button  with_image with_description \">\n\n            <div class=\"swiper-slide__top-heading no-overlay\">\n            <div class=\"swiper-slide__image\">\n                <picture><source type=\"image\/webp\" srcset=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22416%22%20height%3D%22266%22%3E%3C%2Fsvg%3E 1x\" data-srcset=\"https:\/\/jtl-split-greyhound.betterscale.dev\/wp-content\/uploads\/2026\/07\/jtl-installationsservice-jtl-wawi-mehrplatzbetrieb.png.webp 1x, https:\/\/jtl-split-greyhound.betterscale.dev\/wp-content\/uploads\/2026\/07\/jtl-installationsservice-jtl-wawi-mehrplatzbetrieb.png.webp 1x\"><source type=\"image\/png\" srcset=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22416%22%20height%3D%22266%22%3E%3C%2Fsvg%3E 1x\" data-srcset=\"https:\/\/jtl-split-greyhound.betterscale.dev\/wp-content\/uploads\/2026\/07\/jtl-installationsservice-jtl-wawi-mehrplatzbetrieb.png 1x, https:\/\/jtl-split-greyhound.betterscale.dev\/wp-content\/uploads\/2026\/07\/jtl-installationsservice-jtl-wawi-mehrplatzbetrieb.png 1x\"><img loading=\"lazy\" decoding=\"async\" src=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22416%22%20height%3D%22266%22%3E%3C%2Fsvg%3E\" data-src=\"https:\/\/jtl-split-greyhound.betterscale.dev\/wp-content\/uploads\/2026\/07\/jtl-installationsservice-jtl-wawi-mehrplatzbetrieb.png\" width=\"416\" height=\"266\" alt=\"Installationsservice (JTL-Wawi Mehrplatzbetrieb)\" class=\"lazy img-fluid border-solid \"><\/picture>            <\/div>\n                            <div class=\"swiper-slide__title-heading\" style=\"max-width: px\">\n\n\n                                            <div class=\"swiper-slide__title\">\n                            Installation service (JTL-Wawi multi-user operation)                        <\/div>\n                                                        <\/div>\n                    <\/div>\n    \n\n            <div class=\"swiper-slide__description\">\n            <span class=\"text-description\">Operating our ERP via a central server computer is particularly worthwhile for you if several employees work on a database at the same time and if you want to avoid performance-intensive processes such as workflows or mass data processing slowing down work with the Application. Our colleagues from Support will be happy to help you install the central server and any number of workstations for employees.<\/span>\n                            <div class=\"swiper-slide__button-wrapper\">\n                    <a class=\"swiper-slide__button--link no-icon\"\n                           href=\"https:\/\/www.jtl-software.de\/jtl-store\/services\/installation-jtl-wawi-mehrplatz\" target=\"_blank\">\n                        <span class=\"swiper-slide__button--link-text\">To the JTL-Store<\/span>\n                        <i class=\"fa-regular fa-arrow-right-long swiper-slide__button--link-icon\"><\/i>\n                    <\/a>\n                <\/div>\n                                    <\/div>\n    <\/div>\n\n\n\n<div class=\"swiper-slide card-mobile-item card-mobile-image with_button  with_image with_description \">\n\n            <div class=\"swiper-slide__top-heading no-overlay\">\n            <div class=\"swiper-slide__image\">\n                <picture><source type=\"image\/webp\" srcset=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22416%22%20height%3D%22266%22%3E%3C%2Fsvg%3E 1x\" data-srcset=\"https:\/\/jtl-split-greyhound.betterscale.dev\/wp-content\/uploads\/2026\/07\/jtl-lagerkonzept-beratung-jtl-wms.png.webp 1x, https:\/\/jtl-split-greyhound.betterscale.dev\/wp-content\/uploads\/2026\/07\/jtl-lagerkonzept-beratung-jtl-wms.png.webp 1x\"><source type=\"image\/png\" srcset=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22416%22%20height%3D%22266%22%3E%3C%2Fsvg%3E 1x\" data-srcset=\"https:\/\/jtl-split-greyhound.betterscale.dev\/wp-content\/uploads\/2026\/07\/jtl-lagerkonzept-beratung-jtl-wms.png 1x, https:\/\/jtl-split-greyhound.betterscale.dev\/wp-content\/uploads\/2026\/07\/jtl-lagerkonzept-beratung-jtl-wms.png 1x\"><img loading=\"lazy\" decoding=\"async\" src=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22416%22%20height%3D%22266%22%3E%3C%2Fsvg%3E\" data-src=\"https:\/\/jtl-split-greyhound.betterscale.dev\/wp-content\/uploads\/2026\/07\/jtl-lagerkonzept-beratung-jtl-wms.png\" width=\"416\" height=\"266\" alt=\"Lagerkonzept & Beratung (JTL-WMS)\" class=\"lazy img-fluid border-solid \"><\/picture>            <\/div>\n                            <div class=\"swiper-slide__title-heading\" style=\"max-width: px\">\n\n\n                                            <div class=\"swiper-slide__title\">\n                            Warehouse concept & consulting (JTL-WMS)                        <\/div>\n                                                        <\/div>\n                    <\/div>\n    \n\n            <div class=\"swiper-slide__description\">\n            <span class=\"text-description\">Our warehouse management system JTL-WMS offers customized processes for almost all product types. Numerous factors such as product range size, product type or your spatial conditions play a central role in the appropriate setup of JTL-WMS. A careful inventory at the beginning enables you to introduce JTL-WMS smoothly and often also saves costs. If you are not already working with a service partner, we recommend that you make use of the corresponding services of our partners.<\/span>\n                            <div class=\"swiper-slide__button-wrapper\">\n                    <a class=\"swiper-slide__button--link no-icon\"\n                           href=\"https:\/\/jtl-split-greyhound.betterscale.dev\/en\/warehouse-management-software\" >\n                        <span class=\"swiper-slide__button--link-text\">More info<\/span>\n                        <i class=\"fa-regular fa-arrow-right-long swiper-slide__button--link-icon\"><\/i>\n                    <\/a>\n                <\/div>\n                                    <\/div>\n    <\/div>\n\n\n            <\/div>\n        <\/div>\n\n            <\/div>\n\n    <script>\n        document.addEventListener('DOMContentLoaded', function () {\n\n\n            const modalHTML = `\n    <div class=\"modal fade\" id=\"list-widget-modal\"\n         tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"list-widget-modal-label\" aria-hidden=\"true\">\n        <div class=\"modal-dialog modal-dialog-centered modal-lg\" role=\"document\">\n            <div class=\"modal-content\">\n                <div class=\"modal-header\">\n                    <h5 class=\"modal-title\" id=\"modal-title\"><\/h5>\n                    <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\">\n                        <span aria-hidden=\"true\" class=\"fal fa-times\"><\/span>\n                    <\/button>\n                <\/div>\n                <div class=\"modal-body\">\n                    <div class=\"my-3\" id=\"modal-data\"><\/div>\n                <\/div>\n            <\/div>\n        <\/div>\n    <\/div>`;\n            document.body.insertAdjacentHTML('beforeend', modalHTML);\n\n            const modal = document.getElementById('list-widget-modal');\n            const titleEl = modal.querySelector('#modal-title');\n            const dataEl = modal.querySelector('#modal-data');\n\n\n            function createBackdrop() {\n                const b = document.createElement('div');\n                b.className = 'modal-backdrop fade show';\n                b.dataset.modalBackdrop = '1';\n                document.body.appendChild(b);\n                return b;\n            }\n\n            function showModal() {\n                if (!document.querySelector('.modal-backdrop[data-modal-backdrop=\"1\"]')) createBackdrop();\n                modal.style.display = 'block';\n                modal.removeAttribute('aria-hidden');\n                modal.classList.add('show');\n                document.body.classList.add('modal-open');\n                modal.addEventListener('mousedown', onOutsideClick);\n                document.addEventListener('keydown', onEsc);\n            }\n\n            function hideModal() {\n                modal.classList.remove('show');\n                modal.setAttribute('aria-hidden', 'true');\n                modal.style.display = 'none';\n                document.body.classList.remove('modal-open');\n                const b = document.querySelector('.modal-backdrop[data-modal-backdrop=\"1\"]');\n                if (b) b.remove();\n                modal.removeEventListener('mousedown', onOutsideClick);\n                document.removeEventListener('keydown', onEsc);\n            }\n\n            function onOutsideClick(e) {\n                const dialog = modal.querySelector('.modal-dialog');\n                if (dialog && !dialog.contains(e.target)) hideModal();\n            }\n\n            function onEsc(e) {\n                if (e.key === 'Escape') hideModal();\n            }\n\n\n            document.addEventListener('click', function (e) {\n                const btn = e.target.closest('.additional-button');\n                if (!btn) return;\n\n                e.preventDefault();\n\n\n                const cls = Array.from(btn.classList).find(c => c.startsWith('open-modal-'));\n                if (!cls) return;\n                const suffix = cls.slice('open-modal-'.length);\n                const contentEl = document.getElementById('data-content-' + suffix);\n\n\n                titleEl.textContent = btn.dataset.title || '';\n                dataEl.innerHTML = contentEl ? contentEl.innerHTML : '';\n\n\n                showModal();\n            });\n\n\n            document.addEventListener('click', function (e) {\n                if (e.target.closest('[data-dismiss=\"modal\"], .modal .close')) {\n                    e.preventDefault();\n                    hideModal();\n                }\n            });\n        });\n    <\/script>\n\n    <script>\n        if (!document.querySelector('link[href*=\"swiper-bundle.min.css\"]')) {\n            const style = document.createElement('link');\n            style.rel = 'stylesheet';\n            style.href = 'https:\/\/jtl-split-greyhound.betterscale.dev\/wp-content\/plugins\/wpb-oop-widget-with-global\/widgets\/CardSliderMobile\/Views\/lib\/swiper-bundle.min.css';\n            document.head.appendChild(style);\n        }\n    <\/script>\n\n    <script>\n        (function () {\n            const WIDGET_SELECTOR = '#wrapper_6acf4c1075f9b .swiper-wrapper';\n            const PARTS = [\n                '.swiper-slide-title',\n                '.swiper-slide-date',\n                '.swiper-slide-description'\n            ];\n\n            const CARD_FILTER = ':not(.swiper-slide-duplicate)';\n\n            function resetHeights(widget) {\n                PARTS.forEach(sel => {\n                    widget.querySelectorAll(sel).forEach(el => el.style.minHeight = '');\n                });\n            }\n\n            function maxHeights(widget) {\n                const max = {};\n                PARTS.forEach(sel => {\n                    let m = 0;\n                    widget.querySelectorAll(`${sel}${CARD_FILTER ? '' : ''}`).forEach(el => {\n                        const rectH = Math.ceil(el.getBoundingClientRect().height);\n                        const h = rectH || el.scrollHeight || 0;\n                        if (h > m) m = h;\n                    });\n                    max[sel] = m;\n                });\n                return max;\n            }\n\n            function applyHeights(widget, maxMap) {\n                PARTS.forEach(sel => {\n                    const h = maxMap[sel] || 0;\n                    if (!h) return;\n                    widget.querySelectorAll(sel).forEach(el => {\n                        el.style.minHeight = h + 'px';\n                    });\n                });\n            }\n\n            function equalizeWidget(widget) {\n                if (!widget) return;\n                resetHeights(widget);\n                const maxMap = maxHeights(widget);\n                applyHeights(widget, maxMap);\n            }\n\n            function equalizeAll() {\n                document.querySelectorAll(WIDGET_SELECTOR).forEach(equalizeWidget);\n            }\n\n\n            function debounce(fn, wait) {\n                let t;\n                return function () {\n                    clearTimeout(t);\n                    t = setTimeout(fn, wait);\n                };\n            }\n\n            function init() {\n                equalizeAll();\n\n\n                window.addEventListener('load', equalizeAll, {once: true});\n\n\n                window.addEventListener('resize', debounce(equalizeAll, 150));\n\n                const ro = new ResizeObserver(debounce(equalizeAll, 100));\n                document.querySelectorAll(WIDGET_SELECTOR).forEach(w => ro.observe(w));\n\n\n                document.addEventListener('cards:reflow', equalizeAll);\n            }\n\n            document.addEventListener('DOMContentLoaded', init);\n        })();\n    <\/script>\n\n\n\n\n    <script>\n        function initSwiper_swiper_6acf4c1075f9a(wrapper) {\n            let mode = 'no'\n            const swiperEl = wrapper.querySelector('.swiper');\n            const config = {\n                loop: false,\n                spaceBetween: 32,\n                slidesPerView: 4,\n                breakpoints: {\n                    0: {slidesPerView: 1},\n                    768: {slidesPerView: 2},\n                    1024: {slidesPerView: 3},\n                    1280: {slidesPerView: 4}\n                }\n            };\n\n            if (mode === 'mobile') {\n                const nextBtn = wrapper.querySelector('.swiper-button-next');\n                const prevBtn = wrapper.querySelector('.swiper-button-prev');\n                config.navigation = {\n                    nextEl: nextBtn,\n                    prevEl: prevBtn\n                };\n                config.breakpoints = {\n                    0: {slidesPerView: 1},\n                    768: {slidesPerView: 2},\n                    1024: {slidesPerView: 2},\n                    1280: {slidesPerView: 3}\n                }\n            }\n\n            return new Swiper(swiperEl, config);\n        }\n\n        (function () {\n            const wrapper = document.getElementById('wrapper_6acf4c1075f9b');\n            let swiperInstance = null;\n            const mq = window.matchMedia('(max-width: 1280px)');\n\n            function enable() {\n                if (!swiperInstance) swiperInstance = initSwiper_swiper_6acf4c1075f9a(wrapper);\n            }\n\n            function disable() {\n                if (swiperInstance) {\n                    swiperInstance.destroy(true, true);\n                    swiperInstance = null;\n                }\n            }\n\n            function toggle(e) {\n                if (e.matches) enable(); else disable();\n            }\n\n            function waitForSwiper() {\n                if (typeof Swiper !== 'undefined') {\n\n                    toggle(mq);\n\n                    if (mq.addEventListener) mq.addEventListener('change', toggle);\n                    else mq.addListener(toggle);\n                } else {\n                    setTimeout(waitForSwiper, 50);\n                }\n            }\n\n\n            if (!document.querySelector('link[href*=\"swiper-bundle.min.css\"]')) {\n                const style = document.createElement('link');\n                style.rel = 'stylesheet';\n                style.href = 'https:\/\/jtl-split-greyhound.betterscale.dev\/wp-content\/plugins\/wpb-oop-widget-with-global\/widgets\/CardSliderMobile\/Views\/lib\/swiper-bundle.min.css';\n                document.head.appendChild(style);\n            }\n\n\n            if (!document.querySelector('script[src*=\"swiper-bundle.min.js\"]')) {\n                const script = document.createElement('script');\n                script.src = 'https:\/\/jtl-split-greyhound.betterscale.dev\/wp-content\/plugins\/wpb-oop-widget-with-global\/widgets\/CardSliderMobile\/Views\/lib\/swiper-bundle.min.js';\n                script.onload = waitForSwiper;\n                document.head.appendChild(script);\n            } else {\n                waitForSwiper();\n            }\n        })();\n\n\n    <\/script>\n<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/section>\n\t\t\t<section class=\"bg-secondary\">\n\t\t\t\t\t<div class=\"container\">\n\t\t\t\t\t\t\t\t<div class=\"row\">\n\t\t\t\t\t\t\t<div class=\"col-lg-12\">\n\t<h2 id=\"anchor-erp-in-the-cloud-online-store-hosting\" class=\"mb-0 font-weight-normal h3\">ERP in the cloud & online store hosting<a href=\"#erp-in-the-cloud-online-store-hosting\" class=\"far fa-link headline-link\" data-href=\"#erp-in-the-cloud-online-store-hosting\"><\/a><\/h2><\/div>\n<div class=\"col-lg-12\">\n\t\n    <div class=\"slider-mobile-items-wrapper post-card-grid count_3_element no-x-padding \"\n         id=\"wrapper_6acf4c10785a1\">\n\n        <div id=\"swiper_6acf4c10785a0\" class=\"slider-mobile-slider swiper\">\n            <div class=\"slider-mobile-items swiper-wrapper\">\n                \n<div class=\"swiper-slide card-mobile-item card-mobile-image with_button  with_image with_description \">\n\n            <div class=\"swiper-slide__top-heading no-overlay\">\n            <div class=\"swiper-slide__image\">\n                <picture><source type=\"image\/webp\" srcset=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22416%22%20height%3D%22266%22%3E%3C%2Fsvg%3E 1x\" data-srcset=\"https:\/\/jtl-split-greyhound.betterscale.dev\/wp-content\/uploads\/2026\/07\/jtl-jtl-wawi-cloud.png.webp 1x, https:\/\/jtl-split-greyhound.betterscale.dev\/wp-content\/uploads\/2026\/07\/jtl-jtl-wawi-cloud.png.webp 1x\"><source type=\"image\/png\" srcset=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22416%22%20height%3D%22266%22%3E%3C%2Fsvg%3E 1x\" data-srcset=\"https:\/\/jtl-split-greyhound.betterscale.dev\/wp-content\/uploads\/2026\/07\/jtl-jtl-wawi-cloud.png 1x, https:\/\/jtl-split-greyhound.betterscale.dev\/wp-content\/uploads\/2026\/07\/jtl-jtl-wawi-cloud.png 1x\"><img loading=\"lazy\" decoding=\"async\" src=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22416%22%20height%3D%22266%22%3E%3C%2Fsvg%3E\" data-src=\"https:\/\/jtl-split-greyhound.betterscale.dev\/wp-content\/uploads\/2026\/07\/jtl-jtl-wawi-cloud.png\" width=\"416\" height=\"266\" alt=\"JTL-Wawi-Cloud\" class=\"lazy img-fluid border-solid \"><\/picture>            <\/div>\n                            <div class=\"swiper-slide__title-heading\" style=\"max-width: px\">\n\n\n                                            <div class=\"swiper-slide__title\">\n                            JTL-Wawi Cloud                        <\/div>\n                                                        <\/div>\n                    <\/div>\n    \n\n            <div class=\"swiper-slide__description\">\n            <span class=\"text-description\">Would you like to work from anywhere and on any device and access the same data at any time? With JTL-Wawi Cloud, you can enjoy maximum flexibility: whether in the office or on a business trip, with Windows or Mac, PC or smartphone. Benefit from high-performance cloud servers that meet the latest IT standards. Maintenance, backups, virus protection and regular security updates are also part of the service.<\/span>\n                            <div class=\"swiper-slide__button-wrapper\">\n                    <a class=\"swiper-slide__button--link no-icon\"\n                           href=\"https:\/\/jtl-split-greyhound.betterscale.dev\/en\/erp-software\/jtl-cloud-erp\" >\n                        <span class=\"swiper-slide__button--link-text\">More info<\/span>\n                        <i class=\"fa-regular fa-arrow-right-long swiper-slide__button--link-icon\"><\/i>\n                    <\/a>\n                <\/div>\n                                    <\/div>\n    <\/div>\n\n\n\n<div class=\"swiper-slide card-mobile-item card-mobile-image with_button  with_image with_description \">\n\n            <div class=\"swiper-slide__top-heading no-overlay\">\n            <div class=\"swiper-slide__image\">\n                <picture><source type=\"image\/webp\" srcset=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22416%22%20height%3D%22266%22%3E%3C%2Fsvg%3E 1x\" data-srcset=\"https:\/\/jtl-split-greyhound.betterscale.dev\/wp-content\/uploads\/2026\/07\/jtl-hosting-jtl-shop.png.webp 1x, https:\/\/jtl-split-greyhound.betterscale.dev\/wp-content\/uploads\/2026\/07\/jtl-hosting-jtl-shop.png.webp 1x\"><source type=\"image\/png\" srcset=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22416%22%20height%3D%22266%22%3E%3C%2Fsvg%3E 1x\" data-srcset=\"https:\/\/jtl-split-greyhound.betterscale.dev\/wp-content\/uploads\/2026\/07\/jtl-hosting-jtl-shop.png 1x, https:\/\/jtl-split-greyhound.betterscale.dev\/wp-content\/uploads\/2026\/07\/jtl-hosting-jtl-shop.png 1x\"><img loading=\"lazy\" decoding=\"async\" src=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22416%22%20height%3D%22266%22%3E%3C%2Fsvg%3E\" data-src=\"https:\/\/jtl-split-greyhound.betterscale.dev\/wp-content\/uploads\/2026\/07\/jtl-hosting-jtl-shop.png\" width=\"416\" height=\"266\" alt=\"Hosting JTL-Shop\" class=\"lazy img-fluid border-solid \"><\/picture>            <\/div>\n                            <div class=\"swiper-slide__title-heading\" style=\"max-width: px\">\n\n\n                                            <div class=\"swiper-slide__title\">\n                            Hosting JTL-Shop                        <\/div>\n                                                        <\/div>\n                    <\/div>\n    \n\n            <div class=\"swiper-slide__description\">\n            <span class=\"text-description\">You can also have the JTL-Shop developed in-house hosted by us. In two hosting packages, we offer you performance and data security at fair conditions. We take care of all technical requirements and the appropriate server settings. Updates for the store and any security installations are carried out in consultation with you. Good for small and medium-sized companies.<\/span>\n                            <div class=\"swiper-slide__button-wrapper\">\n                    <a class=\"swiper-slide__button--link no-icon\"\n                           href=\"\/en\/ecommerce-platform\/ecommerce-hosting\" >\n                        <span class=\"swiper-slide__button--link-text\">To the JTL-Store<\/span>\n                        <i class=\"fa-regular fa-arrow-right-long swiper-slide__button--link-icon\"><\/i>\n                    <\/a>\n                <\/div>\n                                    <\/div>\n    <\/div>\n\n\n\n<div class=\"swiper-slide card-mobile-item card-mobile-image with_button  with_image with_description \">\n\n            <div class=\"swiper-slide__top-heading no-overlay\">\n            <div class=\"swiper-slide__image\">\n                <picture><source type=\"image\/webp\" srcset=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22416%22%20height%3D%22266%22%3E%3C%2Fsvg%3E 1x\" data-srcset=\"https:\/\/jtl-split-greyhound.betterscale.dev\/wp-content\/uploads\/2026\/07\/jtl-hosting-von-drittanbietern.png.webp 1x, https:\/\/jtl-split-greyhound.betterscale.dev\/wp-content\/uploads\/2026\/07\/jtl-hosting-von-drittanbietern.png.webp 1x\"><source type=\"image\/png\" srcset=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22416%22%20height%3D%22266%22%3E%3C%2Fsvg%3E 1x\" data-srcset=\"https:\/\/jtl-split-greyhound.betterscale.dev\/wp-content\/uploads\/2026\/07\/jtl-hosting-von-drittanbietern.png 1x, https:\/\/jtl-split-greyhound.betterscale.dev\/wp-content\/uploads\/2026\/07\/jtl-hosting-von-drittanbietern.png 1x\"><img loading=\"lazy\" decoding=\"async\" src=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22416%22%20height%3D%22266%22%3E%3C%2Fsvg%3E\" data-src=\"https:\/\/jtl-split-greyhound.betterscale.dev\/wp-content\/uploads\/2026\/07\/jtl-hosting-von-drittanbietern.png\" width=\"416\" height=\"266\" alt=\"Hosting von Drittanbietern\" class=\"lazy img-fluid border-solid \"><\/picture>            <\/div>\n                            <div class=\"swiper-slide__title-heading\" style=\"max-width: px\">\n\n\n                                            <div class=\"swiper-slide__title\">\n                            Hosting from third-party providers                        <\/div>\n                                                        <\/div>\n                    <\/div>\n    \n\n            <div class=\"swiper-slide__description\">\n            <span class=\"text-description\">If you have special individual hosting requirements or need very intensive support for your own online store or database, you are well advised to use the specialized hosting solutions of our partners. You can find the right hosting partner in our directories or commission a service partner with the search.<\/span>\n                            <div class=\"swiper-slide__button-wrapper\">\n                    <a class=\"swiper-slide__button--link no-icon\"\n                           href=\"https:\/\/jtl-split-greyhound.betterscale.dev\/en\/find-a-partner\" >\n                        <span class=\"swiper-slide__button--link-text\">To the directory<\/span>\n                        <i class=\"fa-regular fa-arrow-right-long swiper-slide__button--link-icon\"><\/i>\n                    <\/a>\n                <\/div>\n                                    <\/div>\n    <\/div>\n\n\n            <\/div>\n        <\/div>\n\n            <\/div>\n\n    <script>\n        document.addEventListener('DOMContentLoaded', function () {\n\n\n            const modalHTML = `\n    <div class=\"modal fade\" id=\"list-widget-modal\"\n         tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"list-widget-modal-label\" aria-hidden=\"true\">\n        <div class=\"modal-dialog modal-dialog-centered modal-lg\" role=\"document\">\n            <div class=\"modal-content\">\n                <div class=\"modal-header\">\n                    <h5 class=\"modal-title\" id=\"modal-title\"><\/h5>\n                    <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\">\n                        <span aria-hidden=\"true\" class=\"fal fa-times\"><\/span>\n                    <\/button>\n                <\/div>\n                <div class=\"modal-body\">\n                    <div class=\"my-3\" id=\"modal-data\"><\/div>\n                <\/div>\n            <\/div>\n        <\/div>\n    <\/div>`;\n            document.body.insertAdjacentHTML('beforeend', modalHTML);\n\n            const modal = document.getElementById('list-widget-modal');\n            const titleEl = modal.querySelector('#modal-title');\n            const dataEl = modal.querySelector('#modal-data');\n\n\n            function createBackdrop() {\n                const b = document.createElement('div');\n                b.className = 'modal-backdrop fade show';\n                b.dataset.modalBackdrop = '1';\n                document.body.appendChild(b);\n                return b;\n            }\n\n            function showModal() {\n                if (!document.querySelector('.modal-backdrop[data-modal-backdrop=\"1\"]')) createBackdrop();\n                modal.style.display = 'block';\n                modal.removeAttribute('aria-hidden');\n                modal.classList.add('show');\n                document.body.classList.add('modal-open');\n                modal.addEventListener('mousedown', onOutsideClick);\n                document.addEventListener('keydown', onEsc);\n            }\n\n            function hideModal() {\n                modal.classList.remove('show');\n                modal.setAttribute('aria-hidden', 'true');\n                modal.style.display = 'none';\n                document.body.classList.remove('modal-open');\n                const b = document.querySelector('.modal-backdrop[data-modal-backdrop=\"1\"]');\n                if (b) b.remove();\n                modal.removeEventListener('mousedown', onOutsideClick);\n                document.removeEventListener('keydown', onEsc);\n            }\n\n            function onOutsideClick(e) {\n                const dialog = modal.querySelector('.modal-dialog');\n                if (dialog && !dialog.contains(e.target)) hideModal();\n            }\n\n            function onEsc(e) {\n                if (e.key === 'Escape') hideModal();\n            }\n\n\n            document.addEventListener('click', function (e) {\n                const btn = e.target.closest('.additional-button');\n                if (!btn) return;\n\n                e.preventDefault();\n\n\n                const cls = Array.from(btn.classList).find(c => c.startsWith('open-modal-'));\n                if (!cls) return;\n                const suffix = cls.slice('open-modal-'.length);\n                const contentEl = document.getElementById('data-content-' + suffix);\n\n\n                titleEl.textContent = btn.dataset.title || '';\n                dataEl.innerHTML = contentEl ? contentEl.innerHTML : '';\n\n\n                showModal();\n            });\n\n\n            document.addEventListener('click', function (e) {\n                if (e.target.closest('[data-dismiss=\"modal\"], .modal .close')) {\n                    e.preventDefault();\n                    hideModal();\n                }\n            });\n        });\n    <\/script>\n\n    <script>\n        if (!document.querySelector('link[href*=\"swiper-bundle.min.css\"]')) {\n            const style = document.createElement('link');\n            style.rel = 'stylesheet';\n            style.href = 'https:\/\/jtl-split-greyhound.betterscale.dev\/wp-content\/plugins\/wpb-oop-widget-with-global\/widgets\/CardSliderMobile\/Views\/lib\/swiper-bundle.min.css';\n            document.head.appendChild(style);\n        }\n    <\/script>\n\n    <script>\n        (function () {\n            const WIDGET_SELECTOR = '#wrapper_6acf4c10785a1 .swiper-wrapper';\n            const PARTS = [\n                '.swiper-slide-title',\n                '.swiper-slide-date',\n                '.swiper-slide-description'\n            ];\n\n            const CARD_FILTER = ':not(.swiper-slide-duplicate)';\n\n            function resetHeights(widget) {\n                PARTS.forEach(sel => {\n                    widget.querySelectorAll(sel).forEach(el => el.style.minHeight = '');\n                });\n            }\n\n            function maxHeights(widget) {\n                const max = {};\n                PARTS.forEach(sel => {\n                    let m = 0;\n                    widget.querySelectorAll(`${sel}${CARD_FILTER ? '' : ''}`).forEach(el => {\n                        const rectH = Math.ceil(el.getBoundingClientRect().height);\n                        const h = rectH || el.scrollHeight || 0;\n                        if (h > m) m = h;\n                    });\n                    max[sel] = m;\n                });\n                return max;\n            }\n\n            function applyHeights(widget, maxMap) {\n                PARTS.forEach(sel => {\n                    const h = maxMap[sel] || 0;\n                    if (!h) return;\n                    widget.querySelectorAll(sel).forEach(el => {\n                        el.style.minHeight = h + 'px';\n                    });\n                });\n            }\n\n            function equalizeWidget(widget) {\n                if (!widget) return;\n                resetHeights(widget);\n                const maxMap = maxHeights(widget);\n                applyHeights(widget, maxMap);\n            }\n\n            function equalizeAll() {\n                document.querySelectorAll(WIDGET_SELECTOR).forEach(equalizeWidget);\n            }\n\n\n            function debounce(fn, wait) {\n                let t;\n                return function () {\n                    clearTimeout(t);\n                    t = setTimeout(fn, wait);\n                };\n            }\n\n            function init() {\n                equalizeAll();\n\n\n                window.addEventListener('load', equalizeAll, {once: true});\n\n\n                window.addEventListener('resize', debounce(equalizeAll, 150));\n\n                const ro = new ResizeObserver(debounce(equalizeAll, 100));\n                document.querySelectorAll(WIDGET_SELECTOR).forEach(w => ro.observe(w));\n\n\n                document.addEventListener('cards:reflow', equalizeAll);\n            }\n\n            document.addEventListener('DOMContentLoaded', init);\n        })();\n    <\/script>\n\n\n\n\n    <script>\n        function initSwiper_swiper_6acf4c10785a0(wrapper) {\n            let mode = 'no'\n            const swiperEl = wrapper.querySelector('.swiper');\n            const config = {\n                loop: false,\n                spaceBetween: 32,\n                slidesPerView: 4,\n                breakpoints: {\n                    0: {slidesPerView: 1},\n                    768: {slidesPerView: 2},\n                    1024: {slidesPerView: 3},\n                    1280: {slidesPerView: 4}\n                }\n            };\n\n            if (mode === 'mobile') {\n                const nextBtn = wrapper.querySelector('.swiper-button-next');\n                const prevBtn = wrapper.querySelector('.swiper-button-prev');\n                config.navigation = {\n                    nextEl: nextBtn,\n                    prevEl: prevBtn\n                };\n                config.breakpoints = {\n                    0: {slidesPerView: 1},\n                    768: {slidesPerView: 2},\n                    1024: {slidesPerView: 2},\n                    1280: {slidesPerView: 3}\n                }\n            }\n\n            return new Swiper(swiperEl, config);\n        }\n\n        (function () {\n            const wrapper = document.getElementById('wrapper_6acf4c10785a1');\n            let swiperInstance = null;\n            const mq = window.matchMedia('(max-width: 1280px)');\n\n            function enable() {\n                if (!swiperInstance) swiperInstance = initSwiper_swiper_6acf4c10785a0(wrapper);\n            }\n\n            function disable() {\n                if (swiperInstance) {\n                    swiperInstance.destroy(true, true);\n                    swiperInstance = null;\n                }\n            }\n\n            function toggle(e) {\n                if (e.matches) enable(); else disable();\n            }\n\n            function waitForSwiper() {\n                if (typeof Swiper !== 'undefined') {\n\n                    toggle(mq);\n\n                    if (mq.addEventListener) mq.addEventListener('change', toggle);\n                    else mq.addListener(toggle);\n                } else {\n                    setTimeout(waitForSwiper, 50);\n                }\n            }\n\n\n            if (!document.querySelector('link[href*=\"swiper-bundle.min.css\"]')) {\n                const style = document.createElement('link');\n                style.rel = 'stylesheet';\n                style.href = 'https:\/\/jtl-split-greyhound.betterscale.dev\/wp-content\/plugins\/wpb-oop-widget-with-global\/widgets\/CardSliderMobile\/Views\/lib\/swiper-bundle.min.css';\n                document.head.appendChild(style);\n            }\n\n\n            if (!document.querySelector('script[src*=\"swiper-bundle.min.js\"]')) {\n                const script = document.createElement('script');\n                script.src = 'https:\/\/jtl-split-greyhound.betterscale.dev\/wp-content\/plugins\/wpb-oop-widget-with-global\/widgets\/CardSliderMobile\/Views\/lib\/swiper-bundle.min.js';\n                script.onload = waitForSwiper;\n                document.head.appendChild(script);\n            } else {\n                waitForSwiper();\n            }\n        })();\n\n\n    <\/script>\n<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/section>\n\t\t\t<section class=\"pt-5 pb-5\">\n\t\t\t\t\t<div class=\"container py-0\">\n\t\t\t\t\t\t\t\t<div class=\"row\">\n\t\t\t\t\t\t\t<div class=\"col\">\n\t<span id=\"anchor-jtl-partner\" class=\"h6\">JTL Partner<a href=\"#jtl-partner\" class=\"far fa-link headline-link\" data-href=\"#jtl-partner\"><\/a><\/span><span id=\"anchor-partner-services-can-be-found-here\" class=\"text-tertiary text-center h4\">Partner services can be found here!<a href=\"#partner-services-can-be-found-here\" class=\"far fa-link headline-link\" data-href=\"#partner-services-can-be-found-here\"><\/a><\/span><div class=\"product-buttons-group services-cta-buttons\">\n                <a class=\"product-button-group__button--with-icon no-icon has-wawi-gradient\" href=\"https:\/\/jtl-split-greyhound.betterscale.dev\/en\/find-a-partner\">\n                <span class=\"product-button-group__button--with-icon__text\">To the service partner search<\/span>\n                                <\/a>\n    <\/div><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/section>\n\t","protected":false},"excerpt":{"rendered":"Setup, migration &amp; hostingServices from JTLGood start with us As a technology company, JTL's focus is on software development. Comprehensive services are usually provided by our partner network. However, we also offer some services directly to beginners and new sellers so that you can get started in the JTL world with good advice and confidence.","protected":false},"author":4,"featured_media":0,"parent":293894,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"page-templates\/product-landing.php","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-293867","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/jtl-split-greyhound.betterscale.dev\/en\/wp-json\/wp\/v2\/pages\/293867","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jtl-split-greyhound.betterscale.dev\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/jtl-split-greyhound.betterscale.dev\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/jtl-split-greyhound.betterscale.dev\/en\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/jtl-split-greyhound.betterscale.dev\/en\/wp-json\/wp\/v2\/comments?post=293867"}],"version-history":[{"count":5,"href":"https:\/\/jtl-split-greyhound.betterscale.dev\/en\/wp-json\/wp\/v2\/pages\/293867\/revisions"}],"predecessor-version":[{"id":321341,"href":"https:\/\/jtl-split-greyhound.betterscale.dev\/en\/wp-json\/wp\/v2\/pages\/293867\/revisions\/321341"}],"up":[{"embeddable":true,"href":"https:\/\/jtl-split-greyhound.betterscale.dev\/en\/wp-json\/wp\/v2\/pages\/293894"}],"wp:attachment":[{"href":"https:\/\/jtl-split-greyhound.betterscale.dev\/en\/wp-json\/wp\/v2\/media?parent=293867"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}