Yakıt Kayıtları
Yakıt Kayıtları modülü, filonun en büyük gider kalemini uçtan uca takip eder. Her yakıt alımı kayıt edilirken L/100km (veya iş makinelerinde L/saat) tüketimi otomatik hesaplanır; geri yönlü KM girişi sistem tarafından reddedilir; ortalamadan ciddi sapma gösteren araçlar için bildirim üretilir. Petrol Ofisi, Opet, Shell, Asis Otomasyon, Optimum, Turpak ve Mepsan Otomasyon entegrasyonları sayesinde yakıt alımları saatlik otomatik aktarım ile sisteme düşer; manuel pompa fişi girişine gerek kalmaz. Manuel girişler KULLANICI, otomatik gelenler OTOMATIK etiketiyle ayrı izlenir. Filo bünyesindeki yakıt tankları (depo, şantiye tankı vb.) ayrıca yönetilir; tank stoğu kritik seviyenin altına düştüğünde uyarı bildirimi tetiklenir.
:::info Erişim
- Sol menü: Bakım → Yakıt Kayıtları
- URL (tüm yakıtlar):
https://demo.bulutfilo.com/arac/yakit - URL (araç bazlı):
https://demo.bulutfilo.com/arac/{id}/yakit - URL (yakıt tankları):
https://demo.bulutfilo.com/yakit_tanki - Yetki anahtarı:
arac.yakit.*:::

Sayfa Sekmeleri (canlı ekrandan)
| Sekme | Açıklama |
|---|---|
| YAKIT KAYITLARI | Tüm yakıt alımları |
| YENİ YAKIT KAYDI | Yeni alım formu |
Liste Sütunları (canlı ekrandan, ilk 15)
| Sütun | Kod karşılığı |
|---|---|
| Araç | arac_id |
| Cinsi 2 | Arac.cinsi2 (aracCinsler2Liste) |
| Stoktan Kullanım | stoktan_kullanim |
| Yakıt Tankı | yakit_tanki_id |
| Fatura/İkmal Tarihi | fatura_tarihi |
| Fatura/İkmal Saati | ikmal_saati |
| Fatura No / Fiş No | fatura_no |
| Son Alınan KM | son_alinan_km |
| Son Alınan Saat | son_alinan_saat |
| Yakıtın Alındığı KM | yakitin_alindigi_km |
Yakıt Girişi Tipi (yakit_girisi)
Yakit::YAKIT_GIRISI constant:
| Değer | Etiket |
|---|---|
OTOMATIK | Otomatik Aktarıldı (Opet, Shell, Petrol Ofisi entegrasyonlarından) |
KULLANICI | Kullanıcı Girişi (manuel kayıt) |
Demo'da gerçek otomatik aktarımlar için aşağıdaki entegrasyonlar mevcuttur:
- Opet:
opet_yakit_aktarimlartablosu - Shell:
shell_yakit_aktarimlartablosu
Yeni Yakıt Kaydı

Canlı Form Alanları (DOM'dan, 28 alan)
Plaka, Yakıt Girişi (OTOMATIK/KULLANICI), Stoktan Kullanım (checkbox), İkmal Tarihi, İkmal Saati, Fatura No / Fiş No, UTTS Pompasından Alındı, Yakıt İstasyonu, İkmal Yaptıran Personel, Sürücü, Son Alınan KM, Yakıtın Alındığı KM, Miktar, Yakıt Tüketimi, Tutar, İndirim, KDV Yüzde, KDV Tutarı, Toplam, Litre Fiyatı, Araç Cinsi, Yakıt Tipi, Yakıt Kapasitesi, Araç Ruhsat Sahibi, Araç Bölgesi, Araç Alt Bölgesi, Açıklama (textarea).
Validasyon (Yakit::$rules['ekle'])
Zorunlu Alanlar
| Alan | Kural | Açıklama |
|---|---|---|
arac_id | required, numeric | Yakıt alan araç |
fatura_tarihi | required, date | Fatura/ikmal tarihi |
kdv_yuzde | required, numeric, gte:0 | KDV % |
toplam | required, numeric | Toplam tutar |
Opsiyonel Alanlar
| Alan | Kural | Açıklama |
|---|---|---|
fatura_no | string | Fatura/fiş numarası |
son_alinan_km | numeric | Bir önceki alımdaki KM |
yakitin_alindigi_km | numeric | Bu alımdaki KM |
son_alinan_saat | numeric | İş makinesi: önceki saat |
yakitin_alindigi_saat | numeric | İş makinesi: şu anki saat |
miktar | decimal(7,2) | Alınan litre |
yakit_tuketimi | decimal(19,4) | Hesaplanan tüketim |
yakit_tuketim_turu | string | Varsayılan lt/km |
litre_fiyati | decimal(19,2) | Birim litre fiyatı |
tutar | decimal(19,2) | KDV hariç tutar |
indirim_tutar | decimal(19,2) | İndirim |
kdv_tutar | decimal(19,2) | KDV tutarı |
yakit_tipi | string | Benzin / Motorin / LPG / Elektrik / vb. |
bolge | exists:bolgeler.adi | Bölge |
alt_bolge_id | exists:bolgeler.id (alt=1) | Alt bölge |
yakit_tanki_id | numeric | FK → yakit_tanklari.id |
stoktan_kullanim | numeric | 0/1 — tank stoğundan mı |
personel_id | exists:personeller | Genel personel |
surucu_id | exists:personeller | Sürücü (alımı yapan) |
user_id | exists:users | Kaydı oluşturan kullanıcı |
istasyon | string | Akaryakıt istasyonu adı |
ikmal_saati | time, default 00:00:00 | İkmal saati |
utts_pompasi | int | UTTS (Ulusal Taşıt Tanıma Sistemi) pompa kodu |
aciklama | text | Açıklama |
Tüketim Hesabı
yakit_tuketimi her alımda hesaplanır ve getYakitTuketimiReadableAttribute ile 4 ondalık + birim ile gösterilir:
yakit_tuketimi = (yakitin_alindigi_km - son_alinan_km) / miktar (lt/km)
İş makineleri için yakitin_alindigi_saat - son_alinan_saat üzerinden saatlik tüketim hesaplanır (yakit_tuketim_turu = 'lt/saat').
Validasyon mesajları:
| Hata | Mesaj |
|---|---|
max | "Yakıtın alındığı KM'den düşük olmalı" |
min | "Son alınan KM'den yüksek olmalı" |
Yani bu alımın KM'si, bir önceki alımın KM'sinden büyük olmak zorundadır — geriye doğru kayıt sistemi reddeder.
Yakıt Tankları
YakitTanki modeli (yakit_tanklari tablosu) firma içi yakıt tanklarını temsil eder. Tank içi hareketler Fis modeli (yakit_tanki_fisler tablosu) üzerinden takip edilir.
| Alan | Açıklama |
|---|---|
yakit_tanki_id | Yakıt kaydının bağlı olduğu tank |
yakit_tanki_fis_id | İlgili tank fişi (FK → yakit_tanki_fisler.id) |
stoktan_kullanim | 1 ise tank stoğundan düşülür |
Tank stoğundan kullanımda araç yakıt kaydı oluşturulurken otomatik olarak ilgili tank fişi üretilir.
Liste Sütunları ($aranabilir)
| Alan | Tip | Etiket |
|---|---|---|
arac_id | selectizePlaka | Araç |
arac_cinsi2 | selectize | Cinsi 2 |
stoktan_kullanim | selectize | Stoktan Kullanım |
yakit_tanki_id | selectize | Yakıt Tankı |
fatura_tarihi | date | Fatura/İkmal Tarihi |
ikmal_saati | time | Fatura/İkmal Saati |
fatura_no | text | Fatura No / Fiş No |
son_alinan_km | range | Son Alınan KM |
yakitin_alindigi_km | range | Yakıtın Alındığı KM |
miktar | range | Litre |
yakit_tuketimi | range | Tüketim |
litre_fiyati | range | Litre Fiyatı |
tutar | range | Tutar |
kdv_tutar | range | KDV |
indirim_tutar | range | İndirim |
toplam | range | Toplam |
yakit_tipi | text | Yakıt Tipi |
bolge | selectize | Bölge |
istasyon | text | İstasyon |
personel_id / surucu_id | text | Personel / Sürücü |
yakit_girisi | selectize | Otomatik / Kullanıcı |
aciklama | text | Açıklama |
Routes — Tam Liste
| HTTP | URL | Route Adı |
|---|---|---|
| GET | /arac/yakit | arac.yakit.tumu |
| GET | /arac/{id}/yakit | arac.yakit.liste |
| GET | /arac/{id}/yakit/{yakit_id} | arac.yakit.detay |
| PUT | /arac/{id}/yakit/{yakit_id} | arac.yakit.update |
| GET | /arac/{id}/yakit/{yakit_id}/sil | arac.yakit.sil |
| GET | /arac/{id}/yakit/ekle | arac.yakit.ekle |
| POST | /arac/{id}/yakit/ekle | arac.yakit.post_ekle |
| GET | /arac/{id}/yakit/son_km | arac.yakit.son_km |
| GET | /arac/{id}/yakit/surucu | arac.yakit.surucu (form için sürücü dropdown) |
| GET | /arac/yakit/import | arac.yakit.import |
| POST | /arac/yakit/upload | arac.yakit.upload |
| POST | /arac/yakit/import | arac.yakit.post_import |
| POST | /arac/yakit/toplu-sil | arac.yakit.toplu-sil |
| POST | /arac/yakit/toplu-yakit-girisi-guncelle | arac.yakit.toplu_yakit_girisi_guncelle |
İlişkili Modüller
| Model | İlişki |
|---|---|
Arac | belongsTo (Draft scope hariç) |
Personel (sürücü, personel) | İki ayrı belongsTo |
User | belongsTo — kaydı yapan |
Firma (ruhsatSahibiFirma) | belongsTo |
Bolge (alt_bolge) | belongsTo |
YakitTanki | belongsTo |
YakitTanki\Fis | yakit_tanki_fis_id üzerinden |
CloudFile | morphToMany — fiş/fatura görselleri |
MaliyetRaporu | "Yakıt Maliyetleri" tablosunda görünür |
Yakıt Raporları | tüketim ve maliyet kırılımları için kaynak |
Opet/Shell Aktarımları | otomatik yakıt girişlerinin kaynağı |
Audit (Hareket Geçmişi)
HistoryTrait ile model üzerindeki tüm alan değişiklikleri zaman damgalı olarak kaydedilir. Boot hook'ları create/update/delete olaylarını Hareket tablosuna yazar.
Otomasyonlar
Yakıt Cron'ları (Otomatik İmport)
Aşağıdaki cron'lar her saat / iki kez gün araç yakıt kayıtlarını otomatik üretir. Her biri ilgili settings(...) flag'ine bağlıdır; flag yoksa skip edilir.
| Cron | Sıklık | Settings flag | Job |
|---|---|---|---|
bfy:po_yakit_import | hourly | yakit-poas-entegrasyon | (komut) |
bfy:opet_yakit_import | hourly | yakit-opet-entegrasyon | (komut) |
bfy:shell_yakit_import | hourly | yakit-shell-entegrasyon | (komut) |
bfy:asisotomasyon-yakit-import | hourly | asisotomasyon-wsdl-url | (komut) |
bfy:optimum-import | twiceDaily | optimum-url | (komut) |
bfy:turpak-import | twiceDaily | turpak-url | (komut) |
bfy:mepsanotomasyon-yakit-import | twiceDaily | mepsanotomasyon-wsdl-url | (komut) |
Bu cron'lar yakit_girisi = 'OTOMATIK' flag'iyle kayıt oluşturur. Manuel girişler KULLANICI olarak işaretlenir.
Diğer Otomasyonlar
| Mekanizma | Tetiklenme | Yan etki |
|---|---|---|
AracYakitImportJob | Excel import (UI) | Toplu yakıt kaydı |
YakitImport | Manuel | Yakıt Excel import |
YakitTankiMiktarHesaplaCommand | Manuel CLI | Tank miktar yeniden hesabı |
YakitIhmalBildirimCommand | (Anadolum: bfy:ptt-yakit-ihmal-bildirim 00:30) | Yakıt ihmal bildirimi |
| HistoryTrait | Lifecycle | Snapshot |
Widget\YakitGiderController | Dashboard widget | Yakıt gider widget'ı |
Tüketim Hesaplama Hook'u
son_alinan_km ve yakitin_alindigi_km arasındaki fark üzerinden yakit_tuketimi her kayıt sırasında otomatik hesaplanır. Anormal sapma (örn. ortalamadan ±%30) bildirim sistemine düşebilir.
Detay: bkz. Sistem & İş Akışları → Entegrasyonlar