create FUNCTION dbo._Brk_Mutabakat_BaBs_Liste (@ilkTarih DATETIME, @sonTarih DATETIME,@isletmeKodu INT,@limit FLOAT) RETURNS TABLE AS RETURN (
  SELECT
  ISLETME_KODU
 ,FTIRSIP
 ,MAX(CARI_ISIM) CARI_ISIM
 ,MAX(ULKE_KODU) ULKE_KODU
 ,BEYANULKEKODU
 ,ISNULL(VERGI_NUMARASI, '') VERGI_NUMARASI
 ,COUNT(*) SAYI
 ,SUM(TUTAR) TUTAR
 ,ISNULL(TCKIMLIKNO, '') TCKIMLIKNO
 ,CARI_KOD
FROM (SELECT
    T2.ISLETME_KODU
   ,T1.FTIRSIP
   ,T3.CARI_ISIM
   ,T3.ULKE_KODU
   ,T4.BEYANULKEKODU
   ,CASE
      WHEN T3.ULKE_KODU = 'TR' OR
        ISNULL(T3.ULKE_KODU, '') = '' THEN T3.VERGI_NUMARASI
      ELSE CASE
          WHEN T1.FTIRSIP = '1' THEN '2222222222'
          ELSE '1111111111'
        END
    END VERGI_NUMARASI
   ,((CASE
      WHEN T1.FTIRSIP = '1' THEN (CASE
          WHEN (1 <> 1) THEN (T1.GENELTOPLAM - (T1.KDV + 0 - (CASE
              WHEN (0 < 0) THEN -0
              ELSE 0
            END) + T1.YUVARLAMA - ABS(T1.FAT_ALTM2)))
          ELSE (T1.GENELTOPLAM - T1.KDV - T1.YUVARLAMA - 0 + (CASE
              WHEN (0 < 0) THEN -0
              ELSE 0
            END))
        END)
      ELSE (CASE
          WHEN (1 <> 1) THEN (T1.GENELTOPLAM - (T1.KDV + 0 - (CASE
              WHEN (0 < 0) THEN -0
              ELSE 0
            END) + T1.YUVARLAMA - ABS(T1.FAT_ALTM2)))
          ELSE (T1.GENELTOPLAM - T1.KDV - T1.YUVARLAMA - 0 + (CASE
              WHEN (0 < 0) THEN -0
              ELSE 0
            END))
        END)
    END) - (CASE
      WHEN ISNULL(T1.EXPORTREFNO, '') = '' THEN 0
      ELSE (SELECT
            ISNULL(SUM(TUTAR) * T1.GENELTOPLAM / DBO.NSF_GETEXPORTREF_GENELTOPLAM(T1.EXPORTREFNO), 0)
          FROM TBLDEKOTRA TRA WITH (NOLOCK)
          WHERE TRA.EXPORTREFNO = T1.EXPORTREFNO
          AND TRA.SERI_NO = 'IT'
          AND B_A = 'B'
          AND (TRA.KOD NOT LIKE '191%')
          AND (TRA.KOD NOT LIKE '192%')
          AND ISNULL(TRA.EXEXPENSETYPE, 0) NOT IN (0, 1))
    END)) TUTAR
   ,T5.TCKIMLIKNO TCKIMLIKNO
   ,T1.CARI_KODU CARI_KOD
   ,CASE
      WHEN T3.ULKE_KODU = 'TR' OR
        ISNULL(T3.ULKE_KODU, '') = '' THEN T3.VERGI_DAIRESI
      ELSE ''
    END VERGI_DAIRESI
   ,T1.TARIH BELGETARIH
  FROM TBLFATUIRS T1 WITH (NOLOCK)
  JOIN TBLSUBELER T2
    ON T1.SUBE_KODU = T2.SUBE_KODU
  JOIN TBLCASABIT T3
    ON T1.CARI_KODU = T3.CARI_KOD
  JOIN NETSIS..ULKESABIT T4
    ON T3.ULKE_KODU = T4.ULKEKODU
  JOIN TBLCASABITEK T5
    ON T5.CARI_KOD = T3.CARI_KOD
  WHERE T3.CARI_KOD <> '000000000000000'
  AND (T1.FTIRSIP = '1'
  OR T1.FTIRSIP = '2')
  AND ((TIPI <> '6'
  AND (TARIH BETWEEN @ilkTarih AND @sonTarih))
  OR (TIPI = '6'
  AND (EXGUMTARIH BETWEEN @ilkTarih AND @sonTarih)))
  AND T2.ISLETME_KODU = @isletmeKodu
  AND ISNULL(T1.FTIRSIP, '') <> 'Y'
  AND ((CASE
    WHEN T1.FTIRSIP = '1' THEN (CASE
        WHEN (1 <> 1) THEN (T1.GENELTOPLAM - (T1.KDV
          + 0 - (CASE
            WHEN (0 < 0) THEN -0
            ELSE 0
          END) + T1.YUVARLAMA - ABS(T1.FAT_ALTM2)))
        ELSE (T1.GENELTOPLAM - T1.KDV - T1.YUVARLAMA - 0 + (CASE
            WHEN (0 < 0) THEN -0
            ELSE 0
          END))
      END
      )
    ELSE (CASE
        WHEN (1 <> 1) THEN (T1.GENELTOPLAM - (T1.KDV + 0 - (CASE
            WHEN (0 < 0) THEN -0
            ELSE 0
          END) + T1.YUVARLAMA - ABS(T1.FAT_ALTM2)))
        ELSE (T1.GENELTOPLAM - T1.KDV
          - T1.YUVARLAMA - 0 + (CASE
            WHEN (0 < 0) THEN -0
            ELSE 0
          END))
      END)
  END) - (CASE
    WHEN ISNULL(T1.EXPORTREFNO, '') = '' THEN 0
    ELSE (SELECT
          ISNULL(
          SUM(TUTAR) * T1.GENELTOPLAM / DBO.NSF_GETEXPORTREF_GENELTOPLAM(T1.EXPORTREFNO), 0)
        FROM TBLDEKOTRA TRA WITH (NOLOCK)
        WHERE TRA.EXPORTREFNO = T1.EXPORTREFNO
        AND TRA.SERI_NO = 'IT'
        AND B_A = 'B'
        AND (TRA.KOD NOT LIKE '191%')
        AND (TRA.KOD NOT LIKE '192%')
        AND ISNULL(TRA.EXEXPENSETYPE, 0) NOT IN (0, 1))
  END)) >= 0 UNION ALL SELECT
    M2.ISLETME_KODU
   ,'2'
   ,M3.CARI_ISIM
   ,M3.ULKE_KODU
   ,M4.BEYANULKEKODU
   ,CASE
      WHEN M3.ULKE_KODU = 'TR' OR
        ISNULL(M3.ULKE_KODU, '') = '' THEN M3.VERGI_NUMARASI
      ELSE '1111111111'
    END VERGI_NUMARASI
   ,(M1.BRUTTUTAR + M1.MERA)
    TUTAR
   ,M5.TCKIMLIKNO TCKIMLIKNO
   ,M1.CARI_KODU CARI_KOD
   ,CASE
      WHEN M3.ULKE_KODU = 'TR' OR
        ISNULL(M3.ULKE_KODU, '') = '' THEN M3.VERGI_DAIRESI
      ELSE ''
    END VERGI_DAIRESI
   ,M1.TARIH BELGETARIH
  FROM TBLMUSTAHSI M1 WITH (NOLOCK)
  JOIN TBLSUBELER M2
    ON M1.SUBE_KODU = M2.SUBE_KODU
  JOIN TBLCASABIT M3
    ON M1.CARI_KODU = M3.CARI_KOD
  JOIN NETSIS..ULKESABIT M4
    ON M3.ULKE_KODU = M4.ULKEKODU
  JOIN TBLCASABITEK M5
    ON M5.CARI_KOD = M3.CARI_KOD
  WHERE TARIH BETWEEN @ilkTarih AND @sonTarih
  AND M2.ISLETME_KODU = @isletmeKodu UNION ALL SELECT
    T12.ISLETME_KODU
   ,(CASE
      WHEN T11.SERI_NO IN (
        'FT', 'SM') THEN '2'
      ELSE (CASE
          WHEN T11.B_A = 'A' THEN '1'
          ELSE '2'
        END)
    END)
   ,T13.CARI_ISIM
   ,T13.ULKE_KODU
   ,T14.BEYANULKEKODU
   ,CASE
      WHEN T13.ULKE_KODU = 'TR' OR
        ISNULL(T13.ULKE_KODU, ''
        ) = '' THEN T13.VERGI_NUMARASI
      ELSE CASE
          WHEN T11.B_A = 'A' THEN '2222222222'
          ELSE '1111111111'
        END
    END VERGI_NUMARASI
   ,SUM(T11.TUTAR)
   ,T15.TCKIMLIKNO TCKIMLIKNO
   ,T11.BFORMCARI_KODU
    CARI_KOD
   ,CASE
      WHEN T13.ULKE_KODU = 'TR' OR
        ISNULL(T13.ULKE_KODU, '') = '' THEN T13.VERGI_DAIRESI
      ELSE ''
    END VERGI_DAIRESI
   ,T11.TARIH BELGETARIH
  FROM TBLDEKOTRA T11 WITH (NOLOCK)
  JOIN TBLSUBELER T12
    ON T11.SUBE_KODU = T12.SUBE_KODU
  JOIN TBLCASABIT T13
    ON T11.BFORMCARI_KODU = T13.CARI_KOD
  JOIN NETSIS..ULKESABIT T14
    ON T13.ULKE_KODU = T14.ULKEKODU
  JOIN TBLCASABITEK T15
    ON T15.CARI_KOD = T13.CARI_KOD
  WHERE (T11.YEDEK1 = 'E'
  AND BFORMCARI_KODU IS NOT NULL)
  AND T11.TARIH BETWEEN @ilkTarih AND @sonTarih
  AND T12.ISLETME_KODU = @isletmeKodu
  GROUP BY T12.ISLETME_KODU
          ,T11.DEKONT_NO
          ,T11.TARIH
          ,T11.FISNO
          ,VERGI_NUMARASI
          ,VERGI_DAIRESI
          ,T13.CARI_ISIM
          ,T13.ULKE_KODU
          ,T14.BEYANULKEKODU
          ,T15.TCKIMLIKNO
          ,T11.BFORMCARI_KODU
          ,T11.B_A
          ,T11.SERI_NO UNION ALL SELECT
    S1.ISLETME_KODU
   ,(CASE
      WHEN IO = 'G' THEN '1'
      ELSE '2'
    END) FTIRSIP
   ,C1.CARI_ISIM
   ,C1.ULKE_KODU
   ,U1.BEYANULKEKODU
   ,CASE
      WHEN C1.ULKE_KODU = 'TR' OR
        ISNULL(C1.ULKE_KODU, '') = '' THEN C1.VERGI_NUMARASI
      ELSE CASE
          WHEN IO = 'G' THEN '2222222222'
          ELSE '1111111111'
        END
    END VERGI_NUMARASI
   ,(TUTAR - K1.YEDEK5)
   ,C2.TCKIMLIKNO TCKIMLIKNO
   ,K1.BFORMCARIKODU CARI_KOD
   ,CASE
      WHEN C1.ULKE_KODU = 'TR' OR
        ISNULL(C1.ULKE_KODU, '') = '' THEN C1.VERGI_DAIRESI
      ELSE ''
    END VERGI_DAIRESI
   ,K1.TARIH BELGETARIH
  FROM TBLKASA K1 WITH (NOLOCK)
  JOIN TBLSUBELER S1
    ON S1.SUBE_KODU = K1.SUBE_KODU
  JOIN TBLCASABIT C1
    ON C1.CARI_KOD = K1.BFORMCARIKODU
  JOIN NETSIS..ULKESABIT U1
    ON U1.ULKEKODU = C1.ULKE_KODU
  JOIN TBLCASABITEK C2
    ON C2.CARI_KOD = C1.CARI_KOD
  WHERE TIP = 'F'
  AND CARI_MUH <> 'C'
  AND BFORMCARIKODU IS NOT NULL
  AND TARIH BETWEEN @ilkTarih AND @sonTarih
  AND S1.ISLETME_KODU = @isletmeKodu) V2
GROUP BY ISLETME_KODU
        ,FTIRSIP
        ,ISNULL(VERGI_NUMARASI, '')
        ,ISNULL(TCKIMLIKNO, '')
        ,(CASE
           WHEN ((ULKE_KODU <> 'TR') AND
             (ISNULL(ULKE_KODU, '') <> '')) THEN CARI_ISIM
         END)
        ,BEYANULKEKODU
        ,CARI_KOD
HAVING SUM(TUTAR) >= @limit


  ) 