Hooks UBL de documento¶
Extiende documentos del perfil Cortex UBL sin importar otros plugins.
Registro¶
def register_ubl_hooks(registrar: UblHookRegistrar) -> None:
registrar.filter(
"ubl.invoice.on_calculate_taxes",
add_vat,
priority=20,
)
Exportar en __init__.py del plugin. Solo plugins enabled registran hooks.
Pipeline Invoice (billing)¶
- Borrador interno →
InvoiceDocument - Hooks filter/action
- Validación Pydantic
- Persistencia
ubl_snapshot ubl.invoice.issued→billing.invoice.issued(EventDispatcher)
Filters vs events¶
| Mecanismo | Mutar documento | Cross-plugin reactivo |
|---|---|---|
apply_filters | Sí | No (mismo proceso) |
EventDispatcher.emit | No | Sí |