aeat.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.RawTransaction records plus an explicit
domain.transactions.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()andprovider_for_extension()— resolve the provider for a given source.FinancialProviderErrorand its subclasses (BankStatementParseError,UnsupportedFinancialSourceError,InvalidFinancialSourceError,FinancialValidationError) — the failure taxonomy.
See also
adapters.inbound.financialfor the parent financial-import facade.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.
Submodules¶
- aeat.adapters.inbound.financial.providers._base module
- Provider corpus discipline
CorpusVerificationSourceFinancialProviderErrorFinancialProviderConfigErrorUnsupportedFinancialSourceErrorInvalidFinancialSourceErrorFinancialValidationErrorBankStatementParseErrorProviderValidationFinancialProviderdescribe_dialect()normalize_header()coerce_cell_text()parse_date_value()parse_amount_value()synthesize_transaction_id()ParsedLedgerRowdirection_from_signed_amount()build_raw_transaction()default_currency()
- aeat.adapters.inbound.financial.providers._constants module
- aeat.adapters.inbound.financial.providers._csv module
CsvColumnMapCsvBankLayoutCSV_LAYOUTSParsedTabularTransactionRowParsedTabularTransactionRow.provider_transaction_idParsedTabularTransactionRow.booked_dateParsedTabularTransactionRow.value_dateParsedTabularTransactionRow.amountParsedTabularTransactionRow.directionParsedTabularTransactionRow.currencyParsedTabularTransactionRow.descriptionParsedTabularTransactionRow.counterparty
CsvProvider
- aeat.adapters.inbound.financial.providers._detection module
- aeat.adapters.inbound.financial.providers._ofx module
- aeat.adapters.inbound.financial.providers._pdf_n26 module
- aeat.adapters.inbound.financial.providers._xlsx module