Welcome to our store. Learn more

Get ready for some retail magic by offering local pickup or shipping all across Egypt!

NO INSTALLMENT! Learn more

๐Ÿš€ุฃู‚ูˆู‰ ุนุฑูˆุถ ุงู„ุชุฌู…ูŠุนุงุช!

WELCOME100

Quotation Compumarts

CompuMarts Quotation Builder
Customer Info
Line Items
# Item / Description Qty Unit Price Total
Pricing Adjustments
EGP
EGP
EGP
Summary
SubtotalEGP 0
Discountโ€“ EGP 0
ShippingEGP 0
TaxEGP 0
Final Total EGP 0
Live Preview
Your Tech, Our Passion

Quotation

No. โ€”

โ€”

Customer: โ€”
Salesperson: โ€”
# Item Qty Unit (EGP) Total (EGP)
No items added yet
SubtotalEGP 0
Discountโ€“ EGP 0
ShippingEGP 0
TaxEGP 0
Final Total EGP 0
'; var win = window.open('', '_blank', 'width=860,height=1000'); if (!win) { toast('โš ๏ธ Allow popups then try again', 3000); return; } win.document.open(); win.document.write(html); win.document.close(); toast('โœ… Sent to Slack โ€” opening print...', 2000); } /* โ”€โ”€ Reset โ”€โ”€ */ function doReset() { if (!confirm('Reset all fields and items?')) return; document.querySelectorAll('input:not([type=date]), textarea').forEach(function(el) { if (el.type === 'checkbox') el.checked = false; else el.value = ''; }); document.getElementById('discount').value = '0'; document.getElementById('shipping').value = '0'; document.getElementById('tax').value = '0'; document.getElementById('items-container').innerHTML = ''; itemCounter = 0; lastSlackSig = ''; initDefaults(); render(); toast('Cleared โœ“'); } /* โ”€โ”€ Toast โ”€โ”€ */ function toast(msg, dur) { var t = document.getElementById('toast'); t.textContent = msg; t.classList.add('show'); clearTimeout(t._timer); t._timer = setTimeout(function() { t.classList.remove('show'); }, dur || 2600); } /* โ”€โ”€ Init โ”€โ”€ */ function initDefaults() { var now = new Date(); var qno = 'CM-' + now.getFullYear() + ('0'+(now.getMonth()+1)).slice(-2) + ('0'+now.getDate()).slice(-2) + '-' + Math.floor(1000 + Math.random()*9000); document.getElementById('quotationNo').placeholder = qno; document.getElementById('quotationDate').value = now.toISOString().split('T')[0]; } window.addEventListener('DOMContentLoaded', function() { initDefaults(); // Start with 3 blank items for convenience addItem(); addItem(); addItem(); render(); });