Kasa Kayıtları
Kurulumun gelir ve gider defterini tutan altı uç.
Genel Bakış
Kasa defteri kurulumun gelir ve giderlerini tutar. İçinde iki tür kayıt bir arada durur: faturaların ödendiğinde kendiliğinden açtığı kayıtlar ve operatörün elle girdiği kayıtlar.
Ayrımı sistem işareti yapar. Faturadan gelen bir kayıt salt bir yansımadır; değiştirilemez ve silinemez, çünkü kaynağı faturanın kendisidir. Elle girilen kayıtlar ise düzenlenebilir.
Özet ucu bu ayın gelirini, giderini ve aradaki farkı verir. Farklı para birimlerindeki tutarlar yerel para birimine çevrilerek toplanır.
Referans
Kayıtları Listeleme
Gelir ve gider kayıtlarını süzerek döndürür.
income, expense.curl 'https://panel.ornek.com/api/v1/admin/invoices/cash?type=expense' \
-H "Authorization: Bearer $API_KEY"const url = new URL('https://panel.ornek.com/api/v1/admin/invoices/cash');
url.searchParams.set('type', 'expense');
const res = await fetch(url, {
headers: { Authorization: `Bearer ${apiKey}` },
});
const body = await res.json();$ch = curl_init('https://panel.ornek.com/api/v1/admin/invoices/cash?' . http_build_query(['type' => 'expense']));
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . $apiKey],
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);// Liste FATURADAN gelen kayitlari da tasir; elle girilenler icin sistem isaretini suzun.
$manual = array_filter(
Api::Invoices()->GetCashEntries()['data'],
fn ($e) => ! $e['is_system'],
);Kayıt Ekleme
Deftere elle bir gelir ya da gider kaydı düşer.
income, expense.curl -X POST 'https://panel.ornek.com/api/v1/admin/invoices/cash' \
-H "Authorization: Bearer $API_KEY" \
-H 'Content-Type: application/json' \
-d '{"type":"expense","currency_id":840,"amount":49.9,"description":"Sunucu gideri"}'const res = await fetch('https://panel.ornek.com/api/v1/admin/invoices/cash', {
method: 'POST',
headers: {
Authorization: `Bearer ${apiKey}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
type: 'expense',
currency_id: 840,
amount: 49.9,
description: 'Server cost',
}),
});
const body = await res.json();$ch = curl_init('https://panel.ornek.com/api/v1/admin/invoices/cash');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . $apiKey,
'Content-Type: application/json',
],
CURLOPT_POSTFIELDS => json_encode([
'type' => 'expense',
'currency_id' => 840,
'amount' => 49.9,
'description' => 'Server cost',
]),
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);// Elle acilan kayit FATURAYA BAGLANMAZ; fatura kaydi ancak odeme akisiyla dogar.
Api::Invoices()->CreateCashEntry([
'type' => 'expense',
'currency_id' => 840,
'amount' => 49.9,
]);Kasa Özetini Okuma
Bu ayın gelir, gider ve bakiye toplamını döndürür.
curl 'https://panel.ornek.com/api/v1/admin/invoices/cash/summary' \
-H "Authorization: Bearer $API_KEY"const res = await fetch('https://panel.ornek.com/api/v1/admin/invoices/cash/summary', {
headers: { Authorization: `Bearer ${apiKey}` },
});
const body = await res.json();$ch = curl_init('https://panel.ornek.com/api/v1/admin/invoices/cash/summary');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . $apiKey],
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);// Ozet DAIMA bu aydir; baska bir donem icin listeyi tarih araligiyla cekip kendiniz toplayin.
$sum = Api::Invoices()->GetCashSummary()['data'];Kayıt Detayı
Tek bir kasa kaydını döndürür.
income, expense.curl 'https://panel.ornek.com/api/v1/admin/invoices/cash/51' \
-H "Authorization: Bearer $API_KEY"const res = await fetch(`https://panel.ornek.com/api/v1/admin/invoices/cash/${cashId}`, {
headers: { Authorization: `Bearer ${apiKey}` },
});
const body = await res.json();$ch = curl_init('https://panel.ornek.com/api/v1/admin/invoices/cash/' . $cashId);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . $apiKey],
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);// Musteri bilgisi burada GELMEZ; o alan yalniz liste birlestirmesinde doludur.
$entry = Api::Invoices()->GetCashEntry(['cash_id' => $cashId])['data'];Kaydı Güncelleme
Elle girilmiş bir kasa kaydını değiştirir.
curl -X PATCH 'https://panel.ornek.com/api/v1/admin/invoices/cash/51' \
-H "Authorization: Bearer $API_KEY" \
-H 'Content-Type: application/json' \
-d '{"amount":59.9,"description":"Sunucu gideri (guncellendi)"}'const res = await fetch(`https://panel.ornek.com/api/v1/admin/invoices/cash/${cashId}`, {
method: 'PATCH',
headers: {
Authorization: `Bearer ${apiKey}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({ amount: 59.9, description: 'Server cost (updated)' }),
});
const body = await res.json();$ch = curl_init('https://panel.ornek.com/api/v1/admin/invoices/cash/' . $cashId);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'PATCH',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . $apiKey,
'Content-Type: application/json',
],
CURLOPT_POSTFIELDS => json_encode(['amount' => 59.9]),
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);// Sistem isaretli kayit 422 verir; toplu duzeltmede once bu alani suzun.
$entry = Api::Invoices()->GetCashEntry(['cash_id' => $cashId])['data'];
if (! $entry['is_system'])
Api::Invoices()->UpdateCashEntry(['cash_id' => $cashId, 'amount' => 59.9]);Kaydı Silme
Elle girilmiş bir kasa kaydını kaldırır.
curl -X DELETE 'https://panel.ornek.com/api/v1/admin/invoices/cash/52' \
-H "Authorization: Bearer $API_KEY"const res = await fetch(`https://panel.ornek.com/api/v1/admin/invoices/cash/${cashId}`, {
method: 'DELETE',
headers: { Authorization: `Bearer ${apiKey}` },
});
const body = await res.json();$ch = curl_init('https://panel.ornek.com/api/v1/admin/invoices/cash/' . $cashId);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'DELETE',
CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . $apiKey],
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);// Faturadan gelen kaydi kaldirmanin yolu FATURA tarafindadir; buradan silinemez.
Api::Invoices()->DeleteCashEntry(['cash_id' => $cashId]);Tuzaklar
Bir faturaya bağlı kasa kaydı değiştirilemez: düzenleme ve silme çağrıları reddedilir. Bu kasıtlıdır, çünkü o kayıt faturanın yansımasıdır ve faturayla çelişemez. Tutarı düzeltmek istiyorsanız faturaya dönün; kasa kaydı onunla birlikte düzelir.
Listeleme ucu elle girilenlerle faturadan gelenleri bir arada döndürür ve ayıran bir süzgeç yoktur. Bir raporda yalnız elle girilen giderleri toplamak istiyorsanız sistem işaretine göre kendiniz ayıklayın; yoksa fatura gelirleri de hesaba karışır.
Özet ucu dönem almaz; daima içinde bulunulan ayı verir. Geçen ayın ya da bir çeyreğin toplamını istiyorsanız listeyi tarih aralığıyla çekip kendiniz toplamanız gerekir. Toplarken para birimi dönüşümünü de kendiniz yapmalısınız; özetteki gibi çevrilmiş gelmezler.
Bağlı faturanın müşterisi yalnız listede gelir; tek kayıt okurken o alan boş kalır. Bu, listenin bir birleştirme yapmasından, detayın yapmamasından kaynaklanır. Müşteriyi tek kayıt için de istiyorsanız fatura numarasından faturayı okuyun.
Ekleme ucu her zaman bağımsız bir kayıt açar; bir fatura numarası vererek kaydı ona bağlayamazsınız. Faturaya bağlı kayıtlar ancak ödeme akışının kendisinden doğar. Bu yüzden elle bir gelir girip aynı faturayı da ödenmiş yapmak, defterde aynı parayı iki kez gösterir.
İlgili Makaleler
Geri bildiriminiz için teşekkürler!
Yukarıda bulamadığınız her şey için destek ekibimiz her zaman yanınızda.