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

# E-belgesiz alış-satış entegrasyonu

> Belgeyi hesaplayın, kaydedin, kısmi ödeme alın ve kontrollü düzeltme/iptal yapın.

Bu akış e-belgesiz alış ve satış kaydı oluşturur. Kaydetme cari bakiyesine etki eder; e-belge gönderimi ve tahsilat ayrı işlemlerdir. `muhasip:transactions:read` ve `muhasip:transactions:write` izinlerini hazırlayın.

## 1. Cariyi ve satırları hazırlayın

Mevcut [cariyi bulun veya oluşturun](https://docs.muhasip.pro/rehberler/cari-entegrasyonu.md). Her satırda ad, pozitif miktar ve **KDV hariç** birim fiyat gönderin. Birim kataloğu `GET /accounting/options` ile okunur; varsayılan `C62` adettir.

```json theme={null}
{
  "contactId": "507f1f77bcf86cd799439011",
  "direction": "sale",
  "issueDate": "2026-10-19",
  "dueDate": "2026-11-19",
  "currencyCode": "TRY",
  "exchangeRate": "1",
  "receiptNumber": "SATIS-ORNEK-001",
  "lines": [
    {
      "name": "Danışmanlık hizmeti",
      "quantity": "2",
      "unitCode": "C62",
      "unitPrice": "100.00",
      "vatRate": "20"
    }
  ]
}
```

`direction=sale` satış, `purchase` alış içindir. Ürün/depo vermeden serbest kalem kullanılabilir; bu işlem ürün kartı oluşturmaz. `productId` ve `warehouseId` birlikte verilirse bu satırın stok hareketi de kaydedilir. Yalnız ürün kimliği vermek stok hareketi oluşturmaz. Referanslar aynı firmaya ait, geçerli ve yeni işlem için aktif olmalıdır; bu API bağımsız ürün/depo yönetimi sunmaz.

## 2. Önce hesaplayın

Aynı gövdeyi `POST /accounting/invoices/calculate` çağrısına gönderin. Bu çağrı `transactions:read` izni kullanır, `Idempotency-Key` gerektirmez ve kayıt oluşturmaz. Cevapta `id=null` bulunur.

Örnekte satır matrahı 200, KDV 40, ödenecek tutar 240 TRY’dır. Satır ve belge indirimi ile KDV tevkifatının sırası [veri kurallarında](https://docs.muhasip.pro/rehberler/muhasebe-veri-kurallari.md) açıklanır. Cevaptaki satır `discountAmount` alanı, belge indiriminin o satıra dağıtılan payını da içerir.

## 3. Belgeyi kaydedin

Hesaplamada kabul edilen gövdeyi `POST /accounting/invoices` ile yeni, kalıcı `Idempotency-Key` kullanarak gönderin. Sunucu tutarları yeniden hesaplar. İstemciden `totals`, `isClosed`, firma veya kullanıcı alanı kabul edilmez.

Başarılı sonuç **201** ve belge ayrıntısıdır. Belge kimliği, `version` ve işlem kimliğini saklayın. Bu aşamada 240 TRY cari alacağı oluşur; kasa hareketi veya tahsilat oluşmaz. Sıfır tutarlı belge kapalı sayılır.

## 4. Kısmi veya tam ödeme kaydedin

`POST /accounting/payments` ile aynı cariye 100 TRY tahsilat oluşturup belgeye `allocations` içinde 100 TRY ayırın. [Ödeme rehberindeki](https://docs.muhasip.pro/rehberler/odeme-ve-mahsuplasma.md) firma, yön, para birimi, kur ve açık tutar kontrolleri uygulanır.

Belge ayrıntısını yeniden okuyun:

```json theme={null}
{
  "payableBaseAmount": 240,
  "paidBaseAmount": 100,
  "remainingBaseAmount": 140,
  "overpaidBaseAmount": 0,
  "isClosed": false
}
```

Bu bir alan kesitidir. `*BaseAmount` alanları TRY’dır; `totals.payableAmount` belge para birimindedir. Kalan 140 TRY ayrıca ödendiğinde açık tutar 0, `isClosed=true` olur. Başka ödeme eklemek belge sürümünü değiştirebilir; düzeltme öncesi ayrıntıyı tekrar okuyun.

## 5. Düzeltin veya iptal edin

`PUT /accounting/invoices/{id}` tam belge gövdesi, yeni `Idempotency-Key` ve güncel `If-Match` gerektirir. Gönderilmeyen isteğe bağlı alanlar varsayılanlarına döner. Belgeye herhangi bir ödeme bağı varsa `409 INVOICE_HAS_PAYMENTS` döner; önce yalnız ilgili ödemenin mahsuplaşmasını kaldırın veya ödemeyi iptal edin.

`POST .../{id}/cancel` de ödeme bağı olmayan belgeyi kabul eder. Başarılı iptal cari ve stok etkisini kaldırır; ayrıntı artık `404` döner. İptal makbuzunu saklayın. Bu uç e-belge, teklif, fiş veya başka uygulama kaydını iptal etmez.

Ödeme iptali belgenin kendisini silmez. 240 TRY belgeden 100 TRY tahsilat iptal edildiğinde, başka ödeme yoksa açık tutar tekrar 240 TRY olur. Başka ödeme varsa yalnız kalan ödemeler hesaba katılır.

[Hesaplama](https://docs.muhasip.pro/api-reference/alis-satis/accounting-transactions-preview.md) · [Belge oluşturma](https://docs.muhasip.pro/api-reference/alis-satis/accounting-transactions-create.md) · [Belge iptali](https://docs.muhasip.pro/api-reference/alis-satis/accounting-transactions-cancel.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.