Financial Reporting in Power BI: P&L, Balance Sheet, Cash Flow

Build complete financial statements in Power BI — Profit & Loss, Balance Sheet, and Cash Flow waterfall — with DAX time intelligence formulas and CFO-ready dashboard design.

E
ECOSIRE Research and Development Team
|19 Mart 202610 dk okuma2.1k Kelime|

Power BI'da Finansal Raporlama: Kâr ve Zarar, Bilanço, Nakit Akışı

Statik Excel finansal paketlerini Power BI kontrol panelleriyle değiştiren CFO'lar, ay sonu kapanış raporlama süresinde %60-80 azalma olduğunu bildiriyor. Bunun nedeni, kâr ve zarar tablolarını manuel olarak bir araya getirmek, bilançoları biçimlendirmek ve PDF'leri e-postayla göndermek yerine, bir kez yayınlıyorlar ve her paydaş (yönetim kurulu üyeleri, departman başkanları, yatırımcılar) kendi ilgili görünümlerine göre filtrelenmiş canlı verileri görüyor.

Power BI'da mali tablolar oluşturmak, satış veya operasyonel panolar oluşturmaktan mimari olarak farklıdır. Mali tablolar, hassas hesap haritalaması, yüzde yüz dönem karşılaştırmaları ve denetim takibi şeffaflığı gerektirir. Bu kılavuz uygulamanın tamamını gösterir: veri modeli, hesap sınıflandırması, kar ve zarar yapısı, bilanço görselleştirmesi, nakit akışı şelalesi ve her şeyin işe yaramasını sağlayan DAX zaman zekası formülleri.

Önemli Çıkarımlar

  • Finansal raporlama, GL işlem düzeyinde bir veri modeli gerektirir (önceden birleştirilmiş rapor alıntıları değil)
  • Hesap sınıflandırma tablosu, hesap planını K&Z / Bilanço / Nakit Akışı kategorileriyle eşleştirir
  • Hesaplanan sütunlara sahip matris görseli, bildirim biçimi için en iyi Power BI görselidir
  • Zaman zekası: DATESYTD, SAMEPERIODLASTYEAR ve PARALLELPERIOD tüm dönem karşılaştırmalarını yönetir
  • Nakit akış tablosunda dolaylı yöntem kullanılmaktadır: Net Gelir → İşletme Sermayesi düzeltmeleri → İşletme CF'si
  • Değişiklik analizi ölçümleri (fiili ve bütçe karşılaştırması) yönetim raporlaması için gereklidir
  • Yardımcı boyuttaki satır düzeyinde güvenlik, her okuyucunun hangi varlıkları göreceğini kontrol eder
  • Sayfalandırılmış raporlar (Power BI Rapor Oluşturucusu), pano paketleri için mükemmel piksel ifadelerini PDF'ye aktarır

Finansal Raporlama için Veri Modeli

Temel Tablolar

GL_Transactions (olgu tablosu — yevmiye kaydı satırı başına bir satır):

SütunTürAçıklama
KOD0MetinYevmiye kaydı veya işlem numarası
KOD0Uluslararasıİşlem içindeki satır numarası
KOD0MetinFK'dan Hesap Planına
KOD0Tarihİşlem tarihi
KOD0TarihGL'ye gönderilme tarihi
KOD0MetinMali dönem (ör. "2026-03")
KOD0OndalıkBorç tutarı (pozitif)
KOD0OndalıkKredi tutarı (pozitif)
KOD0OndalıkBorç - Kredi
KOD0MetinFK'dan Bağlı Ortaklığa
KOD0MetinFK'den Bölüme
KOD0MetinFK'dan Projeye (isteğe bağlı)
KOD0Metinİşlem notu

Hesap_Grafikleri (boyut):

SütunAçıklama
KOD0Dahili hesap kodu
KOD0Hesap numarasını görüntüle
KOD0Hesap adı
KOD0Varlık, Yükümlülük, Özsermaye, Gelir, Gider
KOD0Dönen Varlık, Sabit Varlık, SMM, Faaliyet Giderleri vb.
KOD0Kâr ve Zarar, Bilanço veya Nakit Akışı
KOD0Gelir, SMM, Brüt Kar, Faaliyet Gideri, FAVÖK, Net Gelir
KOD0Dönen Varlıklar, Duran Varlıklar, Kısa Vadeli Yükümlülükler, Uzun Vadeli Yükümlülükler, Özkaynaklar
KOD0İşletme, Yatırım, Finansman
KOD0Özel ekstre siparişi için
KOD0Hiyerarşi toplaması için
KOD0Eleme girişleri için bayrak

Bütçe (isteğe bağlı bilgi tablosu):

SütunAçıklama
KOD0FK'dan Hesap Planına
KOD0Mali dönem
KOD0Bütçelenen tutar
KOD0Bütçe, Tahmin, Revize
KOD0FK'dan Bağlı Ortaklığa

Kar ve Zarar Tablosu Yapısı

Kâr ve Zarar için Hesap Sınıflandırması

Kâr ve Zarar bölümü yapısı, hesap planınızı standart Kâr ve Zarar kategorileriyle eşleştirmelidir:

Revenue
  - Product Revenue
  - Service Revenue
  - Other Revenue
Cost of Goods Sold
  - Product COGS
  - Direct Labor
  - Manufacturing Overhead
= Gross Profit
Operating Expenses
  - Sales & Marketing
  - General & Administrative
  - Research & Development
  - Depreciation & Amortization
= EBITDA / Operating Income
Other Income / Expense
  - Interest Income
  - Interest Expense
  - Foreign Exchange
= Net Income Before Tax
  - Income Tax Expense
= Net Income

Kâr ve Zarar için DAX Önlemleri

// Core GL amount measure (handles sign convention)
GL Amount =
SUMX(
    GL_Transactions,
    SWITCH(
        RELATED(Chart_of_Accounts[AccountType]),
        "Revenue", GL_Transactions[CreditAmount] - GL_Transactions[DebitAmount],
        "Expense", GL_Transactions[DebitAmount] - GL_Transactions[CreditAmount],
        "Asset", GL_Transactions[DebitAmount] - GL_Transactions[CreditAmount],
        "Liability", GL_Transactions[CreditAmount] - GL_Transactions[DebitAmount],
        "Equity", GL_Transactions[CreditAmount] - GL_Transactions[DebitAmount],
        GL_Transactions[NetAmount]
    )
)

// Revenue
Total Revenue =
CALCULATE([GL Amount], Chart_of_Accounts[PLSection] = "Revenue")

// COGS
Total COGS =
CALCULATE([GL Amount], Chart_of_Accounts[PLSection] = "COGS")

// Gross Profit
Gross Profit = [Total Revenue] - [Total COGS]

// Gross Margin %
Gross Margin % = DIVIDE([Gross Profit], [Total Revenue], 0)

// Operating Expenses
Total OpEx =
CALCULATE([GL Amount], Chart_of_Accounts[PLSection] = "Operating Expense")

// EBITDA
EBITDA = [Gross Profit] - [Total OpEx]

// D&A (addback for EBITDA from EBIT)
DA Addback =
CALCULATE(
    [GL Amount],
    Chart_of_Accounts[AccountName] IN {"Depreciation", "Amortization"}
)

// Net Income
Net Income =
[EBITDA] +
CALCULATE([GL Amount], Chart_of_Accounts[PLSection] = "Other Income/Expense") -
CALCULATE([GL Amount], Chart_of_Accounts[PLSection] = "Tax Expense")

P&L Zaman İstihbaratı

// Prior Year same period
PY Revenue = CALCULATE([Total Revenue], SAMEPERIODLASTYEAR(Date[Date]))

// YTD Revenue
YTD Revenue = CALCULATE([Total Revenue], DATESYTD(Date[Date]))

// Prior YTD Revenue
PY YTD Revenue = CALCULATE([YTD Revenue], SAMEPERIODLASTYEAR(Date[Date]))

// Budget Variance
Revenue Budget Variance =
[Total Revenue] -
CALCULATE(SUM(Budget[BudgetAmount]), Budget[ScenarioID] = "Budget")

// Budget Variance %
Revenue Budget Var % =
DIVIDE([Revenue Budget Variance],
    CALCULATE(SUM(Budget[BudgetAmount]), Budget[ScenarioID] = "Budget"), 0)

// Rolling 12-Month Revenue
R12M Revenue =
CALCULATE(
    [Total Revenue],
    DATESINPERIOD(Date[Date], LASTDATE(Date[Date]), -12, MONTH)
)

Kâr ve Zarar Matrisi Görsel Tasarımı

Bir P&L beyanı için önerilen görsel bir Matristir:

  • Satırlar: Kâr ve Zarar satır öğeleri (alt toplamlarla birlikte Chart_of_Accounts[PLSection]'dan)
  • Sütunlar: Dönemler (aylar, çeyrekler, YTD)
  • Değerler: Gerçekleşen tutar, Bütçe tutarı, Fark $, Fark %'si

Matrisi Yapılandırın:

  1. Bölüm düzeyinde alt toplamları etkinleştirin (Gelir toplamı, SMM toplamı vb.)
  2. Koşullu biçimlendirmeyi kullanın: Kırmızı = olumsuz fark, Yeşil = olumlu
  3. Chart_of_Accounts[SortOrder] yoluyla özel sıralama düzenini uygulayın
  4. Sayıları biçimlendirin: binler için £#,##0K, yüzdeler için 0.0%

Bilanço Görselleştirme

Bilanço Yapısı

Assets
  Current Assets
    - Cash and Equivalents
    - Accounts Receivable
    - Inventory
    - Prepaid Expenses
  Fixed Assets
    - Property, Plant & Equipment (net)
    - Intangible Assets
    - Goodwill
= Total Assets

Liabilities
  Current Liabilities
    - Accounts Payable
    - Accrued Expenses
    - Deferred Revenue
    - Short-term Debt
  Long-term Liabilities
    - Long-term Debt
    - Deferred Tax
= Total Liabilities

Equity
  - Common Stock
  - Retained Earnings
  - Additional Paid-In Capital
= Total Equity
= Total Liabilities + Equity

Bilanço DAX Ölçüleri

Bilanço ölçümleri, dönem tutarları yerine bakiyeyi (kümülatif) kullanır - başlangıçtan seçilen tarihe kadar tüm işlemler:

// Balance Sheet uses cumulative amounts (not period totals)
BS Amount =
CALCULATE(
    [GL Amount],
    FILTER(
        ALL(Date),
        Date[Date] <= MAX(Date[Date])
    )
)

// Total Current Assets
Current Assets =
CALCULATE([BS Amount], Chart_of_Accounts[BSSection] = "Current Assets")

// Total Fixed Assets (net of depreciation)
Fixed Assets =
CALCULATE([BS Amount], Chart_of_Accounts[BSSection] = "Fixed Assets")

// Total Assets
Total Assets = [Current Assets] + [Fixed Assets]

// Total Current Liabilities
Current Liabilities =
CALCULATE([BS Amount], Chart_of_Accounts[BSSection] = "Current Liabilities")

// Total Equity
Total Equity =
CALCULATE([BS Amount], Chart_of_Accounts[BSSection] = "Equity")

// Balance Sheet Check (must equal 0 for a balanced BS)
BS Balance Check =
[Total Assets] - ([Current Liabilities] +
    CALCULATE([BS Amount], Chart_of_Accounts[BSSection] = "Long-term Liabilities") +
    [Total Equity])

// Key Ratios
Current Ratio = DIVIDE([Current Assets], [Current Liabilities], 0)
Quick Ratio =
DIVIDE(
    [Current Assets] -
    CALCULATE([BS Amount], Chart_of_Accounts[AccountSubType] = "Inventory"),
    [Current Liabilities],
    0
)
Debt to Equity = DIVIDE([Current Liabilities], [Total Equity], 0)

Bilanço Görselleştirme Modeli

Bir görsel kombinasyonu kullanın:

  1. Tam bilanço tablosu için Matris (K&Z matrisiyle aynı yapı)
  2. Varlıklar ve Yükümlülükler + Özsermaye için yığılmış çubuk grafik (12 aylık eğilim)
  3. Cari Oran, Hızlı Oran, Borç/Özsermaye için KPI kartları
  4. İşletme Sermayesi ile hedef arasındaki gösterge

Nakit Akış Tablosu (Dolaylı Yöntem)

Dolaylı yöntem Net Gelir ile başlar ve nakit dışı kalemler ile işletme sermayesi değişikliklerine göre ayarlama yapar.

Operating Activities:
  + Net Income
  + Depreciation & Amortization
  + / - Changes in Working Capital:
    + Decrease / - Increase in Accounts Receivable
    + Decrease / - Increase in Inventory
    - Decrease / + Increase in Accounts Payable
    - Decrease / + Increase in Accrued Expenses
= Net Cash from Operations

Investing Activities:
  - Capital Expenditures (PP&E additions)
  + Proceeds from Asset Sales
= Net Cash from Investing

Financing Activities:
  + Debt Proceeds
  - Debt Repayments
  - Dividends Paid
  + Equity Raised
= Net Cash from Financing

= Net Change in Cash
+ Beginning Cash Balance
= Ending Cash Balance

Nakit Akışı DAX Ölçüleri

// Period-over-Period change in Accounts Receivable
AR Change =
VAR CurrentAR = CALCULATE([BS Amount], Chart_of_Accounts[AccountSubType] = "Accounts Receivable")
VAR PriorAR = CALCULATE(
    [BS Amount],
    Chart_of_Accounts[AccountSubType] = "Accounts Receivable",
    DATEADD(Date[Date], -1, MONTH)
)
RETURN PriorAR - CurrentAR  // Decrease in AR = positive cash impact

// Change in Inventory
Inventory Change =
VAR CurrentInv = CALCULATE([BS Amount], Chart_of_Accounts[AccountSubType] = "Inventory")
VAR PriorInv = CALCULATE([BS Amount], Chart_of_Accounts[AccountSubType] = "Inventory",
    DATEADD(Date[Date], -1, MONTH))
RETURN PriorInv - CurrentInv

// Capital Expenditures (negative — cash outflow)
CapEx =
-CALCULATE(
    [GL Amount],
    Chart_of_Accounts[AccountSubType] = "Fixed Asset Addition",
    Chart_of_Accounts[CFSection] = "Investing"
)

// Net Cash from Operations
Operating Cash Flow =
[Net Income] +
[DA Addback] +
[AR Change] +
[Inventory Change] +
CALCULATE([GL Amount], Chart_of_Accounts[AccountSubType] = "Accounts Payable Change")

// Free Cash Flow
Free Cash Flow = [Operating Cash Flow] + [CapEx]

Nakit Akışı Şelale Tablosu

Şelale grafiği nakit akışı için ideal görseldir:

  1. Nakit akışı kalemlerini ve tutarlarını içeren hesaplanmış bir tablo oluşturun
  2. Şelale grafiği görselini kullanın (Power BI'da yerleşiktir)
  3. Her bir öğenin katkısını göstermek için "Arttırma" ve "Azaltma" kategorilerini yapılandırın
  4. "Faaliyetlerden Gelen Net Nakit", "Yatırımlardan Gelen Net Nakit", "Finansmandan Gelen Net Nakit"i alt toplam olarak işaretleyin
  5. "Bitiş Nakit Bakiyesini" toplam olarak işaretleyin

Varyans Analizi: Gerçek vs Bütçe vs Tahmin

// Scenario selector (works with a scenario slicer)
Selected Measure =
SWITCH(
    SELECTEDVALUE(Scenario[Scenario]),
    "Budget", SUM(Budget[Amount]),
    "Forecast", CALCULATE(SUM(Budget[Amount]), Budget[ScenarioID] = "Q2 Forecast"),
    [Total Revenue]  -- default to Actual
)

// Traffic light variance
Variance Status =
VAR Var% = [Revenue Budget Var %]
RETURN
SWITCH(TRUE(),
    Var% >= 0.05, "Favorable",
    Var% >= -0.05, "On Track",
    "Unfavorable"
)

Sıkça Sorulan Sorular

Power BI mevcut ERP finansal raporlama modülümüzün yerini alabilir mi?

Power BI, standart mali raporların çoğunu (K&Z, Bilanço, Nakit Akışı, AR Yaşlandırma) daha esnek, etkileşimli eşdeğerlerle değiştirebilir. Ancak yasal mali tablolar (GAAP/IFRS sertifikalı), imza kontrolleriyle denetime hazır raporlar ve işlemsel kayıt işlevleri ERP'de kalır. En uygun yaklaşım: İşlem kontrolü ve uyumluluk için ERP'yi, yönetim raporlaması ve yönetim kurulu düzeyinde analitik için Power BI'ı kullanın.

Power BI'daki Kâr ve Zararımın ERP ile tam olarak eşleştiğinden nasıl emin olabilirim?

En yaygın mutabakat sorunu imza kurallarıdır; ERP'ler, gelir hesaplarının normal alacak veya borç bakiyelerine sahip olup olmadığını tanımlar ve Power BI'ın da aynı mantığı uygulaması gerekir. Tüm GL girişlerini (borçlar + alacaklar) toplayan bir test ölçüsü oluşturun ve kapalı bir dönem için sıfıra eşit olduğunu doğrulayın. Ardından, P&L toplamlarınızı, eşleşene kadar dönem dönem ERP'nin yerel P&L raporuyla karşılaştırın.

Birden fazla yan kuruluş tek bir Power BI mali raporunda birleştirilebilir mi?

Evet — bu, Power BI'ın birçok ERP finansal raporlama modülüne göre en büyük avantajlarından biridir. Bir SubsidiaryID sütunuyla tüm bağlı kuruluşlardan GL verilerini içe aktarın, ardından bağlı kuruluşlar genelinde toplam sağlayan konsolidasyon önlemleri oluşturun. Şirketler arası eliminasyonlar için, Hesap Planı'nda şirketlerarası hesapları işaretleyin ve bunları konsolide tedbirlerin dışında tutun. Para birimi çevirisi, işlem tarihine birleştirilmiş bir döviz kuru tablosu gerektirir.

Power BI'dan kart paketi kalitesinde PDF raporlarını nasıl oluştururum?

Power BI Rapor Oluşturucusu (sayfalandırılmış raporlar), profesyonel biçimlendirme, sayfa sonları, üstbilgiler/altbilgiler ve hassas tablo düzenleriyle piksel kusursuzluğunda PDF çıktısı oluşturur. Bu, Power BI Desktop'tan ayrıdır ancak aynı veri kümelerini kullanır. Yönetim kurulu paketleri için Word'de yönetim yorumunu oluşturun, sayfalandırılmış raporlar aracılığıyla mali tabloları oluşturun ve Power Automate aracılığıyla aylık bir programda birleştirin. Sayfalandırılmış raporlar için Power BI Premium veya PPU lisansı gereklidir.

Takvim yıllarıyla eşleşmeyen mali yıllarla başa çıkmanın en iyi yolu nedir?

DAX veya Power Query'de, mali yılın başlangıç ​​ayına göre FiscalYear, FiscalQuarter ve FiscalPeriod sütununu içeren özel bir tarih tablosu oluşturun. Bu tabloyu Power BI'da Tarih Tablosu olarak işaretleyin. DATESYTD'yi mali yıl bitiş tarihi parametresiyle birlikte kullanın: Mart mali yılı sonu için CALCULATE([Revenue], DATESYTD(Date[Date], "3/31")). Tüm zaman istihbaratı fonksiyonları bu isteğe bağlı yıl sonu parametresini kabul eder.


Sonraki Adımlar

Power BI'daki mali raporlama, operasyonel panolardan daha dikkatli veri modelleme gerektirir; hesap imzalama kuralları, bilanço kümülatif mantığı ve nakit akışı dolaylı yöntem hesaplamalarının tümü hassas uygulama gerektirir. Doğru şekilde yapıldığında sonuç, haftalarca süren Excel çalışmasının yerini dakikalarca süren keşifle değiştiren bir CFO kontrol panelidir.

ECOSIRE, Power BI uzmanlığını derin muhasebe ve finans bilgisiyle birleştirir. Power BI kontrol paneli geliştirme hizmetlerimiz eksiksiz mali tablo tasarımını içerir ve muhasebe hizmetlerimiz finansal kontrol panellerini güvenilir kılan veri kalitesi ve hesap planı yapılandırmasını kapsar.

Finansal raporlama gereksinimlerinizi görüşmek ve liderlik ekibinize ihtiyaç duydukları finansal görünürlüğü sağlayan bir Power BI mimarisi tasarlamak için finans analiz ekibimizle iletişime geçin.

E

Yazan

ECOSIRE Research and Development Team

ECOSIRE'da kurumsal düzeyde dijital ürünler geliştiriyor. Odoo entegrasyonları, e-ticaret otomasyonu ve yapay zeka destekli iş çözümleri hakkında içgörüler paylaşıyor.

WhatsApp'ta Sohbet Et