Tutorial/Çok para birimli fatura takipçisi

Excel’de çok para birimli fatura takipçisi oluşturun

EUR, GBP, JPY ve IDR faturaları için tarihli kur snapshot’ları, USD formülleri ve denetim kaydı içeren Excel dosyasını indirin.

ERexchangerate.dev·8 Eylül 2026 güncellendi·8 dakikalık okuma

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.

Key points
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.

Representative historical responsecopy
{
  "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.

Excel formula · Net USDcopy
=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.

Power Query M · explicit snapshotcopy
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
    Snapshot

Denetim 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.

ER
exchangerate.dev
exchangerate.dev

Okumaya devam edin

ReferenceTarihli kur snapshot’ı ekleyinOku TutorialPower Query ile yeni snapshot ekleyinOku TutorialPython ile döviz kurlarını almaOku
Daha Fazla KarşılaştırmaFixer vs exchangerate.devOpen Exchange Rates vs exchangerate.devCurrencylayer vs exchangerate.dev
ÖğrenReading source and market_session in your pipelineIndicative vs executable FX rates: what a rates API actually gives youECB reference rates, explained
Canlı KurlarEUR/USDGBP/USDUSD/JPY