libredte_lib_sdk.billing.ownership_transfer.aec module

Servicio para billing.ownership_transfer.aec.

class libredte_lib_sdk.billing.ownership_transfer.aec.AecService(client: ApiClient)

Bases: object

Construye y valida un AEC (billing.ownership_transfer.aec).

AEC = Archivo Electrónico de Cesión: cede un DTE (factoring) o re-cede un AEC ya construido — source en build() acepta ambos (el XML de un DTE, o el de un AEC ya construido, en base64; la API distingue cuál es por la etiqueta raíz del XML).

build(source: str, *, cedente: dict[str, Any], cesionario: dict[str, Any], cesion: dict[str, Any], certificate: Certificate) Aec

Construye el AEC completo (DTECedido, Cesion y AEC raíz).

source es el XML en base64 del DTE a ceder (primera cesión) o de un AEC ya construido (re-cesión). cedente trae RUT/ RazonSocial/Direccion/eMail/RUTAutorizado (esta última con RUT/Nombre); cesionario trae RUT/RazonSocial/ Direccion/eMail; cesion trae MontoCesion/ UltimoVencimiento — todos tal como los espera la API.

validate_schema(source: str) dict[str, Any]

Valida source (XML del AEC, en base64) contra su esquema XSD.

validate_signature(source: str) list[dict[str, Any]]

Valida cada firma electrónica del AEC.

El AEC trae múltiples firmas (DTECedido, Cesion, AEC) — devuelve una lista, un ítem por firma.