feat(reports): cari, birikim, alışveriş, birim fiyat ve fire rapor servisleri
- mağaza adı eşleşmesi ve aylık birim fiyat özeti (saf, birim testli) - tamamlanan listelerin plan/gerçekleşen özeti, mağaza bazlı harcama - ürün tipi fiyat geçmişi yükleyicisi; fire oranı ve tahmini maliyet; testler Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
+160
@@ -1900,6 +1900,26 @@ export const tr = {
|
||||
title: "Bütçe ve gerçekleşen",
|
||||
description: "Kategori bazında limit ve harcama, son 6 ayın karşılaştırması.",
|
||||
},
|
||||
contacts: {
|
||||
title: "Cari ve aynî borçlar",
|
||||
description: "Kim kime ne kadar borçlu; açık altın/döviz borç ve alacakları.",
|
||||
},
|
||||
assets: {
|
||||
title: "Birikim kâr/zarar",
|
||||
description: "Varlık başına maliyet, değer ve kâr/zarar; dönem özeti.",
|
||||
},
|
||||
shopping: {
|
||||
title: "Alışveriş",
|
||||
description: "Liste ve gerçekleşen karşılaştırması, mağaza bazlı harcama.",
|
||||
},
|
||||
unitPrice: {
|
||||
title: "Birim fiyat geçmişi",
|
||||
description: "Ürün tipi başına aylık en düşük ve ortalama birim fiyat.",
|
||||
},
|
||||
waste: {
|
||||
title: "Fire / zarar",
|
||||
description: "Fire miktarı, alıma oranı, nedenleri ve tahmini maliyet.",
|
||||
},
|
||||
},
|
||||
},
|
||||
categories: {
|
||||
@@ -1969,12 +1989,128 @@ export const tr = {
|
||||
noLimit: "Bütçe yok",
|
||||
covered: "üst kategoride",
|
||||
},
|
||||
periods: { 3: "Son 3 ay", 6: "Son 6 ay", 12: "Son 12 ay" } as Record<number, string>,
|
||||
periodLabel: "Dönem",
|
||||
rangeText: (from: string, to: string) => `${from} – ${to}`,
|
||||
contacts: {
|
||||
title: "Cari ve aynî borçlar",
|
||||
description:
|
||||
"Kim kime ne kadar borçlu; açık altın/döviz borç ve alacakları güncel değeriyle.",
|
||||
owesMe: "Bana borçlu",
|
||||
iOwe: "Ben borçluyum",
|
||||
contact: "Cari",
|
||||
balance: "Bakiye",
|
||||
direction: "Yön",
|
||||
due: "Vade",
|
||||
noContacts: "Bakiyesi olan cari yok.",
|
||||
inKindTitle: "Açık aynî borç ve alacaklar",
|
||||
csvContacts: "Cariler CSV",
|
||||
csvInKind: "Aynî CSV",
|
||||
inKindHint: "Kalan miktarın güncel fiyatla TL karşılığı (alacak alış, borç satış fiyatıyla).",
|
||||
remaining: "Kalan",
|
||||
value: "Güncel değer",
|
||||
since: "Tarih",
|
||||
noInKind: "Açık aynî kayıt yok.",
|
||||
receivable: "Alacak",
|
||||
debt: "Borç",
|
||||
unpriced: (n: number) => `${n} kaydın fiyatı yok; toplama katılmadı.`,
|
||||
dueStates: { overdue: "Vadesi geçti", upcoming: "Vadesi yaklaşıyor", none: "" } as Record<
|
||||
string,
|
||||
string
|
||||
>,
|
||||
},
|
||||
assets: {
|
||||
title: "Birikim kâr/zarar",
|
||||
description:
|
||||
"Varlık başına maliyet, güncel değer (alış fiyatı) ve kâr/zarar; seçilen dönemin özeti.",
|
||||
ranges: { "3": "Son 3 ay", "6": "Son 6 ay", "12": "Son 12 ay", tum: "Tümü" } as Record<
|
||||
string,
|
||||
string
|
||||
>,
|
||||
asset: "Varlık",
|
||||
quantity: "Miktar",
|
||||
cost: "Maliyet",
|
||||
value: "Güncel değer",
|
||||
unrealized: "Gerçekleşmemiş K/Z",
|
||||
realized: "Gerçekleşen K/Z",
|
||||
noPrice: "Fiyat yok",
|
||||
periodTitle: "Dönem özeti",
|
||||
startValue: "Dönem başı değer",
|
||||
invested: "Yatırılan",
|
||||
proceeds: "Satıştan alınan",
|
||||
endValue: "Dönem sonu değer",
|
||||
profit: "Dönem kârı",
|
||||
excluded: (n: number) => `${n} varlığın fiyatı olmadığı için dönem toplamına katılmadı.`,
|
||||
empty: "Varlık yok.",
|
||||
total: "Toplam",
|
||||
},
|
||||
shopping: {
|
||||
title: "Alışveriş raporu",
|
||||
description: "Tamamlanan listelerde plan ve gerçekleşen; mağaza bazlı harcama.",
|
||||
listsTitle: "Liste ve gerçekleşen",
|
||||
listsEmpty: "Bu dönemde tamamlanan alışveriş yok.",
|
||||
list: "Liste",
|
||||
date: "Tarih",
|
||||
planned: "Planlanan",
|
||||
actual: "Gerçekleşen",
|
||||
diff: "Fark",
|
||||
counts: (same: number, sub: number, skipped: number, extra: number) =>
|
||||
`${same} aynı · ${sub} muadil · ${skipped} alınmadı · ${extra} ekstra`,
|
||||
storesTitle: "Mağaza bazlı harcama",
|
||||
storesHint: "Alıcısı mağaza adıyla başlayan gerçekleşmiş giderler (şubeler birlikte).",
|
||||
store: "Mağaza",
|
||||
amount: "Tutar",
|
||||
count: "İşlem",
|
||||
share: "Oran",
|
||||
fromLists: "Listelerden",
|
||||
storesEmpty: "Bu dönemde mağaza adıyla eşleşen gider yok.",
|
||||
total: "Toplam",
|
||||
csvLists: "Listeler CSV",
|
||||
csvStores: "Mağazalar CSV",
|
||||
},
|
||||
unitPrice: {
|
||||
title: "Birim fiyat geçmişi",
|
||||
description: "Ürün tipi başına son 12 bütçe ayında en düşük ve ortalama birim fiyat.",
|
||||
type: "Ürün tipi",
|
||||
noTypes: "Henüz fiyat kaydı yok.",
|
||||
min: "En düşük",
|
||||
avg: "Ortalama",
|
||||
month: "Ay",
|
||||
count: "Kayıt",
|
||||
chartLabel: (name: string) => `${name}: aylık en düşük ve ortalama birim fiyat`,
|
||||
storesTitle: "Mağazalarda dönemin en düşük birim fiyatı",
|
||||
store: "Mağaza",
|
||||
last: "Son kayıt",
|
||||
records: (n: number) => `${n} kayıt`,
|
||||
},
|
||||
waste: {
|
||||
title: "Fire / zarar",
|
||||
description: "Ürün tipi başına fire miktarı, alıma oranı, nedenleri ve tahmini maliyeti.",
|
||||
total: "Tahmini toplam maliyet",
|
||||
product: "Ürün tipi",
|
||||
wasted: "Fire",
|
||||
purchased: "Alım",
|
||||
ratio: "Fire / alım",
|
||||
cost: "Tahmini maliyet",
|
||||
reasonsTitle: "Nedenler",
|
||||
count: (n: number) => `${n} kayıt`,
|
||||
empty: "Bu dönemde fire kaydı yok.",
|
||||
unpriced: (n: number) => `${n} ürün tipinin fiyatı yok; maliyete katılmadı.`,
|
||||
costHint: "Fire miktarı × ürün tipinin son bilinen birim fiyatı.",
|
||||
},
|
||||
csvFiles: {
|
||||
categories: (month: string) => `butcem-kategori-dagilimi-${month}.csv`,
|
||||
trend: (date: string) => `butcem-aylik-trend-${date}.csv`,
|
||||
people: (month: string) => `butcem-kisi-bazli-${month}.csv`,
|
||||
accounts: (month: string) => `butcem-hesap-bazli-${month}.csv`,
|
||||
budget: (month: string) => `butcem-butce-gerceklesen-${month}.csv`,
|
||||
contacts: (date: string) => `butcem-cari-${date}.csv`,
|
||||
inKind: (date: string) => `butcem-ayni-${date}.csv`,
|
||||
assets: (date: string) => `butcem-birikim-${date}.csv`,
|
||||
lists: (date: string) => `butcem-alisveris-listeleri-${date}.csv`,
|
||||
stores: (date: string) => `butcem-magaza-harcama-${date}.csv`,
|
||||
unitPrice: (name: string, date: string) => `butcem-birim-fiyat-${name}-${date}.csv`,
|
||||
waste: (date: string) => `butcem-fire-${date}.csv`,
|
||||
},
|
||||
csvHeaders: {
|
||||
categories: [
|
||||
@@ -1998,6 +2134,30 @@ export const tr = {
|
||||
"İşlem sayısı",
|
||||
],
|
||||
budget: ["Kategori", "Limit", "Gerçekleşen", "Kalan", "Kullanım (%)"],
|
||||
contacts: ["Cari", "Bakiye (+ bana borçlu, − ben borçluyum)", "Vade"],
|
||||
inKind: ["Cari", "Yön", "Kalan", "Güncel değer", "Tarih"],
|
||||
assets: [
|
||||
"Varlık",
|
||||
"Miktar",
|
||||
"Maliyet",
|
||||
"Güncel değer",
|
||||
"Gerçekleşmemiş K/Z",
|
||||
"Gerçekleşen K/Z",
|
||||
],
|
||||
lists: [
|
||||
"Tarih",
|
||||
"Liste",
|
||||
"Planlanan",
|
||||
"Gerçekleşen",
|
||||
"Fark",
|
||||
"Aynı",
|
||||
"Muadil",
|
||||
"Alınmadı",
|
||||
"Ekstra",
|
||||
],
|
||||
stores: ["Mağaza", "Tutar", "İşlem", "Oran (%)", "Listelerden"],
|
||||
unitPrice: ["Ay", "En düşük birim fiyat", "Ortalama birim fiyat", "Kayıt"],
|
||||
waste: ["Ürün tipi", "Birim", "Fire", "Alım", "Fire / alım (%)", "Tahmini maliyet"],
|
||||
},
|
||||
},
|
||||
dashboard: {
|
||||
|
||||
Reference in New Issue
Block a user