Logo der Deutsch-Bulgarische Industrie- und Handelskammer

Dienstleistungsrechner

Dienstleistungen der AHK Bulgarien

Buchhaltungsservice
Shutterstock.com/411807406
AHK Service Calculator

AHK

Servicepreisrechner

Wählen Sie die benötigten Dienstleistungen aus und erhalten Sie eine sofortige Kostenschätzung.

Ausgewählte Dienstleistungen

0

Gesamtstunden

0

Vorläufige Kostenschätzung

€0

* Diese Preise sind vorläufige Schätzungen. Die endgültige Preisgestaltung bedarf einer individuellen Prüfung und Absprache mit der AHK Portugal.

const defaultConfig = { calculator_title: 'Servicepreisrechner', company_name: 'AHK Bulgarien', currency_symbol: '€', disclaimer_text: '* Diese Preise sind vorläufige Schätzungen. Die endgültige Preisgestaltung bedarf einer individuellen Prüfung und Absprache mit der AHK Portugal.', background_color: '#0f1929', surface_color: '#1a2a47', text_color: '#e8eef8', accent_color: '#3b82f6', muted_color: '#1e3a5f', font_family: 'DM Sans', font_size: 16 }; let tasks = [ { id: 'channel-research', name: 'Vertriebskanalrecherche und Identifikation', hours: 8, icon: 'search', category: 'Vertrieb' }, { id: 'contact-initiation', name: 'Aktive Kontaktanbahnung', hours: 7, icon: 'phone', category: 'Vertrieb' }, { id: 'information-analysis', name: 'Erfassung und Auswertung von Informationsquellen', hours: 6, icon: 'bar-chart-2', category: 'Analyse' }, { id: 'business-visit', name: 'Vorbereitung und Betreuung von Geschäftsbesuchen', hours: 5, icon: 'briefcase', category: 'Vor-Ort' }, { id: 'partner-coordination', name: 'Koordination von Handelsvertretern und Distributoren', hours: 6, icon: 'users', category: 'Verwaltung' }, { id: 'marketing-support', name: 'Marketingunterstützende Aktivitäten', hours: 5, icon: 'megaphone', category: 'Marketing' }, { id: 'service-mediation', name: 'Vermittlung von Dienstleistern', hours: 4, icon: 'link', category: 'Netzwerk' }, { id: 'trade-fair-prep', name: 'Messevorbereitung und -betreuung', hours: 7, icon: 'ticket', category: 'Events' }, { id: 'material-storage', name: 'Zwischenlagerung von Materialien', hours: 2.5, icon: 'archive', category: 'Logistik' }, { id: 'workspace', name: 'Temporärer Arbeitsplatz (1 Tag/Monat)', hours: 8, icon: 'home', category: 'Büro' }, { id: 'conference-room', name: 'Konferenzräumlichkeiten (3h/Monat)', hours: 3, icon: 'tv', category: 'Büro' }, ]; let selectedTasks = new Set(); let hourlyRate = 95; let pricingTiers = [ { hours: 5, price: 425 }, { hours: 10, price: 790 }, { hours: 15, price: 1110 }, { hours: 20, price: 1360 }, { hours: 30, price: 1980 }, { hours: 40, price: 2520 }, ]; function calculatePrice(totalHours) { // Find the appropriate tier for (let tier of pricingTiers) { if (totalHours <= tier.hours) return tier.price; } // If more than 40 hours, extrapolate return pricingTiers[pricingTiers.length - 1].price + (totalHours - 40) * 63; } let nextId = 100; function renderTasks() { const grid = document.getElementById('taskGrid'); grid.innerHTML = ''; tasks.forEach((task, i) => { const isSelected = selectedTasks.has(task.id); const card = document.createElement('div'); card.className = 'task-card rounded-xl p-4 cursor-pointer flex items-start gap-4 fade-in ' + (isSelected ? 'selected' : ''); card.style.cssText = `background:${isSelected ? 'rgba(59,130,246,0.12)' : 'rgba(255,255,255,0.03)'}; border:1px solid ${isSelected ? 'rgba(59,130,246,0.4)' : 'rgba(255,255,255,0.06)'}; animation-delay:${i*0.04}s;`; card.onclick = () => toggleTask(task.id); card.innerHTML = `

${task.name}

${task.hours}h

`; grid.appendChild(card); }); lucide.createIcons(); updateSummary(); } function renderAdminTasks() { const list = document.getElementById('adminTaskList'); list.innerHTML = ''; tasks.forEach(task => { const el = document.createElement('div'); el.className = 'flex items-center gap-2 p-3 rounded-xl'; el.style.cssText = 'background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.06);'; el.innerHTML = `

${task.name}

h `; list.appendChild(el); }); } function toggleTask(id) { if (selectedTasks.has(id)) selectedTasks.delete(id); else selectedTasks.add(id); renderTasks(); } function updateSummary() { let totalH = 0; selectedTasks.forEach(id => { const t = tasks.find(x => x.id === id); if (t) totalH += t.hours; }); document.getElementById('selectedCount').textContent = selectedTasks.size; document.getElementById('totalHours').textContent = totalH.toFixed(1); const cfg = window.elementSdk?.config || defaultConfig; const sym = cfg.currency_symbol || defaultConfig.currency_symbol; const price = calculatePrice(totalH); document.getElementById('totalPrice').textContent = `${sym}${price.toLocaleString()}`; const bar = document.getElementById('summaryBar'); bar.style.transform = selectedTasks.size > 0 ? 'translateY(0)' : 'translateY(100%)'; } function updateTaskHours(id, val) { const t = tasks.find(x => x.id === id); if (t) { t.hours = parseFloat(val) || 1; renderTasks(); } } function updateHourlyRate(val) { hourlyRate = parseFloat(val) || 95; renderTasks(); } function addCustomTask() { const name = document.getElementById('newTaskName').value.trim(); const hours = parseFloat(document.getElementById('newTaskHours').value) || 2; if (!name) return; tasks.push({ id: 'custom-' + (nextId++), name, hours, icon: 'plus-circle', category: 'Custom' }); document.getElementById('newTaskName').value = ''; renderTasks(); renderAdminTasks(); } function toggleAdmin() { const panel = document.getElementById('adminPanel'); const isHidden = panel.classList.contains('hidden'); if (isHidden) { renderAdminTasks(); panel.classList.remove('hidden'); } else panel.classList.add('hidden'); } function formatPrice(val) { const cfg = window.elementSdk?.config || defaultConfig; const sym = cfg.currency_symbol || defaultConfig.currency_symbol; return sym + val.toLocaleString(); } function applyConfig(config) { const c = { ...defaultConfig, ...config }; document.getElementById('mainTitle').textContent = c.calculator_title; document.getElementById('companyLabel').textContent = c.company_name; document.getElementById('disclaimerText').textContent = c.disclaimer_text; const app = document.getElementById('app'); app.style.background = c.background_color; document.querySelectorAll('.task-card').forEach(el => { el.style.borderColor = el.classList.contains('selected') ? c.accent_color + '66' : 'rgba(255,255,255,0.06)'; }); const font = c.font_family || defaultConfig.font_family; document.body.style.fontFamily = `${font}, sans-serif`; const size = c.font_size || defaultConfig.font_size; document.getElementById('mainTitle').style.fontSize = `${size * 2.25}px`; document.getElementById('subtitleText').style.fontSize = `${size}px`; updateSummary(); } // Init SDK window.elementSdk.init({ defaultConfig, onConfigChange: async (config) => applyConfig(config), mapToCapabilities: (config) => ({ recolorables: [ { get: () => config.background_color || defaultConfig.background_color, set: v => { config.background_color = v; window.elementSdk.setConfig({ background_color: v }); } }, { get: () => config.accent_color || defaultConfig.accent_color, set: v => { config.accent_color = v; window.elementSdk.setConfig({ accent_color: v }); } }, { get: () => config.text_color || defaultConfig.text_color, set: v => { config.text_color = v; window.elementSdk.setConfig({ text_color: v }); } }, ], borderables: [], fontEditable: { get: () => config.font_family || defaultConfig.font_family, set: v => { config.font_family = v; window.elementSdk.setConfig({ font_family: v }); } }, fontSizeable: { get: () => config.font_size || defaultConfig.font_size, set: v => { config.font_size = v; window.elementSdk.setConfig({ font_size: v }); } }, }), mapToEditPanelValues: (config) => new Map([ ['calculator_title', config.calculator_title || defaultConfig.calculator_title], ['company_name', config.company_name || defaultConfig.company_name], ['currency_symbol', config.currency_symbol || defaultConfig.currency_symbol], ['disclaimer_text', config.disclaimer_text || defaultConfig.disclaimer_text], ]) }); // Initial render renderTasks(); lucide.createIcons();
(function(){function c(){var b=a.contentDocument||a.contentWindow.document;if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'9e44e10411b35887',t:'MTc3NDg1MDI2OS4wMDAwMDA='};var a=document.createElement('script');a.nonce='';a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();