Contents Menu Expand Light mode Dark mode Auto light/dark, in light mode Auto light/dark, in dark mode Skip to content
Pre-alpha Breaking changes are expected. Verify Agencia Estatal de Administración Tributaria (AEAT) deadlines before filing. Updates Latest download Report an issue
CADRUMO docs
Getting started CLI reference How it works
CA
  • English
  • Español
  • Català
  • Magyar
Cadrumo documentation - local Spanish tax preparation
  • Primers passos
  • Obtén Cadrumo
  • Instal·la Cadrumo
  • Inici ràpid
  • Connecta un agent (MCP)
  • Primera presentació trimestral
  • L'any de l'IRPF
  • L'any de l'IVA

El teu perfil

  • Configura un perfil
  • Autentica't amb l'AEAT
  • Mantén les dades censals
  • Quins modelos t'apliquen
  • Protegeix l'accés a les dades

El teu calendari

  • Calendari de presentacions
  • Notificacions de l'AEAT
  • Preparació per presentar

El teu ledger

  • Treballa amb les transaccions
  • Classifica les transaccions
  • Classifica amb un LLM
  • Adjunta factures i rebuts
  • Gestiona les factures de negoci
  • Corregeix els errors
  • Deduccions de prorrata de l'IVA

Les teves presentacions

  • El flux de treball de presentació
  • Modelo 036 (cens)
  • Modelo 100 (Renda)
  • Modelo 130 (pagament fraccionat de l'IRPF)
  • Modelo 303 (IVA)
  • Modelo 349 (intracomunitari)
  • Modelo 390 (resum d'IVA)
  • Entrades de càlcul
  • Revisió amb Google Sheets
  • Verifica una presentació
  • Presenta a l'AEAT
  • Concilia una presentació

Ajuda

  • Resolució de problemes
  • Publica l'autoritat d'execució
  • Avís legal

Referència

  • CLI reference
  • Referència de Cadrumo
    • Identitat i nomenclatura
    • Importació, exportació i evidència
    • Ordres i configuració
    • Sistema de fitxers, estat i seguretat
    • Registre, fonts legals i API de Python
    • Environment overrides
  • Glossary
  • Casilla reference
  • Legal reference

Com funciona

  • Visió general

Projecte

  • Actualitzacions i baixades
  • Arquitectura
  • Guia de redacció
Back to top
View this page
Edit this page
Home/Referència de Cadrumo/Registre, fonts legals i API de Python

Registre, fonts legals i API de Python¶

L’Agencia Estatal de Administración Tributaria (AEAT) és propietària de l’estructura oficial dels models. API vol dir interfície de programació d’aplicacions.

Consulta del registre i de les fonts legals¶

El registre de càlcul de Cadrumo preserva l’estructura de l’AEAT que representa: identificadors de model, períodes, seccions, caselles, fórmules, bindings, classificacions i referències de font conserven el nom que els dóna l’autoritat. Una revisió de càlcul resolta registra la revisió del registre que va utilitzar, de manera que una revisió posterior pugui identificar el conjunt exacte de regles.

Camp de referència

Significat

Revisió del registre

Revisió exacta de regles inclosa que s’ha utilitzat per al càlcul

Fórmula o binding

Ruta determinista dels valors d’origen fins a una casella

legal_refs

Disposicions legals que fonamenten una regla o una troballa

source_refs

Manual oficial o material d’origen que dóna suport a la implementació

Procedència de l’evidència

Registre local, document, observació o revisió presentada anteriorment que ha aportat un valor

Publicació de l’autoritat d’execució¶

L’autoritat d’execució és la publicació amb resum verificat del registre validat de l’AEAT, destinada als càlculs instal·lats i a les exportacions de declaracions. És contingut generat amb dos fitxers: authority.current.json és un descriptor canònic petit, i el seu membre database anomena la càrrega útil exacta authority-<database_sha256>.sqlite3 que hi ha al costat. El descriptor i la base de dades s’admeten junts; la base de dades s’obre en mode només de lectura i no s’hidrata en un únic graf de model per a tot el procés.

El parell es resol des d’un directori, i quin sigui aquest directori depèn de com s’hagi instal·lat Cadrumo. Una distribució instal·lada el porta a cadrumo/_data/registry/authority/ i el resol allà sense configuració. Una còpia de treball publica la seva a .authority/ a l’arrel del repositori, que està exclosa del control de versions, i l’anomena amb la variable d’entorn CADRUMO_AUTHORITY_ROOT. Quan aquesta variable està definida, és la resposta completa: la resolució llegeix el directori indicat i no recorre a la ubicació empaquetada, de manera que una còpia de treball no pot respondre en silenci amb bytes empaquetats que creia haver reemplaçat. Un directori que no conté cap descriptor és una negativa que anomena l’ordre de publicació, no una autoritat buida. Consulteu Publicar una autoritat d’execució validada.

Terme

Significat

Candidat validat

Les entrades del registre i de les proves d’origen acceptades pel compilador de desenvolupament.

Rebut de fonts

Contingut del registre i de les evidències d’origen relatiu a l’arrel, incloses les evidències complementàries mantingudes manualment.

Rebut del compilador

Codi relevant de Cadrumo i del compilador, manifestos de dependències, versió major/menor de Python i versions de Pydantic.

Rebut de components

Els rebuts de fonts i de compilador vinculats a una única generació d’autoritat completa i nova.

Resum d’identitat

La combinació adreçada per contingut d’aquests rebuts, registrada per poder detectar un artefacte obsolet.

Descriptor d’autoritat

El selector reemplaçat atòmicament que conté el nom base de la base de dades, el nombre de bytes, el SHA-256 físic i la generació lògica.

Base de dades d’autoritat

La publicació SQLite adreçada per contingut que conté els components tipats, les files de dependències i el manifest complet.

El format del descriptor és cadrumo-authority-descriptor-v1; els seus membres exactes són format, database, database_size, database_sha256 i logical_generation. El format de la base de dades és cadrumo-authority-sqlite-v1. El seu manifest vincula la generació lògica i el directori complet de components. El resum físic de la base de dades és a la vegada la comprovació d’admissió del descriptor i el nom de fitxer adreçat per contingut, de manera que una càrrega útil modificada o en col·lisió es rebutja abans que comenci la feina de l’entorn d’execució.

L’ordre de publicació de desenvolupament és python -m dev.registry.pipeline publish-authority. Escriu a l’arrel d’autoritat configurada i es nega en lloc de triar una ubicació quan no n’hi ha cap configurada; la seva opció --destination selecciona en canvi un directori d’autoritat aïllat. Els valors personalitzats de --registry-root o --source-root han d’anar acompanyats d’un --profile-schema explícit. El paquet del producte que porta les ordres no té cap ordre que compili o repari aquesta publicació.

El rebut de fonts plega el camí relatiu a l’arrel i el resum de contingut de cada fitxer de registre i d’evidència d’origen. Els fitxers de registre converteixen CRLF en LF; l’evidència d’origen és exacta byte a byte. El rebut del compilador també canvia amb el codi font relevant, pyproject.toml, uv.lock, la versió major/menor de Python o les versions instal·lades de pydantic i pydantic-core. Una còpia nova del repositori en el mateix entorn declarat és estable, sense prometre identitat entre entorns de compilació incompatibles.

Cada càrrega útil de component és una projecció canònica compacta d’un valor d’autoritat tipat. Els camps obligatoris sempre s’escriuen; un camp només s’omet quan el seu valor tipat coincideix amb el valor predeterminat declarat pel seu esquema. La rehidratació estricta restaura aquests valors predeterminats. Els discriminadors i les grafies de les unions definides per l’autoria romanen a la representació transmesa, per això la compactació no endevina mai quina variant tipada ha de construir. Els decimals i les dates són cadenes JSON quan l’esquema tipa un camp com a decimal o data. Un valor de fet governat pot ser text, un enter, un decimal, un booleà o una data, i JSON no els pot distingir només pel seu valor. Per tant, tot valor de fet no textual s’escriu com un objecte amb una etiqueta que identifica el seu tipus:

Valor del fet

S’escriu com

Decimal

{"$decimal": "0.40"}

Data

{"$date": "2025-01-01"}

Enter

{"$int": 5}

Booleà

{"$bool": true}

Text

La cadena JSON nua, per exemple "0.40"

El temps d’execució descodifica la càrrega útil amb el mateix esquema estricte que utilitza el compilador de desenvolupament. Rebutja una etiqueta desconeguda, un valor etiquetat mal format o no canònic i un valor de fet no textual sense etiqueta; mai no infereix un tipus a partir de la forma d’una cadena.

El compilador, i no l’entorn d’execució del producte, expandeix les diferències d’autoria en revisions canòniques completes. La base de dades també porta catàlegs tipats de l’entorn d’execució per a la normativa de l’IVA, les regles del lloc de realització, els àlies de països, els territoris postals espanyols, les exclusions territorials, les bandes de recàrrec i els àmbits d’apoderament. Són registres congelats de l’esquema, no bytes TOML incrustats ni un contenidor JSON sense tipus. Una escriptura o lectura rebutja una autoritat quan qualsevol catàleg obligatori de l’entorn d’execució és buit.

Els tipus de modelo i del domini fiscal validen la sintaxi estable dels identificadors sense carregar l’arbre d’autoria. L’autoritat compilada n’és la propietària i valida aquests identificadors contra els vocabularis publicats. La mateixa autoritat projecta l’envolupant temporal compartida floor, horizon i hard_ceiling opcional, utilitzada per admetre coordenades compatibles.

La via IndexedRegistryAuthority.operation() no compila fonts, no carrega l’arbre d’autoria sense processar, no ofereix cap ruta de reparació, ni cap dorsal JSON de càrrega total per a l’entorn d’execució, ni cap via alternativa JSON. Un descriptor o una base de dades que faltin produeixen un error de disponibilitat. Un descriptor mal format, un membre inesperat de la base de dades, un manifest incomplet o un component no vàlid produeixen un error de format. Una discrepància de resum del descriptor, de la base de dades o d’un component produeix un error d’integritat. Aquestes fallades passen abans que continuïn els càlculs o les declaracions que depenen de l’autoritat. Els components es carreguen només quan una operació fixada els demana; els valors correctes romanen en una memòria cau limitada a l’àmbit de la generació.

El punt de control C de desenvolupament pot comparar el lector indexat amb una línia base JSON explícita de dev.registry.indexed_authority_benchmark. La línia base s’escriu a partir del mateix AuthorityArtifact validat en memòria que el candidat exacte, conserva la seva identitat de generació lògica i descodifica amb càrrega total la mateixa semàntica pública completa de l’autoritat. El mesurament verifica els bytes físics de la base de dades del descriptor abans de mesurar. La línia base és un accessori de mesurament, no un mòdul del producte ni una via alternativa distribuïda. Els resultats numèrics de latència i memòria continuen pendents fins que el punt de control C s’executi sobre un candidat estable; aquesta descripció de l’API no implica cap guany mesurat.

El contracte de l’entorn d’execució és per a rodes instal·lades en un sistema de fitxers ordinari, on el descriptor i la base de dades SQLite tenen camins físics estables. No s’admet l’execució directa per importació des d’un zip: SQLite no pot obrir un membre d’arxiu comprimit com la seva base de dades de només lectura.

python -m dev.registry.conformance integrity rebutja una publicació descriptor/base de dades el resum d’identitat registrat de la qual difereix de la identitat del registre actiu i del seu entorn de compilació. Consulteu Publicar una autoritat d’execució validada per conèixer l’ordre canònica, les garanties de publicació, les comprovacions d’actualitat i la ruta de recuperació.

Formes del contracte d’entrada de la presentació¶

La instantània validada del registre és l’autoritat del model de lectura per a un model, any de presentació i període. Defineix les caselles, fórmules, vinculacions, camps repetits, fonamentació i disseny d’exportació que requereix aquesta revisió de la presentació. Els registres empresarials d’origen continuen sent propietat dels seus repositoris de domini xifrats.

Estructura

Revisió del registre

Projecció en temps d’execució

Fórmula o binding

Tipus d’origen tipat, selector i agregació

Un valor numèric, enumerat, de text o de data per a un identificador de vinculació

Vinculació de fila repetida

Tipus d’origen tipat més agrupació, camp de fila i agregació

Valors indexats per identificador de vinculació i índex de fila que comença en u, amb files de detall validades

Fórmula

Operands tipats i operació fonamentada en referències del registre

Una observació de casella calculada

Una vinculació no és un bloc de dades al qual es pugui adjuntar res. És el contracte pel qual un resolvedor d’orígens inscrit projecta un registre d’origen propi en una d’aquestes formes d’entrada de presentació. Els actius estrangers del Model 720 utilitzen una projecció inscrita de files repetides. La taxonomia d’orígens de vinculacions actualment no té cap membre d’inventari. No hi ha cap resolvedor de càlcul inscrit per al InventoryLedger xifrat, per tant continua sent un registre empresarial independent.

Utilitzeu la referència de comandes de l’aplicació generada per consultar les superfícies de càlcul de modelos, descripció, informe de verificació i auditoria. Utilitzeu el glossary per a les definicions adreçades als contribuents.

Consulta de l’API pública de Python¶

L”API del paquet Cadrumo generada és el punt d’entrada per a la consulta de Python. Els consumidors públics importen des de cadrumo i les seves façanes públiques documentades. L’arbre de paquets generat llista les superfícies admeses d’adaptadors, aplicació, nucli, domini, punt d’entrada i localització.

No hi ha cap paquet de compatibilitat d’importació de Python aeat. Els noms que contenen aeat dins del paquet cadrumo identifiquen l’adaptador de l’autoritat externa o vocabulari propietat de l’autoritat, no una segona API de producte.

Project notices

Cadrumo is pre-alpha, local-first software. It is not tax advice, is not affiliated with the Agencia Estatal de Administración Tributaria (AEAT), and never replaces official AEAT tools or advice from a qualified professional.

Stay current

  • Critical updates
  • Latest download
  • Release notes

Get help

  • Report an issue
  • CLI reference
  • How it works

Trust and responsibility

  • Disclaimer
  • Events and deadlines
  • Repository
Next
Environment overrides
Previous
Sistema de fitxers, estat i seguretat
Copyright © 2026, the Cadrumo authors
Made with Sphinx and @pradyunsg's Furo
On this page
  • Registre, fonts legals i API de Python
    • Consulta del registre i de les fonts legals
    • Publicació de l’autoritat d’execució
    • Formes del contracte d’entrada de la presentació
    • Consulta de l’API pública de Python