RFQ'ler, tedarikçi yanıtları ve teklif karşılaştırmaları için bir web uygulaması nasıl tasarlanır ve inşa edilir—veri modeli, iş akışları, UI, güvenlik ve dağıtım ipuçları.

Ekranları tasarlamadan veya teknoloji yığını seçmeden önce iş akışının baştan sona ne yapması gerektiğini netleştirin. Açık bir kapsam, her ekip kendi uç durumlarını ekleyerek işin büyümesini önler ve ilk sürümünüzün hemen kullanılabilir olmasını sağlar.
Önce birincil rolleri ve aralarındaki sınırları isimlendirin:
MVP iş akışınız genelde şunları içerir:
“Yan yana” gösterim kuruluşlara göre çok farklı şeyler ifade edebilir. Hangi boyutların birinci sınıf olduğunu baştan belirleyin:
Sert gereksinimleri erken yakalayın çünkü bunlar veri modeli ve UI'ı şekillendirir:
Bunlar kararlaştırıldıktan sonra iş akışı durumlarını ve izinleri çok daha az sürprizle tasarlayabilirsiniz.
Net bir RFQ süreci, “herkes işin bittiğini düşünüyor” ile ekibinizin güvenebileceği bir iş akışı arasındaki farktır. Ekranları oluşturmadan önce RFQ'nizin geçebileceği durumları, kimlerin hareket ettirebileceğini ve her adımda hangi kanıtların olması gerektiğini tanımlayın.
Durumları basit ama açık tutun:
RFQ'nin ilerlemesi için hangi belgelerin eklenmesi veya yakalanması gerektiğini tanımlayın:
Bu, uygulamanın iyi alışkanlıkları zorlamasını sağlar: "eklenti olmadan gönderilemez", "değerlendirme kaydı olmadan ödül verilemez" gibi hataları önler.
En azından şu rolleri modelleyin: Talep Eden, Alıcı, Onaylayan, Tedarikçi ve isteğe bağlı Finans/Hukuk. Onay kapılarını erken belirleyin:
Bildirimleri durum değişikliklerine ve son tarihlere bağlayın:
Veri modeliniz, bir tedarikçi RFQ yönetim uygulamasını esnek tutar veya değiştirmesi acı verici hale getirir. "RFQ → davet edilen tedarikçiler → teklifler → değerlendirme → ödül" zinciri için temiz bir yapı hedefleyin; fiyat karşılaştırma tabloları, çoklu para birimi teklifler ve denetim izi gibi özellikler için yeterli yapı bırakın.
Genelde RFQ için başlık düzeyi alanlarını saklayan bir RFQ varlığı ile başlayın: proje/referans, son tarih ve zaman dilimi, varsayılan para birimi, teslimat yeri (ship-to), ödeme/Incoterms ve standart koşullar.
RFQ Satır Öğelerini ayrı modelleyin. Her satır SKU/hizmet tanımı, miktar, birim ölçü ve hedef spesifikasyonları saklamalı. Kabul edilebilir ikame ve alternatifler için açık alanlar ekleyin ki tedarikçiler ayrıntıları serbest metinde saklamak zorunda kalmasın.
Tedarikçi varlığı; çoklu kontaklar (e-posta/roller), hizmet verdikleri kategoriler, uyumluluk belgeleri (dosyalar + son kullanma tarihleri) ve dahili performans notlarını kapsamalı. Bu, kategori veya uyumluluk durumuna göre otomatik davet filtrelemesi gibi satın alma otomasyonunu destekler.
Teklif RFQ ve tedarikçiye bağlanmalı; satır bazında yanıtlar: birim fiyat, para birimi, teslim süresi, MOQ, geçerlilik tarihi, yorumlar ve dosya ekleri saklanmalı.
Çoklu para birimi teklifleri için orijinal para birimini ve normalleştirme için kullanılan döviz kuru anlık görüntüsünü saklayın. Tedarikçi tarafından girilen değerleri asla üzerine yazmayın—hesaplanmış “normalleştirilmiş” toplamları ayrı tutun.
Puanlama, karar notları ve onaylar için bir Evaluation varlığı oluşturun. Bunu bir Audit Event tablosuyla eşleştirin; kim neyi ne zaman değiştirdiğini kaydetsin (durum değişiklikleri, düzenlemeler, ödüller). Bu, onay iş akışı ve denetlenebilirliğin belkemiği olur.
İlham için minimal bir şema istiyorsanız, basit tutun: RFQ, RFQLine, Supplier, SupplierContact, Quote, QuoteLine, Evaluation, AuditEvent, FileAttachment.
İyi bir tedarikçi deneyimi yanıt oranlarını artırır ve geri dönüşleri azaltır. Önce gerçekten kendinize portal gerekip gerekmediğini veya yalnızca e-posta ile almanın yeterli olup olmadığını karar verin.
Küçük bir tedarikçi tabanınız, basit RFQ'larınız ve teklifleri tekrar elle girme isteğiniz varsa e-posta tabanlı intake MVP için işe yarayabilir. Yapılandırılmış yanıtlar (fiyatlar, teslim süreleri, MOQ, Incoterms), sık tekrar eden RFQ'lar, çoklu ekler veya güçlü bir denetim izi gerektiğinde portal değeri artar.
Hibrit yaklaşım genelde en iyisidir: tedarikçiler portaldan yanıt verebilir, aynı zamanda e-posta bildirimleri alır ve dahili inceleme için RFQ PDF'si indirebilir.
Onboarding'i hafif tutun. Satın alma bölümü tedarikçileri e-posta ile davet edebilmeli, davet bağlantısı için bir son tarih belirleyebilmeli ve isteğe bağlı olarak temel şirket bilgilerini ön-doldurabilmeli.
En azından onboarding şunları içermeli:
Tedarikçilere ne göreceklerini net gösterin: sadece kendi RFQ'ları, kendi gönderimleri ve durum güncellemeleri—başka hiçbir şey.
Yanıt deneyimi tedarikçileri yapılandırılmış bir form boyunca yönlendirmeli, ama nüans için alan bırakmalı.
İçerik:
Otomatik kaydetme, net doğrulama mesajları ve tedarikçilerin onaylaması için “önizleme gönderimi” adımı kullanın.
Tedarikçiler sıkça teklif revizyonu yapar. Her gönderimi bir sürüm olarak ele alın: geçmiş, zaman damgaları ve kimin gönderdiği saklansın. Son tarihe kadar yeniden gönderime izin verin, sonra düzenlemeyi kilitleyin ama tedarikçilere gönderdiklerini görüntüleme izni verin. RFQ'yi yeniden açarsanız yeni bir tur oluşturun ki karşılaştırmalar temiz ve savunulabilir kalsın.
Hız önemlidir, fakat tutarlılık da öyle. En iyi yaklaşım RFQ oluşturmayı şablonlar, geçmiş etkinlikler ve tedarikçi listeleri gibi mevcut bilgileri yeniden kullanan rehberli bir iş akışı olarak uygulamaktır; her değişiklik izlenebilir kalsın.
Bir şablonla başlayan bir RFQ oluşturma sihirbazı oluşturun: varsayılan şartlar, zorunlu alanlar, standart satır sütunları (teslim süresi, Incoterms, garanti) ve önceden belirlenmiş zaman çizelgesi.
Tekrarlanan alımlar için “önceki RFQ'den kopyala” ekleyin; böylece alıcı satır öğelerini, ekleri ve davet edilen tedarikçileri klonlayıp sadece değişeni düzeltebilir.
Daha büyük etkinlikler için CSV ile toplu satır içe aktarımı destekleyin. Önizleme gösterin, geçersiz satırları vurgulayın ve kullanıcıların sütunları eşlemesine izin verin (ör. “Unit Price” vs “Price/EA”). Bu, el girişini azaltır ama kontrolü kaybettirmez.
Tedarikçi seçimini hızlı ama kasıtlı yapın. Her kategori için onaylı tedarikçi listesi sunun, ayrıca geçmiş katılım, ödüller veya coğrafya bazında önerilen tedarikçiler gösterin.
Aynı derecede önemli: hariç tutmalar. Alıcıların belirli nedenlerle satıcıları “davet etmeme” olarak işaretlemesine izin verin ve kısa bir not isteyin. Bu, onaylar ve denetimler sırasında bağlam sağlar.
Ekleri (çizimler, teknik dokümanlar), ticari şartları ve yanıt talimatlarını bir arada sunan net bir “RFQ paketi” oluşturun. Açık bir Soru-Cevap politikası dahil edin: tedarikçi sorularının özel mi paylaşılacak mı ve açıklama için son zaman ne zaman?
İletişimi RFQ içinde merkezileştirin. Tüm tedarikçilere yayınlanan mesajlar, özel Soru-Cevap dizileri ve addenda takibi (spes, tarihler veya miktarlarda sürümlenmiş değişiklikler) destekleyin. Her mesaj ve addenda zaman damgalı olmalı ve denetlenebilirlik için RFQ geçmişinde görünmelidir.
Bir teklif karşılaştırma görünümü, “$10”un tedarikçiler arasında aynı şeyi ifade ettiğine güvenebiliyorsanız işe yarar. Amaç, her yanıtı tutarlı, karşılaştırılabilir bir şekle dönüştürmek—sonra farkları açıkça gösteren bir tabloda sunmaktır.
Çekirdek görünümünüzü bir ızgara olarak tasarlayın: tedarikçiler sütun, RFQ satır öğeleri satır olacak şekilde; hesaplanmış ara toplamlar ve tedarikçi başına net bir genel toplam gösterin.
Değerlendiricilerin hemen baktığı birkaç pratik sütun ekleyin: birim fiyat, genişletilmiş fiyat, teslim süresi, geçerlilik tarihi ve tedarikçi notları. Detaylı notları açılabilir yapın ki tablo okunur kalsın.
Normalizasyon, içe aktarma sırasında (veya gönderimden hemen sonra) olmalı ki UI tahminde bulunmak zorunda kalmasın.
Yaygın normalizasyonlar:
İstisnaları hafif bayraklarla görünür yapın:
Değerlendiriciler nadiren her şeyi tek bir tedarikçiye verir. Kullanıcılara senaryolar oluşturma izni verin: satır bazında bölünmüş ödüller, kısmi miktarlar veya alternatifleri kabul etme.
Basit bir desen, normalleştirilmiş teklifler üzerinde bir “senaryo” katmanıdır; kullanıcılar miktarları tedarikçilere atadıkça toplamları yeniden hesaplar. Senaryo çıktıları kolayca dışa aktarılabilir olmalı (ör. /blog/rfq-award-approvals) onay iş akışları için.
Teklifler normalleştirildiğinde ve karşılaştırılabilir hale geldiğinde, uygulama “daha iyi”yi “karar” haline getiren net bir yola ihtiyaç duyar. Değerlendirme yeterince tutarlı olmalı, ama farklı kategoriler ve alıcılar için esnek kalmalıdır.
Çoğu ekip tarafından tanınan varsayılan bir puan kartıyla başlayın, sonra RFQ bazında ayarlara izin verin. Yaygın kriterler: maliyet, teslim süresi, ödeme koşulları, garanti/destek ve tedarikçi riski.
Her kriteri açık tutun:
Ağırlıklı puanlama takımların "hep en düşük fiyat" kuralına takılmasını önler ve ödünleşimleri görünür kılar. Basit ağırlıklandırma destekleyin (örn. %40 maliyet, %25 teslim süresi, %15 risk, %10 garanti, %10 ödeme şartları) ve kullanıcıların RFQ başına ağırlıkları ayarlamasına izin verin.
Formüller için şeffaflık ve düzenlenebilirlik öncelikli olsun:
Gerçek kararlar birden çok görüş içerir. Birden fazla değerlendiricinin bağımsız olarak puan vermesine, not eklemesine ve ek destekleyici dosyalar (spesler, uyumluluk belgeleri, e-postalar) yüklemesine izin verin. Ardından birleşik bir görünüm gösterin (ortalama, medyan veya rol-ağırlıklı) ancak bireysel girdileri saklamayın.
Sistem, paylaşılmaya hazır bir “ödül önerisi” üretmelidir: önerilen tedarikçi(ler), ana nedenler ve ödünleşmeler. Ayrıca istisna yönetimini destekleyin—örn. daha kısa teslim süresi nedeniyle daha pahalı bir tedarikçiye ödül verme—zorunlu gerekçe alanları ve ek belge yükleme gereksinimleri ile. Bu onayları hızlandırır ve kararlar sonra incelendiğinde ekibi korur.
Bir teklif karşılaştırma aracı ancak insanların karara güvenmesi ve nasıl alındığını kanıtlayabilmesi durumunda işe yarar. Bu, satın alma politikalarına uyan onaylar, yetkisiz değişiklikleri engelleyen izinler ve incelemelerde ayakta kalacak bir denetim izi gerektirir.
Küçük bir onay kural seti ile başlayın, sonra gerekirse genişletin. Yaygın desenler: harcama eşiğine göre onay, kategoriye göre yönlendirme, proje bazlı onay ve istisna bayrakları.
Örnek:
Onayları UI'da okunabilir tutun (“neden bekliyor?”) ve kapsam, miktar, ana tarihler veya fiyat farkları gibi maddi değişikliklerde yeniden onay gerektirin.
Rolleri gerçek görevler etrafında tanımlayın:
Ayrıca “fiyatları görme”, “ekleri indirme” ve “yayından sonra düzenleme” gibi ince tane izinleri düşünün.
RFQ düzenlemeleri, tedarikçi teklif güncellemeleri, onaylar ve ödül kararları—ekler ve ana alan değişiklikleri dahil—için “kim neyi ne zaman yaptı” kaydı tutun. Dışa aktarma seçenekleri (CSV/PDF artı destekleyici belgeler) sağlayın ve saklama kuralları belirleyin (ör. 7 yıl tutma; hukuki inceleme durumları için bloke etme).
Bir tedarikçi RFQ uygulaması güvenilir iş akışına bağlıdır: son tarihler, revizyonlar, ekler ve onaylar öngörülebilir davranmalıdır. Pratik bir backend deseni modüler monolit (tek dağıtım, net modüller) ile iş kuyruğu ve API-öncelikli bir yüzeydir—evrimleşmesi kolay, işletmesi basit.
Hızlanmak isterseniz, bir prototip oluşturma iş akışı yardımcı olabilir. Örneğin ekipler Koder.ai kullanarak RFQ iş akışını düz dilde tanımlar, çalışan bir React UI ve Go + PostgreSQL backend üretir, sonra kaynak kodunu dahili inceleme ve yineleme için dışa aktarır.
Birkaç öngörülebilir kaynak etrafında tasarlayın, UI bileşimini yapsın.
POST /rfqs, GET /rfqs?status=\u0026category=\u0026from=\u0026to=, GET /rfqs/{id}, PATCH /rfqs/{id} (durum geçişleri), POST /rfqs/{id}/invite-suppliersGET /suppliers, POST /suppliers, GET /suppliers/{id}POST /rfqs/{id}/quotes (tedarikçi gönderir), GET /rfqs/{id}/quotes, PATCH /quotes/{id} (revize), POST /quotes/{id}/line-itemsPOST /files/presign (yükleme), POST /files/{id}/attach (RFQ/teklif/mesaja ekleme)GET /rfqs/{id}/messages, POST /rfqs/{id}/messagesPOST /rfqs/{id}/approvals, POST /approvals/{id}/decision (approve/reject), GET /rfqs/{id}/auditHatırlatmalar ("3 gün kaldı"), son tarih kilitlemeleri (otomatik kapanış) ve döviz kuru güncellemeleri için bir kuyruk kullanın.
Dosyaları nesne depolamada imzalı URL'ler (kısa TTL) ile saklayın, boyut limitleri uygulayın ve yükleme sırasında zararlı yazılım taraması çalıştırın. Meta verileri (hash, dosya adı, sahibi, bağlı varlık) veritabanında tutun.
En azından RFQ durumu, tedarikçi, kategori ve tarih aralıkları ile filtrelemeyi destekleyin. Önce veritabanı indeksleriyle başlayın; gereksiz kalırsanız arama motoru ekleyin.
Güvenlik sadece hack'leri önlemek değil—doğru kişilerin doğru veriyi görmesini sağlamak ve hassas bir olay olduğunda açık bir kayıt bırakmaktır.
Kullanıcıların nasıl oturum açacağını belirleyin:
Her iki yaklaşımda da MFA (authenticator uygulaması veya en azından e-posta kodları) destekleyin. Parolalar sunuluyorsa açık politikalar koyun: minimum uzunluk, hız sınırlı giriş denemeleri ve yaygın ele geçirilen parolaların engellenmesi.
RFQ verisi ticari olarak hassastır. Varsayılan duruş katı izolasyon olmalıdır:
Bunu uygulamak en kolay yol, her API isteğinin hem kimlik (kim) hem de yetkilendirme (ne yapabilir) kontrol etmesidir—sadece UI'ya güvenmeyin.
Teklif girdileri birçok kenar durumu içerir. Kenarlarda doğrulayın ve normalleştirin:
Yüklemeleri güvensiz kabul edin: dosyaları tarayın, boyut/tip sınırı koyun ve uygulama sunucularından ayrı depolayın.
Denetim günlükleri seçici ve okunabilir olduğunda en değerlidir. Şunları izleyin:
Kayıtları izleme ile eşleştirin ki şüpheli desenler hızlıca uyarı üretsin—ve günlüklerin hassas değerler (parolalar veya tam ödeme detayları) içermemesine dikkat edin.
Entegrasyonlar RFQ aracını “başka bir web sitesi” olmaktan çıkarıp satın almanın günlük işine entegre eder. Yeniden yazmayı azaltan ve onayları hızlandıran yüksek değerli bağlantılara odaklanın.
Manuel mutabakatı azaltan akışlarla başlayın:
Bunu idempotent uç noktalarla bir entegrasyon katmanı olarak tasarlayın (tekrar denemeye uygun) ve eksik eşlemeler olduğunda net hata geri bildirimi verin.
E-posta tedarikçiler ve onaylayanlar için varsayılan iş akışı UI'si olmaya devam eder.
Gönderilecekler:
Kullanıcılar Outlook/Google Calendar kullanıyorsa, önemli tarihler için isteğe bağlı takvim rezervasyonları oluşturun (RFQ kapanış, değerlendirme toplantısı).
Giriş yapmayan paydaşlar için dışa aktarımlar yardımcı olur.
Sağlayın:
Dışa aktarmaların izinleri gözettiğinden ve gerekirse hassas alanları kırptığından emin olun.
Webhook'lar diğer araçların gerçek zamanda tepki vermesini sağlar. Yayınlayın:
quote.submittedapproval.completedaward.issuedİstikrarlı bir olay şeması, zaman damgaları ve kimlikler (RFQ ID, supplier ID) ekleyin. İmzalama sırları ve yeniden deneme mantığı ekleyin ki alıcılar özgünlüğü doğrulayabilsin ve geçici hataları ele alabilsin.
Bir RFQ aracı benimsenme veya başarısız olma üzerine kuruludur. Odaklanmış bir MVP hızlı yayınlamanızı, değer kanıtlamanızı ve gerçek alıcılar/tedarikçilerle iş akışını doğrulamadan gelişmiş özellikler inşa etmemenizi sağlar.
Gerçek RFQ'leri uçtan uca çalıştıracak must-have ekranlar ve kurallar:
Hızlı yineleme için ilk çalışan versiyonu Koder.ai ile üretmeyi, sonra kaynak kodunu dışa aktarıp paydaşlarla inceleyerek üretime götürmeyi düşünebilirsiniz.
Bir kategoriyle (örn. ambalaj) ve birkaç işbirlikçi tedarikçiyle başlayın.
Kısa döngüler çalıştırın: haftada 1–2 RFQ, ardından kullanıcılarla 30 dakikalık bir inceleme. Sürtünme noktalarını (eksik alanlar, kafa karıştıran durumlar, tedarikçi katılımının düşmesi) yakalayın ve genişletmeden önce düzeltin.
Etkisini küçük bir metrik setiyle ölçün:
MVP stabil olduktan sonra öncelik verin:
Güncelleme ve paketleme planlarken, /pricing gibi basit “sonraki adımlar” sayfaları ve /blog altında birkaç eğitim rehberi ekleyin.
İlk olarak desteklemeniz gereken uçtan uca iş akışını belgeleyin (RFQ oluşturma → davetler → Soru-Cevap → gönderimler → karşılaştırma → değerlendirme → ödül → kapatma). Ardından şunları tanımlayın:
Bu, “RFQ genişlemesi”ni önler ve ilk sürümünüzün kullanılabilir kalmasını sağlar.
Gerçek görevler etrafında minimum rol setini modelleyin:
Erişim kurallarını sadece UI'da değil, uygulayın, böylece kurallar atlatılamaz.
Basit ama net durumlar tutun ve kimin hangi geçişleri yapabileceğini tanımlayın:
Her aşama için “gerekli belgeler” ekleyin (ör. gönderme öncesi RFQ paketi; ödül öncesi değerlendirme kaydı).
İletişimi birinci sınıf ve denetlenebilir olarak ele alın:
Bu, gereksiz diyaloğu azaltır ve savunulabilir bir geçmiş bırakır.
Pratik bir minimum şema:
RFQ, Normalize etmeyi erken yapın (gönderim/ithal sırasında), yalnızca gösterimde değil:
Karşılaştırma görünümünde hem hem de gösterin.
Yapılandırılmış, karşılaştırılabilir verilere ve güvenilir bir denetim izine ihtiyaç duyuyorsanız portal kullanın:
Çok küçük tedarikçi tabanında e-posta yeterli olabilir, ama genellikle yeniden girme ve izlenebilirlik sorunları çıkar. Hibrit yaklaşım (portal + e-posta bildirimleri/PDF paketi) çoğu durumda en iyisidir.
Her tedarikçi gönderimini sürümsel bir teklif olarak ele alın:
Etkinliği yeniden açarsanız, önceki gönderimleri temiz tutmak için yeni bir tur oluşturun; üzerine yazmayın.
Puanlamayı şeffaf ve kanıta dayalı tutun:
Çıktı, gerekçesi ve istisna bayrakları ile birlikte “ödül önerisi” olmalıdır.
Politika uygulamasını açık ve denetlenebilir yapın:
En değerli entegrasyonlar:
RFQLineSupplier, SupplierContactQuote, QuoteLineEvaluationAuditEventFileAttachmentÖnemli tasarım kararları:
quote.submitted, award.issued)Onaylar için senaryo çıktıları gerekiyorsa, çıktıları bağlantılanabilir tutun (örneğin, /blog/rfq-award-approvals).