libredte_lib_sdk.billing.book.models module

DTO del componente billing.book.

class libredte_lib_sdk.billing.book.models.Book(datos: dict[str, Any], xml_base64: str)

Bases: XmlPayloadMixin

Libro tributario construido (book.builder::build).

Genérico entre los 5 tipos de libro (tipo del bag de entrada) — la clave raíz de datos varía según cuál se haya construido (ej. libro_ventas/libro_compras traen {“LibroCompraVenta”: {…}}), por eso no se tipa más allá de dict. xml_base64 es el XML completo, listo para encadenar a BookValidatorService.

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

Construye un Book desde el data que devuelve la API.

xml_base64: str
class libredte_lib_sdk.billing.book.models.BookBag(datos: dict[str, Any] | None, book_type: dict[str, Any], auth: dict[str, Any] | None, caratula: dict[str, Any], detalle: list[dict[str, Any]], raw: dict[str, Any])

Bases: object

Datos de un libro tributario normalizados por book.loader::load.

Esta operación solo normaliza caratula/detalle a partir de los datos de entrada — no construye el libro ni genera su documento firmado (eso lo hace BookBuilderService.build), por lo que datos (el libro ya construido) siempre viene None acá, sin importar los datos de entrada recibidos. auth (la autorización del emisor del libro) solo viene poblada si esa autorización se incluyó junto con los datos del emisor en la solicitud; si no, viene None.

auth: dict[str, Any] | None
book_type: dict[str, Any]
caratula: dict[str, Any]
datos: dict[str, Any] | None
detalle: list[dict[str, Any]]
classmethod from_api(data: dict[str, Any]) BookBag

Construye un BookBag desde el data que devuelve la API.

raw: dict[str, Any]