> ## Documentation Index
> Fetch the complete documentation index at: https://apidocs.noyax.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Cari ekstresi

> Cariye ait koşan bakiyeli hareket dökümü.

Salt okunur rapordur: bu sayfadaki hiçbir şey API üzerinden oluşturulamaz, güncellenemez ya da silinemez.

Yanıtta iki liste bulunur: `Lines` (hareket dökümü) ve `Totals` (döviz başına genel toplam).

* `StartDate` ve `EndDate` zorunludur (`1023`/`1024`) ve belge tarihine göre (her ikisi de dahil) aralığı belirler. `EndDate`, `StartDate`'ten önce olamaz (`1025`).
* `CurrencyId`, hem `Lines`'ı hem `Totals`'ı tek bir dövize daraltır; boş bırakılırsa tüm dövizler döner.
* `Lines` belge tarihine, sonra iç belge sırasına göre sıralanır.
* `Lines[].Balance`, **döviz başına koşan bakiyedir**: o dövizde, bu satır dahil o ana kadarki kümülatif Borç − Alacak değeridir; dövizler arası birleşik tek bir toplam değildir. Cari birden fazla dövizde hareket görmüşse, her döviz kendi bakiye sırasına sahiptir.
* `Totals`, `Lines`'ta görülen her döviz için bir satır içerir; ilgili dövizdeki tüm tarih aralığının genel toplamını (Borç toplamı eksi Alacak toplamı) taşır — bu değer, o dövizdeki son satırın `Balance`'ına eşittir. Her satırda ayrıca dövizin kısa kodu ve şirketin varsayılan dövizi olup olmadığı bulunur.
* `Lines[].TransactionType`, ham belge tipi kodudur; `TransactionTypeName`, aşağıdaki tablodan çözülmüş İngilizce adıdır.
* `Lines[].TransactionAmount`/`TransactionCurrencyId`, satırın kendi `Debit`/`Credit`/`CurrencyId` alanlarından farklı olabilecek durumlarda (ör. banka hesabının kendi döviziyle yapılan ama cariye başka bir dövizle yansıyan bir havale) belgenin asıl tutarını ve dövizini taşır. Satırın kendi dövizi zaten belgenin dövizi ise `null` döner — bu, fatura/sipariş satırlarının çoğunda beklenen bir durumdur, eksik veri değildir.
* `Lines[].InstallmentCount`, bu hareketle ilişkili taksit sayısıdır; taksit yoksa `0`'dır.

## Hareket tipleri

`TransactionType`, satırın arkasındaki belge türünü gösterir.

| Kod | Anlamı                                |
| --- | ------------------------------------- |
| 101 | Cari açılış                           |
| 102 | Borç dekontu                          |
| 103 | Alacak dekontu                        |
| 104 | Cari virman                           |
| 111 | Alış siparişi                         |
| 112 | Satış siparişi                        |
| 121 | Alış faturası                         |
| 122 | Satış faturası                        |
| 123 | Alış iade faturası                    |
| 124 | Satış iade faturası                   |
| 131 | Müstahsil makbuzu                     |
| 141 | Alış serbest meslek makbuzu           |
| 201 | Cari tahsilat (kasa)                  |
| 202 | Cari ödeme (kasa)                     |
| 203 | Cari tahsilat ve ödeme (kasa)         |
| 211 | Bankaya yatırılan (kasadan)           |
| 212 | Bankadan çekilen (kasaya)             |
| 213 | Bankaya yatırılan ve bankadan çekilen |
| 221 | Kasa açılış                           |
| 222 | Kasa virman                           |
| 231 | Masraf (kasa)                         |
| 241 | Çek/senet tahsilatı (kasa)            |
| 242 | Senet ödemesi (kasa)                  |
| 250 | Kasadan personele maaş ödemesi        |
| 251 | Kasadan personele ek mesai ödemesi    |
| 255 | Kasadan personele avans ödemesi       |
| 256 | Kasadan personele harcırah ödemesi    |
| 260 | Kasaya personelden iade               |
| 301 | Gelen havale                          |
| 302 | Giden havale                          |
| 303 | Gelen ve giden havale                 |
| 311 | Banka hesabı açılış                   |
| 312 | Banka virman                          |
| 321 | Kredi kartı                           |
| 322 | Banka geri ödemesi                    |
| 331 | Masraf (banka hesabı)                 |
| 341 | Çek/senet tahsilatı (banka)           |
| 342 | Çek/senet ödemesi (banka)             |
| 343 | Çek/senet portföye geri alma          |
| 350 | Bankadan personele maaş ödemesi       |
| 351 | Bankadan personele ek mesai ödemesi   |
| 355 | Bankadan personele avans ödemesi      |
| 356 | Bankadan personele harcırah ödemesi   |
| 400 | Çek hareketi                          |
| 450 | Senet hareketi                        |
| 500 | Mahsup fişi                           |
| 610 | Bordro tahakkuku                      |
| 620 | Bordro kesintisi                      |


## OpenAPI

````yaml api-reference/openapi.tr.json GET /api/v1/customers/{customerId}/statement
openapi: 3.1.1
info:
  title: Noyax API
  description: Server-to-server API for integrations to access Noyax data.
  version: '1.0'
servers:
  - url: https://api.noyax.com
security:
  - Bearer: []
tags:
  - name: Sections
  - name: Warehouses
  - name: Product Critical Stock
  - name: Product groups
  - name: Product Parameter Definitions
  - name: Product Parameters
  - name: Product Prices
  - name: Products
  - name: Cities
  - name: Countries
  - name: Currencies
  - name: Districts
  - name: Shipment Definitions
  - name: Units
  - name: VAT rates
  - name: Customer Addresses
  - name: Customer Bank Accounts
  - name: Customer Definitions
  - name: Customer Group Members
  - name: Customer Links
  - name: Customer Parameters
  - name: Customer Representatives
  - name: Customers
  - name: Customer Statement
  - name: Customer Telephones
paths:
  /api/v1/customers/{customerId}/statement:
    get:
      tags:
        - Customer Statement
      summary: Cari ekstresi
      description: >-
        Carinin StartDate ve EndDate arasındaki (her ikisi de dahil)
        hareketlerini, belge tarihine göre sıralı ve her satırda koşan bakiyeyle
        döner. Salt okunur rapordur; burada hiçbir şey API üzerinden
        oluşturulamaz, güncellenemez ya da silinemez.
      parameters:
        - name: customerId
          in: path
          description: Cari ID'si.
          required: true
          schema:
            type: string
            format: uuid
        - name: startDate
          in: query
          description: Zorunlu. Tarih aralığının başlangıcı (dahil).
          schema:
            type: string
            format: date-time
        - name: endDate
          in: query
          description: Zorunlu. Tarih aralığının bitişi (dahil). StartDate'ten önce olamaz.
          schema:
            type: string
            format: date-time
        - name: currencyId
          in: query
          description: >-
            Yalnızca bu dövizdeki satırları döner, GET
            /api/v1/definitions/currencies içinden. Boş bırakılırsa tüm dövizler
            döner.
          schema:
            type: string
            format: uuid
        - name: X-UserID
          in: header
          description: >-
            İsteğin adına yapıldığı Noyax kullanıcısının ID'si. Oluşturulan,
            güncellenen ve silinen kayıtların denetim alanlarına yazılır.
          required: true
          schema:
            minimum: 1
            type: integer
            format: int32
        - name: X-CompanyID
          in: header
          description: >-
            Şirketin ID'si. Kullanıcı bu şirkete tanımlı olmalıdır. Bütün okuma
            ve yazma işlemleri bu şirketle sınırlıdır.
          required: true
          schema:
            minimum: 1
            type: integer
            format: int32
        - name: X-PeriodID
          in: header
          description: >-
            Muhasebe döneminin ID'si. Cari endpoint'lerinde isteğe bağlıdır;
            gönderilirse oluşturulan kayıtlara yazılır.
          schema:
            minimum: 1
            type: integer
            format: int32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataResultOfCustomerStatementDto'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResult'
              example:
                Success: false
                ResultCode: '1025'
                Message: EndDate cannot be before StartDate.
                Errors:
                  - Code: '1025'
                    Message: EndDate cannot be before StartDate.
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResult'
              example:
                Success: false
                ResultCode: '0102'
                Message: Token has expired. Obtain a new token using the refresh token.
                Errors:
                  - Code: '0102'
                    Message: >-
                      Token has expired. Obtain a new token using the refresh
                      token.
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResult'
              example:
                Success: false
                ResultCode: '0110'
                Message: You do not have permission for this operation.
                Errors:
                  - Code: '0110'
                    Message: You do not have permission for this operation.
        '429':
          description: Too Many Requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResult'
              example:
                Success: false
                ResultCode: '0120'
                Message: Daily request limit (10000) exceeded.
                Errors:
                  - Code: '0120'
                    Message: Daily request limit (10000) exceeded.
components:
  schemas:
    DataResultOfCustomerStatementDto:
      required:
        - Success
        - ResultCode
        - Data
      type: object
      properties:
        Success:
          type: boolean
          description: İşlemin başarılı olup olmadığı.
          example: true
        ResultCode:
          type: string
          description: >-
            Başarıda "0000". Hatada ilk hatanın kodu; hataların tamamı Errors
            içinde listelenir.
          example: '0000'
        Message:
          type:
            - 'null'
            - string
          description: >-
            Success false olduğunda hata mesajı. Bütün hataların mesajları tek
            metinde birleştirilir.
        Data:
          $ref: '#/components/schemas/CustomerStatementDto'
    ErrorResult:
      type: object
      properties:
        Success:
          type: boolean
          description: İşlemin başarılı olup olmadığı.
          example: false
        ResultCode:
          type:
            - 'null'
            - string
          description: >-
            Başarıda "0000". Hatada ilk hatanın kodu; hataların tamamı Errors
            içinde listelenir.
        Message:
          type:
            - 'null'
            - string
          description: >-
            Success false olduğunda hata mesajı. Bütün hataların mesajları tek
            metinde birleştirilir.
        Errors:
          type:
            - 'null'
            - array
          items:
            $ref: '#/components/schemas/ResultError'
          description: >-
            Kodlarıyla birlikte bütün hatalar. Yalnızca Success false olduğunda
            bulunur.
    CustomerStatementDto:
      type: object
      properties:
        Lines:
          type: array
          items:
            $ref: '#/components/schemas/CustomerStatementLineDto'
          description: Belge tarihine göre sıralı hareket dökümü.
        Totals:
          type: array
          items:
            $ref: '#/components/schemas/CustomerStatementTotalDto'
          description: >-
            Döviz başına genel toplam (Borç toplamı eksi Alacak toplamı), Lines
            ile aynı tarih aralığı ve filtrelerle.
      description: Response data. Null when Success is false.
    ResultError:
      required:
        - Code
        - Message
      type: object
      properties:
        Code:
          type: string
          description: Hata kodu. Tam liste için sonuç kodları sayfasına bakın.
        Message:
          type: string
          description: Hata açıklaması.
    CustomerStatementLineDto:
      type: object
      properties:
        Id:
          type: string
          description: Hareket ID'si.
          format: uuid
        Date:
          type:
            - 'null'
            - string
          description: Belge tarihi.
          format: date-time
        Debit:
          type: number
          description: Borç tutarı, Balance ile aynı dövizde.
          format: double
        Credit:
          type: number
          description: Alacak tutarı, Balance ile aynı dövizde.
          format: double
        Balance:
          type: number
          description: Bu satır dahil o ana kadarki koşan bakiye, CurrencyId dövizinde.
          format: double
        TransactionType:
          type: integer
          description: >-
            Belge tipi kodu. Tam liste için [cari
            ekstresi](/tr/v1/customers/statement) sayfasına bakın.
          format: int32
          example: 122
        TransactionTypeName:
          type:
            - 'null'
            - string
          description: TransactionType'tan çözülmüş belge tipi adı.
          example: Sales invoice
        CurrencyId:
          type:
            - 'null'
            - string
          description: >-
            Bu satırın Debit/Credit/Balance alanlarının hangi dövizde olduğu,
            GET /api/v1/definitions/currencies içinden.
          format: uuid
        Description:
          type:
            - 'null'
            - string
          description: Açıklama.
        DocumentNumber:
          type:
            - 'null'
            - string
          description: Belge numarası.
        ExchangeRate:
          type:
            - 'null'
            - number
          description: Bu satıra uygulanan kur değeri.
          format: double
        DueDate:
          type:
            - 'null'
            - string
          description: Vade tarihi.
          format: date-time
        TransactionAmount:
          type:
            - 'null'
            - number
          description: >-
            Belgenin asıl tutarı, TransactionCurrencyId dövizinde. Belgenin
            kendi dövizi zaten CurrencyId ile aynıysa null döner, çünkü bu
            durumda Debit/Credit zaten bunu temsil eder.
          format: double
        TransactionCurrencyId:
          type:
            - 'null'
            - string
          description: TransactionAmount'ın dövizi.
          format: uuid
        InstallmentCount:
          type: integer
          description: Bu harekete bağlı taksit sayısı. Taksit yoksa 0.
          format: int32
        DocumentUrl:
          type:
            - 'null'
            - string
          description: Varsa ekli belgenin URL'si.
        CreateDate:
          type:
            - 'null'
            - string
          description: Oluşturulma tarihi.
          format: date-time
        ModifyDate:
          type:
            - 'null'
            - string
          description: Son değişiklik tarihi.
          format: date-time
    CustomerStatementTotalDto:
      type: object
      properties:
        CurrencyId:
          type: string
          description: Döviz ID'si.
          format: uuid
        CurrencyCode:
          type:
            - 'null'
            - string
          description: Dövizin kısa kodu.
          example: TRY
        IsDefault:
          type: boolean
          description: Şirketin varsayılan dövizi olup olmadığı.
        Balance:
          type: number
          description: Bu dövizde Borç toplamı eksi Alacak toplamı.
          format: double
  securitySchemes:
    Bearer:
      type: http
      description: Access token obtained from the Noyax auth service with your API key.
      scheme: bearer
      bearerFormat: JWT

````