Folio, finans ve kasa — çift-sayımın imkânsız olduğu tek defter
Her rezervasyonun gerçek folio defteri, otelin kasa oturumları ve gün sonu kapanışı tek bir tutarlı finans merkezinde birleşir. Append-only defter, gece gece konaklama, idempotent senkron ve silinemez denetim izi ile para hiçbir yerde "elle" yazılmaz — her hareket merkezi bir servisten geçer.
Tek birleşik defter: her satır bir hareket, hiçbir satır silinmez
Aurora'nın finans mimarisi tek birleşik defter üzerine kuruludur: tüm finansal hareketler tek tabloda toplanır ve defter append-only'dir — satır asla silinmez veya güncellenmez. Her satırda iki bağımsız eksen bulunur: yön (borç / alacak) ve hareket tipi + departman. Kalan bakiye yalnızca aktif satırlar üzerinden Σ(borç) − Σ(alacak) ile hesaplanır; tutar her zaman pozitif saklanır, artı/eksi etkisi yönden gelir.
Her posting ayrı: borç, alacak, indirim, iade, düzeltme, ters kayıt
Aynı departmanı hem borçlandırıp hem alacaklandırma (ör. ekstra + karşılık ödemesi) mümkündür; kaynak bazlı kırılım Konaklama ile Ekstra'yı departmana değil kaynağa göre ayırır.
charge — borç
Konaklama, restoran, minibar, bar, transfer, etkinlik, ek yatak ve ekstra harcamaları folio'ya borç olarak işlenir.
payment — alacak
Kapora, nakit, kart, havale, online ve cari tahsilat kanonik ödeme defterine ve folio'ya alacak olarak yazılır.
discount — indirim
Alacak kaydıdır ama ödeme değildir; kasaya dokunmaz, geliri azaltır. postDiscount ile ayrı akış.
refund — iade
Borç kaydıdır; kasadan/hesaptan para çıkarır. Onaylı iade akışıyla kasa çıkışı birlikte oluşur.
adjustment — düzeltme
Serbest düzeltme kalemi; borç veya alacak yönünde işlenebilir. Denetim izinde açıkça görünür.
void — ters kayıt
Bir önceki satırı nötrleyen ters hareket; orijinal satır "reversed" işaretlenir, silinmez. Append-only düzeltme yöntemi tam denetim izini korur.
Gece gece konaklama, idempotent senkron, kurumsal PDF
Rezervasyon detayında folio kartı sayfa açılınca kaynaklardan otomatik senkron edilir (hata olsa bile sayfayı kırmaz — try/catch korumalı). Konaklama ücreti gece gece işlenir: her gece için ayrı charge satırı, o gecenin tarihiyle; kısmi konaklama ve erken çıkış doğru yansır.
- Özet bloğu 7 satır: Konaklama / Ekstra / İndirim / Ara Toplam / Tahsilat / İade / Kalan Bakiye.
- İdempotent senkron: aynı kaynak satırı yalnızca bir kez post edilir (UNIQUE kaynak_tablo, kaynak_id); metot kaç kez çağrılırsa çağrılsın güvenli.
- 10 departman/kategori: KON, RES, MIN, BAR, SPA, TRF, ETK, EKY, EKS, IND.
- Folio PDF kurumsal tasarımlı, kartla aynı veri kaynağını kullanır; logo ayarlardan gelir (dinamik, sabit değil).
- Fatura durum rozeti: sağlayıcı-bağımsız ortak katman + "Fatura Kes" butonu; toplu backfill komutu geçmiş rezervasyonları idempotent işler.
Kasa oturumları, vardiyalar, yetkiler ve gün sonu kapanışı
Folio ve ödeme omurgası üzerine profesyonel bir finans operasyon merkezi kurulur: kasa oturumları, vardiyalar, personel kabiliyet bayrakları, tahsilat/iade akışı ve gün sonu kapanışı. 7 finans/folio raporu ortak premium UI + DataTables + Excel/PDF/Yazdır/Kopyala export ile gelir.
- Kasa oturumu yaşam döngüsü: aç → hareket ekle → beklenen nakit (canlı) → kapat → fark otomatik → eşik aşılırsa yönetici onayı.
- Kabiliyet bayrakları: tahsilat alabilir, iade yapabilir, indirim yapabilir, gün sonu kapatabilir, onaylayabilir, kasa kullanabilir.
- Ödeme al zinciri: kanonik defter → folio senkron → kasa hareketi → ödeme cash_session_id ile oturuma linklenir.
- İade durum makinesi: talep → yönetici onayı/reddi → onaylanınca ödeme defteri + folio + kasa çıkışı birlikte.
- Hugin yazarkasa köprüsü: kart + Hugin kasasında ödeme cihaza gönderilir; cihaz pasifse manuel devam.
Çoklu ödeme sağlayıcısı, tek tutarlı kalıp
Her sağlayıcı aynı kalıba oturur: hosted checkout + webhook + admin ayar ekranı. Webhook otoriter onaydır — kullanıcı tarayıcıyı kapatsa bile ödeme kesinleşir.
Yerel sağlayıcılar
Iyzico, ZiraatPay, Sanal POS (VirtualPos), PayTR, Havale/EFT, Tesiste Ödeme ve Acente Ödemesi — her biri kanonik ödeme yöntemi olarak kayıtlı.
İdempotent finalize
Hem success dönüşü hem webhook aynı sonucu güvenle işler; çift onay veya çift stok düşümü olmaz. Ödeme onayında odalar rezervasyona atanır.
Otomatik zincir
Ödeme başarısında stok, ödeme durumu, folio, CRM ve oda atama tek callback'le otomatik akar.
Stripe Checkout (Avrupa)
Iyzico kalıbıyla birebir: hosted checkout + webhook + admin ayar ekranı. Otel rezervasyonu ve etkinlik satışı için.
İskandinav yöntemleri otomatik
Klarna, Swish, MobilePay, Vipps ayrı entegrasyon değil — Stripe'ın dinamik ödeme yöntemleri. Dashboard'da açılan yöntem otomatik checkout'ta çıkar.
Çoklu para birimi
EUR (varsayılan) + SEK / NOK / DKK / ISK / PLN. Yerel cüzdanlar para birimine bağlı; tutar Stripe standardına uygun gönderilir.
Tahsilattan gün sonu kilidine: dört adım
Merkezi tahsilat
Ödeme al modalı kanonik ödeme defterine yazar, folio'ya senkronlar, açık kasa oturumuna hareket oluşturur ve ödemeyi oturuma linkler. Yetki (can_collect) ve yönteme göre oturum zorunluluğu kontrol edilir.
Folio güncel
Konaklama gece gece, ekstralar ve tahsilat/iade idempotent olarak folio'ya düşer; kalan bakiye postings'ten anlık hesaplanabilir. Cache güvenilir ama otoriter değildir.
Gün sonu kontrolleri
Kapanış öncesi açık kasa oturumu, kapatılmamış fark, onaysız iade, açık bakiyeli check-out ve faturasız kayıt kontrol edilir; özet yöntem/personel/kasa bazlı çıkar.
Kapat & kilitle
Kritik blok varsa yönetici override + can_close_day yetkisiyle geçilir; kapanış anlık durumu JSON snapshot'a alınır, gün kilitlenir ve çift kapatma reddedilir.
Çift-sayım imkânsız: muhasebe ile kasa ayrı ama bağlı
Muhasebe tarafı (folio postings) ve kasa tarafı (kasa hareketleri) bilinçle ayrı tutulur ama ödeme id'siyle birbirine bağlanır. Sistem mevcut ödeme gateway callback'lerine hiç dokunulmadan üstüne inşa edilmiştir; ödemeler ve ekstralar folio'ya idempotent senkronla düşer.
- İki katmanlı yetki: sayfa izni + kabiliyet bayrağı. Denetim (audit) logu CLI-korumalı ve silinemez.
- Append-only defter → tam denetlenebilirlik; her düzeltme iz bırakır (void ile).
- Kurulum tek idempotent komutla (finance:install) 9 finans tablosunu kurar.
- Globallik: her posting satırında para birimi + döviz kuru alanı hazır; çoklu para birimli folio altyapısı mevcut.
İlgili modüller
Rezervasyon & Ön Büro
Ön büroda alınan her tahsilat, harcama ve iade folio defterine ve kasa oturumuna doğrudan bağlanır.
İnceleBelge & E-Fatura & Yasal
Folio → fatura bağı kurulur; e-fatura müşteri alanlarını kesim anında canlı okur, GİB entegrasyonuyla keser.
İnceleRaporlama & İş Zekâsı
Gelir, tahsilat ve açık bakiye rakamları doğrudan folio posting defterinden okunur — tek hesaplama beyni.
İnceleFolio & finans hakkında sık sorulanlar
Tüm finansal hareketler tek tabloda tutulur ve satır asla silinmez veya güncellenmez. Bir kaydı düzeltmek gerektiğinde ters kayıt (void) atılır; orijinal satır "reversed" işaretlenir ama defterde kalır. Böylece tam denetim izi korunur ve kalan bakiye her an postings'ten yeniden hesaplanabilir. Bakiye cache hız için saklanır ama otoriter değildir.
Muhasebe tarafı (folio postings) ile kasa tarafı (kasa hareketleri) bilinçle ayrı tutulur ama ödeme id'siyle birbirine bağlanır. Para asla ad-hoc yazılmaz; tahsilat/iade daima merkezi tahsilat servisinden, folio hareketi daima folio servisinden geçer. Ayrıca UNIQUE(kaynak_tablo, kaynak_id) kısıtı bir kaynak satırının yalnızca bir kez post edilmesini garanti eder.
Kapanıştan önce kontroller çalışır: açık kasa oturumu, kapatılmamış kasa farkı, onaysız iade, açık bakiyeyle yapılmış check-out ve faturasız kayıt. Kritik blok varsa yönetici override ve gün sonu kapatma yetkisi (can_close_day) gerekir; kapanış anlık durumu JSON snapshot'a alınır, gün kilitlenir ve çift kapatma reddedilir.
Yerel: Iyzico, ZiraatPay, Sanal POS, PayTR, Havale/EFT, Tesiste Ödeme ve Acente Ödemesi. Avrupa için Stripe Checkout; Klarna, Swish, MobilePay ve Vipps ayrı entegrasyon değil, Stripe'ın dinamik ödeme yöntemleridir (Dashboard'da açılan yöntem otomatik checkout'ta çıkar). Webhook otoriter onaydır: kullanıcı tarayıcıyı kapatsa bile ödeme kesinleşir ve tüm zincir otomatik akar.
Finansınızı denetlenebilir tek deftere taşıyın
Append-only folio, kasa oturumları, gün sonu snapshot'ı ve silinemez denetim izi — para bir daha asla kaybolmasın.