{"id":"b11b003e-ff60-435a-8c89-8bff5e862841","slug":"cadrumo","kind":"mcp","name":"cadrumo","summary":"Cadrumo is a deterministic Spanish tax calculation CLI and MCP server that turns local financial records into checked, exportable modelo filing artifacts. Independent software; not affiliated with AEA","owner":"nevenincs","repoUrl":"https://github.com/nevenincs/cadrumo","license":"Apache-2.0","licenseTier":"permissive","trust":"community","stars":1,"match":null,"fewStars":true,"format":"mcp","createdAt":"2026-04-09T06:51:25.000Z","addedAt":"2026-10-21T20:58:01.656Z","logoUrl":"https://avatars.githubusercontent.com/u/11316825?u=746b9050147921d0123277078618bc42d49141a8&v=4","linkOnly":false,"collection":null,"skillPath":null,"categories":["cloud-infra"],"tags":[],"runtime":"python","local":true,"cloudCapable":false,"cloudCapability":"unknown","cloudReadyOnPlatform":false,"needsApiKey":false,"reviewed":false,"syncedAt":"2026-10-25T21:01:17.946Z","sample":false,"url":"https://conduits.dev/tools/cadrumo","language":"Python","transports":["stdio"],"install":{"pypi":"cadrumo"},"requirements":{"env":[],"upstreamMayCharge":false},"tools":null,"readme":"<p align=\"center\">\n  <img src=\"docs/_static/cadrumo-icon.svg\" alt=\"Cadrumo logo\" width=\"136\">\n</p>\n\n# Cadrumo\n\n**Prepare your Spanish taxes. Know where the numbers come from.**\n\n[![Apache 2.0 license](https://img.shields.io/badge/license-Apache%202.0-blue)](LICENSE)\n![Status: beta](https://img.shields.io/badge/status-beta-yellow)\n\nCadrumo is a local-first workbench for preparing Spanish taxes. Bring bank transactions, invoices, and taxpayer records into one place, trace the figures in your return, and export supported filing files.\n\nConnect your bookkeeping to your return through the interactive terminal workbench, CLI, or an AI assistant connected through the Model Context Protocol (MCP).\n\n[Get started](#get-started) · [User guides](#user-documentation) · [Technical documentation](#technical-documentation)\n\n## From records to a return you can review\n\n- **Bring your records together.** Import bank statements and structured invoices, attach supporting documents, and classify income and expenses. Keep each taxpayer's work in a separate profile.\n- **Follow the figures back to their sources.** Inspect calculation inputs, formulas, and source references for individual fields in a tax form. Missing inputs remain visible for review.\n- **Prepare and check a draft.** Calculate a modelo—a Spanish tax form—for a specific year and period, resolve findings, and export supported filing layouts.\n- **Keep track of the work.** Review declarations, deadlines, and outstanding tasks. With authenticated AEAT access, retrieve supported records and reconcile filing receipts with local work.\n- **Use assistance where it helps.** Optional AI can propose document extractions and transaction classifications. Tax arithmetic runs through a deterministic calculation engine; agent access is scoped to an authorized profile and operations.\n\n**You submit the return through AEAT.** Cadrumo prepares local files and can retrieve official records, but it does not submit returns. Export availability and portal acceptance depend on the modelo and revision; see the [filing guide](docs/how-to/file-at-aeat.md).\n\n## Get started\n\nCadrumo is in beta and currently available only through an authorized source checkout. Use the source installation below while public publishing remains blocked. You need **Python 3.13+** and **[uv](https://docs.astral.sh/uv/)**.\n\nFrom the repository root:\n\n```console\nuv sync\nuv run aeat --version\nuv run aeat --help\n```\n\nThe package is named `cadrumo`; its command is `aeat`.\n\nStart the terminal workbench:\n\n```console\nuv run aeat app tui\n```\n\nCreate or sign in to a taxpayer profile, then use the workbench to organize your records and review declarations. Storage and profile access may require an unlock prompt. For a guided first return, follow the [quickstart](docs/how-to/quickstart.md).\n\nPrefer commands? Explore the available ledger and declaration operations:\n\n```console\nuv run aeat app ledger --help\nuv run aeat app modelo --help\n```\n\nA typical preparation follows this sequence:\n\n1. **Set up a profile** with the taxpayer's identity, activity, and tax circumstances.\n2. **Import and review records** so income, expenses, and supporting evidence are ready.\n3. **Calculate and verify a draft** for the chosen modelo and period.\n4. **Export and file through AEAT**, then reconcile the official receipt.\n\nSupport varies by modelo, year, and available source data. Check the [modelo guide](docs/how-to/choose-modelo.md) before starting a return.\n\n## Your data and your tools\n\nCadrumo encrypts app-managed financial records and evidence in local profile storage. Original imported files remain at their source paths; filing exports are cleartext files at the destinations you choose.\n\nExternal connections serve specific tasks: authenticated AEAT reads, optional Google Sheets workbooks, and optional hosted AI processing. Sending evidence to a hosted model requires explicit consent. See [data access](docs/how-to/protect-data-access.md) and the [privacy policy](PRIVACY.md).\n\nThe CLI, terminal workbench, and MCP integration use the same local runtime and application operations. All three can do the same work: an assistant can run any operation the command line can, under the session it holds, while calculation and access checks remain under Cadrumo's application controls and you review the result. See [connect an agent](docs/how-to/connect-an-agent.md) for setup and permissions.\n\n## User documentation\n\n| I want to… | Start here |\n| --- | --- |\n| Prepare my first return | [Quickstart](docs/how-to/quickstart.md) |\n| Find a workflow or command | [Task guides](docs/how-to/index.md) · [Command reference](docs/reference/commands-and-configuration.md) |\n| Check which modelos apply | [Choose a modelo](docs/how-to/choose-modelo.md) |\n| Understand a calculated figure | [From records to figures](docs/explanation/from-records-to-figures.md) |\n| Connect to AEAT | [Authentication](docs/how-to/authenticate-with-aeat.md) |\n| Resolve a setup or workflow issue | [Troubleshooting](docs/how-to/troubleshooting.md) |\n\n## Technical documentation\n\nFor the internals, start with the [technical overview and architecture](docs/technical/architecture.md). The collection connects subsystem explanations to detailed source-analysis articles, preserving their findings and review limits. It is separate from the user guides.\n\n- [Subsystem topics](docs/technical/architecture.md#topics) and [detailed articles](docs/technical/articles/catalogue.md)\n- [Security and trust boundaries](docs/technical/assessments/security-and-trust-boundaries.md)\n- [Implementation assessment](docs/technical/assessments/implementation-assessment.md) and [snapshot scope](docs/technical/reading-guide.md)\n- [Contributing guide](CONTRIBUTING.md)\n- [Changelog](CHANGELOG.md) and [security policy](SECURITY.md)\n\nReport bugs through [GitHub issues](https://github.com/nevenincs/cadrumo/issues). Follow the security policy for vulnerability reports.\n\n## Status and license\n\nCadrumo is beta software: commands, schemas, and stored state may change without compatibility support before 1.0. Local verification does not establish AEAT acceptance or guarantee correct tax treatment.\n\nLicensed under [Apache 2.0](LICENSE). Cadrumo is independent of AEAT and does not provide tax, legal, accounting, or financial advice. See the [full disclaimer](docs/disclaimer.md).\n"}