libredte_lib_sdk.billing.ownership_transfer package

Submodules

Module contents

Componente billing.ownership_transfer: cesión electrónica (factoring).

class libredte_lib_sdk.billing.ownership_transfer.Aec(datos: dict[str, Any], xml_base64: str)

Bases: XmlPayloadMixin

AEC (Archivo Electrónico de Cesión) construido (aec::build).

datos es la estructura ya parseada (bajo la clave AEC en la respuesta cruda de la API), xml_base64 el XML completo — permite encadenar a AecService.validate_schema/.validate_signature o a SiiRtcService.send_aec.

datos: dict[str, Any]
classmethod from_api(data: dict[str, Any]) Aec

Construye un Aec desde el data que devuelve la API.

xml_base64: str
class libredte_lib_sdk.billing.ownership_transfer.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.

class libredte_lib_sdk.billing.ownership_transfer.OwnershipTransferComponent(client: ApiClient)

Bases: object

Agrupa los servicios de billing.ownership_transfer.