# Workbook v1.2 structure (auto-generated, fictional demo data only)

Formulas shown for row 2; they are filled down to row 500 on the Quotes sheet.


## Sheet: Start here  (dimensions B1:B18, protected=True)

- B1: `Quote follow-up tracker  |  متتبع متابعة عروض الأسعار`
- B2: `Never lose track of a quote. / لا تفقد متابعة أي عرض سعر.`
- B4: `How it works  |  كيف يعمل`
- B5: `1.  Go to the Quotes sheet and type each enquiry in the yellow cells (columns A–H). / سجّل كل استفسار في الخلايا الصفراء.`
- B6: `2.  Change the Status as the job moves on. Pick it from the list. / غيّر الحالة من القائمة مع تقدم الطلب.`
- B7: `3.  Grey and teal columns calculate by themselves: next follow-up date, OVERDUE / DUE TODAY flag, and a copy-ready WhatsApp message in English and Arabic. / الأعمدة الرمادية تُحسب تلقائياً.`
- B8: `4.  Open the Dashboard each morning: it lists who to follow up with first. / افتح لوحة المتابعة كل صباح.`
- B9: `5.  Copy the message and send it yourself. The tracker never sends anything. / انسخ الرسالة وأرسلها بنفسك. النظام لا يرسل شيئاً.`
- B11: `Colours  |  الألوان`
- B12: `Yellow cells = you type here.   Grey cells = automatic, locked.   Red = overdue.   Amber = due today.   Green = upcoming.`

## Sheet: Dashboard  (dimensions B1:Z26, protected=True)

- B1: `Quote follow-up dashboard  |  لوحة متابعة عروض الأسعار`
- G1: `As of  |  بتاريخ`
- H1: `=TODAY()`
- B2: `What needs attention first. Updates automatically from the Quotes sheet. / ما يحتاج انتباهك أولاً. يتحدث تلقائياً.`
- B4: `Open quotes`
- C4: `Value of open quotes`
- D4: `Overdue follow-ups`
- E4: `Due today`
- F4: `Won`
- G4: `Win rate — closed quotes`
- B5: `=COUNTIF(Quotes!$G$2:$G$500,"New enquiry")+COUNTIF(Quotes!$G$2:$G$500,"Quote sent")+COUNTIF(Quotes!$G$2:$G$500,"Follow-up 1")+COUNTIF(Quotes!$G$2:$G$500,"Follow-up 2")`
- C5: `=SUMIF(Quotes!$G$2:$G$500,"New enquiry",Quotes!$F$2:$F$500)+SUMIF(Quotes!$G$2:$G$500,"Quote sent",Quotes!$F$2:$F$500)+SUMIF(Quotes!$G$2:$G$500,"Follow-up 1",Quotes!$F$2:$F$500)+SUMIF(Quotes!$G$2:$G$500,"Follow-up 2",Quotes!$F$2:$F$500)`
- D5: `=COUNTIF(Quotes!$K$2:$K$500,"OVERDUE*")`
- E5: `=COUNTIF(Quotes!$K$2:$K$500,"DUE TODAY*")`
- F5: `=COUNTIF(Quotes!$G$2:$G$500,"Won")`
- G5: `=IF(COUNTIF(Quotes!$G$2:$G$500,"Won")+COUNTIF(Quotes!$G$2:$G$500,"Lost")+COUNTIF(Quotes!$G$2:$G$500,"No reply (closed)")=0,"N/A",COUNTIF(Quotes!$G$2:$G$500,"Won")/(COUNTIF(Quotes!$G$2:$G$500,"Won")+COUNTIF(Quotes!$G$2:$G$500,"Lost")+COUNTIF(Quotes!$G$2:$G$500,"No reply (closed)")))`
- B6: `عروض مفتوحة`
- C6: `قيمة العروض المفتوحة`
- D6: `متابعات متأخرة`
- E6: `مستحقة اليوم`
- F6: `عروض مقبولة`
- G6: `نسبة الفوز من العروض المغلقة`
- B8: `Next actions  |  الإجراءات التالية`
- B9: `Sorted by due date. Overdue first. Shows the 8 most urgent; all others are on the Quotes sheet. Copy the message and send it yourself. Nothing is sent automatically. / تعرض أكثر 8 متابعات إلحاحاً والباقي في ورقة العروض. مرتبة حسب الموعد. انسخ الرسالة وأرسلها بنفسك. لا يُرسل شيء تلقائياً.`
- B10: `Customer / العميل`
- C10: `Service / الخدمة`
- D10: `Due / الموعد`
- E10: `Action / الإجراء`
- F10: `Quote (OMR) / العرض`
- G10: `Status / الحالة`
- H10: `Message to copy (EN) / الرسالة (إنجليزي)`
- I10: `رسالة للنسخ (عربي)`
- B11: `=IF($Z11="","",INDEX(Quotes!$B$2:$B$500,$Z11))`
- C11: `=IF($Z11="","",INDEX(Quotes!$D$2:$D$500,$Z11))`
- D11: `=IF($Z11="","",INDEX(Quotes!$J$2:$J$500,$Z11))`
- E11: `=IF($Z11="","",INDEX(Quotes!$K$2:$K$500,$Z11))`
- F11: `=IF($Z11="","",INDEX(Quotes!$F$2:$F$500,$Z11))`
- G11: `=IF($Z11="","",INDEX(Quotes!$L$2:$L$500,$Z11))`
- H11: `=IF($Z11="","",INDEX(Quotes!$M$2:$M$500,$Z11))`
- I11: `=IF($Z11="","",INDEX(Quotes!$N$2:$N$500,$Z11))`
- Z11: `=IFERROR(MATCH(SMALL(Quotes!$O$2:$O$500,1),Quotes!$O$2:$O$500,0),"")`
- B12: `=IF($Z12="","",INDEX(Quotes!$B$2:$B$500,$Z12))`
- C12: `=IF($Z12="","",INDEX(Quotes!$D$2:$D$500,$Z12))`
- D12: `=IF($Z12="","",INDEX(Quotes!$J$2:$J$500,$Z12))`
- E12: `=IF($Z12="","",INDEX(Quotes!$K$2:$K$500,$Z12))`
- F12: `=IF($Z12="","",INDEX(Quotes!$F$2:$F$500,$Z12))`
- G12: `=IF($Z12="","",INDEX(Quotes!$L$2:$L$500,$Z12))`
- H12: `=IF($Z12="","",INDEX(Quotes!$M$2:$M$500,$Z12))`
- I12: `=IF($Z12="","",INDEX(Quotes!$N$2:$N$500,$Z12))`
- Z12: `=IFERROR(MATCH(SMALL(Quotes!$O$2:$O$500,2),Quotes!$O$2:$O$500,0),"")`

## Sheet: Quotes  (dimensions A1:R500, protected=True)

- A1: `Enquiry / quote date / تاريخ الاستفسار / العرض`
- B1: `Customer / العميل`
- C1: `Phone / WhatsApp / الهاتف / واتساب`
- D1: `Service / الخدمة`
- E1: `Channel / القناة`
- F1: `Quote (OMR) / العرض (ر.ع.)`
- G1: `Status / الحالة`
- H1: `Last follow-up / آخر متابعة`
- I1: `Days since enquiry / أيام منذ الاستفسار`
- J1: `Next follow-up / المتابعة القادمة`
- K1: `Action / الإجراء`
- L1: `الحالة (عربي)`
- M1: `WhatsApp message (EN) / رسالة واتساب (إنجليزي)`
- N1: `رسالة واتساب (عربي)`
- O1: `sort`
- P1: `stage`
- R1: `DEMO — fictional data. Clear the yellow cells before real use. / بيانات تجريبية فقط`
- A2: `=TODAY()-1`
- B2: `FICTIONAL CUSTOMER A`
- C2: `+968 0000 0000`
- D2: `Split AC gas refill (2 units)`
- E2: `WhatsApp`
- F2: `35`
- G2: `New enquiry`
- I2: `=IF(A2="","",MAX(0,TODAY()-A2))`
- J2: `=IF(OR(P2="",A2=""),"",IF(COUNT(INDEX(Settings!$C$2:$C$8,P2))=0,"",IF(AND(INDEX(Settings!$D$2:$D$8,P2)="H",H2=""),"",IF(INDEX(Settings!$D$2:$D$8,P2)="A",A2,IF(INDEX(Settings!$D$2:$D$8,P2)="HA",IF(H2="",A2,H2),H2))+INDEX(Settings!$C$2:$C$8,P2))))`
- K2: `=IF(A2="",IF(B2<>"","Add date / أدخل تاريخ الاستفسار",""),IF(G2="","Set status / اختر الحالة",IF(P2="","Check status / راجع الحالة",IF(COUNT(INDEX(Settings!$C$2:$C$8,P2))=0,"Closed / مغلق",IF(AND(INDEX(Settings!$D$2:$D$8,P2)="H",H2=""),"Add last follow-up date / أدخل تاريخ آخر متابعة",IF(J2<TODAY(),"OVERDUE / متأخر",IF(J2=TODAY(),"DUE TODAY / مستحق اليوم","Upcoming / قادم")))))))`
- L2: `=IF(P2="","",INDEX(Settings!$B$2:$B$8,P2))`
- M2: `=IF(OR(P2="",J2=""),"",IFERROR(SUBSTITUTE(SUBSTITUTE(INDEX(Templates!$C$2:$C$5,INDEX(Settings!$E$2:$E$8,P2)),"[Name]",B2),"[service]",D2),"Check template / راجع القالب"))`
- N2: `=IF(OR(P2="",J2=""),"",IFERROR(SUBSTITUTE(SUBSTITUTE(INDEX(Templates!$D$2:$D$5,INDEX(Settings!$E$2:$E$8,P2)),"[Name]",B2),"[service]",D2),"Check template / راجع القالب"))`
- O2: `=IF(OR(P2="",A2=""),"",IF(J2<>"",J2+ROW()/100000,IF(COUNT(INDEX(Settings!$C$2:$C$8,P2))=0,"",A2+ROW()/100000)))`
- P2: `=IF(OR(A2="",G2=""),"",IFERROR(MATCH(G2,Settings!$A$2:$A$8,0),""))`
- A3: `=TODAY()-4`
- B3: `FICTIONAL CUSTOMER B`
- C3: `+968 0000 0001`
- D3: `Annual maintenance contract (villa, 5 units)`
- E3: `Call`
- F3: `240`
- G3: `Quote sent`
- I3: `=IF(A3="","",MAX(0,TODAY()-A3))`
- J3: `=IF(OR(P3="",A3=""),"",IF(COUNT(INDEX(Settings!$C$2:$C$8,P3))=0,"",IF(AND(INDEX(Settings!$D$2:$D$8,P3)="H",H3=""),"",IF(INDEX(Settings!$D$2:$D$8,P3)="A",A3,IF(INDEX(Settings!$D$2:$D$8,P3)="HA",IF(H3="",A3,H3),H3))+INDEX(Settings!$C$2:$C$8,P3))))`
- K3: `=IF(A3="",IF(B3<>"","Add date / أدخل تاريخ الاستفسار",""),IF(G3="","Set status / اختر الحالة",IF(P3="","Check status / راجع الحالة",IF(COUNT(INDEX(Settings!$C$2:$C$8,P3))=0,"Closed / مغلق",IF(AND(INDEX(Settings!$D$2:$D$8,P3)="H",H3=""),"Add last follow-up date / أدخل تاريخ آخر متابعة",IF(J3<TODAY(),"OVERDUE / متأخر",IF(J3=TODAY(),"DUE TODAY / مستحق اليوم","Upcoming / قادم")))))))`
- L3: `=IF(P3="","",INDEX(Settings!$B$2:$B$8,P3))`
- M3: `=IF(OR(P3="",J3=""),"",IFERROR(SUBSTITUTE(SUBSTITUTE(INDEX(Templates!$C$2:$C$5,INDEX(Settings!$E$2:$E$8,P3)),"[Name]",B3),"[service]",D3),"Check template / راجع القالب"))`
- N3: `=IF(OR(P3="",J3=""),"",IFERROR(SUBSTITUTE(SUBSTITUTE(INDEX(Templates!$D$2:$D$5,INDEX(Settings!$E$2:$E$8,P3)),"[Name]",B3),"[service]",D3),"Check template / راجع القالب"))`
- O3: `=IF(OR(P3="",A3=""),"",IF(J3<>"",J3+ROW()/100000,IF(COUNT(INDEX(Settings!$C$2:$C$8,P3))=0,"",A3+ROW()/100000)))`
- P3: `=IF(OR(A3="",G3=""),"",IFERROR(MATCH(G3,Settings!$A$2:$A$8,0),""))`
- A4: `=TODAY()-8`
- B4: `FICTIONAL CUSTOMER C`
- C4: `+968 0000 0002`
- D4: `Install 2 split units`
- E4: `WhatsApp`
- F4: `310`
- G4: `Follow-up 1`
- H4: `=TODAY()-4`
- I4: `=IF(A4="","",MAX(0,TODAY()-A4))`
- J4: `=IF(OR(P4="",A4=""),"",IF(COUNT(INDEX(Settings!$C$2:$C$8,P4))=0,"",IF(AND(INDEX(Settings!$D$2:$D$8,P4)="H",H4=""),"",IF(INDEX(Settings!$D$2:$D$8,P4)="A",A4,IF(INDEX(Settings!$D$2:$D$8,P4)="HA",IF(H4="",A4,H4),H4))+INDEX(Settings!$C$2:$C$8,P4))))`
- K4: `=IF(A4="",IF(B4<>"","Add date / أدخل تاريخ الاستفسار",""),IF(G4="","Set status / اختر الحالة",IF(P4="","Check status / راجع الحالة",IF(COUNT(INDEX(Settings!$C$2:$C$8,P4))=0,"Closed / مغلق",IF(AND(INDEX(Settings!$D$2:$D$8,P4)="H",H4=""),"Add last follow-up date / أدخل تاريخ آخر متابعة",IF(J4<TODAY(),"OVERDUE / متأخر",IF(J4=TODAY(),"DUE TODAY / مستحق اليوم","Upcoming / قادم")))))))`
- L4: `=IF(P4="","",INDEX(Settings!$B$2:$B$8,P4))`
- M4: `=IF(OR(P4="",J4=""),"",IFERROR(SUBSTITUTE(SUBSTITUTE(INDEX(Templates!$C$2:$C$5,INDEX(Settings!$E$2:$E$8,P4)),"[Name]",B4),"[service]",D4),"Check template / راجع القالب"))`
- N4: `=IF(OR(P4="",J4=""),"",IFERROR(SUBSTITUTE(SUBSTITUTE(INDEX(Templates!$D$2:$D$5,INDEX(Settings!$E$2:$E$8,P4)),"[Name]",B4),"[service]",D4),"Check template / راجع القالب"))`
- O4: `=IF(OR(P4="",A4=""),"",IF(J4<>"",J4+ROW()/100000,IF(COUNT(INDEX(Settings!$C$2:$C$8,P4))=0,"",A4+ROW()/100000)))`
- P4: `=IF(OR(A4="",G4=""),"",IFERROR(MATCH(G4,Settings!$A$2:$A$8,0),""))`
- A5: `=TODAY()-15`
- B5: `FICTIONAL CUSTOMER D`
- C5: `+968 0000 0003`
- D5: `Duct AC repair (office)`
- E5: `Web form`
- F5: `120`
- G5: `Follow-up 2`
- H5: `=TODAY()-6`
- I5: `=IF(A5="","",MAX(0,TODAY()-A5))`
- J5: `=IF(OR(P5="",A5=""),"",IF(COUNT(INDEX(Settings!$C$2:$C$8,P5))=0,"",IF(AND(INDEX(Settings!$D$2:$D$8,P5)="H",H5=""),"",IF(INDEX(Settings!$D$2:$D$8,P5)="A",A5,IF(INDEX(Settings!$D$2:$D$8,P5)="HA",IF(H5="",A5,H5),H5))+INDEX(Settings!$C$2:$C$8,P5))))`
- K5: `=IF(A5="",IF(B5<>"","Add date / أدخل تاريخ الاستفسار",""),IF(G5="","Set status / اختر الحالة",IF(P5="","Check status / راجع الحالة",IF(COUNT(INDEX(Settings!$C$2:$C$8,P5))=0,"Closed / مغلق",IF(AND(INDEX(Settings!$D$2:$D$8,P5)="H",H5=""),"Add last follow-up date / أدخل تاريخ آخر متابعة",IF(J5<TODAY(),"OVERDUE / متأخر",IF(J5=TODAY(),"DUE TODAY / مستحق اليوم","Upcoming / قادم")))))))`
- L5: `=IF(P5="","",INDEX(Settings!$B$2:$B$8,P5))`
- M5: `=IF(OR(P5="",J5=""),"",IFERROR(SUBSTITUTE(SUBSTITUTE(INDEX(Templates!$C$2:$C$5,INDEX(Settings!$E$2:$E$8,P5)),"[Name]",B5),"[service]",D5),"Check template / راجع القالب"))`
- N5: `=IF(OR(P5="",J5=""),"",IFERROR(SUBSTITUTE(SUBSTITUTE(INDEX(Templates!$D$2:$D$5,INDEX(Settings!$E$2:$E$8,P5)),"[Name]",B5),"[service]",D5),"Check template / راجع القالب"))`
- O5: `=IF(OR(P5="",A5=""),"",IF(J5<>"",J5+ROW()/100000,IF(COUNT(INDEX(Settings!$C$2:$C$8,P5))=0,"",A5+ROW()/100000)))`
- P5: `=IF(OR(A5="",G5=""),"",IFERROR(MATCH(G5,Settings!$A$2:$A$8,0),""))`
- A6: `=TODAY()-10`
- B6: `FICTIONAL CUSTOMER E`
- C6: `+968 0000 0004`
- D6: `Split AC deep clean (3 units)`
- E6: `WhatsApp`
- F6: `45`
- G6: `Won`
- H6: `=TODAY()-6`
- I6: `=IF(A6="","",MAX(0,TODAY()-A6))`
- J6: `=IF(OR(P6="",A6=""),"",IF(COUNT(INDEX(Settings!$C$2:$C$8,P6))=0,"",IF(AND(INDEX(Settings!$D$2:$D$8,P6)="H",H6=""),"",IF(INDEX(Settings!$D$2:$D$8,P6)="A",A6,IF(INDEX(Settings!$D$2:$D$8,P6)="HA",IF(H6="",A6,H6),H6))+INDEX(Settings!$C$2:$C$8,P6))))`
- K6: `=IF(A6="",IF(B6<>"","Add date / أدخل تاريخ الاستفسار",""),IF(G6="","Set status / اختر الحالة",IF(P6="","Check status / راجع الحالة",IF(COUNT(INDEX(Settings!$C$2:$C$8,P6))=0,"Closed / مغلق",IF(AND(INDEX(Settings!$D$2:$D$8,P6)="H",H6=""),"Add last follow-up date / أدخل تاريخ آخر متابعة",IF(J6<TODAY(),"OVERDUE / متأخر",IF(J6=TODAY(),"DUE TODAY / مستحق اليوم","Upcoming / قادم")))))))`
- L6: `=IF(P6="","",INDEX(Settings!$B$2:$B$8,P6))`
- M6: `=IF(OR(P6="",J6=""),"",IFERROR(SUBSTITUTE(SUBSTITUTE(INDEX(Templates!$C$2:$C$5,INDEX(Settings!$E$2:$E$8,P6)),"[Name]",B6),"[service]",D6),"Check template / راجع القالب"))`
- N6: `=IF(OR(P6="",J6=""),"",IFERROR(SUBSTITUTE(SUBSTITUTE(INDEX(Templates!$D$2:$D$5,INDEX(Settings!$E$2:$E$8,P6)),"[Name]",B6),"[service]",D6),"Check template / راجع القالب"))`
- O6: `=IF(OR(P6="",A6=""),"",IF(J6<>"",J6+ROW()/100000,IF(COUNT(INDEX(Settings!$C$2:$C$8,P6))=0,"",A6+ROW()/100000)))`
- P6: `=IF(OR(A6="",G6=""),"",IFERROR(MATCH(G6,Settings!$A$2:$A$8,0),""))`
- A7: `=TODAY()-18`
- B7: `FICTIONAL CUSTOMER F`
- C7: `+968 0000 0005`
- D7: `Compressor replacement`
- E7: `Call`
- F7: `95`
- G7: `Lost`
- H7: `=TODAY()-9`
- I7: `=IF(A7="","",MAX(0,TODAY()-A7))`
- J7: `=IF(OR(P7="",A7=""),"",IF(COUNT(INDEX(Settings!$C$2:$C$8,P7))=0,"",IF(AND(INDEX(Settings!$D$2:$D$8,P7)="H",H7=""),"",IF(INDEX(Settings!$D$2:$D$8,P7)="A",A7,IF(INDEX(Settings!$D$2:$D$8,P7)="HA",IF(H7="",A7,H7),H7))+INDEX(Settings!$C$2:$C$8,P7))))`
- K7: `=IF(A7="",IF(B7<>"","Add date / أدخل تاريخ الاستفسار",""),IF(G7="","Set status / اختر الحالة",IF(P7="","Check status / راجع الحالة",IF(COUNT(INDEX(Settings!$C$2:$C$8,P7))=0,"Closed / مغلق",IF(AND(INDEX(Settings!$D$2:$D$8,P7)="H",H7=""),"Add last follow-up date / أدخل تاريخ آخر متابعة",IF(J7<TODAY(),"OVERDUE / متأخر",IF(J7=TODAY(),"DUE TODAY / مستحق اليوم","Upcoming / قادم")))))))`
- L7: `=IF(P7="","",INDEX(Settings!$B$2:$B$8,P7))`
- M7: `=IF(OR(P7="",J7=""),"",IFERROR(SUBSTITUTE(SUBSTITUTE(INDEX(Templates!$C$2:$C$5,INDEX(Settings!$E$2:$E$8,P7)),"[Name]",B7),"[service]",D7),"Check template / راجع القالب"))`
- N7: `=IF(OR(P7="",J7=""),"",IFERROR(SUBSTITUTE(SUBSTITUTE(INDEX(Templates!$D$2:$D$5,INDEX(Settings!$E$2:$E$8,P7)),"[Name]",B7),"[service]",D7),"Check template / راجع القالب"))`
- O7: `=IF(OR(P7="",A7=""),"",IF(J7<>"",J7+ROW()/100000,IF(COUNT(INDEX(Settings!$C$2:$C$8,P7))=0,"",A7+ROW()/100000)))`
- P7: `=IF(OR(A7="",G7=""),"",IFERROR(MATCH(G7,Settings!$A$2:$A$8,0),""))`
- A8: `=TODAY()-25`
- B8: `FICTIONAL CUSTOMER G`
- C8: `+968 0000 0006`
- D8: `Window AC replacement`
- E8: `WhatsApp`
- F8: `60`
- G8: `No reply (closed)`
- H8: `=TODAY()-8`
- I8: `=IF(A8="","",MAX(0,TODAY()-A8))`
- J8: `=IF(OR(P8="",A8=""),"",IF(COUNT(INDEX(Settings!$C$2:$C$8,P8))=0,"",IF(AND(INDEX(Settings!$D$2:$D$8,P8)="H",H8=""),"",IF(INDEX(Settings!$D$2:$D$8,P8)="A",A8,IF(INDEX(Settings!$D$2:$D$8,P8)="HA",IF(H8="",A8,H8),H8))+INDEX(Settings!$C$2:$C$8,P8))))`
- K8: `=IF(A8="",IF(B8<>"","Add date / أدخل تاريخ الاستفسار",""),IF(G8="","Set status / اختر الحالة",IF(P8="","Check status / راجع الحالة",IF(COUNT(INDEX(Settings!$C$2:$C$8,P8))=0,"Closed / مغلق",IF(AND(INDEX(Settings!$D$2:$D$8,P8)="H",H8=""),"Add last follow-up date / أدخل تاريخ آخر متابعة",IF(J8<TODAY(),"OVERDUE / متأخر",IF(J8=TODAY(),"DUE TODAY / مستحق اليوم","Upcoming / قادم")))))))`
- L8: `=IF(P8="","",INDEX(Settings!$B$2:$B$8,P8))`
- M8: `=IF(OR(P8="",J8=""),"",IFERROR(SUBSTITUTE(SUBSTITUTE(INDEX(Templates!$C$2:$C$5,INDEX(Settings!$E$2:$E$8,P8)),"[Name]",B8),"[service]",D8),"Check template / راجع القالب"))`
- N8: `=IF(OR(P8="",J8=""),"",IFERROR(SUBSTITUTE(SUBSTITUTE(INDEX(Templates!$D$2:$D$5,INDEX(Settings!$E$2:$E$8,P8)),"[Name]",B8),"[service]",D8),"Check template / راجع القالب"))`
- O8: `=IF(OR(P8="",A8=""),"",IF(J8<>"",J8+ROW()/100000,IF(COUNT(INDEX(Settings!$C$2:$C$8,P8))=0,"",A8+ROW()/100000)))`
- P8: `=IF(OR(A8="",G8=""),"",IFERROR(MATCH(G8,Settings!$A$2:$A$8,0),""))`
- A9: `=TODAY()-2`
- B9: `FICTIONAL CUSTOMER H`
- C9: `+968 0000 0007`
- D9: `Shop AC servicing (4 units)`
- E9: `WhatsApp`
- F9: `80`
- G9: `Quote sent`
- I9: `=IF(A9="","",MAX(0,TODAY()-A9))`
- J9: `=IF(OR(P9="",A9=""),"",IF(COUNT(INDEX(Settings!$C$2:$C$8,P9))=0,"",IF(AND(INDEX(Settings!$D$2:$D$8,P9)="H",H9=""),"",IF(INDEX(Settings!$D$2:$D$8,P9)="A",A9,IF(INDEX(Settings!$D$2:$D$8,P9)="HA",IF(H9="",A9,H9),H9))+INDEX(Settings!$C$2:$C$8,P9))))`
- K9: `=IF(A9="",IF(B9<>"","Add date / أدخل تاريخ الاستفسار",""),IF(G9="","Set status / اختر الحالة",IF(P9="","Check status / راجع الحالة",IF(COUNT(INDEX(Settings!$C$2:$C$8,P9))=0,"Closed / مغلق",IF(AND(INDEX(Settings!$D$2:$D$8,P9)="H",H9=""),"Add last follow-up date / أدخل تاريخ آخر متابعة",IF(J9<TODAY(),"OVERDUE / متأخر",IF(J9=TODAY(),"DUE TODAY / مستحق اليوم","Upcoming / قادم")))))))`
- L9: `=IF(P9="","",INDEX(Settings!$B$2:$B$8,P9))`
- M9: `=IF(OR(P9="",J9=""),"",IFERROR(SUBSTITUTE(SUBSTITUTE(INDEX(Templates!$C$2:$C$5,INDEX(Settings!$E$2:$E$8,P9)),"[Name]",B9),"[service]",D9),"Check template / راجع القالب"))`
- N9: `=IF(OR(P9="",J9=""),"",IFERROR(SUBSTITUTE(SUBSTITUTE(INDEX(Templates!$D$2:$D$5,INDEX(Settings!$E$2:$E$8,P9)),"[Name]",B9),"[service]",D9),"Check template / راجع القالب"))`
- O9: `=IF(OR(P9="",A9=""),"",IF(J9<>"",J9+ROW()/100000,IF(COUNT(INDEX(Settings!$C$2:$C$8,P9))=0,"",A9+ROW()/100000)))`
- P9: `=IF(OR(A9="",G9=""),"",IFERROR(MATCH(G9,Settings!$A$2:$A$8,0),""))`
- I10: `=IF(A10="","",MAX(0,TODAY()-A10))`
- J10: `=IF(OR(P10="",A10=""),"",IF(COUNT(INDEX(Settings!$C$2:$C$8,P10))=0,"",IF(AND(INDEX(Settings!$D$2:$D$8,P10)="H",H10=""),"",IF(INDEX(Settings!$D$2:$D$8,P10)="A",A10,IF(INDEX(Settings!$D$2:$D$8,P10)="HA",IF(H10="",A10,H10),H10))+INDEX(Settings!$C$2:$C$8,P10))))`
- K10: `=IF(A10="",IF(B10<>"","Add date / أدخل تاريخ الاستفسار",""),IF(G10="","Set status / اختر الحالة",IF(P10="","Check status / راجع الحالة",IF(COUNT(INDEX(Settings!$C$2:$C$8,P10))=0,"Closed / مغلق",IF(AND(INDEX(Settings!$D$2:$D$8,P10)="H",H10=""),"Add last follow-up date / أدخل تاريخ آخر متابعة",IF(J10<TODAY(),"OVERDUE / متأخر",IF(J10=TODAY(),"DUE TODAY / مستحق اليوم","Upcoming / قادم")))))))`
- L10: `=IF(P10="","",INDEX(Settings!$B$2:$B$8,P10))`
- M10: `=IF(OR(P10="",J10=""),"",IFERROR(SUBSTITUTE(SUBSTITUTE(INDEX(Templates!$C$2:$C$5,INDEX(Settings!$E$2:$E$8,P10)),"[Name]",B10),"[service]",D10),"Check template / راجع القالب"))`
- N10: `=IF(OR(P10="",J10=""),"",IFERROR(SUBSTITUTE(SUBSTITUTE(INDEX(Templates!$D$2:$D$5,INDEX(Settings!$E$2:$E$8,P10)),"[Name]",B10),"[service]",D10),"Check template / راجع القالب"))`
- O10: `=IF(OR(P10="",A10=""),"",IF(J10<>"",J10+ROW()/100000,IF(COUNT(INDEX(Settings!$C$2:$C$8,P10))=0,"",A10+ROW()/100000)))`
- P10: `=IF(OR(A10="",G10=""),"",IFERROR(MATCH(G10,Settings!$A$2:$A$8,0),""))`
- I11: `=IF(A11="","",MAX(0,TODAY()-A11))`
- J11: `=IF(OR(P11="",A11=""),"",IF(COUNT(INDEX(Settings!$C$2:$C$8,P11))=0,"",IF(AND(INDEX(Settings!$D$2:$D$8,P11)="H",H11=""),"",IF(INDEX(Settings!$D$2:$D$8,P11)="A",A11,IF(INDEX(Settings!$D$2:$D$8,P11)="HA",IF(H11="",A11,H11),H11))+INDEX(Settings!$C$2:$C$8,P11))))`
- K11: `=IF(A11="",IF(B11<>"","Add date / أدخل تاريخ الاستفسار",""),IF(G11="","Set status / اختر الحالة",IF(P11="","Check status / راجع الحالة",IF(COUNT(INDEX(Settings!$C$2:$C$8,P11))=0,"Closed / مغلق",IF(AND(INDEX(Settings!$D$2:$D$8,P11)="H",H11=""),"Add last follow-up date / أدخل تاريخ آخر متابعة",IF(J11<TODAY(),"OVERDUE / متأخر",IF(J11=TODAY(),"DUE TODAY / مستحق اليوم","Upcoming / قادم")))))))`
- L11: `=IF(P11="","",INDEX(Settings!$B$2:$B$8,P11))`
- M11: `=IF(OR(P11="",J11=""),"",IFERROR(SUBSTITUTE(SUBSTITUTE(INDEX(Templates!$C$2:$C$5,INDEX(Settings!$E$2:$E$8,P11)),"[Name]",B11),"[service]",D11),"Check template / راجع القالب"))`
- N11: `=IF(OR(P11="",J11=""),"",IFERROR(SUBSTITUTE(SUBSTITUTE(INDEX(Templates!$D$2:$D$5,INDEX(Settings!$E$2:$E$8,P11)),"[Name]",B11),"[service]",D11),"Check template / راجع القالب"))`
- O11: `=IF(OR(P11="",A11=""),"",IF(J11<>"",J11+ROW()/100000,IF(COUNT(INDEX(Settings!$C$2:$C$8,P11))=0,"",A11+ROW()/100000)))`
- P11: `=IF(OR(A11="",G11=""),"",IFERROR(MATCH(G11,Settings!$A$2:$A$8,0),""))`
- I12: `=IF(A12="","",MAX(0,TODAY()-A12))`
- J12: `=IF(OR(P12="",A12=""),"",IF(COUNT(INDEX(Settings!$C$2:$C$8,P12))=0,"",IF(AND(INDEX(Settings!$D$2:$D$8,P12)="H",H12=""),"",IF(INDEX(Settings!$D$2:$D$8,P12)="A",A12,IF(INDEX(Settings!$D$2:$D$8,P12)="HA",IF(H12="",A12,H12),H12))+INDEX(Settings!$C$2:$C$8,P12))))`
- K12: `=IF(A12="",IF(B12<>"","Add date / أدخل تاريخ الاستفسار",""),IF(G12="","Set status / اختر الحالة",IF(P12="","Check status / راجع الحالة",IF(COUNT(INDEX(Settings!$C$2:$C$8,P12))=0,"Closed / مغلق",IF(AND(INDEX(Settings!$D$2:$D$8,P12)="H",H12=""),"Add last follow-up date / أدخل تاريخ آخر متابعة",IF(J12<TODAY(),"OVERDUE / متأخر",IF(J12=TODAY(),"DUE TODAY / مستحق اليوم","Upcoming / قادم")))))))`
- L12: `=IF(P12="","",INDEX(Settings!$B$2:$B$8,P12))`
- M12: `=IF(OR(P12="",J12=""),"",IFERROR(SUBSTITUTE(SUBSTITUTE(INDEX(Templates!$C$2:$C$5,INDEX(Settings!$E$2:$E$8,P12)),"[Name]",B12),"[service]",D12),"Check template / راجع القالب"))`
- N12: `=IF(OR(P12="",J12=""),"",IFERROR(SUBSTITUTE(SUBSTITUTE(INDEX(Templates!$D$2:$D$5,INDEX(Settings!$E$2:$E$8,P12)),"[Name]",B12),"[service]",D12),"Check template / راجع القالب"))`
- O12: `=IF(OR(P12="",A12=""),"",IF(J12<>"",J12+ROW()/100000,IF(COUNT(INDEX(Settings!$C$2:$C$8,P12))=0,"",A12+ROW()/100000)))`
- P12: `=IF(OR(A12="",G12=""),"",IFERROR(MATCH(G12,Settings!$A$2:$A$8,0),""))`

## Sheet: Templates  (dimensions A1:D7, protected=True)

- A1: `#`
- B1: `Stage / المرحلة`
- C1: `English (copy-ready)`
- D1: `العربية (جاهز للنسخ)`
- A2: `1`
- B2: `New enquiry — acknowledge / استفسار جديد`
- C2: `Hello [Name], thank you for contacting us about [service]. We'll send you a quote shortly. Could you share the location and any photos of the unit?`
- D2: `السلام عليكم [Name]، شكراً لتواصلكم بخصوص [service]. سنرسل لكم عرض السعر قريباً. هل يمكنكم مشاركة الموقع وصور للجهاز؟`
- A3: `2`
- B3: `Quote sent — first check / عرض مُرسل`
- C3: `Hello [Name], just checking you received our quote for [service]. Happy to answer any questions or adjust the scope.`
- D3: `السلام عليكم [Name]، أردنا التأكد من وصول عرض السعر الخاص بـ [service]. يسعدنا الإجابة عن أي استفسار أو تعديل نطاق العمل.`
- A4: `3`
- B4: `Follow-up 1 / متابعة ١`
- C4: `Hello [Name], following up on the quote for [service]. If timing or budget is a concern, let us know and we'll see what we can do.`
- D4: `السلام عليكم [Name]، نتابع معكم بخصوص عرض [service]. إذا كان الوقت أو الميزانية يشكلان عائقاً فأخبرونا لنرى ما يمكننا فعله.`
- A5: `4`
- B5: `Follow-up 2 — final / متابعة ٢ (أخيرة)`
- C5: `Hello [Name], we haven't heard back, so we'll close the quote for [service] for now. Message us any time to reopen it.`
- D5: `السلام عليكم [Name]، لم يصلنا رد، لذا سنغلق عرض [service] حالياً. يمكنكم مراسلتنا في أي وقت لإعادة فتحه.`
- A7: `Keep [Name] and [service] in the text: they are filled in automatically. Arabic is a draft; have a native speaker review it. / أبقِ [Name] و [service] في النص. النص العربي مسودة.`

## Sheet: Settings  (dimensions A1:G10, protected=True)

- A1: `Status`
- B1: `الحالة`
- C1: `Next follow-up after (days)`
- D1: `Counted from (A = enquiry date, H = last follow-up, HA = last follow-up if entered, else enquiry date)`
- E1: `Template #`
- G1: `Channels / القنوات`
- A2: `New enquiry`
- B2: `استفسار جديد`
- C2: `1`
- D2: `A`
- E2: `1`
- G2: `WhatsApp`
- A3: `Quote sent`
- B3: `عرض سعر مُرسل`
- C3: `3`
- D3: `HA`
- E3: `2`
- G3: `Call`
- A4: `Follow-up 1`
- B4: `متابعة ١`
- C4: `4`
- D4: `H`
- E4: `3`
- G4: `Web form`
- A5: `Follow-up 2`
- B5: `متابعة ٢`
- C5: `7`
- D5: `H`
- E5: `4`
- G5: `Walk-in`
- A6: `Won`
- B6: `تم قبول العرض`
- G6: `Other`
- A7: `Lost`
- B7: `لم يتم قبول العرض`
- A8: `No reply (closed)`
- B8: `لم يرد العميل (مغلق)`
- A10: `Yellow cells are yours to edit: change the delay days to change how fast reminders fire. / الخلايا الصفراء قابلة للتعديل: غيّر عدد الأيام لتغيير موعد التذكير.`