aeat.domain.currency._models module

Currency normalization value models.

Defines MonetaryAmount, NormalizedAmount, and CurrencyNormalizationStatus for the EUR conversion results produced by CurrencyNormalizationService.

class CurrencyNormalizationStatus(*values)[source]

Bases: StrEnum

Status of currency normalization.

NATIVE_EUR
NORMALIZED
MISSING_RATE
UNSUPPORTED_CURRENCY
class MonetaryAmount(**data)[source]

Bases: BaseModel

A monetary amount with its currency.

Parameters:
amount: Decimal
currency: str
class NormalizedAmount(**data)[source]

Bases: BaseModel

A EUR-normalized monetary amount with provenance.

Parameters:
original: MonetaryAmount
eur_amount: Decimal
status: CurrencyNormalizationStatus
rate: Decimal | None
rate_source: str | None
rate_date: date | None