PDF Banka Ekstresinden İşlemleri Otomatik Çıkarma — Tam Rehber
Özet
Bir PDF banka ekstresinden işlemleri çıkarmak için dosyayı, tablo düzenini otomatik algılayan ve her satırı tarih, açıklama, tutar ve bakiye olarak döndüren bir parser'a yükleyin. Metin tabanlı PDF'ler doğrudan ayrıştırılır; taranmış PDF'ler önce OCR gerektirir. Sonucu CSV, Excel veya JSON olarak dışa aktarın ya da bir API'den çekin.
PDF Banka Ekstresinden İşlemleri Otomatik Çıkarma
Her ay banka ekstrelerini manuel olarak Excel'e girmek, muhasebecilerin en çok zaman harcadığı işlerden biri. Bu rehberde bu süreci tamamen otomatize etmenin yollarını gösteriyoruz.
Neden Zor?
Her banka PDF'i farklı format kullanır:
- Bazı bankalar sütun bazlı tablo tercih eder
- Bazıları satır bazlı, alt bilgilerle çalışır
- Uluslararası bankalar farklı tarih ve tutar formatları kullanır
- Çok sayıda dil ve karakter seti söz konusu olabilir
Regex veya template tabanlı çözümler her format güncellemesinde bozulur.
Çözüm 1: REST API (En Kolay)
import requests
response = requests.post(
"https://api.bankstatementparser.net/extract",
headers={"X-Api-Key": "pex_your_key"},
files={"file": open("ekstre.pdf", "rb")}
)
data = response.json()
print(f"Format: {data['bankKey']}")
print(f"İşlem sayısı: {len(data['transactions'])}")
for txn in data['transactions']:
print(f"{txn['date']} | {txn['description'][:40]} | {txn['amount']}")
Çözüm 2: CSV Export ve Excel'e Aktarım
import requests
import pandas as pd
resp = requests.post(
"https://api.bankstatementparser.net/extract",
headers={"X-Api-Key": "pex_your_key"},
files={"file": open("ekstre.pdf", "rb")}
)
df = pd.DataFrame(resp.json()["transactions"])
df.to_excel("islemler.xlsx", index=False)
print(f"{len(df)} işlem Excel'e aktarıldı.")
Toplu İşleme
Birden fazla dosyayı döngüyle işleyin:
import os, requests, pandas as pd
api_key = "pex_your_key"
pdf_folder = "./ekstreler"
results = []
for filename in os.listdir(pdf_folder):
if not filename.endswith(".pdf"):
continue
resp = requests.post(
"https://api.bankstatementparser.net/extract",
headers={"X-Api-Key": api_key},
files={"file": open(f"{pdf_folder}/{filename}", "rb")}
)
txns = resp.json().get("transactions", [])
for t in txns:
t["source_file"] = filename
results.extend(txns)
pd.DataFrame(results).to_excel("tum_islemler.xlsx", index=False)
Ücretsiz Başlayın
[Hesap Oluştur →](https://bankstatementparser.net/tr/kayit) — Her ay ilk 50 sayfa ücretsiz.