⚠️ یہ صرف ایک رہنمائی کا تخمینہ ہے۔ حتمی درجہ بندی، ڈیوٹی، ٹیکس، فیس اور قابل قبولیت کا فیصلہ کسٹمز اتھارٹیز، کیریئرز اور بروکرز کرتے ہیں۔
`; } async function init(){ const selCountry = $('pp-country-select'); const selOrigin = $('pp-origin-select'); if(selCountry){ selCountry.innerHTML = ''; const sorted = countryList.slice().sort((a,b)=>a[1].localeCompare(b[1])); sorted.forEach(([slug,name])=> selCountry.append(new Option(name, slug))); selCountry.value = countryParam; selCountry.addEventListener('change', e => renderCountry(e.target.value, true)); } if(selOrigin){ selOrigin.innerHTML = ''; selOrigin.append(new Option('کوئی / MFN', '')); countryList.slice().sort((a,b)=>a[1].localeCompare(b[1])).forEach(([slug,name])=> selOrigin.append(new Option(name, slug))); selOrigin.value = originParam; selOrigin.addEventListener('change', e => renderOrigin(e.target.value, true)); } ['hs_origin','hs_dest'].forEach(id=>{ const el = $(id); if(el) el.addEventListener('input',()=>{el.dataset.touched='1';}); }); try{ DEMINIMIS_MAP = await loadDeminimisSheet(); }catch(e){ DEMINIMIS_MAP = {}; } try{ CUSTOMS_DATA = await loadCustomsFromSheet(); }catch(e){ CUSTOMS_DATA = {countries:{}}; } try{ TARIFF_RULES = await loadTariffsFromSheet(); }catch(e){ TARIFF_RULES = []; } await loadHS(); renderCountry(countryParam, false); renderOrigin(originParam, false); const hsInput = $('pp-hs-search'); if(hsInput) hsInput.addEventListener('input', computeHSRates); } const ddp = $('pp-ddp'); const ddu = $('pp-ddu'); const ddText = $('pp-dd-text'); function setMode(mode){ if(!ddp || !ddu || !ddText) return; if(mode==='ddp'){ ddp.classList.add('pp-btn-blue'); ddu.classList.remove('pp-btn-blue'); ddText.innerHTML = '
DDP: بھیجنے والا ایسے علاقوں میں ڈیوٹی/ٹیکس کی ادائیگی پہلے سے کرتا ہے جہاں یہ ممکن ہو۔ یہ ڈیلیوری سے انکار اور وصول کنندگان کے لیے حیرت انگیز چارجز میں کمی لا سکتا ہے۔
DAP/DDU: وصول کنندہ ڈیلیوری پر ڈیوٹی/ٹیکس کی ادائیگی کرتا ہے۔ اگلی قیمت کم ہے، لیکن تاخیری، انکار یا کیریئر سے اضافی رابطے کا زیادہ خطرہ ہے۔
تخمینہ کا حساب لگایا جا رہا ہے…
'; const data = await loadAllData(); const t = tariffFor(origin, dest, hs6, data.tariffs); const adval = (t && t.adval!=null) ? Number(t.adval) : null; const specPerKg = parseSpecificPerKg(t && t.specific); const dm = deMinimis(dest, data.dm); const vatPct = vatPercent(dest, data.vat); const declared = Number(valStr||0); const shipping = 0, insurance = 0; const customsValue = (basis === 'CIF') ? (declared + shipping + insurance) : declared; let duty = 0; if(!(declared 0 ? specPerKg * Number(wtStr||0) : 0); let vat = 0; if(!(declared