cadrumo.domain.notifications.sancion module

Canonical domain readings for notification documents.

The inbound notification adapter parses external document bytes, but the typed reading is an application/domain fact that can be persisted and consumed without depending on that adapter.

class SancionLiquidacion(**data)[source]

Bases: BaseModel

The typed reading of one AEAT sanción / liquidación document.

Every field is a figure printed on the document. Nothing here is derived, defaulted or inferred: an absent reducción is None, never 0, so a reducción AEAT did not grant is distinguishable from one it granted at zero.

Parameters:

data (Any)

certificado_id: AeatCertificadoId
clave_liquidacion: AeatClaveLiquidacion
referencia: str
nif: str
objeto_tributario: Literal['sancion', 'liquidacion']
base_sancion: Decimal
porcentaje_minimo: Decimal
sancion_resultante: Decimal
reduccion_conformidad: Decimal | None
reduccion_pronto_pago: Decimal | None
diferencia: Decimal | None
importe_a_ingresar: Decimal
document_sha256: ContentDigest
mode: Literal['read']
property reducciones_total: Decimal

Return the sum of every reducción the document actually printed.