> ## 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.

# Ödeme ve mahsuplaşma

> Tahsilat, verilen ödeme, avans, tam/kısmi kapama, çoklu belge dağıtımı ve iptal.

`collection` müşteriden alınan tahsilatı, `disbursement` cariye verilen ödemeyi kaydeder. Bu kaynak muhasebe kaydı oluşturur; banka/POS üzerinden para göndermez. `muhasip:payments:read` ve `muhasip:payments:write` izinlerini hazırlayın.

## Hesabı ve belgeyi seçin

Aktif nakit veya banka hesaplarını `GET /accounting/options` ile okuyun. Aynı firmaya ait aktif cari ve ödeme hesabı gerekir. Ödeme para birimi hesap para birimiyle aynı olmalıdır.

Mahsuplaşma için belge:

* Aynı firmaya ve cariye ait, e-belgesiz alış-satış kaydı olmalıdır.
* Tahsilatta satış; verilen ödemede alış yönünde olmalıdır.
* Ödeme ile aynı para biriminde ve aynı kurda olmalıdır.
* Ayrılan tutarı karşılayacak açık TRY bakiyesi bulunmalıdır.

Farklı para birimi, farklı kur veya kur farkı kaydı gerektiren mahsuplaşma desteklenmez. Ödemeyi yanlış kurla kaydetmeyin; tutar ve kur düzeltmesini kontrollü iptal/yeni kayıt ile ele alın.

## Kısmi tahsilat oluşturun

240 TRY satış belgesine 100 TRY tahsilat için `POST /accounting/payments`:

```json theme={null}
{
  "contactId": "507f1f77bcf86cd799439011",
  "accountId": "507f1f77bcf86cd799439012",
  "direction": "collection",
  "paymentDate": "2026-10-19",
  "currencyCode": "TRY",
  "exchangeRate": "1",
  "amount": "100.00",
  "allocations": [{ "invoiceId": "507f1f77bcf86cd799439014", "amount": "100.00" }]
}
```

Her yazmada `Idempotency-Key` gönderin. Cevaptaki ödeme kimliği, sürüm ve işlem makbuzunu saklayın. Belgenin `remainingBaseAmount` alanı 140 TRY olur. Tam kapama için açık tutarı karşılayan başka bir ödeme oluşturulabilir.

Alış ödemesinde aynı akış `direction=disbursement` ve alış belgesiyle yürür. Kasa azalır, cari borcu azalır.

## Avans kaydedin

`allocations` göndermeyin veya `[]` gönderin. Tutar kasa ve cari bakiyesine yansır, belirli bir belgenin açık tutarını azaltmaz. Ödeme kendiliğinden başka belgelere dağıtılmaz. `unallocatedAmount` ayrılmamış tutarı gösterir.

Sonradan belgeye bağlamak için `PUT /accounting/payments/{id}/allocations` kullanın. Yeni kalıcı iş anahtarı ve ödemenin güncel `version` değerini `If-Match` ile gönderin.

## Bir ödemeyi birden fazla belgeye dağıtın

300 TRY ödeme için ilk belgeye 100, ikinci belgeye 150 ayırırsanız 50 TRY avans kalır:

```json theme={null}
{
  "allocations": [
    { "invoiceId": "507f1f77bcf86cd799439014", "amount": "100.00" },
    { "invoiceId": "507f1f77bcf86cd799439017", "amount": "150.00" }
  ]
}
```

Mahsuplaşma güncellemesi **bu ödemenin bütün listesini değiştirir**. Korumak istediğiniz eski bağları da gönderin. Boş liste bu ödemenin bağlarını kaldırır. Diğer ödemelerin dağılımı değişmez; kasa bakiyesi değişmez. Etkilenen belgelerin açık/kapalı durumları yeniden hesaplanır.

Bir belge listede bir kez bulunabilir; en fazla 100 belge desteklenir. `amount` ödeme para birimindedir. Yerel dağıtım toplamı ödeme tutarını, TRY dağıtım toplamı da ödemenin TRY karşılığını aşamaz. Belge açık tutarı aşılırsa çağrı yazma başlamadan reddedilir. Yuvarlama nedeniyle son dağıtım kuruşunu da kontrol edin.

## Açıklama/tarih düzeltmesi

`PATCH /accounting/payments/{id}` yalnız `description` ve `paymentDate` kabul eder. Tutar, kur, para birimi, yön, cari ve hesap değiştirilemez. Mali alan düzeltmesinde önce mevcut ödemeyi iptal edip ardından farklı iş anahtarıyla yeni ödeme oluşturun.

Manuel ödeme kayıtları listelenebilir. Bağı başka tür bir belgeye veya korunan bir kaynağa uzanan ödeme, bu akışla değiştirilmez. Kasa açılışı ve transfer iptali kendi [kasa uçlarından](https://docs.muhasip.pro/rehberler/kasa-entegrasyonu.md) yapılır. POS ve banka hareketi onayları ilgili işlem referanslarıyla yürütülür.

## Ödemeyi iptal edin

`POST /accounting/payments/{id}/cancel` yeni iş anahtarı ve güncel `If-Match` ile çağrılır. Yalnız bu ödeme ve onun belge bağları kaldırılır; kasa ve cari etkisi geri alınır. Ödeme ayrıntısı artık `404` döner. Makbuz iptal sonucunu izlemek için saklanır.

Örnek: 240 TRY belgede 100 ve 50 TRY iki ayrı tahsilat varsa açık tutar 90’dır. Yalnız 100 TRY tahsilatı iptal etmek 50 TRY tahsilatı korur; açık tutar **190 TRY** olur. Bütün belgeyi ödenmemiş saymayın.

İptal veya mahsuplaşma değişikliği birden fazla kaydı etkileyebilir. `reviewRequired:true`, `502/503` veya bağlantı sorunu halinde [makbuzu ve ilgili kayıtları](https://docs.muhasip.pro/rehberler/islem-takibi.md) kontrol edin; otomatik yeniden oluşturma veya iptal tekrarı yapmayın.

[Ödeme oluştur](https://docs.muhasip.pro/api-reference/odemeler/accounting-payments-create.md) · [Mahsuplaşmayı değiştir](https://docs.muhasip.pro/api-reference/odemeler/accounting-payments-allocations.md) · [Ödemeyi iptal et](https://docs.muhasip.pro/api-reference/odemeler/accounting-payments-cancel.md)

## Mahsuplaşmada yuvarlama sınırı

Mahsuplaşma hem belge para birimindeki açık tutarı hem TRY karşılığını aşamaz. Yuvarlama nedeniyle yalnız birinin kapanacağı dağıtım `409 ALLOCATION_ROUNDING_MISMATCH` ile reddedilir. Örneğin 1,00 döviz tutarlı, kuru 1,005 olan belgenin TRY toplamı 1,01’dir; çok sayıda 0,01 tutarlı ödeme kendi yuvarlamalarıyla farklı TRY toplamı oluşturabilir. Farkı fazla tahsilatla kapatmayın; mevcut ödeme dağılımlarını kontrol edip gerektiğinde kontrollü iptal ve toplu yeni ödeme kullanın.


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