cadrumo.adapters.inbound.financial.providers package¶
Bank-statement provider contract and concrete file-ingest implementations.
Defines the financial-statement provider contract and the concrete per-format
parsers behind aeat app ledger import. Detection picks the right provider
for a file; each provider parses a bank statement into
domain.transactions.raw_transaction.RawTransaction records plus an explicit
domain.transactions.enums.TransactionDirection. The provider layer
parses rows only; application ledger import owns active-bucket routing,
transaction persistence, currency normalization, and bucket events.
Concrete providers also declare corpus provenance through
CorpusVerificationSource. PDF providers use
BankStatementParseError structured attributes for missing, malformed,
ambiguous, and coverage failures so callers do not need to parse messages.
Major declarations:
FinancialProvider— the provider abstract base class.CorpusVerificationSourceandProviderValidation— the provider corpus and pre-ingest validation contracts.ParsedLedgerRow— one parsed raw transaction paired with its authoritative flow direction.CsvProvider,OfxProvider,XlsxProvider, andPdfN26Provider— the concrete per-format parsers.detect_provider()— resolve the provider for a given source through extension-prioritised content validation.FinancialProviderErrorand its subclasses (BankStatementParseError,UnsupportedFinancialSourceError,InvalidFinancialSourceError,FinancialValidationError) — the failure taxonomy.
See also
adapters.inbound.financialfor the inert parent namespace.application.ledgerfor the operator-facing import service that calls these providers and persists ledger transactions.domain.transactionsfor the raw transaction records produced by successful parsing.
The package initializer exports no symbols; consumers import each provider or contract from its defining module.
Submodules¶
- cadrumo.adapters.inbound.financial.providers._constants module
- cadrumo.adapters.inbound.financial.providers._mapped_tabular module
- cadrumo.adapters.inbound.financial.providers._tabular_projection module
- cadrumo.adapters.inbound.financial.providers.base module
- Provider corpus discipline
CorpusVerificationSourceFinancialProviderErrorFinancialProviderConfigErrorUnsupportedFinancialSourceErrorInvalidFinancialSourceErrorFinancialValidationErrorBankStatementParseErrorProviderValidationFinancialProviderFinancialProvider.nameFinancialProvider.supported_extensionsFinancialProvider.source_formatFinancialProvider.verification_sourceFinancialProvider.provisional_pending_specimenFinancialProvider.can_handle()FinancialProvider.ingest()FinancialProvider.validate_source()FinancialProvider.build_provenance()
describe_dialect()normalize_header()archive_cell_text()parse_date_value()parse_amount_value()synthesize_transaction_id()ParsedLedgerRowdirection_from_signed_amount()build_raw_transaction()default_currency()
- cadrumo.adapters.inbound.financial.providers.csv module
CsvColumnMapCsvBankLayoutCSV_LAYOUTSParsedTabularTransactionRowParsedTabularTransactionRow.provider_transaction_idParsedTabularTransactionRow.booked_dateParsedTabularTransactionRow.value_dateParsedTabularTransactionRow.amountParsedTabularTransactionRow.directionParsedTabularTransactionRow.currencyParsedTabularTransactionRow.descriptionParsedTabularTransactionRow.counterparty
CsvProviderheader_lookup()layout_score()find_column()row_is_blank()parse_tabular_transaction_row()build_provider_row()
- cadrumo.adapters.inbound.financial.providers.detection module
- cadrumo.adapters.inbound.financial.providers.ofx module
- cadrumo.adapters.inbound.financial.providers.pdf_n26 module
- cadrumo.adapters.inbound.financial.providers.xlsx module