Dosya fatura tutarını özgün para biriminde tutar ve seçtiğiniz tarihli snapshot ile USD hesaplar. Tarih, kaynak, data_updated_at ve kur birlikte saklandığı için kaydedilmiş satırlar yeniden üretilebilir.
- Tarihli snapshot, formül ve denetim içeren dosya.
- rate_per_usd, 1 USD başına para birimi miktarıdır.
- Kaydedilmiş satırlarda source, session ve data_updated_at saklanır.
- Power Query dondurulmuş değeri değiştirmeden satır ekler.
- Kurlar gösterge niteliğindedir; vergi veya muhasebe tavsiyesi değildir.
Dosyayı indirin
Fatura takip dosyasını indirin ve Excel’de açın. Örnek faturalar, para birimi snapshot’ları, USD sütunları ve audit trail içerir.
Dört sayfayı anlayın
Invoice Tracker fatura ve formülleri, FX Snapshots tarihli gözlemleri, Audit Trail dondurma kararlarını, Read Me ise akışı ve sınırları içerir.
Faturayı özgün para biriminde ekleyin
Mavi hücrelere kimlik, müşteri, tarihler, para birimi, net, vergi, kur tarihi ve durumu girin. Net, Tax ve Gross fatura para biriminde kalır.
Tarihli kur snapshot’ı ekleyin
Kullandığınız tarihli gözlemi ekleyin ve tarih, para birimi, source, market_session, data_updated_at ve kuru saklayın. Kur, 1 USD başına fatura para birimidir. EUR-20260602-v1 gibi benzersiz bir Snapshot ID kullanın. ID’nin tam olarak tek satırda bulunduğunu ve snapshot para biriminin faturayla eşleştiğini doğrulayın. Düzeltme için v2 ekleyin, v1’i ezmeyin. data_updated_at geçmiş verinin güncellendiği zamandır; effective_at değildir.
{ "result": "success", "base": "USD", "date": "2026-06-02", "source": "ecb_daily", "sources": { "EUR": "ecb_daily" }, "market_session": "open", "timestamp": "2026-09-08T11:52:18Z", "data_updated_at": "2026-06-02T00:00:00Z", "is_forward_filled": false, "rates": { "EUR": 0.85844 }, "notice": "Indicative rates, not for settlement."}Formüllü USD sütunlarını inceleyin
Dosya tarihi ve para birimini FX Snapshots ile eşleştirir ve tutarı FX Rate / USD ile böler. Snapshot yoksa USD sütunları boş kalır. Formüller fatura ve snapshot için100. satıra kadar gelir; iki aralığı birlikte genişletin. Posted yalnızca etikettir; hücreleri kilitlemez ve formülleri otomatik dondurmaz.
=IF(OR(F6<0,G6<0,H6<0,K6="",L6="Missing snapshot ID",L6="Duplicate snapshot ID",L6="Currency mismatch",L6="Invalid rate"),"",F6/K6)Kaydedilmiş değerleri dondurun
Fatura kaydedildikten sonra snapshot satırını değiştirmeyin. Düzeltme için yeni satır ekleyip nedeni Audit Traile yazın.
Power Query ile yeni snapshot ekleyin
Power Query betiği belirli tarih ve para birimini alır. Paylaşılan dosyaya API anahtarı koymayın. Power Query tam dokuz A:I sütunu üretir. Önce staging sayfasına yükleyin, başlıklar olmadan yalnızca veri satırını kopyalayıp 7. satırdan değer olarak yapıştırın. Refresh All sorgu çıktısını değiştirir, değişmez geçmiş eklemez. Windows’ta Data → Get Data → From Other Sources → Blank Query; desteklenen Microsoft 365 Mac’te Data → Get Data → Launch Power Query Editor kullanın. Anonymous seçin; anahtar gerekiyorsa sunucu proxy’si kullanın.
let SnapshotDate = "2026-06-02", Currency = Text.Upper(Text.Trim("EUR")), Revision = "v1", SelectedDate = Date.FromText(SnapshotDate, [Format = "yyyy-MM-dd", Culture = "en-US"]), RelativePath = "v1/" & Date.ToText(SelectedDate, "yyyy-MM-dd") & "/USD", Endpoint = "https://api.exchangerate.dev/" & RelativePath & "?symbols=" & Currency, Payload = Json.Document(Web.Contents("https://api.exchangerate.dev", [ RelativePath = RelativePath, Query = [symbols = Currency], Timeout = #duration(0, 0, 0, 10) ])), Source = if Payload[base] <> "USD" or Payload[date] <> SnapshotDate then error "Unexpected response base or date" else Payload, RawRate = Record.Field(Source[rates], Currency), Rate = if not Value.Is(RawRate, type number) or RawRate <= 0 then error "Expected a positive numeric rate" else RawRate, SnapshotId = Currency & "-" & Text.Replace(SnapshotDate, "-", "") & "-" & Revision, Notes = "Response timestamp=" & Source[timestamp] & "; is_forward_filled=" & (if Source[is_forward_filled] then "true" else "false"), Snapshot = #table( {"Snapshot ID", "Snapshot Date", "Currency", "Source", "Market Session", "Data Updated At (UTC)", "Rate / USD", "API Endpoint", "Notes"}, {{SnapshotId, SelectedDate, Currency, Record.Field(Source[sources], Currency), Source[market_session], Source[data_updated_at], Rate, Endpoint, Notes}} )in SnapshotDenetim kaydını saklayın
Kayıt zamanını, kullanılan snapshot’ı, kaynak/oturumu ve dondurma nedenini yazın. Gerekirse ham yanıtı saklayın. Notes alanında yanıt timestamp ve is_forward_filled değerini saklayın; Snapshot ID, kaynak, oturum ve düzeltme nedenini yazın.
Sonucu yalnızca raporlama için kullanın
Bu yalnızca raporlama ve analiz örneğidir. Vergi, muhasebe, uyum veya settlement kararı vermez. Örnek100. satıra kadardır; formül ve arama aralıklarını birlikte genişletin.