Mikro Satış ve Fatura Raporu SQL: Ciro, KDV ve En Çok Satılanlar
"Bu ay ne kadar sattım?", "Hangi müşteri en çok aldı?", "KDV'siz net ciro ne?" Satış ve fatura raporları, işletmenin nabzıdır. Mikro'da bu raporları doğru almak; doğru evrak tipini seçmek, iptal/iadeyi ayıklamak ve KDV ile net tutarı ayırmaktan geçer. Bu yazıda Mikro satış ve fatura raporlarının nasıl kurulduğunu örnek sorgularla anlatıyoruz.
Satış verisi nereden gelir?
Mikro'da satış; faturalar ve onların kalemleri üzerinden raporlanır. İki kavram önemlidir:
- Evrak tipi: Bir kaydın satış mı, alış mı, iade mi olduğunu belirler. Yanlış tip = yanlış ciro.
- Net / KDV / brüt ayrımı: Tutarın KDV dâhil mi hariç mi olduğunu bilmek, "ciro" tanımınız için kritiktir.
Bir de iptal kayıtları vardır; bunlar ayıklanmazsa ciro şişer.
Aylık satış cirosu (özet)
Aşağıdaki örnek, bir dönemin satış faturası adedini ve toplam tutarını verir. (Kolon adları sürüme göre değişebilir; Erp Asistanı şemanıza göre doğru olanı üretir.)
SELECT
COUNT(DISTINCT fat_evrakno_sira) AS [Fatura Adedi],
SUM(fat_geniskdv) AS [KDV],
SUM(fat_aratoplam) AS [Net (KDV Hariç)],
SUM(fat_aratoplam + fat_geniskdv) AS [Genel Toplam]
FROM FATURALAR
WHERE fat_tip = 1 -- satış faturası
AND fat_iptal = 0 -- iptal hariç
AND fat_tarihi >= '20260601' AND fat_tarihi < '20260701';
Buradaki üç kritik nokta: doğru evrak tipi, iptal filtresi ve net/KDV ayrımı. Üçü de raporun anlamını belirler.
En çok satış yapılan müşteriler
SELECT TOP 20
c.cari_kod AS [Cari Kodu],
c.cari_unvan1 AS [Unvan],
SUM(f.fat_aratoplam) AS [Net Ciro]
FROM FATURALAR f
JOIN CARI_HESAPLAR c ON c.cari_kod = f.fat_cari_kodu
WHERE f.fat_tip = 1 AND f.fat_iptal = 0
AND f.fat_tarihi >= '20260101'
GROUP BY c.cari_kod, c.cari_unvan1
ORDER BY [Net Ciro] DESC;
En çok satılan ürünler (fatura kaleminden)
Ürün bazlı satış, fatura kalemlerinden gelir:
SELECT TOP 50
k.sth_stok_kod AS [Stok Kodu],
s.sto_isim AS [Stok Adı],
SUM(k.sth_miktar) AS [Miktar],
SUM(k.sth_tutar) AS [Tutar]
FROM STOK_HAREKETLERI k
JOIN STOKLAR s ON s.sto_kod = k.sth_stok_kod
WHERE k.sth_evraktip = 1 -- fatura kalemi (satış)
AND k.sth_normal_iade = 0 -- iade hariç
AND k.sth_tarih >= '20260101'
GROUP BY k.sth_stok_kod, s.sto_isim
ORDER BY [Tutar] DESC;
Sık yapılan hatalar
- İptal faturaları saymak:
iptal = 0filtresi unutulursa ciro şişer. - İadeyi satıştan düşmemek: iade kayıtları net ciroyu azaltmalı; ham toplam yanıltır.
- KDV'yi karıştırmak: "ciro" KDV hariç mi dâhil mi? Net ve brüt tutarı ayrı kolonlarda gösterin.
- Yanlış evrak tipi: alış ve satış aynı tabloda olabilir; tip filtresi şart.
- Tarih aralığı belirsizliği: ay sonu dâhil mi?
>= başlangıç AND < (sonraki ay başı)kalıbı en güvenlisidir.
Doğal dille satış raporu
Bütün bu filtreleri ezberlemek yerine yazarsınız:
- "Haziran ayı satış cirom, KDV hariç ve dâhil"
- "Bu yıl en çok alan 20 müşteri"
- "Geçen ay en çok satılan 50 ürün, tutara göre"
Erp Asistanı; evrak tipini, iptal/iade filtresini, KDV/net ayrımını ve tarih aralığını sürümünüze göre doğru kurar. Sonucu kopyala-çalıştır SQL olarak ya da canlı tablo olarak (Excel'e aktarılabilir) alırsınız.
Sık sorulanlar
Ciro KDV dâhil mi olmalı? İşletmeye göre değişir; ikisini de ayrı gösterin (net + KDV + genel toplam). Karışıklık böyle biter.
İade satıştan nasıl düşülür? İade kayıtları ayrı işaretlidir; net ciro hesabında çıkarılır ya da filtrelenir.
Fatura mı, stok hareketi mi kullanmalıyım? Tutar/adet için fatura; ürün kırılımı için fatura kalemi (stok hareketi). İhtiyaca göre Erp Asistanı doğru kaynağı seçer.
Satış raporlarınızı doğru tip, doğru filtre ve doğru KDV ayrımıyla alın — SQL yazmadan.
Mikro'da SQL ve raporu konuşarak alın
Türkçe sorunuzu yazın, şemanıza uygun çalışan SQL'i ya da hazır uygulamanızı saniyeler içinde alın. Kredi kartı gerekmez.