Küçük ekipler için basit kalan hafif CRM şeması
Kişiler, Fırsatlar, Aktiviteler ve izinleri basit tutan, güvenilir raporlama ve günlük iş akışlarını destekleyen hafif bir CRM şeması kurun.

Bu CRM şeması hangi sorunu çözmeli
Küçük bir ekip, günlük soruları hızla cevaplayan bir CRM'e ihtiyaç duyar: Kiminle konuşuyoruz, neyi kapatmaya çalışıyoruz, en son ne oldu ve sırada ne var. Hafif bir CRM şemasının gerçek görevi budur. Bu sorulara hizmet etmeyen çoğu şey genellikle gürültüdür.
Küçük ekipler nadiren derin hesap hiyerarşilerine, onlarca özel nesneye veya karmaşık puanlama modellerine ihtiyaç duyar. İhtiyaç duydukları şeyler açık sahiplik, dokunuşların basit bir geçmişi ve herkesin aynı şekilde anladığı bir pipeline'dır.
“Basit”, serbest metne ve çoğaltmalara bağlı olduğunda bozulur. Biri fırsat aşamasını "Negotiation" olarak yazıp diğeri "negotiating" yazarsa, raporlar tahmine dönüşür. Aktiviteler arama, toplantı ve notlar için ayrı tablolarda saklanırsa, birden fazla tarih alanı ve güvenilir bir “son dokunuş” değeri olmaz.
Bu şema, küçük ekiplerin çoğunu canavarlaştırmadan karşılayan dört temel nesneye bağlı kalır:
- Kişiler (ve isteğe bağlı olarak kuruluşlar) — konuştuğunuz insanlar
- Fırsatlar — pipeline boyunca takip ettiğiniz satış fırsatları
- Aktiviteler — görevler, toplantılar, çağrılar ve notlar için tekil bir kayıt
- İzinler — kim neyi görebilir ve düzenleyebilir sorusuna pratik kurallar
Temiz raporlama, bu hafta aşamaya göre fırsatları, aşamadan aşamaya dönüşüm oranını, aşamada geçirilen ortalama süreyi, fırsat başına son aktiviteyi ve her temsilcinin bugünkü açık görevlerini güvenilir şekilde görmenizi sağlar. Bu raporlar ekip 3 kişiden 15'e çıktığında da anlamlı kalmalıdır.
Eğer dahili bir CRM'i no-code bir araçta, örneğin AppMaster kullanarak inşa ediyorsanız, bu yaklaşım veritabanını küçük tutarken panolar ve haftalık incelemeler için istikrarlı sayılar sağlar.
Kendinizi sınırlamadan hafif kalma ilkeleri
Hafif bir CRM şeması, bir gerçeğin nerede saklandığını açıkça yanıtladığında işe yarar. Aynı “gerçek” iki yerde saklanabiliyorsa, saklanacaktır ve raporlarınız sapmaya başlar.
Kaynak gerçek (source-of-truth) nesnelerin küçük bir setini seçin ve her şeyi onlara işaret ettirin. Çoğu küçük ekip için bu Kişiler, Kuruluşlar (opsiyonel), Fırsatlar ve Aktiviteler demektir. Daha fazla ayrıntıya ihtiyaç duyduğunuzda, tek bir metin alanına her şeyi tıkmak yerine yeni bir tablo ekleyin; aksi takdirde o alan çöp çekmecesine dönüşür.
Modeli basit ve esnek tutacak birkaç kural:
- Bir gerçek, bir ev: telefon numarası Contact'a ait, fırsat değeri Deal'e ait.
- Aşırı yüklenmiş alanlar yerine açık tabloları tercih edin: aşama geçmişi virgülle ayrılmış bir dizi değildir.
- ID'leri sabit, isimleri düzenlenebilir tutun: insanlar şirketleri yeniden adlandırır, birincil anahtarları değiştirmezler.
- “Durum”u “tür”den ayırın: bir görev aynı anda hem “open” hem de “call” olabilir.
- İçe aktarmaların dağınık olacağını varsayın: boşlar, kopyalar ve tuhaf biçimlendirmeler normaldir.
Dağınık veriye ilk günden hazırlıklı olmak için birkaç sıkıcı ama güçlü alan ekleyin: created_at, updated_at ve çekirdek tablolarda basit bir external_id (veya import_source + import_key). Bu, yeniden içe aktarma yaparken kopyalar oluşturmanızı engelleyen güvenli bir yol sunar.
Somut bir örnek: "Acme Inc." bir tabloda yarısı "ACME" olarak geliyorsa, Organization.name düzenlenebilir ve Organization.id sabitse, kayıtları daha sonra birleştirebilir ve mevcut fırsatları ve aktiviteleri bozmadan düzeltebilirsiniz.
Kişiler ve kuruluşlar: işe yarayan en basit yapı
Hafif bir CRM şeması bir kararla başlar: sadece insanları mı takip edeceksiniz, yoksa insan + şirket mi? Ekibiniz işletmelere satıyorsa, genellikle hem Contact (kişi) hem de Organization (şirket) tutmak istersiniz. Son kullanıcıya (B2C) satıyorsanız kuruluşları atlayıp her kaydı bir kişi olarak tutabilirsiniz.
B2B için ilişkiyi basit tutun: her iletişim birincil bir kuruluşa ait olsun (nullable), ve bir kuruluşun birçok kişisi olabilir. Bu, çoğu küçük ekip iş akışını karmaşık hesap hiyerarşilerine itmeden kapsar.
Zorunlu alanları minimal tutun
Çok fazla alanı zorunlu kılmak veriyi kirletmenin en hızlı yoludur. İyi bir başlangıç:
- Contact:
id, isim (veyafirst_name+last_name),created_at - Organization:
id,name,created_at
Diğer her şey (iş unvanı, web sitesi, adres, sektör, kaynak) isteğe bağlı olabilir. Kuruluşu yer tutucularla doldurmak zordur.
E-posta ve telefon: acı vermeyen benzersizlik
E-postayı benzersiz yapmak cazip gelir. Bu, B2C veya CRM'iniz aynı zamanda giriş sistemi ise iyi çalışır. Küçük B2B ekiplerde ise ortak posta kutuları (sales@, info@) ve tekrar kullanılan telefon numaraları yaygındır. Katı benzersizlik kuralları geçerli kayıtları engelleyebilir.
Pratik bir uzlaşma:
- Değer mevcutsa benzersizliği zorlayın (ve yalnızca iş akışınıza uygunsa).
- Kopyalara izin verin, ancak bir eşleşme bulunduğunda UI'da yumuşak bir uyarı gösterin.
Birden fazla e-posta veya telefon gerekiyorsa, email_2 veya phone_3 gibi sütunlar eklemekten kaçının. Bunun yerine ayrı bir tablo kullanın (örneğin ContactMethod ile type, value, is_primary). Raporlama temiz kalır ve model doğal olarak ölçeklenir.
Örnek: ekip Pat ile tanışır ve Pat çeyreğin ortasında iş değiştirir. Contact, Organization ile bağlıysa Pat'ı yeni şirkete taşıyabilir, eski iletişim yöntemlerini geçmiş için saklayabilir ve raporlar hâlâ şirket bazında fırsatları doğru sayar.
Fırsatlar (Deals) ve pipeline: okunabilir kalan yapı
Bir fırsat, tahminleme biriminizdir: net bir sonraki adımı olan potansiyel satın alma. Fırsat kaydını küçük tutun ve her şeyi referansla ilişkilendirin.
Herkese açıklanabilecek alanlarla başlayın:
- Fırsat adı: listede anlamlı kısa bir etiket
- Aşama: pipeline aşamasına referans (elle yazılmamalı)
- Değer: beklenen tutar (tüm sistem için tek bir para birimi seçin)
- Sahip: ilerletmekten sorumlu kişi
- Kapanış tarihi: kapanış için en iyi mevcut tahmin
İlişkiler için, fırsat üzerinde bir birincil iletişim seçin. Bu raporlamayı basit tutar (örneğin, kişi bazında gelir, segment bazında kazanma oranı). Ara sıra daha fazla kişi gerekiyorsa deal_contacts tablosu ekleyerek ekstra kişileri iliştirebilirsiniz. Çoğu küçük ekip, bir birincil kişi + isteğe bağlı katılımcılar ile idare eder.
Aşamalar (stages), CRM'lerin sıkça karmaşıklaştığı yerdir. Aşamayı serbest metin olarak saklamayın. Aşamaları referans verisi olarak saklayın ki bir aşamayı daha sonra yeniden adlandırdığınızda raporlar bozulmasın. Minimal bir aşama tablosu şunları içerebilir:
stage_idpipeline_idstage_namestage_orderis_closed(veya kazanıldı/kaybedildi için ayrı bayraklar)
Ekip küçükse, kayıtları “lead” ve “deal” olarak ayırmaktan kaçının, eğer gerçekten lead'leri farklı yönetmiyorsanız. Basit bir kural işe yarar: gerçek bir takip etmeye değer fırsatınız olduğunda onu bir deal (fırsat) yapın. Öncesinde, bir kişiyi "new" veya "nurture" gibi bir statüde tutun. Bu pipeline'ı okunabilir tutar ve yarım oluşturulmuş fırsatların sayılarını kirletmesini engeller.
Örnek: iki kişilik bir satış ekibi “Acme Renewal” adlı bir fırsatı Sam'in sahip olduğu, aşaması "Proposal Sent" olan, değeri 12.000 ve kapanış tarihi gelecek ay olarak takip eder. Birincil iletişim alıcıdır, ikinci iletişim ise finans onaylayıcısıdır. Aşama adları ve sıralama sabit olduğundan raporlar tutarlı kalır.
Aktiviteler: görevler, toplantılar ve notlar için tek model
Küçük bir ekip çağrılar, e-postalar, toplantılar ve notlar için ayrı tablolara ihtiyaç duymaz. Tek bir Activity modeli genellikle yeterlidir ve CRM'i kullanmayı ve raporlamayı kolaylaştırır.
Tek bir Activity tablosu
Gerçekleşen (veya gerçekleşmesi gereken) her şey için bir kayıt kullanın. type alanına küçük, sabit bir set verin: call, email, meeting, note, task gibi. Listeyi kısa tutun ki insanlar her seferinde aynı kelimeyi seçsin.
Aktiviteleri karışıklığa düşürmeden ilişkilendirmek için açık kurallar koyun:
- Kişiyle ilgiliyse (takip çağrısı, tanıtım e-postası) contact'e bağlayın.
- Geliri hareket ettirmekle ilgiliyse (fiyatlandırma görüşmesi, pazarlık toplantısı) deal'e bağlayın.
- Gerçekten her ikisini de içeriyorsa, her ikisine de bağlayın ama pipeline raporlaması için deal'i birincil kabul edin.
Pratikte Activity, contact_id (nullable) ve deal_id (nullable) ve isteğe bağlı bir owner_id (kimin sorumlu olduğu) içerebilir.
Raporlamaya uygun zaman damgaları
Hem due_at hem de completed_at alanlarını tutun. Bunlar farklı sorulara cevap verir. due_at neyin olması gerektiğini (planlama ve iş yükü), completed_at ise neyin gerçekten olduğunu (uygulama ve çevrim süresi) söyler.
Durumu ayrı bir alan olmadan türetebilirsiniz: completed_at doluysa tamamlanmıştır. Değilse açıktır. Bu, senkronizasyon dışına çıkan ekstra durum değerlerinden kaçınır.
Aktivite metni için bir arama alanı olarak tek bir alan (summary veya body) saklayın. Notları erken aşamada aşırı yapılandırmaktan kaçının. Örnek: “Maya ile görüşme: bütçe onaylandı, Cuma teklif gönderilecek.” Gerçek acı hissettiğinizde özel alanlar ekleyin.
Sahiplik ve görünürlük: pratik tutun
Sahiplik, bir sonraki adımdan kimin sorumlu olduğunu gösterir. Hafif bir CRM şemasında bu genellikle owner_user_id gibi bir alan anlamına gelir (fırsatta ve sıklıkla kontaklarda da).
“Sahip” sözcüğünün iki anlamı karışır: kullanıcı ataması (birey) ve takım ataması (grup). Her şeyi baştan takım sahipliğine çevirmeye çalışırsanız, bugün kimin hareket etmesi gerektiği konusunda netlik kaybolur.
Çoğu küçük ekip için işe yarayan bir varsayılan: her şey herkese görünür, ama her fırsatın tam olarak bir sahibi vardır. Böylece işbirliği kolay kalır ve birinin yerine başkasının bakması gerektiğinde izin kenar durumlarıyla uğraşmazsınız.
Daha katı görünürlük gerektiğinde, bunu karmaşık bir matris yerine tek bir anahtar olarak tutun. Örneğin, fırsatlarda ve aktivitelerde visibility alanı ekleyin: public veya private; private, “sadece sahip (ve admin) görebilir” anlamına gelsin.
Takımlar veya bölgeler gerektiğinde şu durumlardan biri geçerliyse ekleyin:
- Ayrı grupların birbirlerinin fırsatlarını görmemesi gerekiyorsa.
- Performans takım bazında raporlanmalı ve insanlar takımlar arasında hareket ediyorsa.
- Yöneticiler kendi grubunu görmeli ama tüm şirketi değil.
- Lead'leri bir paylaşılan kuyruğa atıp temsilci sahiplenene kadar bekletiyorsanız.
Sahiplik raporlamayı etkiler. "Rep'e göre" temiz sayılar istiyorsanız, raporu fırsattaki güncel owner_user_id üzerinden alın. "Takım bazlı" toplamlar isteniyorsa owner_team_id ekleyin (veya sahibin profilden türetin), ama hangi alanın kaynak olduğunu açıkça belirtin.
Örnek: iki temsilci ortak bir posta kutusunu paylaşır. Yeni bir fırsat atanmamış olarak başlar (owner_user_id = null, owner_team_id = Sales). Alex devralınca owner_user_id = Alex olarak ayarlanır (takımı Sales olarak bırakın). Pipeline okunur kalır ve takım toplamları çalışır.
İzin tasarımı: karmaşıklık olmadan yeterli kontrol
Basit RBAC ile başlayın
İzinler en iyi üç fikri ayırdığınızda çalışır: roller (kim), kaynaklar (ne) ve eylemler (ne yapabilir). Bu rol tabanlı erişim kontrolü (RBAC) büyüdükçe anlaşılır kalır.
Kaynakları çekirdek nesnelerinize yakın tutun: Contacts, Organizations, Deals, Activities ve gerekirse Pipelines (aşamalar düzenlenebiliyorsa). Üzerlerinde küçük, tutarlı bir eylem seti tanımlayın: view, create, edit, delete, export.
Export ayrı tutulmaya değer. Birçok ekip geniş görüntüleme haklarına razıyken toplu veri çekmeyi sınırlamak ister.
Nesne düzeyinde izinler başlamak için en kolay yoldur: “Bu rol fırsatları düzenleyebilir mi?” Çoğu küçük ekip için bu ayar aylarca yeterlidir. Kayıt düzeyinde kurallar (her kayıt için) karmaşıklığın çıktığı yerdir, bu yüzden gerçek bir ihtiyaç olduğunda ekleyin.
Pratik bir ilk adım olarak tek bir sahiplik kuralı yeterlidir: her kaydın owner_user_idsi olsun ve admin olmayanlar sadece sahip olduklarını düzenleyebilsin. Bir katman daha gerekiyorsa team_id ekleyin ve takım çapında görüntülemeye izin verin ama düzenlemeyi sahiple sınırlayın.
Kayıt düzeyinde kurallar gerektiğinde
Aşağıdaki durumlar gibi gerçekten ihtiyaç olduğunda kayıt düzeyinde izinler ekleyin:
- Satış temsilcileri birbirlerinin fırsatlarını görmemeli
- Destek fırsatları görebilir ama asla düzenleyemez
- Yöneticiler her şeyi görebilir ve sahipleri yeniden atayabilir
Denetim (audit) ihtiyaçlarını hafif ama gerçekçi tutun. Her ana tabloya created_at, created_by, updated_at ve updated_by ekleyin. Daha derin bir geçmiş gerektiğinde küçük bir audit_log tablosu ekleyin: object type, record id, action, who, when ve değişen alanların kısa bir JSON'u.
Adım adım: şemayı bir haftasonunda kurun
Bunu küçük bir ürün gibi ele almak en kolay yoldur: önce veriyi tanımlayın, gerçek girişlerle çalıştığını kanıtlayın, sonra ekranları inşa edin.
1. Gün: veri modelini kilitleyin
Hızlı bir ERD taslağı ile başlayın. Tablo sayısını küçük tutun ama bağlantılar konusunda net olun: contact bir organization'a ait (opsiyonel), deal bir pipeline'a ait ve bir sahibı var, activity bir contact'a ve/veya deal'e bağlı olabilir.
Sonra temelleri sırayla yapın:
- Nesneleri ve ilişkileri tanımlayın: contacts, organizations, deals, activities, users/roles ve gerekirse küçük lookup tablolar.
- Zorunlu alanlar ve varsayılanları tanımlayın:
created_at,owner_idve ana isimleri zorunlu kılın; aşama ve para birimi için varsayılanlar belirleyin. - Enum veya lookup tablolarını tanımlayın: raporlamanın tutarlı kalması için deal aşamaları ve activity türleri.
- Günlük filtreler için indeksler ekleyin:
owner_id, stage,due_at,created_atve sık filtrelediğiniz yabancı anahtarlar. - 20 gerçek kayıtla test edin: gerçek isimler, tarihler ve dağınık notlarla neyin kırıldığını görün.
2. Gün: raporlamanın temiz çalıştığını kanıtlayın
Formları inşa etmeden önce ekibinizin her hafta sorduğu 6-8 soruyu yazın. Örneğin: “Aşamada Negotiation olan fırsatlar sahip bazında”, “Gecikmiş aktiviteler”, “Bu ay yeni kişiler”, “Ay bazında kazanılan gelir”. Bir soru karmaşık join veya özel durum gerektiriyorsa, şemayı şimdi düzeltin.
Basit bir test senaryosu yardımcı olur: aynı şirkette 3 kişi, farklı aşamalarda 2 fırsat ve bunlara bağlı 6 aktivite (bir çağrı, bir toplantı, iki görev ve iki not) ekleyin. Sonra kimin sahibi olduğunu, sırada ne olduğunu ve geçen hafta ne değiştiğini tahmin etmeden cevaplayıp cevaplayamadığınızı kontrol edin.
Veri sağlam olduktan sonra UI ve otomasyonları son olarak inşa edin. Böylece daha hızlı ilerler ve raporların gerçeğe uyması için geçmişi yeniden yazmak zorunda kalmazsınız.
Raporlamayı kirleten yaygın hatalar
Raporlama genellikle bugün hızlı gelen ama sonraki haftalarda maliyetli olan “hızlı çözümler” ile kirlenir. Hafif bir CRM şeması, veriniz belirgin şekillerde olduğunda ve ekibin gerçekten takip ettiği birkaç kural olduğunda en iyi çalışır.
Yaygın bir tuzak her şeyi tek bir “müşteri” tablosuna zorlamaktır. Basit gelir soruları sorulduğunda ("Bir şirkete bağlı kaç fırsat var?" veya "Hangi kişi iş değiştirdi?") bu yaklaşım sorun çıkarır. İnsanları (contacts) ve şirketleri (organizations) ayrı tutun ve bağlayın.
Diğer bir rapor katili, fırsat aşamalarını serbest metin bırakmaktır. Bir kişi “Negotiation” yazarken diğeri “negotiating” yazarsa pipeline grafiğiniz zaten bozulmuştur. Her fırsatın aynı seti işaret ettiği sabit bir aşama listesi (veya aşama tablosu) kullanın.
Bir alana birden çok değeri sıkıştırmak da acı verir. Virgülle ayrılmış e-postalar veya telefon numaraları arama, kopya temizleme ve dışa aktarmayı zorlaştırır. Gerçekten birden fazla değere ihtiyacınız varsa, bunları ayrı satırlar halinde saklayın (örneğin her e-posta bir child kaydı).
Aktiviteler tarihlerin belirsiz olmasıyla karışır. Tek bir “tarih” alanı, bir görevin geçen Cuma tarihinin teslim tarihi mi yoksa tamamlanma tarihi mi olduğunu söyleyemez. Bu kavramları ayrı tutun ki gecikmiş işler ve tamamlanan işler doğru raporlanabilsin.
İşte gelecekteki sizi kurtaracak hızlı bir kontrol listesi:
- Kişileri ve kuruluşları ayırın, sonra bağlayın
- Aşama adları yerine aşama ID'leri kullanın
- Alan başına tek bir değer tutun; çoğullar için child tablo kullanın
due_atvecompleted_atalanlarını ayrı tutun- Basit rollerle başlayın; gerçek iş akışlarını gördükten sonra kayıt düzeyi kuralları ekleyin
Örnek: ekip çağrıları not olarak kaydedip sonra aynı alanı düzenleyerek “tamamlandı” yapıyorsa, takiplerin ne kadar sürdüğünü raporlayamazsınız. Ayrı alanlarla bu rapor kolaydır.
Şemaya karar vermeden önce hızlı kontrol listesi
Ekranları, otomasyonları ve panoları oluşturmadan önce bir raporlama ve kural kontrolü yapın. Hafif bir CRM şeması yalnızca ortak soruları özel çözümler veya tek-seferlik alanlar olmadan cevaplayabiliyorsa hafif kalır.
Bu kontrolleri gerçek örnek verilerle yapın (20 kişi ve 10 fırsat yeterli). Takılırsanız genelde eksik bir alan, tutarsız bir picklist veya fazla gevşek bir ilişki vardır.
Çoğu problemi yakalayan 5 kontrol
- Raporlama temelleri: Fırsatları aşamaya, sahibine ve kapanış ayına göre gruplayabiliyor musunuz, hangi tarih alanını kullanacağınız konusunda tahminde bulunmadan?
- İş yönetimi: "Sahibe göre gecikmiş aktiviteler" raporunu tek bir raporla çekebiliyor musunuz; gecikme tek bir due date ve net bir tamamlandı durumu ile tanımlı mı?
- Kişi ile kuruluş: Bir kişi kuruluşa bağlı olmadan var olabilir mi ve daha sonra e-posta, not ve fırsat geçmişini bozmadan bağlanabilir mi?
- Tutarlılık: Aşamalar ve aktivite tipleri sabit bir listeden mi geliyor, böylece "Follow up", "Follow-up" ve "Followup" gibi üç farklı değer oluşmuyor mu?
- Güvenlik: Kayıtları veya listeleri kimlerin silebileceğini veya dışa aktarabileceğini kısıtlayabiliyor musunuz, normal güncellemeleri (ör. bir fırsatı bir sonraki aşamaya taşıma) engellemeden?
Bu beşe "evet" diyebiliyorsanız iyi bir konumdasınız. Değilseniz, şema hâlâ küçükken şimdi düzeltin.
Pratik bir ipucu: aşamaları ve aktivite tiplerini bir tablo veya enum olarak bir kez tanımlayın ve her yerde yeniden kullanın ki her ekran ve süreç aynı değerleri kullansın.
Küçük ekip için gerçekçi bir örnek ve sonraki adımlar
5 kişilik bir ajans hafif CRM şeması için iyi bir testtir. Ekip meşgul, lead'ler her yerden gelir ve kimse veriyi sürekli düzeltmek istemez. Düşünün: 1 admin, 2 satış, 1 operasyon lideri ve 1 sadece raporları kontrol eden (readonly) kurucu.
Yeni bir inbound talep gelir (web formu veya e-posta): "Web sitesi yenileme, bütçe 15k, süre 6 hafta." Kural basittir: bir kuruluş (şirketse) ve bir kişi oluşturun. Sonra şirkete bağlı bir fırsat oluşturun, kişinin o fırsat için birincil kişi olmasını sağlayın.
Hızlı tutmak için küçük bir giriş kontrol listesi kullanırlar:
- Domain veya şirket adı mevcut bir kuruluşla eşleşiyorsa onu kullanın.
- Kişinin e-postası mevcutsa o kişiyi yeniden kullanın.
- Gerçek satın alma niyeti varsa mutlaka bir fırsat oluşturun.
- Orijinal mesajı fırsat açıklamasına koyun.
- Kaynak (referral, form, outbound) için tek bir alan kullanın.
Aktiviteler kaçırılan çağrıları engeller çünkü her sonraki adım tarihlendirilmiş bir öğe olur ve bir kişinin sorumluluğundadır. Satış keşif görüşmesi yaptığında, bir toplantı aktivitesi kaydeder ve hemen ardından iki gün sonra yapılacak bir çağrı ekler. Operasyon işi kapsamlandırmak için detaylara ihtiyaç duyduğunda, aynı fırsat üzerinde bir görev aktivitesi oluşturur ki her şey bir yerde görünsün.
Roller pratik tutulur: Admin her şeyi düzenleyebilir ve ayarları yönetir, Satış kişiler, fırsatlar ve kendi aktivitelerini oluşturup günceller, Operasyon teslimata ilişkin alanları ve aktiviteleri günceller, Read-only pipeline ve raporları değiştirmeden görür.
Bu modeli hızla çalışan bir dahili araca dönüştürmek isterseniz, AppMaster (appmaster.io) uygun bir seçenek olabilir: Data Designer'da (PostgreSQL) şemayı modelleyebilir, Business Process editöründe iş kuralları ekleyebilir, basit bir lead inbox ve fırsat sayfası oluşturabilir, sonra ekibinizle paylaşmaya hazır olduğunuzda AppMaster Cloud veya kendi bulutunuza dağıtabilirsiniz.
SSS
Dört temel nesne ile başlayın: Kişiler (people), Kuruluşlar (opsiyonel şirketler), Fırsatlar (opportunity/deal) ve Aktiviteler (tekleştirilmiş günlük). Ekibinizin sorduğu her soru bu nesnelerden birine denk geliyorsa, hızlı kalır ve raporlama bozulmaz.
Eğer B2B satıyorsanız ve şirket bazında raporlama yapmak veya bir müşteri altında birden çok kişi tutmak istiyorsanız Kuruluşlar tablosu faydalıdır. B2C veya yalnızca kişiye satış yapıyorsanız Kuruluşları atlayıp her kaydı Kişi olarak tutabilirsiniz.
Aşamaları serbest metin olarak saklamayın; yazım farklılıkları ve isim değişimleri panoları bozar. Aşamalar için sabit bir liste (veya aşama tablosu) kullanın ve her fırsatta bir stage_id tutun, böylece tarihsel veriyi kırmadan aşama adını yeniden adlandırabilirsiniz.
Zorunlu alanları minimum tutun: Kişiler ve Kuruluşlar için bir id, bir isim ve created_at. Fırsatlar için temel alanlar: aşama, sahip, değer ve kapanış tarihi. Fazla zorunlu alan, veritabanını "N/A" gibi yer tutucularla doldurur.
İş akışınıza uygun olmadıkça çoğaltmaları katı bir şekilde engellemeyin. Pratik bir varsayılan: kopyalara izin verin ama benzer bir e-posta veya telefon bulunduğunda UI'da yumuşak bir uyarı gösterin ve yeniden içe aktarmalar için external_id (veya import_key + import_source) ekleyin.
Çağrılar, toplantılar, notlar ve görevler için ayrı tablolar kullanmayın; bir Activity tablosu ile çoğu küçük ekip ihtiyacını karşılayabilirsiniz. type alanı için kısa, sabit bir liste kullanın: call, email, meeting, note, task gibi. Böylece "son temas", gecikmiş işler ve geçmiş tutarlı olur.
due_at ve completed_at alanlarını ayrı tutun çünkü farklı sorulara cevap verirler. due_at planlama ve gecikmiş raporlar için, completed_at ise gerçekleştirme ve çevrim süresi analizi için gereklidir; ikisini birleştirmek her iki raporu da bozabilir.
Varsayılan olarak her fırsatta bir birincil kişi (primary contact) tutun; bu raporlamayı net tutar ve UI'yi basit bırakır. Bazen ekstra katılımcılar gerekiyorsa, katılımcıları bağlamak için deal_contacts gibi bir ilişki tablosu ekleyin.
İyi bir varsayılan: her şey herkes tarafından görülebilir, ama her fırsatın bir sahibi (owner) olur ve harekete geçilmesinden o kişi sorumludur. Gizlilik gerektiğinde visibility alanı (public/private) eklemek, karmaşık izin matrisleri kurmaktan daha pratiktir.
Önce tabloları modelleyin, sonra gerçek örnek verilerle test edin; ekranları en sona bırakın. Eğer aşama, sahiplik veya aktivitelerde tutarsızlık görürseniz, UI'yi inşa etmeden önce şemayı düzeltin.


