aeat.application.invoices package

Application invoice orchestration and calculation-source surface.

This package is the public application boundary for invoice catalogue import, linking, review, reconciliation, and source-mesh projection. Callers outside the subpackage must import only from this module so private underscore-prefixed implementation modules can evolve freely.

The calculation-facing export is InvoiceCatalogueSourceResolver. It projects both rich domain.invoices.InvoiceCatalogue entries and slim application.ledger.BusinessOperationInvoice records into application.aggregation.CalculationSourceResolution values for the core.BindingSourceKind.COLLECTIBLE_INVOICE and core.BindingSourceKind.PAYABLE_INVOICE source kinds. The helper invoice_direction_to_source_kind() is the single direction-to-settlement mapping shared with the operator aeat app ledger invoice surface.

Key exports:

domain.invoices.link_transaction(), domain.invoices.suggest_reconciliations(), and domain.invoices.verify_link_consistency() are NOT re-exported here; domain.invoices is their sole canonical source (import-centralization ADR ruling 5).

See also

domain.invoices

Rich invoice catalogue, line arithmetic, payment state, and reconciliation/link authority adapted by this application facade.

application.ledger

Slim payable/collectible invoice CRUD and ledger transaction evidence links that converge with invoice catalogue data at source resolution.

domain.transactions

Transaction catalogue whose ids are linked from invoices and reported as calculation source provenance.

application.aggregation

Source-mesh envelope receiving invoice binding values, diagnostics, detail rows, and provenance.

domain.calculations.registry

Pure binding declarations and invoice observation contracts consumed by modelo calculation.

Submodules