Amfani da Cases

Aikace-aikace na Duniya na Gaskiya

Bank Statement Parser yana sarrafa ayyukan kuɗi na ainihi: shigar da bayanan PDF na banki, ƙaurar MT940-zuwa-CAMT, sulhu ta atomatik tare da tabbatar da balance, bututun bin doka, fitar da plaintext-accounting, aika REST API, binciken tari, da haɗa bankuna da yawa.

Shigar da Bayanan PDF na Banki

Sakamako: Fassara bayanan PDF na banki na dijital da na bugu tare da tabbatar da balance ta atomatik — babu cloud APIs, babu bayanan da ke barin injin ku.

Hybrid PDF pipeline yana turawa kowane PDF ta hanya mafi kyau kuma yana tabbatar da kowane sakamako.

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

Sarrafa Bayanan Tari

Sakamako: Bincika dukkan itacen fayiloli (ɗaruruwan PDFs, XMLs, CSVs) tare da cire kwafi ta atomatik a cikin kira guda ɗaya.

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}")

Baitulmali: Ƙaurar MT940 zuwa CAMT.053

Sakamako: Kiran API guda ɗaya yana sarrafa duka MT940 da CAMT.053 yayin tagar ƙaura ta SWIFT (Nuwamba 2025–Nuwamba 2028), yana kawar da buƙatar bututun fassara daban.

Ƙungiyoyin baitulmali a duk duniya suna ƙaura daga MT940 zuwa CAMT.053 kafin wa'adin ƙarshe na Nuwamba 2027 na SWIFT. Bank Statement Parser yana sarrafa tsari biyu tare da API guda ɗaya, yana sa sauyin ya kasance mara cikas.

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)

Sulhu ta Atomatik tare da Tabbatar da Balance

Sakamako: Format-agnostic DataFrames tare da tabbatar da Golden Rule da cire kwafi suna kama kurakurai da kwafi kafin su kai ga ledger ɗin ku.

Fassara bayanan banki, tabbatar da balances, kuma daidaita da bayanan ciki ta atomatik.

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)

Sakamako: Shigar da bayanan PDF na banki ta atomatik kuma fitar da ma'amaloli da aka rarraba zuwa tsarin hledger ko beancount journal.

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")

Aika REST API

Sakamako: Aika Bank Statement Parser azaman microservice wanda ke karɓar fayilolin bayanai ta HTTP kuma yana mayar da JSON mai tsari.

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

Bututun Bin Doka da Dubawa

Sakamako: Fitarwa tabbatacciya, share PII ta atomatik, da tabbatar da Golden Rule suna samar da rajistan ayyukan da suka shirya don dubawa waɗanda ke gamsar da buƙatun sake fasalin tsari.

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-zuwa-DataFrame Workflows

Sakamako: Fassara kai tsaye daga bytes ba tare da faifai I/O ba, yana dacewa da SFTP da ayyukan haɗin banki da API ke tafiyar da su.

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()

Haɗa Bankuna Da Yawa

Sakamako: Fassara daidaitawa a cikin HSBC (CAMT), Barclays (MT940), Revolut (CSV), Wise (OFX), da Chase (PDF) yana samar da saitin bayanai guda ɗaya da aka daidaita.

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"])

Sarrafa Tari tare da Ajiyayyen ZIP

Sakamako: Kariyar bam na ZIP da aka gina a ciki (iyakar rabo 100:1, iyakar shigarwa 10 MB, ƙin shigar da rufaffen) yana ba ku damar sarrafa bayanan wata-wata cikin aminci.

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)

Kwatanta da madadin ❯ | Shirya ƙaurar ISO 20022 ❯ | Fara ❯