Atupale alaye banki

Real-World elo

Iṣura: MT940 to CAMT.053 Iṣilọ

Awọn ẹgbẹ Išura kaakiri agbaye nṣikiri lati MT940 si CAMT.053 ṣaaju akoko ipari Oṣu kọkanla 2027 SWIFT. Parser Gbólóhùn Bank kapa awọn ọna kika mejeeji pẹlu API ẹyọkan, ṣiṣe awọn iyipada lainidi.

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)

Aládàáṣiṣẹ ilaja

Ṣọ awọn alaye banki ki o baramu lodi si awọn igbasilẹ inu laifọwọyi. Ijade DataFrame ti iṣọkan jẹ ki ilaja kannaa kika-agnostic.

from bankstatementparser import CamtParser, Deduplicator

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

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

Ibamu ati Ṣiṣayẹwo Pipelines

Kọ awọn opo gigun ti iṣayẹwo-ṣetan pẹlu atunṣe PII ati iṣelọpọ ipinnu. Gbogbo ṣiṣe ṣe agbejade awọn abajade kanna fun titẹ sii kanna, awọn ibeere isọdọtun ilana itelorun.

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

Ọpọlọpọ awọn bèbe n pese awọn alaye nipasẹ SFTP. Pari taara lati awọn baiti laisi kikọ si disk.

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

Olona-Bank Iṣọkan

Sopọ awọn alaye lati awọn ile-ifowopamọ lọpọlọpọ nipa lilo awọn ọna kika oriṣiriṣi sinu data ti o ṣe deede deede kan.

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

Ṣiṣẹpọ Ipele pẹlu Awọn ile ifipamọ ZIP

Ilana zipped alaye pamosi ni aabo pẹlu itumọ-ni ZIP bombu Idaabobo.

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)