Användningsfall

Verkliga applikationer

Bank Statement Parser hanterar verkliga finansiella arbetsflöden: PDF-kontoutdragsinmatning, MT940-till-CAMT-migrering, automatiserad avstämning med saldoverifiering, efterlevnadspipelines, plaintext-accounting-export, REST API-driftsättning, massbearbetning och konsolidering av flera banker.

PDF-kontoutdragsinmatning

Resultat: Tolka digitala och skannade PDF-kontoutdrag med automatisk saldoverifiering — inga moln-API:er, ingen data lämnar din maskin.

Hybrid-PDF-pipelinen dirigerar varje PDF genom den optimala extraktionsvägen och verifierar varje resultat.

from bankstatementparser.hybrid import smart_ingest

result = smart_ingest("statement.pdf")
print(result.source_method)         # "deterministic" | "llm" | "vision"
print(result.verification.status)   # VERIFIED | DISCREPANCY | FAILED

# Review discrepancies interactively
# bankstatementparser --type review --input result.json

Massbearbetning av utdrag

Resultat: Skanna hela mappträd (hundratals PDF:er, XML:er, CSV:er) med automatisk korsfilsdeduplicering i ett enda anrop.

from bankstatementparser.hybrid import scan_and_ingest

batch = scan_and_ingest("statements/2026/", pattern="**/*.pdf")
print(f"Files: {len(batch.results)}, Unique txns: {batch.unique_count}")

Treasury: MT940 till CAMT.053-migrering

Resultat: Ett enda API-anrop hanterar både MT940 och CAMT.053 under SWIFT-migreringsfönstret (november 2025–november 2028), vilket eliminerar behovet av separata pipelines.

Treasury-team över hela världen migrerar från MT940 till CAMT.053 före SWIFT-deadline i november 2027. Bank Statement Parser hanterar båda formaten med ett enda API, vilket gör övergången sömlös.

from bankstatementparser import create_parser, detect_statement_format

# Process both MT940 and CAMT.053 with the same code
for file in daily_statement_files:
    fmt = detect_statement_format(file)
    parser = create_parser(file, fmt)
    df = parser.parse()
    load_to_treasury_system(df)

Automatiserad avstämning med saldoverifiering

Resultat: Formatagnostiska DataFrames med Golden Rule-verifiering och deduplicering fångar fel och dubbletter innan de når din huvudbok.

Tolka kontoutdrag, verifiera saldon och matcha mot interna poster automatiskt.

from bankstatementparser import CamtParser, Deduplicator
from bankstatementparser.hybrid import verify_balance_multi_currency

parser = CamtParser("bank_statement.xml")
bank_txns = parser.parse()

# Verify balances per currency
verification = verify_balance_multi_currency(bank_txns)
for ccy, result in verification.items():
    assert result.status == "VERIFIED", f"{ccy} balance mismatch!"

# Deduplicate before reconciliation
dedup = Deduplicator()
result = dedup.deduplicate(dedup.from_dataframe(bank_txns))
clean_txns = result.unique_transactions

# Match against internal records
unmatched = reconcile(clean_txns, internal_ledger)

Plaintext-accounting (hledger / beancount)

Resultat: Mata automatiskt in PDF-kontoutdrag och exportera kategoriserade transaktioner till hledger- eller beancount-journalformat.

from bankstatementparser.hybrid import smart_ingest
from bankstatementparser.enrichment import Categorizer
from bankstatementparser.export import to_hledger

result = smart_ingest("statement.pdf")
categorizer = Categorizer()
enriched = categorizer.categorize_batch(result.transactions)
journal = to_hledger(enriched, account="Assets:Bank:Checking")

REST API-driftsättning

Resultat: Driftsätt Bank Statement Parser som en mikrotjänst som tar emot utdragsfiler via HTTP och returnerar strukturerad JSON.

# Start the API server
bankstatementparser-api --port 8000
# Ingest a statement
curl -X POST http://localhost:8000/ingest \
  -F "file=@statement.pdf"

Efterlevnads- och revisionspipelines

Resultat: Deterministisk utdata, automatisk PII-redaktion och Golden Rule-verifiering producerar revisionsklara loggar som uppfyller regulatoriska reproducerbarhetskrav.

from bankstatementparser import CamtParser

parser = CamtParser("statement.xml")

# Stream with PII redacted for audit logs
for txn in parser.parse_streaming(redact_pii=True):
    audit_log.write(txn)

# Export full data for secure internal processing
parser.export_csv("archive/statement.csv")

SFTP-till-DataFrame-arbetsflöden

Resultat: Tolka direkt från byte med noll disk-I/O, som passar naturligt in i SFTP- och API-drivna arbetsflöden för bankanslutning.

from bankstatementparser import CamtParser

xml_bytes = sftp_client.read("daily_statement.xml")
parser = CamtParser.from_bytes(xml_bytes, source_name="daily.xml")
df = parser.parse()

Konsolidering av flera banker

Resultat: Parallell tolkning av HSBC (CAMT), Barclays (MT940), Revolut (CSV), Wise (OFX) och Chase (PDF) producerar en enda normaliserad datamängd.

from bankstatementparser import parse_files_parallel

results = parse_files_parallel([
    "hsbc/camt053.xml",
    "barclays/mt940.sta",
    "revolut/transactions.csv",
    "wise/statement.ofx",
])

all_transactions = pd.concat([r.transactions for r in results if r.status == "success"])

Batchbearbetning med ZIP-arkiv

Resultat: Inbyggt ZIP-bombskydd (100:1-förhållandegräns, 10 MB storlekstak per post, avvisning av krypterade poster) låter dig bearbeta månadsutdragsarkiv säkert.

from bankstatementparser import iter_secure_xml_entries, CamtParser

for entry in iter_secure_xml_entries("monthly_statements.zip"):
    parser = CamtParser.from_bytes(entry.xml_bytes, source_name=entry.source_name)
    df = parser.parse()
    save_to_warehouse(entry.source_name, df)

Jämför med alternativ ❯ | Planera din ISO 20022-migrering ❯ | Kom igång ❯