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:
XmlPayloadMixinLibro 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:
objectDatos 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]