{"id":52,"date":"2026-06-07T09:54:47","date_gmt":"2026-06-07T09:54:47","guid":{"rendered":"https:\/\/codearbro.com\/blog\/?p=52"},"modified":"2026-06-07T09:54:47","modified_gmt":"2026-06-07T09:54:47","slug":"how-codearbro-built-a-zoho-creator-app-for-dubai-import-export-company","status":"publish","type":"post","link":"https:\/\/codearbro.com\/blog\/how-codearbro-built-a-zoho-creator-app-for-dubai-import-export-company\/","title":{"rendered":"How Codearbro Built a Zoho Creator App for Dubai Import-Export Company"},"content":{"rendered":"\n<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n<meta charset=\"UTF-8\"\/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\/>\n\n<!-- SEO Meta Tags -->\n<title>How We Built a Zoho Creator App That Transformed a Dubai Import-Export Company | Codearbro<\/title>\n<meta name=\"description\" content=\"Codearbro Solution OPC Pvt Ltd built a custom Zoho Creator application for a Dubai-based import-export company \u2014 centralising shipment tracking, customer records, and automating invoice generation. Read the full case study.\"\/>\n<meta name=\"keywords\" content=\"Zoho Creator, import export software Dubai, shipment tracking app, invoice automation, Zoho developer India, business process automation, UAE logistics software\"\/>\n<meta name=\"author\" content=\"Codearbro Solution OPC Pvt Ltd\"\/>\n<meta property=\"og:title\" content=\"How We Built a Zoho Creator App That Transformed a Dubai Import-Export Company\"\/>\n<meta property=\"og:description\" content=\"From spreadsheet chaos to real-time operations \u2014 a complete Zoho Creator case study by Codearbro.\"\/>\n<meta property=\"og:type\" content=\"article\"\/>\n\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\"\/>\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Playfair+Display:ital,wght@0,700;0,800;1,700&#038;family=Source+Serif+4:ital,wght@0,300;0,400;0,600;1,300;1,400&#038;family=DM+Mono:wght@400;500&#038;display=swap\" rel=\"stylesheet\"\/>\n\n<style>\n\/* \u2500\u2500\u2500 RESET & BASE \u2500\u2500\u2500 *\/\n*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }\n\n:root {\n  --ink:       #1a1714;\n  --ink-mid:   #3d3830;\n  --ink-soft:  #6b6356;\n  --ink-muted: #9c9186;\n  --paper:     #faf8f5;\n  --paper-warm:#f5f0e8;\n  --rule:      #e8e2d9;\n  --accent:    #c8410a;\n  --accent-lt: #f4ede7;\n  --blue:      #1a3c6e;\n  --blue-lt:   #e8eef7;\n  --gold:      #b8860b;\n  --gold-lt:   #fdf6e3;\n  --green:     #1a5c3a;\n  --green-lt:  #e8f4ee;\n\n  --font-display: 'Playfair Display', Georgia, serif;\n  --font-body:    'Source Serif 4', Georgia, serif;\n  --font-mono:    'DM Mono', monospace;\n\n  --measure: 68ch;\n  --col-w:   740px;\n}\n\nhtml { font-size: 18px; scroll-behavior: smooth; }\n\nbody {\n  background: var(--paper);\n  color: var(--ink);\n  font-family: var(--font-body);\n  font-weight: 300;\n  line-height: 1.8;\n  -webkit-font-smoothing: antialiased;\n}\n\n\/* \u2500\u2500\u2500 PROGRESS BAR \u2500\u2500\u2500 *\/\n#progress {\n  position: fixed; top: 0; left: 0; height: 3px;\n  background: var(--accent); width: 0%; z-index: 999;\n  transition: width .1s linear;\n}\n\n\/* \u2500\u2500\u2500 HERO \u2500\u2500\u2500 *\/\n.post-hero {\n  background: var(--ink);\n  padding: 70px 40px 80px;\n  position: relative; overflow: hidden;\n}\n.post-hero::before {\n  content: '';\n  position: absolute; inset: 0;\n  background:\n    repeating-linear-gradient(0deg, transparent, transparent 60px, rgba(255,255,255,.015) 60px, rgba(255,255,255,.015) 61px),\n    repeating-linear-gradient(90deg, transparent, transparent 60px, rgba(255,255,255,.015) 60px, rgba(255,255,255,.015) 61px);\n}\n.post-hero::after {\n  content: '';\n  position: absolute; bottom: 0; left: 0; right: 0; height: 1px;\n  background: linear-gradient(90deg, transparent, var(--accent), transparent);\n}\n.hero-inner {\n  max-width: var(--col-w); margin: 0 auto;\n  position: relative; z-index: 1;\n}\n.post-category {\n  display: inline-flex; align-items: center; gap: 8px;\n  font-family: var(--font-mono); font-size: 0.65rem;\n  letter-spacing: 0.15em; text-transform: uppercase;\n  color: var(--accent); margin-bottom: 28px;\n}\n.post-category::before {\n  content: ''; display: block;\n  width: 24px; height: 1px; background: var(--accent);\n}\n.post-title {\n  font-family: var(--font-display);\n  font-size: clamp(2.2rem, 5vw, 3.4rem);\n  font-weight: 800; line-height: 1.12;\n  color: #fff; margin-bottom: 24px;\n  letter-spacing: -0.02em;\n}\n.post-title em { color: var(--accent); font-style: italic; }\n.post-subtitle {\n  font-size: 1.1rem; color: rgba(255,255,255,.55);\n  font-weight: 300; line-height: 1.7; max-width: 56ch;\n  margin-bottom: 48px;\n}\n.post-meta {\n  display: flex; align-items: center; gap: 24px;\n  flex-wrap: wrap;\n}\n.meta-author {\n  display: flex; align-items: center; gap: 10px;\n}\n.author-avatar {\n  width: 36px; height: 36px; border-radius: 50%;\n  background: linear-gradient(135deg, var(--accent), #e87040);\n  display: flex; align-items: center; justify-content: center;\n  font-family: var(--font-display); font-size: 0.85rem;\n  font-weight: 700; color: #fff;\n}\n.author-name { font-size: 0.85rem; color: rgba(255,255,255,.7); font-weight: 400; }\n.meta-sep { color: rgba(255,255,255,.2); }\n.meta-date, .meta-read {\n  font-family: var(--font-mono); font-size: 0.7rem;\n  color: rgba(255,255,255,.4); letter-spacing: 0.05em;\n}\n\n\/* \u2500\u2500\u2500 STATS STRIP \u2500\u2500\u2500 *\/\n.stats-strip {\n  background: var(--accent);\n  padding: 0;\n}\n.stats-inner {\n  max-width: var(--col-w); margin: 0 auto;\n  display: grid; grid-template-columns: repeat(3, 1fr);\n}\n.stat-item {\n  padding: 28px 32px;\n  border-right: 1px solid rgba(255,255,255,.2);\n  text-align: center;\n}\n.stat-item:last-child { border-right: none; }\n.stat-num {\n  font-family: var(--font-display);\n  font-size: 2.4rem; font-weight: 800;\n  color: #fff; line-height: 1; display: block;\n}\n.stat-label {\n  font-family: var(--font-mono); font-size: 0.62rem;\n  color: rgba(255,255,255,.7); letter-spacing: 0.1em;\n  text-transform: uppercase; margin-top: 4px; display: block;\n}\n\n\/* \u2500\u2500\u2500 LAYOUT \u2500\u2500\u2500 *\/\n.post-layout {\n  max-width: 1200px; margin: 0 auto;\n  padding: 72px 40px;\n  display: grid;\n  grid-template-columns: var(--col-w) 1fr;\n  gap: 80px;\n  align-items: start;\n}\n\n\/* \u2500\u2500\u2500 ARTICLE BODY \u2500\u2500\u2500 *\/\narticle { min-width: 0; }\n\narticle p {\n  margin-bottom: 1.6rem;\n  font-size: 1.05rem;\n  color: var(--ink-mid);\n  line-height: 1.85;\n}\n\narticle h2 {\n  font-family: var(--font-display);\n  font-size: 1.85rem; font-weight: 700;\n  color: var(--ink); line-height: 1.25;\n  margin: 3.5rem 0 1.2rem;\n  letter-spacing: -0.02em;\n  padding-top: 3rem;\n  border-top: 2px solid var(--rule);\n}\narticle h2:first-of-type { margin-top: 0; padding-top: 0; border-top: none; }\n\narticle h3 {\n  font-family: var(--font-display);\n  font-size: 1.25rem; font-weight: 700;\n  color: var(--ink); margin: 2.5rem 0 0.9rem;\n  letter-spacing: -0.01em;\n}\n\narticle strong { color: var(--ink); font-weight: 600; }\n\narticle ul, article ol {\n  margin: 0 0 1.6rem 1.4rem;\n  color: var(--ink-mid);\n}\narticle li {\n  margin-bottom: 0.55rem;\n  font-size: 1.0rem;\n  line-height: 1.75;\n}\n\n\/* \u2500\u2500\u2500 DROPCAP \u2500\u2500\u2500 *\/\n.dropcap::first-letter {\n  font-family: var(--font-display);\n  font-size: 4.5rem; font-weight: 800;\n  float: left; line-height: 0.82;\n  padding-right: 12px; padding-top: 8px;\n  color: var(--accent);\n}\n\n\/* \u2500\u2500\u2500 PULL QUOTE \u2500\u2500\u2500 *\/\n.pullquote {\n  border-left: 4px solid var(--accent);\n  margin: 2.5rem 0;\n  padding: 1.5rem 2rem;\n  background: var(--accent-lt);\n  border-radius: 0 8px 8px 0;\n}\n.pullquote p {\n  font-family: var(--font-display);\n  font-size: 1.25rem !important;\n  font-style: italic;\n  color: var(--ink) !important;\n  margin-bottom: 0.5rem !important;\n  line-height: 1.6 !important;\n}\n.pullquote cite {\n  font-family: var(--font-mono); font-size: 0.68rem;\n  letter-spacing: 0.1em; text-transform: uppercase;\n  color: var(--ink-soft);\n}\n\n\/* \u2500\u2500\u2500 CALLOUT BOX \u2500\u2500\u2500 *\/\n.callout {\n  border: 1px solid var(--rule);\n  border-radius: 10px;\n  padding: 28px 32px;\n  margin: 2.5rem 0;\n  background: var(--paper-warm);\n  position: relative;\n}\n.callout-label {\n  font-family: var(--font-mono); font-size: 0.62rem;\n  letter-spacing: 0.14em; text-transform: uppercase;\n  color: var(--ink-muted); margin-bottom: 12px;\n  display: block;\n}\n.callout p {\n  font-size: 0.95rem !important;\n  color: var(--ink-soft) !important;\n  margin-bottom: 0 !important;\n}\n\n\/* \u2500\u2500\u2500 PROBLEM CARDS \u2500\u2500\u2500 *\/\n.problem-grid {\n  display: grid; grid-template-columns: 1fr 1fr;\n  gap: 16px; margin: 2rem 0;\n}\n.problem-card {\n  border: 1px solid var(--rule);\n  border-left: 3px solid var(--gold);\n  border-radius: 8px;\n  padding: 20px 22px;\n  background: var(--gold-lt);\n}\n.problem-card .p-icon { font-size: 1.4rem; margin-bottom: 8px; display: block; }\n.problem-card h4 {\n  font-family: var(--font-display);\n  font-size: 0.95rem; font-weight: 700;\n  color: var(--ink); margin-bottom: 6px;\n}\n.problem-card p {\n  font-size: 0.82rem !important;\n  color: var(--ink-soft) !important;\n  margin-bottom: 0 !important;\n  line-height: 1.6 !important;\n}\n\n\/* \u2500\u2500\u2500 MODULE CARDS \u2500\u2500\u2500 *\/\n.module-grid {\n  display: grid; grid-template-columns: 1fr 1fr;\n  gap: 16px; margin: 2rem 0;\n}\n.module-card {\n  border: 1px solid var(--rule);\n  border-radius: 10px;\n  padding: 24px 22px;\n  background: #fff;\n  border-top: 3px solid var(--blue);\n  transition: box-shadow .2s, transform .2s;\n}\n.module-card:hover {\n  box-shadow: 0 8px 32px rgba(26,60,110,.08);\n  transform: translateY(-2px);\n}\n.module-card .m-icon { font-size: 1.6rem; margin-bottom: 10px; display: block; }\n.module-card h4 {\n  font-family: var(--font-display);\n  font-size: 1.0rem; font-weight: 700;\n  color: var(--ink); margin-bottom: 8px;\n}\n.module-card p {\n  font-size: 0.82rem !important;\n  color: var(--ink-soft) !important;\n  margin-bottom: 12px !important;\n  line-height: 1.6 !important;\n}\n.module-tag {\n  font-family: var(--font-mono); font-size: 0.62rem;\n  letter-spacing: 0.1em; text-transform: uppercase;\n  color: var(--blue); background: var(--blue-lt);\n  padding: 3px 10px; border-radius: 100px;\n  display: inline-block;\n}\n\n\/* \u2500\u2500\u2500 FLOW STEPS \u2500\u2500\u2500 *\/\n.flow-steps { margin: 2rem 0; }\n.flow-step {\n  display: flex; gap: 20px; margin-bottom: 16px;\n  align-items: flex-start;\n}\n.flow-num {\n  flex-shrink: 0;\n  width: 36px; height: 36px; border-radius: 50%;\n  background: var(--accent); color: #fff;\n  font-family: var(--font-display); font-size: 0.9rem; font-weight: 700;\n  display: flex; align-items: center; justify-content: center;\n}\n.flow-content {\n  border: 1px solid var(--rule); border-radius: 8px;\n  padding: 16px 20px; flex: 1;\n  background: #fff;\n}\n.flow-content h4 {\n  font-size: 0.92rem; font-weight: 600;\n  color: var(--ink); margin-bottom: 4px;\n}\n.flow-content p {\n  font-size: 0.82rem !important;\n  color: var(--ink-soft) !important;\n  margin-bottom: 0 !important;\n  line-height: 1.6 !important;\n}\n.auto-pill {\n  display: inline-block; margin-top: 8px;\n  font-family: var(--font-mono); font-size: 0.6rem;\n  letter-spacing: 0.1em; text-transform: uppercase;\n  color: var(--green); background: var(--green-lt);\n  padding: 2px 10px; border-radius: 100px; border: 1px solid #b6ddc8;\n}\n\n\/* \u2500\u2500\u2500 BEFORE \/ AFTER \u2500\u2500\u2500 *\/\n.before-after {\n  display: grid; grid-template-columns: 1fr 1fr;\n  gap: 16px; margin: 2rem 0;\n}\n.ba-card {\n  border-radius: 10px; padding: 28px 24px;\n}\n.ba-before {\n  background: #fef2f2;\n  border: 1px solid #fca5a5;\n  border-top: 3px solid #ef4444;\n}\n.ba-after {\n  background: var(--green-lt);\n  border: 1px solid #86efac;\n  border-top: 3px solid var(--green);\n}\n.ba-label {\n  font-family: var(--font-mono); font-size: 0.65rem;\n  letter-spacing: 0.14em; text-transform: uppercase;\n  margin-bottom: 12px; display: block;\n}\n.ba-before .ba-label { color: #dc2626; }\n.ba-after .ba-label { color: var(--green); }\n.ba-big {\n  font-family: var(--font-display);\n  font-size: 3.2rem; font-weight: 800; line-height: 1;\n  margin-bottom: 4px;\n}\n.ba-before .ba-big { color: #dc2626; }\n.ba-after .ba-big { color: var(--green); }\n.ba-sub { font-size: 0.8rem; color: var(--ink-muted); margin-bottom: 16px; display: block; }\n.ba-list { list-style: none; margin: 0 !important; padding: 0 !important; }\n.ba-list li {\n  font-size: 0.82rem !important;\n  padding: 4px 0;\n  border-bottom: 1px solid rgba(0,0,0,.05);\n  color: var(--ink-soft) !important;\n}\n\n\/* \u2500\u2500\u2500 KPI TABLE \u2500\u2500\u2500 *\/\n.kpi-grid {\n  display: grid; grid-template-columns: repeat(3, 1fr);\n  gap: 12px; margin: 2rem 0;\n}\n.kpi-card {\n  border: 1px solid var(--rule); border-radius: 10px;\n  padding: 24px 16px; text-align: center;\n  background: #fff; position: relative;\n  overflow: hidden;\n}\n.kpi-card::after {\n  content: ''; position: absolute;\n  bottom: 0; left: 0; right: 0; height: 3px;\n}\n.kpi-card:nth-child(1)::after { background: #0ea5e9; }\n.kpi-card:nth-child(2)::after { background: var(--gold); }\n.kpi-card:nth-child(3)::after { background: var(--green); }\n.kpi-card:nth-child(4)::after { background: #ec4899; }\n.kpi-card:nth-child(5)::after { background: var(--accent); }\n.kpi-card:nth-child(6)::after { background: #8b5cf6; }\n.kpi-num {\n  font-family: var(--font-display);\n  font-size: 2.4rem; font-weight: 800;\n  color: var(--ink); display: block; line-height: 1;\n  margin-bottom: 6px;\n}\n.kpi-lbl {\n  font-size: 0.72rem; color: var(--ink-soft);\n  line-height: 1.4;\n}\n\n\/* \u2500\u2500\u2500 PHASE LIST \u2500\u2500\u2500 *\/\n.phase-list { margin: 2rem 0; }\n.phase-item {\n  display: flex; gap: 20px; margin-bottom: 12px;\n}\n.phase-dot {\n  flex-shrink: 0; display: flex; flex-direction: column; align-items: center;\n}\n.phase-circle {\n  width: 44px; height: 44px; border-radius: 50%;\n  border: 2px solid var(--accent);\n  background: var(--accent-lt);\n  display: flex; align-items: center; justify-content: center;\n  font-size: 1.1rem;\n}\n.phase-line {\n  width: 2px; background: var(--rule);\n  flex: 1; min-height: 16px; margin: 4px 0;\n}\n.phase-body {\n  border: 1px solid var(--rule); border-radius: 8px;\n  padding: 16px 20px; flex: 1; background: #fff;\n  margin-bottom: 12px;\n}\n.phase-body h4 {\n  font-size: 0.92rem; font-weight: 600; color: var(--ink);\n  margin-bottom: 4px;\n}\n.phase-body p {\n  font-size: 0.82rem !important; color: var(--ink-soft) !important;\n  margin-bottom: 0 !important; line-height: 1.6 !important;\n}\n.phase-badge {\n  font-family: var(--font-mono); font-size: 0.6rem;\n  letter-spacing: 0.08em; color: var(--accent);\n  background: var(--accent-lt); border: 1px solid #f4c5b0;\n  padding: 2px 8px; border-radius: 100px;\n  display: inline-block; margin-bottom: 6px;\n}\n\n\/* \u2500\u2500\u2500 TESTIMONIAL \u2500\u2500\u2500 *\/\n.testimonial {\n  background: var(--ink);\n  border-radius: 12px;\n  padding: 48px 44px;\n  margin: 3rem 0;\n  position: relative; overflow: hidden;\n}\n.testimonial::before {\n  content: '\"';\n  font-family: var(--font-display);\n  font-size: 14rem; font-weight: 800; line-height: .8;\n  color: rgba(200,65,10,.15);\n  position: absolute; top: -20px; left: 20px;\n  pointer-events: none;\n}\n.testimonial .stars { color: var(--gold); font-size: 1rem; margin-bottom: 20px; letter-spacing: 2px; }\n.testimonial blockquote {\n  font-family: var(--font-display);\n  font-size: 1.15rem; font-style: italic;\n  color: rgba(255,255,255,.85);\n  line-height: 1.75; margin-bottom: 24px;\n  position: relative; z-index: 1;\n}\n.testimonial blockquote strong { color: #fff; font-style: normal; }\n.testimonial cite {\n  display: block;\n  font-family: var(--font-mono); font-size: 0.68rem;\n  letter-spacing: 0.12em; text-transform: uppercase;\n  color: rgba(255,255,255,.4);\n  position: relative; z-index: 1;\n}\n.testimonial cite span { color: var(--accent); }\n\n\/* \u2500\u2500\u2500 INFO TABLE \u2500\u2500\u2500 *\/\n.info-table {\n  width: 100%; border-collapse: collapse;\n  margin: 1.5rem 0; font-size: 0.88rem;\n}\n.info-table tr { border-bottom: 1px solid var(--rule); }\n.info-table tr:last-child { border-bottom: none; }\n.info-table th {\n  text-align: left; padding: 12px 16px;\n  font-family: var(--font-mono); font-size: 0.65rem;\n  letter-spacing: 0.1em; text-transform: uppercase;\n  color: var(--ink-muted); font-weight: 500;\n  background: var(--paper-warm); white-space: nowrap;\n}\n.info-table td { padding: 12px 16px; color: var(--ink-mid); }\n\n\/* \u2500\u2500\u2500 SHARE \/ CTA \u2500\u2500\u2500 *\/\n.post-cta {\n  background: linear-gradient(135deg, var(--ink) 0%, #2d1810 100%);\n  border-radius: 12px; padding: 48px 44px;\n  margin: 3rem 0; text-align: center;\n}\n.post-cta h3 {\n  font-family: var(--font-display);\n  font-size: 1.7rem; font-weight: 700; color: #fff;\n  margin-bottom: 12px;\n}\n.post-cta p {\n  color: rgba(255,255,255,.55) !important;\n  font-size: 0.95rem !important;\n  margin-bottom: 28px !important;\n}\n.cta-btn {\n  display: inline-block;\n  background: var(--accent); color: #fff;\n  font-family: var(--font-mono); font-size: 0.75rem;\n  letter-spacing: 0.1em; text-transform: uppercase;\n  padding: 14px 36px; border-radius: 6px;\n  text-decoration: none; font-weight: 500;\n  transition: opacity .2s;\n}\n.cta-btn:hover { opacity: .85; }\n\n\/* \u2500\u2500\u2500 TAG LIST \u2500\u2500\u2500 *\/\n.tag-list { display: flex; flex-wrap: wrap; gap: 8px; margin: 2rem 0; }\n.tag {\n  font-family: var(--font-mono); font-size: 0.65rem;\n  letter-spacing: 0.08em; text-transform: uppercase;\n  padding: 5px 14px; border-radius: 100px;\n  border: 1px solid var(--rule); color: var(--ink-soft);\n  background: #fff;\n  transition: border-color .2s, color .2s;\n}\n.tag:hover { border-color: var(--accent); color: var(--accent); }\n\n\/* \u2500\u2500\u2500 SIDEBAR \u2500\u2500\u2500 *\/\n.sidebar { position: sticky; top: 20px; }\n.sidebar-widget {\n  border: 1px solid var(--rule); border-radius: 10px;\n  padding: 24px; margin-bottom: 24px;\n  background: #fff;\n}\n.widget-title {\n  font-family: var(--font-mono); font-size: 0.65rem;\n  letter-spacing: 0.14em; text-transform: uppercase;\n  color: var(--ink-muted); margin-bottom: 16px; display: block;\n  padding-bottom: 12px; border-bottom: 1px solid var(--rule);\n}\n.toc-list { list-style: none; }\n.toc-list li { margin-bottom: 10px; }\n.toc-list a {\n  font-size: 0.82rem; color: var(--ink-soft);\n  text-decoration: none; line-height: 1.4; display: block;\n  transition: color .2s;\n}\n.toc-list a:hover { color: var(--accent); }\n.toc-list a.active { color: var(--accent); font-weight: 600; }\n\n.share-btns { display: flex; flex-direction: column; gap: 10px; }\n.share-btn {\n  display: flex; align-items: center; gap: 10px;\n  padding: 10px 16px; border-radius: 8px;\n  font-family: var(--font-mono); font-size: 0.68rem;\n  letter-spacing: 0.08em; text-transform: uppercase;\n  text-decoration: none; font-weight: 500;\n  transition: opacity .2s;\n}\n.share-btn:hover { opacity: .8; }\n.share-btn.linkedin { background: #0077b5; color: #fff; }\n.share-btn.twitter  { background: #1da1f2; color: #fff; }\n.share-btn.copy     { background: var(--paper-warm); color: var(--ink-soft); border: 1px solid var(--rule); cursor: pointer; }\n\n.sidebar-card {\n  background: var(--accent-lt); border: 1px solid #f4c5b0;\n  border-left: 3px solid var(--accent); border-radius: 8px;\n  padding: 20px; margin-bottom: 24px;\n}\n.sidebar-card p {\n  font-size: 0.82rem; color: var(--ink-mid); line-height: 1.6; margin-bottom: 12px;\n}\n.sidebar-card a {\n  font-family: var(--font-mono); font-size: 0.65rem;\n  letter-spacing: 0.1em; text-transform: uppercase;\n  color: var(--accent); text-decoration: none; font-weight: 500;\n}\n\n\/* \u2500\u2500\u2500 DIVIDER \u2500\u2500\u2500 *\/\n.section-divider {\n  border: none;\n  border-top: 1px solid var(--rule);\n  margin: 2.5rem 0;\n}\n\n\/* \u2500\u2500\u2500 RESPONSIVE \u2500\u2500\u2500 *\/\n@media (max-width: 1100px) {\n  .post-layout { grid-template-columns: 1fr; gap: 0; }\n  .sidebar { position: static; margin-top: 48px; }\n}\n@media (max-width: 720px) {\n  .problem-grid, .module-grid, .before-after, .kpi-grid { grid-template-columns: 1fr; }\n  .stats-inner { grid-template-columns: 1fr; }\n  .post-hero { padding: 64px 24px 56px; }\n  .post-layout { padding: 48px 24px; }\n  .site-nav { display: none; }\n}\n\n\/* \u2500\u2500\u2500 ANIMATIONS \u2500\u2500\u2500 *\/\n@keyframes fadeUp {\n  from { opacity: 0; transform: translateY(20px); }\n  to   { opacity: 1; transform: translateY(0); }\n}\n.hero-inner > * {\n  animation: fadeUp .7s ease both;\n}\n.hero-inner > *:nth-child(1) { animation-delay: .1s; }\n.hero-inner > *:nth-child(2) { animation-delay: .2s; }\n.hero-inner > *:nth-child(3) { animation-delay: .3s; }\n.hero-inner > *:nth-child(4) { animation-delay: .4s; }\n<\/style>\n<\/head>\n<body>\n\n<div id=\"progress\"><\/div>\n\n<!-- \u2500\u2500\u2500 HERO \u2500\u2500\u2500 -->\n<section class=\"post-hero\">\n  <div class=\"hero-inner\">\n    <span class=\"post-category\">Zoho Creator \u00b7 Case Study<\/span>\n    <h1 class=\"post-title\">\n      How We Transformed a Dubai<br\/>\n      <em>Import-Export Company&#8217;s<\/em><br\/>\n      Operations with One App\n    <\/h1>\n    <p class=\"post-subtitle\">\n      Spreadsheets. WhatsApp threads. Manual invoices taking three hours each.\n      Here&#8217;s exactly how Codearbro built a Zoho Creator application that fixed all of it.\n    <\/p>\n    <div class=\"post-meta\">\n      <div class=\"meta-author\">\n        <div class=\"author-avatar\">CA<\/div>\n        <span class=\"author-name\">Codearbro Solution OPC Pvt Ltd<\/span>\n      <\/div>\n      <span class=\"meta-sep\">\u00b7<\/span>\n      <span class=\"meta-date\">2024<\/span>\n      <span class=\"meta-sep\">\u00b7<\/span>\n      <span class=\"meta-read\">12 min read<\/span>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- \u2500\u2500\u2500 STATS STRIP \u2500\u2500\u2500 -->\n<div class=\"stats-strip\">\n  <div class=\"stats-inner\">\n    <div class=\"stat-item\">\n      <span class=\"stat-num\">85%<\/span>\n      <span class=\"stat-label\">Faster Invoice Processing<\/span>\n    <\/div>\n    <div class=\"stat-item\">\n      <span class=\"stat-num\">70%<\/span>\n      <span class=\"stat-label\">Fewer Data Entry Errors<\/span>\n    <\/div>\n    <div class=\"stat-item\">\n      <span class=\"stat-num\">100%<\/span>\n      <span class=\"stat-label\">Shipments Centralised<\/span>\n    <\/div>\n  <\/div>\n<\/div>\n\n<!-- \u2500\u2500\u2500 MAIN LAYOUT \u2500\u2500\u2500 -->\n<div class=\"post-layout\">\n\n  <!-- \u2500\u2500\u2500 ARTICLE \u2500\u2500\u2500 -->\n  <article>\n\n    <!-- PROJECT SNAPSHOT -->\n    <table class=\"info-table\">\n      <tr><th>Client Industry<\/th><td>International Trade &#038; Logistics \u2014 Import\/Export<\/td><\/tr>\n      <tr><th>Client Location<\/th><td>Dubai, United Arab Emirates<\/td><\/tr>\n      <tr><th>Platform<\/th><td>Zoho Creator<\/td><\/tr>\n      <tr><th>Core Modules<\/th><td>Shipment Tracking, Customer Management, Master Data, Invoice Automation<\/td><\/tr>\n      <tr><th>Developed By<\/th><td>Codearbro Solution OPC Pvt Ltd<\/td><\/tr>\n    <\/table>\n\n    <!-- EXECUTIVE SUMMARY -->\n    <h2 id=\"summary\">Executive Summary<\/h2>\n    <p class=\"dropcap\">A rapidly expanding import-export company headquartered in Dubai came to Codearbro Solution OPC Pvt Ltd with a problem that will sound familiar to anyone who has scaled a trading business without scaling their systems. Their workflow was a fragmented mix of spreadsheets, manual ledgers, email threads, and WhatsApp groups.<\/p>\n    <p>Shipment data was scattered across personal files. Customer records were duplicated or outdated. Generating a single invoice required an accounts team member to spend two to three hours cross-referencing multiple sources \u2014 only to produce something that was frequently wrong.<\/p>\n    <p>We designed and delivered a fully custom Zoho Creator application that consolidated every aspect of their trade operations into one intelligent, cloud-based platform. The result was a dramatic reduction in manual workload, near-zero data errors, faster invoice turnaround, and complete end-to-end visibility across every shipment lifecycle.<\/p>\n\n    <div class=\"callout\">\n      <span class=\"callout-label\">\ud83d\udccd About Codearbro<\/span>\n      <p>Codearbro Solution OPC Pvt Ltd specialises in low-code application development and business process automation across the Zoho ecosystem \u2014 including Zoho Creator, Zoho CRM, Zoho Books, and Zoho Analytics. We build intelligent digital systems that replace manual processes for clients across India, the UAE, and beyond.<\/p>\n    <\/div>\n\n    <!-- CLIENT BACKGROUND -->\n    <h2 id=\"background\">Client Background<\/h2>\n    <p>The client is an established trading company based in Dubai operating across import and export corridors spanning Asia, Africa, and Europe. With a growing volume of concurrent shipments \u2014 each involving freight forwarders, customs brokers, buyers, sellers, and logistics partners \u2014 the back-office infrastructure had simply not kept pace with revenue growth.<\/p>\n    <p>Operations teams coordinated via email and WhatsApp. Shipment tracking lived in Excel. Invoices were produced manually, one at a time. At lower volumes, this worked. As the business grew, it became a serious operational liability.<\/p>\n\n    <!-- CHALLENGES -->\n    <h2 id=\"challenges\">The Challenges We Were Brought In to Solve<\/h2>\n    <p>Before we wrote a single line of code, we conducted structured discovery workshops with the operations, accounts, and management teams. Five compounding problems emerged consistently:<\/p>\n\n    <div class=\"problem-grid\">\n      <div class=\"problem-card\">\n        <span class=\"p-icon\">\ud83d\udcca<\/span>\n        <h4>No Centralised Shipment Tracking<\/h4>\n        <p>Each shipment tracked manually across separate spreadsheets. No single system of record. Operations staff frequently worked from outdated information.<\/p>\n      <\/div>\n      <div class=\"problem-card\">\n        <span class=\"p-icon\">\ud83d\udc65<\/span>\n        <h4>Fragmented Customer Data<\/h4>\n        <p>Customer records maintained inconsistently across personal files, email threads, and local spreadsheets. Duplicate entries were everywhere.<\/p>\n      <\/div>\n      <div class=\"problem-card\">\n        <span class=\"p-icon\">\ud83d\uddc2\ufe0f<\/span>\n        <h4>No Master Data Governance<\/h4>\n        <p>Port codes, commodity types, carrier details \u2014 all undocumented. &#8220;Dubai Port,&#8221; &#8220;DXB,&#8221; and &#8220;Dubai&#8221; appearing as three separate entries in different sheets.<\/p>\n      <\/div>\n      <div class=\"problem-card\">\n        <span class=\"p-icon\">\ud83e\uddfe<\/span>\n        <h4>Manual Invoice Generation<\/h4>\n        <p>2\u20133 hours per invoice. Calculation errors caused client disputes. Payment delays were a recurring problem affecting cash flow every month.<\/p>\n      <\/div>\n    <\/div>\n\n    <p>The fifth problem sat above all of these: <strong>management had zero real-time visibility<\/strong> into the business. Every summary report required hours of manual consolidation \u2014 by which time the data was already outdated.<\/p>\n\n    <!-- SOLUTION -->\n    <h2 id=\"solution\">The Solution: Architecture Overview<\/h2>\n    <p>We selected Zoho Creator as the platform for this engagement. It offered rapid development capabilities, native integration with other Zoho applications, and a cloud-native architecture suited for multi-user access across global teams. The application was built using a modular, relational design \u2014 every piece of data interconnected, consistent, and accessible in real time.<\/p>\n\n    <div class=\"module-grid\">\n      <div class=\"module-card\">\n        <span class=\"m-icon\">\ud83d\udea2<\/span>\n        <h4>Shipment Tracking Module<\/h4>\n        <p>End-to-end lifecycle tracking from booking to delivery. Real-time status updates, milestone alerts, and a built-in document repository.<\/p>\n        <span class=\"module-tag\">Core Module<\/span>\n      <\/div>\n      <div class=\"module-card\">\n        <span class=\"m-icon\">\ud83c\udfe2<\/span>\n        <h4>Customer Management<\/h4>\n        <p>Centralised customer profiles with full transaction history, contact management, billing details, and credit visibility.<\/p>\n        <span class=\"module-tag\">CRM Layer<\/span>\n      <\/div>\n      <div class=\"module-card\">\n        <span class=\"m-icon\">\ud83d\uddc2\ufe0f<\/span>\n        <h4>Master Data Module<\/h4>\n        <p>Ports, commodities, carriers, Incoterms, currencies, and regulatory codes \u2014 all standardised and dropdown-driven.<\/p>\n        <span class=\"module-tag\">Data Governance<\/span>\n      <\/div>\n      <div class=\"module-card\">\n        <span class=\"m-icon\">\u26a1<\/span>\n        <h4>Invoice Automation<\/h4>\n        <p>Auto-triggered on delivery confirmation. Line-item calculation, branded PDF generation, and optional auto-email \u2014 under 2 minutes.<\/p>\n        <span class=\"module-tag\">Automation<\/span>\n      <\/div>\n    <\/div>\n\n    <!-- SHIPMENT MODULE -->\n    <h2 id=\"shipment\">The Shipment Module: Full Lifecycle Tracking<\/h2>\n    <p>The Shipment Module is the operational heart of the application. Each shipment record is created when a new trade order is confirmed and follows a defined lifecycle from origin to delivery. Here&#8217;s how the flow works:<\/p>\n\n    <div class=\"flow-steps\">\n      <div class=\"flow-step\">\n        <div class=\"flow-num\">1<\/div>\n        <div class=\"flow-content\">\n          <h4>\ud83d\udccb Order Confirmed \u2192 Shipment ID Auto-Generated<\/h4>\n          <p>A unique Shipment ID is created. Origin\/destination ports, customer reference, commodity, carrier, and estimated dates are all linked from master records.<\/p>\n        <\/div>\n      <\/div>\n      <div class=\"flow-step\">\n        <div class=\"flow-num\">2<\/div>\n        <div class=\"flow-content\">\n          <h4>\ud83d\udea2 In Transit \u2192 Real-Time Status &#038; Alerts<\/h4>\n          <p>Operations team updates milestones. Automated notifications sent to stakeholders. Bills of lading, packing lists, and certificates of origin uploaded directly.<\/p>\n        <\/div>\n      <\/div>\n      <div class=\"flow-step\">\n        <div class=\"flow-num\">3<\/div>\n        <div class=\"flow-content\">\n          <h4>\ud83d\udec3 Customs Clearance \u2192 Tracked as a Distinct Milestone<\/h4>\n          <p>Regulatory flags from master data trigger compliance checks automatically. No manual cross-referencing of country codes or tariff classifications.<\/p>\n        <\/div>\n      <\/div>\n      <div class=\"flow-step\">\n        <div class=\"flow-num\">4<\/div>\n        <div class=\"flow-content\">\n          <h4>\u2705 Delivered \u2192 Invoice Triggered Automatically<\/h4>\n          <p>When status updates to &#8220;Delivered,&#8221; the invoice workflow fires instantly. No manual steps. No missed billing. No delays.<\/p>\n          <span class=\"auto-pill\">\u26a1 Fully Automated<\/span>\n        <\/div>\n      <\/div>\n    <\/div>\n\n    <!-- INVOICE AUTOMATION -->\n    <h2 id=\"invoice\">Invoice Automation: From 3 Hours to Under 2 Minutes<\/h2>\n    <p>This is the highest-impact feature in the entire application. The before-and-after speaks for itself:<\/p>\n\n    <div class=\"before-after\">\n      <div class=\"ba-card ba-before\">\n        <span class=\"ba-label\">\u274c Before Codearbro<\/span>\n        <div class=\"ba-big\">3 hrs<\/div>\n        <span class=\"ba-sub\">per invoice, manually<\/span>\n        <ul class=\"ba-list\">\n          <li>\u274c Manual data collection every time<\/li>\n          <li>\u274c Arithmetic errors were common<\/li>\n          <li>\u274c Payment delays every month<\/li>\n          <li>\u274c No consistent format<\/li>\n          <li>\u274c Shipments missed in billing<\/li>\n        <\/ul>\n      <\/div>\n      <div class=\"ba-card ba-after\">\n        <span class=\"ba-label\">\u2705 After Codearbro<\/span>\n        <div class=\"ba-big\">&lt;2 min<\/div>\n        <span class=\"ba-sub\">auto-generated on delivery<\/span>\n        <ul class=\"ba-list\">\n          <li>\u2705 Zero manual input required<\/li>\n          <li>\u2705 Calculation errors eliminated<\/li>\n          <li>\u2705 Payments arrive faster<\/li>\n          <li>\u2705 Branded PDF, auto-emailed<\/li>\n          <li>\u2705 Every delivery invoiced<\/li>\n        <\/ul>\n      <\/div>\n    <\/div>\n\n    <p>When a shipment&#8217;s status transitions to &#8220;Delivered,&#8221; a Zoho Creator Deluge workflow pulls shipment details, customer billing info, applicable charges, exchange rates, and tax configuration \u2014 calculates line-item totals, generates a branded PDF, assigns a sequential invoice number, stores it against both the shipment and customer record, and optionally dispatches it via email. All without a single click from the accounts team.<\/p>\n\n    <!-- RESULTS -->\n    <h2 id=\"results\">Measurable Business Outcomes<\/h2>\n    <p>Following deployment, user training, and a 60-day hypercare period, here are the quantified outcomes:<\/p>\n\n    <div class=\"kpi-grid\">\n      <div class=\"kpi-card\">\n        <span class=\"kpi-num\">85%<\/span>\n        <div class=\"kpi-lbl\">Reduction in Invoice Processing Time<\/div>\n      <\/div>\n      <div class=\"kpi-card\">\n        <span class=\"kpi-num\">70%<\/span>\n        <div class=\"kpi-lbl\">Fewer Data Entry Errors Reported<\/div>\n      <\/div>\n      <div class=\"kpi-card\">\n        <span class=\"kpi-num\">100%<\/span>\n        <div class=\"kpi-lbl\">Shipments Now Centralised<\/div>\n      <\/div>\n      <div class=\"kpi-card\">\n        <span class=\"kpi-num\">3\u00d7<\/span>\n        <div class=\"kpi-lbl\">Faster Customer Query Resolution<\/div>\n      <\/div>\n      <div class=\"kpi-card\">\n        <span class=\"kpi-num\">60%<\/span>\n        <div class=\"kpi-lbl\">Reduction in Admin Overhead<\/div>\n      <\/div>\n      <div class=\"kpi-card\">\n        <span class=\"kpi-num\">Live<\/span>\n        <div class=\"kpi-lbl\">Real-Time Dashboards for Management<\/div>\n      <\/div>\n    <\/div>\n\n    <!-- IMPLEMENTATION -->\n    <h2 id=\"implementation\">How We Built It: 5-Phase Methodology<\/h2>\n    <p>We followed an agile, milestone-driven delivery methodology to keep the client&#8217;s team engaged throughout and ensure the final product precisely matched operational reality.<\/p>\n\n    <div class=\"phase-list\">\n      <div class=\"phase-item\">\n        <div class=\"phase-dot\">\n          <div class=\"phase-circle\">\ud83d\udd0d<\/div>\n          <div class=\"phase-line\"><\/div>\n        <\/div>\n        <div class=\"phase-body\">\n          <span class=\"phase-badge\">Weeks 1\u20132<\/span>\n          <h4>Phase 1 \u2014 Discovery &#038; Requirements Mapping<\/h4>\n          <p>Structured workshops with operations, accounts, and management. User stories created and signed off before development began.<\/p>\n        <\/div>\n      <\/div>\n      <div class=\"phase-item\">\n        <div class=\"phase-dot\">\n          <div class=\"phase-circle\">\ud83d\uddfa\ufe0f<\/div>\n          <div class=\"phase-line\"><\/div>\n        <\/div>\n        <div class=\"phase-body\">\n          <span class=\"phase-badge\">Week 3<\/span>\n          <h4>Phase 2 \u2014 Architecture &#038; Data Modelling<\/h4>\n          <p>Relational schema designed to reflect real-world trade relationships. ER diagrams shared with client for validation before build.<\/p>\n        <\/div>\n      <\/div>\n      <div class=\"phase-item\">\n        <div class=\"phase-dot\">\n          <div class=\"phase-circle\">\ud83d\udee0\ufe0f<\/div>\n          <div class=\"phase-line\"><\/div>\n        <\/div>\n        <div class=\"phase-body\">\n          <span class=\"phase-badge\">Weeks 4\u20139<\/span>\n          <h4>Phase 3 \u2014 Module Development<\/h4>\n          <p>Each module built iteratively, Shipment Module first. Bi-weekly client demonstrations used to gather real-time feedback.<\/p>\n        <\/div>\n      <\/div>\n      <div class=\"phase-item\">\n        <div class=\"phase-dot\">\n          <div class=\"phase-circle\">\u26a1<\/div>\n          <div class=\"phase-line\"><\/div>\n        <\/div>\n        <div class=\"phase-body\">\n          <span class=\"phase-badge\">Weeks 10\u201312<\/span>\n          <h4>Phase 4 \u2014 Workflow Automation &#038; Invoice Logic<\/h4>\n          <p>Deluge scripts written and stress-tested with production-representative data volumes before sign-off.<\/p>\n        <\/div>\n      <\/div>\n      <div class=\"phase-item\">\n        <div class=\"phase-dot\">\n          <div class=\"phase-circle\">\ud83d\ude80<\/div>\n        <\/div>\n        <div class=\"phase-body\">\n          <span class=\"phase-badge\">Weeks 13\u201315<\/span>\n          <h4>Phase 5 \u2014 UAT, Training &#038; Deployment<\/h4>\n          <p>Structured User Acceptance Testing. Role-specific training for operations, accounts, and management. 60-day hypercare support followed go-live.<\/p>\n        <\/div>\n      <\/div>\n    <\/div>\n\n    <!-- TESTIMONIAL -->\n    <div class=\"testimonial\">\n      <div class=\"stars\">\u2605\u2605\u2605\u2605\u2605<\/div>\n      <blockquote>\n        &#8220;Before Codearbro built this application for us, our operations team was drowning in spreadsheets and our accounts team was spending days every week just processing invoices. Today, <strong>every shipment is tracked in one place<\/strong>, every invoice goes out <strong>automatically the moment a delivery is confirmed<\/strong>, and our management team can see the entire business on one screen.&#8221;\n      <\/blockquote>\n      <cite>Operations Director \u00b7 <span>Dubai Import-Export Enterprise<\/span><\/cite>\n    <\/div>\n\n    <!-- PULLQUOTE -->\n    <div class=\"pullquote\">\n      <p>&#8220;The measure of a good business application isn&#8217;t the number of features \u2014 it&#8217;s how completely it eliminates the need to work outside it.&#8221;<\/p>\n      <cite>\u2014 Codearbro Solution OPC Pvt Ltd<\/cite>\n    <\/div>\n\n    <!-- CONCLUSION -->\n    <h2 id=\"conclusion\">The Takeaway<\/h2>\n    <p>This project demonstrates what&#8217;s possible when a business stops working around its systems and starts building systems that work for the business. The client didn&#8217;t need a complex, six-figure ERP implementation. They needed a thoughtfully designed application \u2014 built around their actual workflows \u2014 on a platform that could grow with them.<\/p>\n    <p>Zoho Creator, combined with Codearbro&#8217;s deep understanding of trade operations and workflow automation, delivered exactly that: an intelligent, connected system that turned three hours of manual invoicing into two minutes of zero-click automation, and scattered spreadsheets into a single source of truth visible to every stakeholder in real time.<\/p>\n\n    <!-- TAGS -->\n    <hr class=\"section-divider\"\/>\n    <div class=\"tag-list\">\n      <span class=\"tag\">Zoho Creator<\/span>\n      <span class=\"tag\">Import Export Software<\/span>\n      <span class=\"tag\">Dubai Tech<\/span>\n      <span class=\"tag\">Shipment Tracking<\/span>\n      <span class=\"tag\">Invoice Automation<\/span>\n      <span class=\"tag\">Business Process Automation<\/span>\n      <span class=\"tag\">Zoho Developer<\/span>\n      <span class=\"tag\">UAE Logistics<\/span>\n      <span class=\"tag\">Case Study<\/span>\n    <\/div>\n\n    <!-- CTA -->\n    <div class=\"post-cta\">\n      <h3>Running Your Business on Spreadsheets?<\/h3>\n      <p>Let&#8217;s build a smarter system. Codearbro specialises in custom Zoho Creator applications tailored to your exact workflows.<\/p>\n      <a class=\"cta-btn\" href=\"#\">Get a Free Consultation \u2192<\/a>\n    <\/div>\n\n  <\/article>\n\n  <!-- \u2500\u2500\u2500 SIDEBAR \u2500\u2500\u2500 -->\n  <aside class=\"sidebar\">\n\n    <div class=\"sidebar-widget\">\n      <span class=\"widget-title\">Table of Contents<\/span>\n      <ul class=\"toc-list\" id=\"toc\">\n        <li><a href=\"#summary\">Executive Summary<\/a><\/li>\n        <li><a href=\"#background\">Client Background<\/a><\/li>\n        <li><a href=\"#challenges\">The Challenges<\/a><\/li>\n        <li><a href=\"#solution\">Solution Architecture<\/a><\/li>\n        <li><a href=\"#shipment\">Shipment Module<\/a><\/li>\n        <li><a href=\"#invoice\">Invoice Automation<\/a><\/li>\n        <li><a href=\"#results\">Business Outcomes<\/a><\/li>\n        <li><a href=\"#implementation\">How We Built It<\/a><\/li>\n        <li><a href=\"#conclusion\">The Takeaway<\/a><\/li>\n      <\/ul>\n    <\/div>\n\n    <div class=\"sidebar-card\">\n      <p>Need a custom Zoho Creator app for your business? We&#8217;ve helped clients across the UAE, India, and beyond.<\/p>\n      <a href=\"#\">Talk to Codearbro \u2192<\/a>\n    <\/div>\n\n    <div class=\"sidebar-widget\">\n      <span class=\"widget-title\">Share This Post<\/span>\n      <div class=\"share-btns\">\n        <a class=\"share-btn linkedin\" href=\"#\">in  Share on LinkedIn<\/a>\n        <a class=\"share-btn twitter\"  href=\"#\">\ud835\udd4f  Share on X<\/a>\n        <button class=\"share-btn copy\" id=\"copyBtn\">\ud83d\udd17  Copy Link<\/button>\n      <\/div>\n    <\/div>\n\n    <div class=\"sidebar-widget\">\n      <span class=\"widget-title\">Project at a Glance<\/span>\n      <table class=\"info-table\" style=\"margin:0;\">\n        <tr><th>Platform<\/th><td>Zoho Creator<\/td><\/tr>\n        <tr><th>Timeline<\/th><td>15 Weeks<\/td><\/tr>\n        <tr><th>Modules<\/th><td>4 Core<\/td><\/tr>\n        <tr><th>Invoice Time<\/th><td>3 hrs \u2192 2 min<\/td><\/tr>\n        <tr><th>Error Reduction<\/th><td>70%<\/td><\/tr>\n      <\/table>\n    <\/div>\n\n  <\/aside>\n\n<\/div><!-- \/post-layout -->\n\n<script>\n\/\/ Reading progress bar\nwindow.addEventListener('scroll', () => {\n  const doc = document.documentElement;\n  const scrolled = (doc.scrollTop || document.body.scrollTop);\n  const total = doc.scrollHeight - doc.clientHeight;\n  document.getElementById('progress').style.width = (scrolled \/ total * 100) + '%';\n});\n\n\/\/ Active TOC link\nconst headings = document.querySelectorAll('article h2[id]');\nconst tocLinks = document.querySelectorAll('#toc a');\nconst observer = new IntersectionObserver(entries => {\n  entries.forEach(e => {\n    if (e.isIntersecting) {\n      tocLinks.forEach(l => l.classList.remove('active'));\n      const link = document.querySelector(`#toc a[href=\"#${e.target.id}\"]`);\n      if (link) link.classList.add('active');\n    }\n  });\n}, { rootMargin: '-20% 0px -70% 0px' });\nheadings.forEach(h => observer.observe(h));\n\n\/\/ Copy link button\ndocument.getElementById('copyBtn').addEventListener('click', () => {\n  navigator.clipboard.writeText(window.location.href).then(() => {\n    const btn = document.getElementById('copyBtn');\n    btn.textContent = '\u2705  Copied!';\n    setTimeout(() => btn.textContent = '\ud83d\udd17  Copy Link', 2000);\n  });\n});\n<\/script>\n\n<\/body>\n<\/html>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>How We Built a Zoho Creator App That Transformed a Dubai Import-Export Company | Codearbro Zoho Creator \u00b7 Case Study How We Transformed a Dubai Import-Export Company&#8217;s Operations with One App Spreadsheets. WhatsApp threads. Manual invoices taking three hours each. Here&#8217;s exactly how Codearbro built a Zoho Creator application that fixed all of it. CA [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":54,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[15,16,14,17],"class_list":["post-52","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog","tag-import-export","tag-zoho","tag-zoho-creator","tag-zoho-implementiation-partener"],"_links":{"self":[{"href":"https:\/\/codearbro.com\/blog\/wp-json\/wp\/v2\/posts\/52","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/codearbro.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/codearbro.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/codearbro.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/codearbro.com\/blog\/wp-json\/wp\/v2\/comments?post=52"}],"version-history":[{"count":1,"href":"https:\/\/codearbro.com\/blog\/wp-json\/wp\/v2\/posts\/52\/revisions"}],"predecessor-version":[{"id":55,"href":"https:\/\/codearbro.com\/blog\/wp-json\/wp\/v2\/posts\/52\/revisions\/55"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/codearbro.com\/blog\/wp-json\/wp\/v2\/media\/54"}],"wp:attachment":[{"href":"https:\/\/codearbro.com\/blog\/wp-json\/wp\/v2\/media?parent=52"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/codearbro.com\/blog\/wp-json\/wp\/v2\/categories?post=52"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/codearbro.com\/blog\/wp-json\/wp\/v2\/tags?post=52"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}