KoderKoder.ai
FiyatlandırmaKurumsalEğitimYatırımcılar için
Giriş YapBaşla

Ürün

FiyatlandırmaKurumsalYatırımcılar için

Kaynaklar

Bize UlaşınDestekEğitimBlog

Yasal

Gizlilik PolitikasıKullanım KoşullarıGüvenlikKabul Edilebilir Kullanım PolitikasıKötüye Kullanımı Bildir

Sosyal

LinkedInTwitter
Koder.ai
Dil

© 2026 Koder.ai. Tüm hakları saklıdır.

Ana Sayfa›Blog›Kullanıma Dayalı Faturalama Modelleri İçin Bir Web Uygulaması Nasıl Kurulur
15 Haz 2025·8 dk

Kullanıma Dayalı Faturalama Modelleri İçin Bir Web Uygulaması Nasıl Kurulur

Kullanımı izleyen, adil fiyatlandıran, müşterilere fatura düzenleyen ve aşım, tekrar denemeler ve itirazlar gibi uç durumları yöneten bir web uygulamasını nasıl tasarlayıp inşa edeceğinizi öğrenin.

Kullanıma Dayalı Faturalama Modelleri İçin Bir Web Uygulaması Nasıl Kurulur

Desteklemek İstediğiniz Faturalama Modeliyle Başlayın

Kullanıma dayalı faturalama ancak herkesin “kullanım”ın ne olduğunu kabul ettiği zaman işe yarar. Tabloları tasarlamadan veya bir ödeme sağlayıcı seçmeden önce, hangi birimi ölçeceğinizi ve ücretlendireceğinizi tam olarak yazın—çünkü bu karar izleme, faturalar, destek ve müşteri güveni üzerinde etkili olur.

“Kullanım”ı sade terimlerle tanımlayın

Somut, denetlenebilir bir tanımla başlayın:

  • Olaylar (ör. API çağrıları, gönderilen mesajlar, işlenen belgeler)
  • Zaman (çağrı dakikaları, hesaplama saniyeleri)
  • Veri hacmi (saklanan GB, transfer edilen GB)
  • Kapasite (koltuk sayısı, aktif kullanıcılar, etkinleştirilen çalışma alanları)

Sonra neyin faturalandırılacağını kararlaştırın. Örneğin: başarısız API çağrıları faturalandırılır mı? Tekrar denemeler ücretsiz mi? Başlanan dakikaya mı yoksa saniyeye mi göre ücretlendirirsiniz? Keskin tanımlar daha sonra anlaşmazlıkları azaltır.

İşletebileceğiniz bir faturalama periyodu seçin

Müşteri beklentilerine ve veriyi uzlaştırma yeteneğinize uyan periyodu seçin:

  • Aylık: finans ve faturalama için en kolay; varsayılan olarak iyi.\n- Haftalık: yüksek hızlı harcama ve daha hızlı nakit akışı için yararlı.\n- Neredeyse gerçek zamanlı: sürekli şeffaflık sağlar ama doğru yapmak daha zordur.

Gerçek zamanlı kullanım grafiklerine sahip olsanız bile, birçok ürün muhasebenin öngörülebilir olması için aylık fatura kesmeye devam eder.

Kimin ödeyeceğini (ve kimin neyi görebileceğini) belirleyin

Faturalama sahibini netleştirin: hesap, workspace veya bireysel kullanıcı. Bu, izinleri, fatura satır öğelerini ve kullanımın nasıl toplanacağını etkiler.

Olması gereken müşteri eylemlerini listeleyin

En azından kullanıcıların şunları yapabilmesini planlayın:

  • Cari dönem ve geçmiş dönem kullanımlarını görüntülemek
  • Sürprizleri önlemek için limit veya uyarı ayarlamak
  • Faturaları ve makbuzları indirmek

Emin değilseniz, önce faturalama portalı ekranlarını taslak olarak çizin; bu, eksik kararları erken ortaya çıkaracaktır (ayrıca bkz. /blog/customer-billing-portal).

Müşterilerin Tahmin Edebileceği Bir Fiyat Yapısı Seçin

Kullanıma dayalı faturalama, müşterilerin bir hesap tablosuna ihtiyaç duymadan sonraki faturalarını tahmin edebildiklerinde en iyi şekilde çalışır. Amacınız fiyatlandırmayı “az matematik” hissettirmek, aynı zamanda maliyetlerinizin nasıl ölçeklendiğini yansıtmak.

Fiyat eğrisini seçin: basit, kademeli veya hakkı verilen

Kullandıkça öde (birim başı sabit fiyat) anlaşılması en kolay olanıdır: API çağrısı başına $0.02, GB başına $0.10 vb. Her birim maliyeti yaklaşık aynı olduğunda idealdir.

Kademeli fiyatlar yüksek hacimlerde maliyet düşüşü olduğunda veya büyümeyi ödüllendirmek istediğinizde yardımcı olur. Katmanları az ve net adlandırılmış tutun.

Dahil edilmiş haklar (ör. “ilk 10.000 olay dahil”) faturaları stabil hale getirir ve küçük tutarlı faturaları azaltır.

ModelÖrnekEn uygun olduğu durum
Kullandıkça öde$0.01 isteğe başınaBasit kullanım, net birim
Kademeli0–10k: $0.012, 10k–100k: $0.009Hacim indirimleri
Hakkı verilen$49 20k isteği içerir, sonra $0.008Öngörülebilir bütçeler

Temel abonelik + kullanım karışımı yapıp yapmamayı karar verin

Bir temel ücret + kullanım genellikle en öngörülebilirdir: temel ücret destek, barındırma veya garanti edilen bir asgariyi karşılar; kullanım değerle ölçeklenir. Temeli açık bir faydaya bağlayın (“5 koltuk içerir” veya “20k çağrı içerir”).

Denemeler, krediler ve müşterilerin güvenebileceği örnekler

Ücretsiz deneme sunuyorsanız, neyin ücretsiz olduğunu tanımlayın: zaman tabanlı (14 gün) ve/veya kullanım tabanlı (5k çağrıya kadar). Krediler için kurallar belirleyin: “önce aşım tutarına uygulanır” ve “12 ay sonra sona erer” gibi.

Kapanışı 2–3 düz İngilizce örnek paragrafla yapın (“30k istek kullandıysanız, $49 + 10k × $0.008 = $129 ödersiniz”). Bu tek paragraf çoğu zaman FAQ’dan daha fazla fiyatlandırma sorusunu azaltır.

Uçtan Uca Faturalama İş Akışını Haritalandırın

Araçları seçmeden veya kod yazmadan önce, tek bir kullanım biriminin ürününüzden ücretli bir faturaya kadar giden tüm yolunu taslağıyla çizin. Bu, “gizemli matematik”, eksik veri ve ay sonu manuel iş sürprizlerini önler.

Temel akış (çizin)

Basit bir iş akışı genellikle şöyle görünür:

  • Kullanımı topla (uygulamanız müşteriler ürün kullanırken olay yayınlar)
  • Topla/aggregate (olaylar müşteri ve dönem başına faturalandırılabilir toplamlar halinde gruplanır)
  • Fiyatlandır (toplamlar fiyat kurallarına göre ücretlere dönüştürülür)
  • Fatura oluştur (ücretler bir faturaya dönüşür ve iletilir)
  • Ödeme tahsil et (ödeme sağlayıcı kaydedilmiş yöntemden tahsil eder; tekrar denemeler/makbuzlar takip edilir)

Bunu dokümanlarınıza bir diyagram olarak yazın; zaman sınırlarını (saatlik vs günlük toplama, fatura tarihi, müsamaha süreleri) dahil edin.

Her ilgili sistemi tanımlayın

Faturalama verilerine dokunan bileşenleri listeleyin:

  • Sizin web uygulamanız (kullanımın gerçekleştiği yer)
  • Bir veritabanı / veri ambarı (ham olaylar + toplanmış toplamlar)
  • Faturalama mantığı (rating/indirimler/vergi—kuralların yaşadığı yer)
  • Ödeme sağlayıcı (kart/ACH, tekrar denemeler, iadeler)
  • E-posta/fatura iletimi (e-posta servisi veya sağlayıcının fatura e-postaları)

Hesaplamaların nerede yapılacağına karar verin

Hangi işlemin uygulamanızda çalıştığını ve hangisini sağlayıcıya devrettiğinizi açıkça belirtin. İyi bir kural: ürün-spesifik sayaçlama ve karmaşık rating uygulamanızda kalsın; ödeme tahsilatı ve makbuzları mümkünse sağlayıcıya bırakın.

Sahiplik ve sorumlulukları dokümante edin

Kim ne yapar netleştirin:

  • Faturalama yöneticisi: plan değişiklikleri, krediler, itiraz yönetimi, fatura incelemesi
  • Mühendislik: olay şeması, toplama işleri, rating kuralları, entegrasyonlar

Bu açıklık faturalamayı ölçeklendirilebilir ve desteklenebilir kılar.

Metering ve Kullanım Olay Şemasını Tasarlayın

Faturalama doğruluğunuz, her şeyden çok kullanım olaylarınızın yapısına bağlıdır. Net bir olay şeması, birçok servisten veri toplamanızı, müşteriye ücretleri açıklamanızı ve ileride denetimlerden sağ çıkmanızı kolaylaştırır.

Faturalandırılabilir olayları tanımlayarak başlayın

Bir ücret üretebilecek her eylemi listeleyin (ör. “API isteği”, “gün başına GB saklama”, “aktif koltuk”). Her biri için zorunlu alanları ve tutarlı adlandırmayı tanımlayın.

Çoğu sayaç olayı en az şunları içermelidir:

  • customer_id (veya account_id)
  • timestamp (kullanımın gerçekleştiği zaman, alınma zamanı değil)
  • quantity (ücretlendireceğiniz birim)

Sonra fiyatlayabileceğiniz veya raporlayabileceğiniz region, plan, feature veya resource_id gibi “boyutlar” ekleyin. Bu boyutları kararlı tutun—sonradan bir boyutun anlamını değiştirmek zordur.

Olayları idempotent yapın

Sayaç boru hatları yeniden denemelere maruz kalır. Bunu tasarlamazsanız iki kez sayım olur ve fazla faturalandırma yaşanır.

Değişmez bir event_id (veya source + request_id gibi bir idempotency anahtarı) ekleyin ve alım sırasında benzersizliği zorlayın. Aynı olay iki kez gelirse güvenle yoksayılsın veya birleştirilsin.

{
  "event_id": "evt_01J...",
  "customer_id": "cus_123",
  "event_type": "api_call",
  "timestamp": "2025-12-26T12:34:56Z",
  "quantity": 1,
  "dimensions": {"region": "us-east-1", "endpoint": "/v1/search"}
}

Geç gelen olaylar ve düzeltmeler için plan yapın

Gerçek sistemler gecikmeli kullanım gönderir (mobil istemciler, toplu işler, kesintiler). Politikanızı kararlaştırın:

  • Geç olayları ne kadar geriye kabul edersiniz (ör. 7–30 gün)
  • Kapalı dönemleri yeniden açıyor musunuz yoksa düzeltmeleri sonraki faturada mı uyguluyorsunuz

Ayrıca düzeltmeleri ya (a) tersine çevirme olayları (negatif miktarlar) olarak ya da (b) supersedes_event_id ilişkisiyle destekleyin. Tarihsel satırları sessizce güncellemekten kaçının; değişiklikleri izlenebilir yapın.

Veri saklama planı oluşturun

Kullanım verisi müşteriyle paylaşılan kanıttır. İhtilaflar ve uyumluluk için ham olayları ve toplanmış toplamları yeterince uzun saklayın—çoğunlukla 12–24 ay, sektörünüze göre daha uzun olabilir. Kimlerin erişebileceğini, desteğe nasıl dışa aktarılacağını ve hesap kapandığında silinmelerin nasıl yönetileceğini tanımlayın.

Kullanım Toplama ve Alımını Uygulayın

Kullanıma dayalı faturalama, ham kullanım akışına güvenebiliyorsanız çalışır. Bu katmandaki hedefiniz basit: birçok kaynaktan olay kabul etmek, hatalı veriyi reddetmek ve geri kalanını downstream toplama işlemlerinin güvenebileceği şekilde depolamaktır.

Ürününüzle eşleşen bir alım yolu seçin

Çoğu ekip bu desenlerden birini (veya karışımını) kullanır:

  • API uç noktası gerçek zamanlı sunucu-sunucu olayları için (işlemsel ürünler için en iyisi)
  • Kuyruk/akış (ör. olayları bir mesaj aracısına yayınlayın) yüksek hacim ve daha düzgün yük için
  • Toplu yükleme ortaklar, çevrimdışı sistemler veya “günlük dışa aktarım” iş akışları için

Pratik bir yaklaşım “API içeri, arkasına kuyruk koy”: API'niz olayları hızlıca doğrular ve kuyruğa ekler, sonra işçiler bunları asenkron olarak işler, böylece ani yükler uygulamanızı çökertmez.

Erken doğrulayın, sık sık sınırlayın

Kullanım olaylarını ödeme gibi ele alın: sıkı kurallara ihtiyaçları var.

Zorunlu alanları doğrulayın (müşteri/hesap ID'si, zaman damgası, metrik adı, miktar), makul aralıkları zorlayın ve bilinmeyen metrikleri reddedin. Her müşteri veya API anahtarı için oran sınırlama ve throttling ekleyin ki alım servisinizi koruyun ve kontrolden çıkan istemcileri sınırlandırın.

Yeniden denemeler + deduplikasyon = güvenli teslimat

İstemciler ve kuyruklar yeniden denemeler yapacaktır. Bunu bir idempotency/deduplication anahtarı (örneğin event_id + account_id) gerektirecek şekilde tasarlayın. Aynı olay iki kez gelse bile çifte faturalama olmaması için benzersiz kısıtlama saklayın.

Ayrıca bir alım durumu kaydedin (kabul edildi, reddedildi, karantinaya alındı) ve reddetme nedenini—bu destek ve itiraz çözümünü çok daha kolay hale getirir.

Düşürme oranlarını ve olay gecikmesini izleyin

Alımı şu metriklerle instrumente edin ve uyarı kurun:

  • Reddetme/düşürme oranı neden bazlı
  • Olay gecikmesi (olay zaman damgası vs alım zamanı)
  • Kuyruk derinliği / işleme süresi

Buradaki küçük bir pano büyük fatura sürprizlerini önler. Eğer müşteri tarafına görünür şeffaflık inşa ediyorsanız, veriyi ne zaman kesinleştiğini müşteriye söylemek için portalde kullanım tazeliğini gösterebilirsiniz (ör. /billing).

Kullanımı Faturalandırılabilir Toplamlara Toplayın

Ödemeler entegrasyonunu daha güvenli hale getirin
İdempotent webhook işleyicileri ve güvenle yeniden çalıştırılabilen bir faturalama defteri oluşturun.
Backend Oluştur

Toplama, ham olayların faturalanabilecek bir şeye dönüştüğü yerdir. Hedefiniz her müşteri, her fatura dönemi ve her sayaç için net, tekrarlanabilir bir “faturalama özeti” üretmektir.

Müşteri ve fatura dönemi bazında toplayın

Basit bir sözleşme ile başlayın: belli bir müşteri ve dönem için (ör. 2025‑12‑01 to 2025‑12‑31) her meter için toplamları hesaplayın (API çağrıları, GB‑gün, koltuklar, dakika vb.). Çıktı deterministik olsun: aynı kesinleşmiş girdiler üzerinde toplama tekrar çalıştırıldığında aynı toplamları üretmelidir.

Pratik bir yaklaşım günlük olarak (yüksek hacim için saatlik) toplayıp sonra fatura dönemine roll-up yapmaktır. Bu sorguları hızlı tutar ve backfill işlemlerini yönetilebilir kılar.

Birden fazla meterı kaosa sokmadan destekleyin

Her meterı kendi “şeridi” gibi ele alın:

  • bir meter tanımlayıcısı (ör. api_calls, storage_gb_day)
  • bir birim ve hassasiyet kuralları
  • bir toplama yöntemi (count, sum, max, distinct count)

Toplamları meter bazında saklayın ki daha sonra bağımsız fiyatlandırabilelim. Bugün fiyatınız paketli olsa bile, meter düzeyindeki toplamlar gelecekteki fiyat değişiklikleri ve müşteri açıklamaları için çok faydalıdır.

Kısmi dönemler ve zaman dilimleri

Hangi saate göre faturalayacağınızı önceden belirleyin:

  • Faturalama zaman dilimi (çoğunlukla müşterinin, bazen şirketinizin)
  • Dönem sınırları (takvim ayları vs 30 günlük kayan dönemler)

Sonra kısmi dönemleri nasıl ele alacağınızı tanımlayın:

  • ay ortasında yeni müşteri
  • dönem ortasında plan değişiklikleri
  • iptaller hemen mi yoksa dönemin sonunda mı geçerli

Bu kuralları dokümante edin ve tablo hesapları yerine kodla uygulayın. Günlük hata ve DST kaymaları sık itiraz sebebidir.

Şeffaflık için ara sonuçları saklayın

Sadece final toplamları saklamayın. Aşağıdaki gibi ara artefaktları da tutun:

  • günlük (veya saatlik) toplamlar
  • dahil edilen girdi olay seti/versiyonu
  • toplama işi çalıştırma ID'si ve zaman damgaları

Bu “kağıt izi” destek ekiplerinin “neden bu kadar faturalandım?” sorusuna ham loglara bakmak zorunda kalmadan cevap vermesini sağlar. Ayrıca düzeltmeler sonrası yeniden toplama yaparken önceki ve yeni sonuçları karşılaştırmayı kolaylaştırır.

Bir Rating Motoruyla Kullanımı Ücrete Dönüştürün

Rating motoru, “ne kadar kullanıldı”yı “ne kadar ücretlendirilir”e çeviren kısımdır. Toplanmış kullanım toplamlarını ve müşterinin aktif fiyat planını alır, faturanın oluşturabileceği satır öğelerini üretir.

Müşterilerin gerçekten satın aldığı fiyat kurallarını kodlayın

Çoğu kullandıkça öde fiyatlandırması sadece çarpma değildir. Yaygın kural tiplerini destekleyin:

  • Dahil edilen birimler (ör. ilk 10.000 API çağrısı ücretsiz)
  • Asgari/taahhütler (ör. $99/ay minimum harcama)
  • Kademeler (graduated veya volume pricing)
  • Aşım ücretleri (ör. dahil edilen miktarın üzeri için $0.002/ek birim)

Bunları sert kodlu koşullar yerine açık, test edilebilir kural blokları olarak modelleyin. Bu, denetimi ve yeni plan eklemeyi kolaylaştırır.

Faturaların değişmemesi için fiyat planlarınızı sürümlendirin

Kullanım gecikebilir, planlar güncellenebilir ve müşteriler dönem ortasında yükseltebilir. Tarihsel kullanımı bugünün planıyla yeniden değerlendirirseniz eski faturaları değiştirirsiniz.

Sürümlenmiş fiyat planları saklayın ve her rated satır öğesine kullanılan versiyonu iliştirin. Bir faturayı yeniden çalıştırırken aynı versiyonu kullanın; aksi halde kasıtlı bir düzeltme yapılmadığı sürece farklı sonuçlar çıkabilir.

Yuvarlama ve dökümün öngörülebilir olmasını sağlayın

Yuvarlamayı karar verin ve dokümante edin:

  • Birim başı yuvarlama (nadir; toplamı şişirebilir)
  • Satır öğesi başı yuvarlama (yaygın)
  • Fatura başı yuvarlama (basit ama tutarsız görünebilir)

Son olarak müşterinin doğrulayabileceği bir satır-öğe dökümü üretin: miktar, birim fiyat, kademeli hesaplama, uygulanan dahil birimler ve minimum/kredi ayarlamaları. Net bir döküm destek taleplerini azaltır ve faturaya güveni artırır.

Fatura Oluşturma ve Teslim

Faturalar kullanım matematiğinizin müşterinin anlayabileceği, onaylayabileceği ve ödeyebileceği bir şeye dönüştüğü yerdir. İyi bir fatura öngörülebilir, denetlenebilir ve gönderildikten sonra stabil olmalıdır.

Net satır öğelerden faturalar oluşturun

Faturaları bir dönem anlık görüntüsünden oluşturun: müşteri, plan, para birimi, hizmet tarihleri ve kesinleşmiş faturalandırılabilir toplamlar. Ücretleri okunabilir satır öğelerine dönüştürün (ör. “API çağrıları (1,240,000 @ $0.0008)”). Tekrarlayan ücretler, tek seferlik ücretler ve kullanım için ayrı satırlar tutun ki müşteriler hızlıca uzlaşabilsin.

Vergileri ve indirimleri alt toplamı oluşturduktan sonra ekleyin. İndirim destekliyorsanız kullanılan kuralı (kupon, sözleşme fiyatı, hacim indirimi) kaydedin ve deterministik olarak uygulayın ki yeniden oluşturma aynı sonucu versin.

Faturaların ne zaman oluşturulacağına karar verin

Çoğu ekip dönem sonu faturalama (aylık/haftalık) ile başlar. Kullandıkça öde için eşik faturalaması (ör. birikmiş $100 olduğunda) düşünün; bu kredi riskini ve büyük sürprizleri azaltır. Her müşteriye konfigüre edilebilen “fatura tetikleyicileri”yle her iki yaklaşımı da destekleyebilirsiniz.

Yeniden oluşturma kuralları (ne zaman izin verilir)

Kesin kurallar belirleyin: yeniden oluşturma yalnızca bir fatura taslak durumundayken veya göndermeden önce kısa bir pencerede izin verilsin. İhraç edildikten sonra tarihi yeniden yazmak yerine ayarlamaları kredi notları/debit notları ile yapmayı tercih edin.

Müşterinin beklediği formatlarda fatura teslim edin

Fatura e-postalarını sabit bir fatura numarası ve görüntüleme/indirme bağlantısı ile gönderin. Muhasebe için PDF ve satır-öğe analizi için CSV sunun. İndirilebilir dosyaları müşteri portalinde (ör. /billing/invoices) sunun ki müşteriler destek aramadan kendi işlerini görebilsin.

Ödemeler ve Sağlayıcı Entegrasyonu

Önce faturalama sistemini planlayın
Kod üretmeden önce faturalama akışınızı adım adım haritalandırın.
Planlamayı Kullan

Kullanıma dayalı faturalama, ödeme katmanınız kadar güvenilirdir. Hedef basit: doğru miktarı doğru zamanda tahsil etmek ve bir şeyler ters gittiğinde net kurtarma yolları sunmak.

Bir sağlayıcı ve entegrasyon tarzı seçin

Çoğu ekip, abonelikler, faturalar ve webhooks sunan bir ödeme sağlayıcısıyla başlar. Erken karar verin:

  • Sağlayıcının barındırdığı checkout + müşteri portalını mı kullanacaksınız (daha hızlı, daha az PCI kapsamı)
  • Ödeme alanlarını gömerek mi kullanacaksınız (daha fazla kontrol, daha fazla sorumluluk)
  • Birden fazla sağlayıcıyı destekleyecek misiniz (bölgeler/yedek için faydalı ama karmaşıklık artar)

Faturaların ay içinde değişken olabileceğini tahmin ediyorsanız, sağlayıcının “fatura kesinleştirilip sonra öde” akışlarını desteklediğinden emin olun.

Ham kart verilerini asla saklamayın

Yalnızca sağlayıcı token/ID'lerini saklayın (örneğin: customer_id, payment_method_id). Veritabanınız kart numaraları, CVC veya tam PAN içermemelidir—hiçbir zaman. Tokenizasyon, işlemleri uyumluluğu daha basitleştirerek yapmanızı sağlar.

Başarısız ödemeler: tekrar denemeler, dunning ve erişim kuralları

Kullanıma dayalı faturalar beklenenden büyük olabilir, bu yüzden başarısızlıklar olur. Şunları tanımlayın:

  • Tekrar deneme takvimi (ör. 1 gün, 3 gün, 7 gün)
  • Müşteri bildirimleri ve “kartı güncelle” istemleri
  • Servis erişimine ne olduğuna dair politika (müsamaha süresi vs sert kilit)

Politikayı tutarlı ve faturalama UI'sında görünür yapın.

Webhook'lar gerçeğin kaynağıdır

Ödeme durumunda webhookları yetkili kabul edin. Dahili “faturalama defteri”nizi sadece olaylar geldiğinde güncelleyin (invoice.paid, payment_failed, charge.refunded) ve işleyicileri idempotent yapın.

Ayrıca kaçırılan olayları yakalamak ve dahili durumu sağlayıcıyla uyumlu tutmak için periyodik bir mutabakat işi ekleyin.

Güven ve Self-Servis İçin Bir Müşteri Faturalama Portalı Kurun

Kullanıma dayalı model, müşteriler ay sonunda sadece toplamı gördüğünde “gizemli” gelebilir. Bir faturalama portalı kaygıyı azaltır, destek hacmini düşürür ve fiyatlandırmayı adil hissettirir—çünkü müşteriler ne için ücretlendirildiklerini doğrulayabilir.

Maliyetleri görünür yapın (aşırı söz vadetmeden)

Cari dönem kullanım ile birlikte açıkça etiketlenmiş bir tahmini maliyet gösterin. Tahminin varsayımlarını gösterin (kullanılan fiyat versiyonu, uygulanan indirimler, vergilerin dahil/haric olduğu) ve en son kullanım güncelleme zamanını belirtin.

UI'yi basit tutun: zaman içinde kullanım için bir grafik ve “kullanım → faturalandırılabilir birimler → tahmin” için kompakt bir döküm. Alım gecikmeli ise bunu belirtin.

Müşterilere kontrol verin: uyarılar ve sınırlar

Müşterilerin eşik uyarıları (e-posta, webhook, uygulama içi) ayarlamasına izin verin—ör. bütçenin %50'si, %80'i, %100'ü.

İsteğe bağlı harcama limitleri sunuyorsanız, limitte ne olacağını açıkça belirleyin:

  • Sert durdurma (servis durur) veya yumuşak limit (ek onay gerekir)
  • Hangi kaynakların etkileneceği
  • Uygulamanın ne kadar hızlı gerçekleşeceği

Self-servis faturalama temelleri

Müşteriler şunları kendileri yapabilmeli:

  • Fatura geçmişini görüntülemek ve indirmek; satır öğesi detayları kullanım ile eşleşmeli
  • Ödeme yöntemlerini yönetmek, fatura adresi/VAT güncellemek ve ödeme durumunu/makbuzları görmek

/ fiyatlandırma ve /docs/billing gibi tanımlar, örnekler ve sık sorulanlar için referans verin.

Faturalama soruları için hızlı destek yolu

“Kulağa yardım gerekiyor” gibi belirgin bir giriş ekleyin ve bağlamı önceden doldurun: hesap ID, fatura ID, zaman aralığı ve kullanım raporu anlık görüntüsü. Kısa bir form ve sohbet/e-posta seçenekleri genelde yeterlidir—ve temel konularda gidip gelmeleri engeller.

Uç Durumlar: Değişiklikler, Krediler, İtirazlar ve İptaller

Yapım maliyetlerinizi düşürün
Koder.ai yapı sürecinizi paylaşarak veya ekip arkadaşlarını davet ederek krediler kazanın.
Kredi Kazan

Kullanıma dayalı faturalama gerçek hayatta basit görünür; ta ki bir müşteri ay ortasında yükseltsin, iadə istesin ya da kullanımda ani bir artış için itiraz etsin. Bunları istisna değil, birinci sınıf ürün gereksinimleri olarak ele alın.

Plan değişiklikleri ve günlük/prorasyon kuralları

Plan değişikliği mid-cycle olduğunda “adil” ne demek netleştirin. Yaygın desenler:

  • Düz ücretler için zaman tabanlı prorasyon (ör. platform tabanlı ücret)
  • Kullanım için rate-based değişiklikler (ör. değişiklik sonrası kullanım yeni tarifeden; önceki kullanım eski tarifede kalır)

Kuralı dokümante edin ve faturada açıkça gösterin ki müşteriler toplamları tahmin etmeden karşılaştırabilsin.

Krediler, iadeler ve chargeback'ler

Önceden karar verin:

  • Krediler (gelecek faturaya uygulanan) vs iadeler (para iadesi)
  • İyi niyet kredileri vs sözleşmesel krediler (ör. SLA)

Ayrıca chargeback durumları için fatura PDF'leri, ödeme makbuzları ve kullanım kanıtını hızlı erişilebilir tutun. İçsel bir yönetim görünümü, kayıt dışı “mystery credit”lerin denetimi bozmadan önlenmesini sağlar.

Olay düzeyinde kanıtla itirazları destekleyin

İtirazları desteklemek için “bu API çağrısı gerçekleşti” ile “bu ücret oluşturuldu” arasındaki izleme zincirini tutun. Değişmez kullanım olaylarını ID, zaman damgası, müşteri/proje kimlikleri ve temel boyutlarla saklayın. Müşteri "neden bu kadar yüksek?" diye sorduğunda ortalamalar yerine belirli olaylara işaret edebilirsiniz.

İptaller ve son faturalar

İptaller öngörülebilir olmalı: gelecekteki tekrarlayan ücretleri durdurun, kullanımın dönemin sonuna kadar devam edip etmediğini belirleyin ve fatura edilmemiş kullanım için son fatura oluşturun. Hemen kapatma izni verirseniz, geç gelen olayları yine alıp faturalandırdığınızdan veya özellikle feragat ettiğinizden emin olun.

Güvenlik, Uyumluluk ve Lansmandan Önce Test

Faturalama, küçük bir hatanın finansal hata haline gelebileceği nadir alanlardan biridir. Yayınlamadan önce faturalamayı güvenlik hassasiyetli bir alt sistem gibi ele alın: erişimi kısıtlayın, her dış çağrıyı doğrulayın ve davranışınızı sonradan ispatlanabilir hale getirin.

Roller, izinler ve en az ayrıcalık

Faturalama erişimi için net roller tanımlayarak başlayın. Yaygın bir ayrım: faturalama yöneticileri (ödeme yöntemlerini düzenleyebilir, krediler verebilir, plan değiştirebilir, ödemeyi yeniden deneyebilir) vs faturalama görüntüleyicileri (faturalar, kullanım ve ödeme geçmişini sadece görüntüler).

Bu izinleri uygulamanızda ve iç araçlarınızda açık hale getirin. Birden fazla workspace/hesap destekliyorsanız tenant sınırlarını her yerde zorlayın—özellikle fatura ve kullanım dışa aktarım uç noktalarında.

Kullanım uç noktalarını ve webhook'ları koruyun

Kullanım takip ve sağlayıcı webhook'ları yüksek değerli hedeflerdir.

  • Kullanım alım uç noktalarında kimlik doğrulaması isteyin; oran sınırlandırma ve payload biçimi doğrulaması yapın.
  • Webhook'ları imzalar ve döndürülebilir gizli anahtarlar ile doğrulayın; zaman damgaları ve idempotency anahtarları kullanarak replayleri reddedin.
  • Hata ayıklama için ham webhook payloadlarını saklayın, ancak tam kart veya banka detaylarını loglamaktan kaçının.

Güvenilir denetim kayıtları

“Kimin neyi ne zaman ve neden değiştirdiğini” cevaplayabilecek ayrıntıda faturalama işlemlerini loglayın. Aktör kimliği, istek ID'leri, eski/yeni değerler ve ilgili nesnelere (müşteri, fatura, abonelik) bağlantılar dahil olsun. Bu loglar destek, itirazlar ve uyumluluk incelemeleri için gereklidir.

Sandbox testi + faturalama izleme

Bir sağlayıcı sandbox'ında uçtan uca test edin: abonelik değişiklikleri, prorasyon/krediler, başarısız ödemeler, iadeler, webhook teslim gecikmeleri ve yinelenen olaylar.

Faturalamaya özel izleme ekleyin: webhook hata oranı, fatura oluşturma gecikmesi, rating/toplama iş hataları ve ani kullanım sıçramaları için anomali uyarıları. /admin/billing altında küçük bir pano, lansman haftasında saatler kazandırabilir.

Güvenle Yayınlayın, İzleyin ve İyileştirin

Kullanıma dayalı faturalamayı başlatmak bir anahtar açmak değil, bir düğmü yavaşça çevirmek gibidir. Amaç küçük başlamak, faturaların gerçeklikle uyuştuğunu kanıtlamak ve müşterileri ya da destek ekibini şaşırtmadan genişlemektir.

Pilot ile başlayın (ve sıkı mutabakat yapın)

İlk olarak pilot bir grupla yayınlayın—tercihen sözleşmeleri basit ve yöneticileri yanıt veren müşteriler. Her fatura dönemi için sisteminizin ürettiğiyle ham kullanım ve fiyat kurallarına göre beklediğiniz nümerik değerleri karşılaştırın.

Pilot sırasında insan okunabilir bir mutabakat görünümü tutun: kullanım olayları zaman çizelgesi, toplanmış toplamlar ve nihai satır öğeleri. Bir şey yanlış görünürse cevaplayabilmelisiniz: Hangi olay? Hangi kural? Hangi fiyat versiyonu?

Faturalama gerçeğine uyan izleme ekleyin

Geleneksel uptime grafikleri faturalama sorunlarını yakalamaz. Şunları izleyin ve uyarı kurun:

  • Kullanım gecikmesi (olay ile faturalandırılabilir hale gelmesi arası)
  • Fatura hataları (rating hataları, eksik fiyatlar, fatura kesinleştirme hataları)
  • Ödeme hataları (sağlayıcı reddi, tekrar denemeler, alınamayan webhooklar)

Bunları mühendislik ve operasyonun görebileceği şekilde yayın.

Yardım gerekmeye başlamadan önce çalışma kitapçıkları yazın

Destek ve mühendislik için en yaygın istekleri kapsayan runbook'lar oluşturun:

  • “Kullanımım yanlış görünüyor” (olay → toplamlar → fatura nasıl izlenir)
  • “İade/kredi talebi” (onay kim verir, nasıl uygulanır, nasıl bildirilir)
  • “Ödeme başarısız oldu” (tekrar deneme takvimi, müşteri mesajlaşması, erişim politikası)

Runbook'ları kısa, aranabilir ve sürümlenmiş tutun.

Güvenlik sınırlarıyla yineleyin

Fiyat kurallarını veya meterleri değiştirdiğinizde bunu bir ürün yayını gibi ele alın: değişiklikleri ilan edin, yürürlüğe girme tarihlerini net tutun ve geçmiş kullanım üzerinde geriye dönük testler (backtest) çalıştırın.

Hızlandırmak isterseniz, sohbet tabanlı bir spesifikasyondan faturalama portalı ve yönetim araçları prototipi oluşturmanıza yardımcı olacak Koder.ai gibi bir vibe-coding platformu işe yarayabilir—hazır olduğunuzda kaynak kodunu dışa aktarabilirsiniz. Bu, genellikle ertelenen “yapıştırıcı” parçaları hızla kurmanıza yardımcı olur: iç mutabakat görünümleri, fatura geçmişi ekranları ve kullanım panoları.

Koder.ai’ın varsayılan yığını (web için React, backend için Go + PostgreSQL) burada tarif edilen mimariye iyi uyar: alım uç noktaları, toplama işleri, sürümlenmiş bir rating motoru ve /billing altındaki bir müşteri portalı. Planlama modu, anlık görüntüler ve geri alma özellikleri erken faturalama iterasyonlarını doğrularken daha güvenli hale getirebilir.

Sonraki adımlar için bkz. /pricing paketleme fikirleri ve /blog ilgili uygulama kılavuzları.

SSS

Kullanıma dayalı faturalamayı uygularken önce ne kararlaştırmalıyım?

Öncelikle tek, denetlenebilir bir birim (olaylar, zaman, veri hacmi veya kapasite) tanımlayarak başlayın ve nelerin ücretlendirildiğini yazın.

Erken aşamada uç kuralları dahil edin (başarısız talepler, tekrar denemeler, saniye yerine dakika gibi minimum artışlar), çünkü bu seçimler ölçümleme, faturalar ve destek süreçlerini etkiler.

Müşterilerin daha sonra itiraz etmemesi için “kullanım” nasıl tanımlanmalı?

İyi bir kullanım tanımı şunlar olmalı:

  • Somut (ör. “/v1/search uç noktasına başarılı API çağrısı”)
  • Ölçülebilir (servisler arasında tutarlı şekilde yakalanan)
  • Açıklanabilir (müşterinin uzlaşabileceği)
  • Kararlı (zamanla anlamı değişmeyecek)

Eğer depolanan olaylardan denetlenemiyorsa, itirazlarda savunması zor olur.

Kullanıma dayalı fiyatlandırmada hangi faturalama takvimi en iyisidir?

Birçok ürün anlık kullanım gösterse de hâlâ aylık fatura en öngörülebilir olanıdır.

Seçenekler:

  • Aylık: en basit faturalama ve finans işlemleri için
  • Haftalık: yüksek hızda harcama ve daha hızlı nakit akışı için
  • Gerçek zamanlı: sürekli mutabakat ve düzeltme yapabilecekseniz uygun
Faturalama hesabın mı, workspace'in mi yoksa bireysel kullanıcının mı olmalı?

Sahiplik bir ürün gereksinimidir:

  • Hesap düzeyinde: tek bir tüzel kişilik için ödemeler
  • Workspace düzeyinde: ekip rollup'ları ve ayrı maliyet merkezleri
  • Kullanıcı düzeyinde: bireysel satın alımlar için (B2B'de daha nadir)

Bu karar izinleri, fatura toplamalarını ve portaldeki “kullanım toplamları”nın ne anlama geldiğini belirler.

Tahmin edilebilir kullanıma dayalı faturalar için hangi fiyat yapısı en iyisidir?

Müşterilerin tahmin edebilmesi için en basit yapıyı kullanın:

  • Birim başı sabit fiyat (pay-as-you-go): anlaşılması en kolay
  • Kademeli fiyatlar: hacim indirimleri için; katmanlar az ve net olsun
  • Hakkı verilen miktarlar (allowance): faturaları stabil hale getirir (ör. ilk 20k dahil)

Müşteriler maliyeti tahmin etmekte zorlanıyorsa bir allowance veya temel abonelik ekleyin.

Abonelik ücreti ile kullanım ücretini karıştırmalı mıyım?

Evet—çoğu zaman temel ücret + kullanım en öngörülebilirdir.

Temel ücret destek, barındırma veya garanti edilen bir asgariyi karşılar; kullanım ise değerle doğru orantılı artar. Temeli müşterinin işaret edebileceği bir faydayla ilişkilendirin (“5 kullanıcı dahildir” veya “20k çağrı dahildir”).

Ölçüm şemamda bir kullanım olayı hangi alanları içermeli?

En azından şunları dahil edin:

  • customer_id (veya account_id)
  • timestamp (kullanımın gerçekleştiği zaman)
  • quantity (faturalandırılacak birim)
  • event_type (hangi meter olduğu)
Olaylar yeniden denendiğinde çift sayımı nasıl önlerim?

Olayları idempotent yapın:

  • Sabit bir event_id (veya deterministik bir idempotency anahtarı) zorunlu kılın
  • Alım sırasında benzersizliği uygulayın (benzersiz kısıtlama veya dedupe deposu)
  • İşleyicileri tekrar denemelere karşı güvenli yapın (aynı olay iki kez gelse de tek sayılmalı)

Bunlar yoksa normal tekrar davranışı çifte sayım ve fazla faturalamaya yol açar.

Geç gelen kullanım olayları ve düzeltmeler nasıl ele alınmalı?

Politikanızı seçin ve tutarlı uygulayın:

  • Geç gelen olayları sadece tanımlı bir pencereye kadar kabul edin (ör. 7–30 gün)
  • Verilmiş faturaları yeniden yazmaktansa düzeltme (kredi/debit notu) uygulamayı tercih edin
  • Düzeltmeleri tersine çevirme olayları (negatif miktarlar) veya supersedes_event_id ile kaydedin

Geçmiş satırları sessizce güncellemeyin; izlenebilirlik güven ve denetimler için önemlidir.

Kullanıma dayalı faturalama için müşteri portalı neler içermeli?

Şeffaflığı artırmak için yeterli bilgiyi gösterin:

  • Cari dönem kullanım + açıkça etiketlenmiş tahmini maliyet
  • Kullanımın son güncellenme zamanı ve tazelik/gecikme göstergesi
  • Eşik uyarıları ve isteğe bağlı harcama limitleri; limitin ne yaptığını açıkça belirtin
  • Fatura geçmişi, satır öğesi detayları ve indirmeler (PDF/CSV)

Destek yollarını hesap, fatura ID'si, zaman aralığı ve kullanım anlık görüntüsü ile önceden doldurun.

İçindekiler
Desteklemek İstediğiniz Faturalama Modeliyle BaşlayınMüşterilerin Tahmin Edebileceği Bir Fiyat Yapısı SeçinUçtan Uca Faturalama İş Akışını HaritalandırınMetering ve Kullanım Olay Şemasını TasarlayınKullanım Toplama ve Alımını UygulayınKullanımı Faturalandırılabilir Toplamlara ToplayınBir Rating Motoruyla Kullanımı Ücrete DönüştürünFatura Oluşturma ve TeslimÖdemeler ve Sağlayıcı EntegrasyonuGüven ve Self-Servis İçin Bir Müşteri Faturalama Portalı KurunUç Durumlar: Değişiklikler, Krediler, İtirazlar ve İptallerGüvenlik, Uyumluluk ve Lansmandan Önce TestGüvenle Yayınlayın, İzleyin ve İyileştirinSSS
Paylaş
Koder.ai
Build your own app with Koder today!

The best way to understand the power of Koder is to see it for yourself.

Start FreeBook a Demo

Sadece raporlayacağınız veya fiyatlandıracağınızsa ek boyutlar (region, feature, endpoint, resource_id) ekleyin—sonradan bu boyutların anlamını değiştirmek zordur.