cadrumo.domain.calculations.registry.nif_iva_catalogue module

Typed projection of the non-Modelo NIF-IVA country-format fact.

class NifIvaDefinition(prefix, iso_country, iso_aliases, spec)[source]

Bases: object

One registry-declared NIF-IVA prefix and its structural format.

Parameters:
prefix: NifIvaPrefix
iso_country: str
iso_aliases: tuple[str, ...]
spec: NifIvaFormatSpec
class NifIvaCatalogue(definitions)[source]

Bases: object

Complete typed projection of the dated NIF-IVA country catalogue.

Parameters:

definitions (tuple[NifIvaDefinition, ...])

definitions: tuple[NifIvaDefinition, ...]
property prefixes: frozenset[NifIvaPrefix]

Return every NIF-IVA prefix declared by the catalogue.

require_prefix(value)[source]

Return a prefix only when the selected fact declares it.

Return type:

NifIvaPrefix

Parameters:

value (object)

definition(value)[source]

Return the definition for a registry-declared prefix.

Return type:

NifIvaDefinition

Parameters:

value (object)

prefix_for_country(value)[source]

Resolve an ISO/IVA country token, refusing undeclared countries.

Return type:

NifIvaPrefix | None

Parameters:

value (object)

format_for_country(value)[source]

Return the structural format for a declared country or prefix.

Return type:

NifIvaFormatSpec | None

Parameters:

value (object)

iso_country_for_prefix(value)[source]

Return the canonical ISO country for a declared prefix.

Return type:

str

Parameters:

value (object)

resolve_nif_iva_catalogue(*, effective_date=None, authority=None)[source]

Resolve the selected NIF-IVA country/format fact.

Return type:

NifIvaCatalogue

Parameters:
nif_iva_format_for_country(iso_country)[source]

Return the published structural format for a country, when declared.

Return type:

NifIvaFormatSpec | None

Parameters:

iso_country (str)