Nordlet

← Belgeler / Kılavuzlar

Hasılatın muhasebeleştirilmesi (UFRS 15 / UFRS 606)

Ertelenmiş hasılat, oransal, kilometre taşı ve tamamlama yüzdesi programları, iade yükümlülükleri, abonelikler.

Kalem bazında hasılat ertelemesi ve planlı muhasebeleştirme: sözleşme yükümlülükleri, zamana bağlı yöntemler, işlem fiyatı dağıtımı, iade karşılıkları, abonelikler ve sözleşme değişiklikleri. Varsayılan akış değişmemiştir; düz bir fatura kalemi, teslim anında yerine getirilen tek bir performans yükümlülüğü için UFRS 606/15 ile uyumlu olacak şekilde, düzenlendiği anda (zaman noktası) hasılatı tamamıyla kayda geçirir. Aşağıdaki tüm özellikler fatura kalemine bağlı olarak isteğe bağlıdır (opt-in).

Yazılım UFRS 606/15 uyumludur; raporlama yapan tüzel kişi ise uyumlu olan (veya olmayan) taraftır. Her yükümlülük için doğru yöntemin seçilmesi, bağımsız satış fiyatları ile iade oranlarının tahmin edilmesi ve bir değişiklik yapıldığında kalan mal veya hizmetlerin ayrı nitelikte olup olmadığının değerlendirilmesi, beyanda bulunan tarafın yapacağı muhasebe değerlendirmeleridir.

Hesaplar

Akışları destekleyen üç ana hesap planı kalemi, kayıt kuralı anahtarları (şirket başına ledger/posting-rules/update üzerinden geçersiz kılınabilir) olarak tanımlanmıştır: revenue.deferredIncome → 4910 "Ateinančių laikotarpių pajamos" (sözleşme yükümlülüğü), revenue.refundLiability → 4450 "Grąžinimo įsipareigojimai pirkėjams", revenue.contractAsset → 2910 "Sukauptos pajamos". Mevcut şirketler, hesap şablonunu yeniden uygulayarak (ledger/accounts/apply-template) bu hesapları edinebilir.

Fatura kalemlerindeki performans yükümlülükleri

sales/invoices/create|update kalemleri, method parametresi aşağıdaki değerlerden biri olmak üzere recognition: { method, startDate, endDate, milestones } girdilerini kabul eder:

Yöntem Düzenleme anındaki davranış Muhasebeleştirme
point_in_time (varsayılan) Alacak hasılat (tamamı) düzenleme anında, değişmez
ratable (startDate..endDate) Alacak ertelenmiş gelir hizmet dönemi boyunca gün ağırlıklı aylık plan
milestone (milestones[], toplamı 100 olan yüzdeler) Alacak ertelenmiş gelir kilometre taşı başına bir dilim, olay gerçekleştiğinde muhasebeleştirilir
percent_complete Alacak ertelenmiş gelir kümülatif ilerleme raporları aracılığıyla

Ticari alacaklar ve KDV etkilenmez: düzenleme işlemi brüt tutar için Borç 2410, KDV için Alacak 4492 kaydı atar ve net tutarı hasılat (zaman noktasındaki kalemler) ile 4910 (ertelenmiş kalemler) arasında bölüştürür. Planlar, şirketin para birimi cinsinden düzenleme tarihindeki döviz kuruyla saklanır; sales/recognition-schedules/list (sales:read) uç noktası pending | recognized | cancelled statüsüne sahip her bir dilimi listeler.

İşlem fiyatı dağıtımı. Birden fazla kalem olduğunda, her kalemdeki standaloneSellingPrice (bağımsız satış fiyatı) faturanın net tutarını yükümlülükler arasında orantılı olarak dağıtır (UFRS 15 §76–80); beyan edilen kalem fiyatı değil, dağıtılan tutar hasılat/ertelenmiş dağılımını ve planları belirler. KDV, fatura kalemlerinde belirtildiği şekilde kalır.

Muhasebeleştirme motoru

Muhasebeleştirme motoru, her çalıştırılma için sales/recognition/runs/list altında kaydedilen tek bir yevmiye fişi olarak Borç 4910 / Alacak hasılat (orijinal kalemden hizmet/ürün hesabı ve masraf merkezi) kaydı atar.

  • POST /v1/sales/recognition/compute (sales:read) { asOfDate? } - vadesi gelen oransal dilimlerin deneme amaçlı önizlemesi.
  • POST /v1/sales/recognition/run (sales:write) { asOfDate?, postingDate?, scheduleIds? } - vadesi gelen oransal dilimleri veya scheduleIds ile belirtilen dilimleri (herhangi bir yöntemle) muhasebeleştirir.
  • POST /v1/sales/recognition/progress (sales:write) { invoiceLineId, percentComplete, date? } - tamamlama yüzdesine dayalı kalemler: kümülatif ilerlemeyi bildirir; yeni kazanılan fark derhal kaydedilir, geriye giden ilerlemeler reddedilir.
  • POST /v1/sales/recognition/summary (sales:read) - bugüne kadar muhasebeleştirilen, kalan, bekleyen adet ve kalem başına sonraki vade tarihi ile birlikte şirket toplamları.

Yoklama (polling) gerektirmeden muhasebeleştirmeyi tetikleyen üç olay vardır: dönem kilidi (ledger/periods/lock) önce dönem sonuna kadar vadesi gelen her şeyi muhasebeleştirir ve dönem sonu tarihiyle kaydeder; teslim tutanağı düzenleme (sales/acts/issue) bağlı faturanın bekleyen kilometre taşı dilimlerini tutanak tarihinde muhasebeleştirir; ve bir vade zamanlayıcısı sonraki oransal vade tarihine kurulur ve geldiğinde şirket bazında kayıt atar (kilitli bir dönem daha sonra yeniden denenir). Kilometre taşları bilerek olaya dayalıdır; bir kilometre taşının expectedDate (beklenen tarih) alanı planlama bilgisi niteliğindedir ve tek başına asla muhasebeleştirmeyi tetiklemez.

Değişken bedel - iade yükümlülüğü

Bir kalem üzerindeki refundEstimatePercent, düzenleme anında hasılat veya ertelenmiş gelir yerine (dağıtılmış) net tutarın ilgili yüzdesini 4450 hesabına alacak kaydeder. Beklenen iadeler işlem fiyatına dahil edilmez (UFRS 15 §55). Fatura bazındaki durum sales/refund-liability/list altında tutulur (tahmin edilen, tüketilen, gözlemlenen mutabakat iadeleri, kalan).

Fiili işlemler: faturaya karşı düzenlenen bir alacak dekontu, hasılata dokunmadan önce kalan yükümlülüğe kadar 4450 hesabına borç kaydı yapar. sales/refund-liability/true-up (sales:write) { invoiceId, estimatedTotal, date? } tahmini revize eder ve farkı her iki yönde de hasılat hesabına yansıtır (tüketilen tutar alt sınır olarak alınır). Faturayla eşleştirilen ÖSP (PSP) mutabakat iadeleri yükümlülük üzerine kaydedilir ve bir refund_liability.actual webhook olayı tetikler; hasılat ve hesaplanan KDV için KDV belge niteliğinde alacak dekontu gereksinimi nedeniyle doğrudan 4450 hesabına borç kaydı atmazlar.

Abonelikler - sözleşmelerden faturalara

Bir sözleşmeye billingPeriod (monthly | quarterly | annual) tanımlayın; agreements/generate-invoice (agreements:write) sonraki faturalandırılmamış dönemin taslak faturasını oluşturur: sözleşme kalemlerinden gelen satırlar (veya dönem başına tek satır olarak value), her biri hizmet dönemi boyunca oransal muhasebeleştirmeye tabi tutulur. agreements/billing/run { asOfDate? } tüm aktif sözleşmeleri tarar, vadesi gelen her dönemi oluşturur ve bitiş tarihini geçmiş tamamen faturalandırılmış sözleşmelerin süresini sonlandırır. Son kısa dönemler gün bazında orantılanır; autoRenew süreyi kendi uzunluğu kadar uzatır ve faturalandırmaya devam eder. Oluşturulan faturalar agreementId taşır (sales/invoices/list içinde filtrelenebilir).

Sözleşme değişiklikleri

POST /v1/sales/recognition/modify (sales:write) { invoiceLineId, approach, date?, newEndDate?, newMilestones? }:

  • prospective - bekleyen planı iptal edin ve henüz muhasebeleştirilmemiş kalanı değişiklik tarihinden itibaren yeni koşullara göre yeniden dağıtın (kalan mal veya hizmetler ayrı niteliktedir: UFRS 15 §20(a), §21(a)). Oransal kalemler newEndDate alır; kilometre taşı kalemleri ise newMilestones alır (kalan tutarın yüzdeleri).
  • cumulative_catch_up (yalnızca oransal) - yeni koşullar baştan beri geçerliymiş gibi hasılatı yeniden hesaplayın ve farkı her iki yönde de derhal kaydedin (tek bir kısmen yerine getirilmiş yükümlülük: §21(b)); kalan kısım yeniden dağıtılır.

Fiyat düşüşleri alacak dekontları aracılığıyla yansıtılır: bekleyen planları içeren bir faturaya kesilen alacak dekontu öncelikle ertelenmiş geliri borçlandırır ve bekleyen planı uzak ucundan kısaltır, ardından iade yükümlülüğünü azaltır ve ancak son olarak hasılatı etkiler. Fiyat artışları ise kendi muhasebeleştirme süreçlerine sahip ek faturalardır ve yapıları gereği prospektiftir.

Sınırlar

  • Planlar ve muhasebeleştirme kayıtları, düzenleme tarihindeki döviz kuruyla sabitlenmiş şirket para birimi (EUR) tutarlarıdır; ertelenmiş bakiyeler düzenlemeden sonra kur değişimine göre yeniden değerlenmez.
  • Sözleşme varlığı hesabı (2910) hesap planında ve kayıt anahtarı olarak sağlanmıştır, ancak henüz otomatik faturalandırılmamış hasılat akışı bu hesaba kayıt atmamaktadır; faturalamadan önce muhasebeleştirme işlemi bugün için manuel yevmiye fişiyle yapılır.
  • Dağıtım, faturanın tüm kalemlerinde ya da hiçbirinde bağımsız bir satış fiyatının bulunmasını gerektirir; artık yaklaşımı (§79(c)) uygulanmamaktadır.
  • İade yükümlülükleri fatura seviyesinde KDV hariç olarak takip edilir; ilgili iade alınan malları geri alma hakkı varlığı (§B25) modellenmemiştir.
  • Kümülatif yakalama yöntemi oransal kalemlere uygulanır; kilometre taşı yeniden planlaması yalnızca prospektiftir; tamamlama yüzdesi kalemleri modify ile değil, ilerleme raporları aracılığıyla düzeltilir.
  • Önemli finansman bileşenleri (§60–65), nakit dışı bedeller ve müşteriye ödenen bedeller kapsam dışındadır.
  • Otomatik vade planı çalıştırmaları, tetiklendikleri gün kayıt atar; kilitli dönemlere yönelik geriye dönük yakalama kayıtları reddedilir; dönemin kilidini açın veya açık bir kayıt tarihi kullanın.