aeat.application.inventory package

Inventory noun-group application service.

Wraps the rich domain.contribuyente.inventory substrate (FIFO / PMP valuation per LIS art. 17.1) with a bucket-scoped persistence layer and canonical operator verbs:

aeat app ledger inventory list aeat app ledger inventory create aeat app ledger inventory movement add aeat app ledger inventory valuation preview

Adapts the mutating-noun-group CRUD contract to the inventory domain’s natural sub-noun grammar (actividad + movement + valuation); this service carries the documented LIFECYCLE_OPERATIONS_ONLY exception to the canonical add / remove / update / view / list spine.

Persistence is owned by InventoryService, which stores the domain.contribuyente.inventory.InventoryLedgerDocument through adapters.persistence.profile.inventory.InventoryLedgerRepository and emits bucket-scoped inventory events for audit-significant verbs. Movement commands are converted into domain.contribuyente.inventory.MovementRecord rows, while valuation previews delegate FIFO/PMP math to domain.contribuyente.inventory.compute_inventory_valuation().

See also

InventoryService

Application service that owns persistence, command validation, and bucket-event emission.

InventoryLedgerResult

Return contract for ledger create, show, movement, and remove verbs.

InventoryMovementCommand

Application command projected into a domain movement row.

InventoryValuationPreviewResult

Result contract for report-only valuation previews.

domain.contribuyente.inventory.InventoryLedger

Canonical domain ledger valued by the inventory substrate.

Submodules