Spain's crypto tax reporting framework is one of the most demanding in the EU. Since January 2024, crypto-asset service providers (CASPs) with Spanish clients have been required to file Modelo 172 (quarterly transaction reporting) and Modelo 173 (annual balance reporting) with the AEAT — Spain's tax authority. A third form, Modelo 721, applies to individual taxpayers holding crypto abroad.
Non-compliance carries per-record penalties of €20 per omitted data item, with totals that can reach €600,000 for systematic omissions. The AEAT began formal enforcement in 2025 and is issuing information requests to crypto providers without active filings.
This guide covers every obligation: who must file, exactly what data is required, filing deadlines, XML format requirements, and how Spain's reporting framework maps to DAC8 — the EU-wide crypto reporting directive taking effect in September 2027.
Extraterritorial reach: The Modelo 172/173 obligation applies to any provider — regardless of where it is incorporated — that serves Spanish tax residents on a professional basis. A UK exchange, US broker, or non-EU custodian with Spanish clients must comply. The AEAT has issued requests to foreign providers under EU mutual assistance frameworks since Q3 2024.
The Three Reporting Forms at a Glance
Modelo 172 — Crypto Transaction Report
Transaction-level reporting of every crypto acquisition, disposal, exchange, and transfer made by Spanish tax resident clients. One record per transaction. Covers all crypto-asset types including NFTs when traded commercially.
Modelo 173 — Crypto Balance Report
Year-end snapshot reporting. For each Spanish tax resident client, report the total holdings of each crypto-asset type and their EUR equivalent value at December 31. One record per crypto-asset type per client.
Modelo 721 — Foreign Crypto Holdings Disclosure
Filed by individual Spanish taxpayers — not by providers. Required when a Spanish resident holds crypto-assets valued above €50,000 at December 31 at foreign providers. CASPs should notify clients of this obligation; failure to inform does not transfer the fine, but creates client relationship risk.
Who Must File
The Modelo 172 and 173 obligation applies to any person or entity that, on a professional or business basis, provides any of the following services to Spanish tax residents:
- Exchange of crypto-assets for fiat currency (crypto-to-EUR, EUR-to-crypto)
- Exchange of crypto-assets for other crypto-assets
- Custody and administration of crypto-assets
- Transfer of crypto-assets on behalf of clients
- Operation of a trading platform where Spanish residents execute transactions
The threshold for "professional basis" is not defined by transaction volume — a single transaction triggers the obligation if it is conducted in the context of a business activity. Peer-to-peer platforms that purely facilitate matching without holding or transacting are in a grey zone and should seek legal advice.
Entities specifically covered: crypto exchanges, OTC desks, crypto custodians, digital asset brokers, neobanks with crypto features, and any CASP licensed under MiCA operating in Spain.
Entities not covered: DeFi protocols operating without a legal entity (for now — ESMA is reviewing), individual traders, and purely informational services with no transaction execution.
Filing Deadlines
Nil returns required: If a provider has no Spanish resident clients in a quarter, a nil Modelo 172 must still be submitted. Failure to file — even with zero transactions — is treated as a non-compliance event and can trigger a minimum penalty of €300.
Modelo 172: Required Data Fields
Each transaction record in Modelo 172 must contain the following fields. The data must reflect the state at the moment of transaction — retroactive reconstruction using end-of-day prices is not accepted.
| Field | Description | Notes |
|---|---|---|
| NIF/NIE | Taxpayer ID of the Spanish resident client | Mandatory. Providers must collect and verify this at onboarding. Transactions without NIF/NIE cannot be excluded — they must be flagged and reported separately. |
| Nombre | Full legal name of the client | Must match the name associated with the NIF/NIE in AEAT records. |
| Tipo de operación | Operation type code | Standardized codes: A (acquisition), T (transmission/disposal), P (exchange for other crypto), C (transfer/custody change), S (staking/yield — added 2025). |
| Fecha y hora | Date and time of the transaction | ISO 8601 format, including timezone offset. Use execution timestamp, not settlement date. |
| Criptoactivo | Crypto-asset identifier | Use the standardized asset code defined in the AEAT schema. For unlisted assets, use ISIN if available, otherwise the contract address with blockchain identifier. |
| Cantidad | Quantity of crypto-asset transacted | Up to 18 decimal places. Use the net quantity received/sent by the client, after fees. |
| Valor en euros | EUR equivalent at moment of transaction | Use the execution price if available. For crypto-to-crypto exchanges, convert both sides to EUR at the time of execution using a reference market price. AEAT accepts CoinGecko, Kraken, and Bitstamp reference prices. |
| Identificador de cuenta | Wallet address or account ID | The on-platform account identifier or, for self-custody transfers, the destination wallet address. |
Modelo 173: Required Data Fields
Modelo 173 is a balance snapshot — simpler per-record but requires complete client coverage as of December 31 each year.
| Field | Description |
|---|---|
| NIF/NIE | Taxpayer ID of the Spanish resident client |
| Nombre | Full legal name |
| Criptoactivo | Crypto-asset type (one record per asset type per client) |
| Saldo en unidades | Units held at December 31 |
| Valoración en euros | EUR equivalent of the balance at December 31 market close price |
| Entidad custodia | Name and tax ID of the custodian entity (the reporting CASP) |
XML Format and Submission
Both Modelo 172 and Modelo 173 must be submitted via the AEAT's electronic filing system (Sede Electrónica) using the official XML schema. Manual or spreadsheet submissions are not accepted for providers with more than 10,000 records — and most active CASPs will exceed this within a single quarter.
Key XML requirements
- Schema version must match the current AEAT specification — updated schemas are published annually, usually in November for the following year's filings
- Files must be signed with a valid electronic certificate (certificado electrónico) issued by a recognized Spanish CA, or by an authorized representative with power of attorney
- Maximum file size per submission: 10MB. Larger datasets must be split into multiple sequential files
- Character encoding: UTF-8. Special characters in names must be properly escaped
- EUR amounts: decimal separator is a period (
.), no thousands separator, maximum 2 decimal places for EUR values - Crypto quantities: up to 18 decimal places, using period as separator
Schema validation before submission: The AEAT's validation engine rejects malformed files without generating a formal response — the submission simply fails silently in some cases. Always validate XML against the published XSD schema before uploading. SENTINEL performs automatic schema validation before every filing.
EUR Valuation: The Most Common Error
The single most frequent Modelo 172 compliance error is incorrect EUR valuation. The AEAT is unambiguous: the EUR equivalent must reflect the price at the moment of execution, not end of day, not average price, and not the price at the time of filing.
For crypto-to-fiat transactions, the execution price from your matching engine is the reference. For crypto-to-crypto exchanges, both sides must be converted to EUR at the time of the trade using a reference market. The AEAT accepts prices from:
- CoinGecko historical price API (hourly granularity available)
- Kraken and Bitstamp OHLCV data (accepts close price for the relevant 1h candle)
- Your own internal reference price, if derived from regulated market data and documented in your compliance manual
For assets not listed on major markets — small-cap altcoins, tokenized securities — the AEAT allows the last available price from any recognized source, with documentation. If no price is available, the transaction must be reported with a zero value and a flag indicating the reason.
Penalties for Non-Compliance
| Violation | Penalty |
|---|---|
| Omitted or incorrect data record | €20 per record, minimum €300 per filing period |
| Late filing (submitted after deadline) | €20 per record, minimum €300, maximum €20,000 per filing period |
| Failure to file (no submission at all) | €20 per record that should have been filed, minimum €600 |
| Systematic or intentional non-compliance | Up to €600,000 per filing period under General Tax Act |
| Failure to maintain records for 5 years | Administrative penalty, range €150–€6,000 |
The AEAT uses cross-matching: Modelo 172 data is compared against individual taxpayer self-reported crypto gains on their IRPF returns. Discrepancies automatically trigger tax inspection procedures for the client — and follow-up audits of the reporting CASP if the discrepancy pattern is widespread.
DAC8: What Changes in September 2027
DAC8 — the 8th amendment to the EU Directive on Administrative Cooperation — takes effect September 30, 2027. It extends the Modelo 172/173 framework across the EU, requiring automatic exchange of crypto-asset transaction data between all member state tax authorities.
For Spanish CASPs already compliant with Modelo 172/173, the conceptual overlap is high — but the implementation differs in three important ways:
- Broader transaction scope: DAC8 adds staking rewards, lending income, ICO proceeds, and airdrop income to the mandatory reporting categories. Modelo 172 currently covers these only partially.
- Cross-border client coverage: DAC8 requires reporting on clients across all EU member states, not just Spanish residents. A Spanish CASP serving French, German, and Italian clients must report all of them to the AEAT, which then shares the data with the relevant national authority.
- Different data schema: DAC8 uses the OECD CARF (Crypto-Asset Reporting Framework) XML schema, not the AEAT's current Modelo XML format. Both must be maintained in parallel from September 2027 until AEAT harmonizes the schemas, expected in 2028.
Build for DAC8 now: CASPs that build compliant Modelo 172/173 pipelines today — with proper EUR valuation, client identification, and XML generation — are 70–80% of the way to DAC8 readiness. The marginal cost of extending to CARF schema from a working Modelo pipeline is far lower than building from scratch in 2027.
Practical Implementation: What Your Systems Need
Most CASPs underestimate the technical infrastructure required. Modelo 172 compliance is not a spreadsheet exercise at quarter-end — it requires real-time data capture during transaction execution. Retroactive reconstruction of historical data is unreliable and has been explicitly flagged by AEAT auditors as a compliance risk.
Your systems must capture, at the moment of every transaction:
- Client NIF/NIE (collected at KYC, stored against session token)
- Execution timestamp with timezone
- Asset type and quantity (net of fees)
- EUR reference price from your chosen data source, with the source documented
- Transaction type code per AEAT taxonomy
- Account/wallet identifier
This data must be retained for a minimum of 5 years from the filing date (not the transaction date). Storage must be tamper-evident — AEAT auditors can and do request raw transaction logs to compare against filed records.
Frequently Asked Questions
Who must file Modelo 172 in Spain?
Any person or entity that provides crypto-asset services — exchange, custody, transfer, or brokerage — to Spanish tax residents on a professional basis. This applies regardless of where the provider is incorporated. UK, US, and non-EU providers with Spanish clients are equally obligated.
What is the deadline for Modelo 172 in 2026?
Modelo 172 is quarterly. Q1 2026 (January–March transactions) must be filed by April 30, 2026. Q2 by July 31. Q3 by October 31. Q4 by January 31, 2027. Nil returns are required even with zero transactions.
What is the difference between Modelo 172 and Modelo 173?
Modelo 172 is a quarterly transaction-level report — every individual crypto trade, exchange, or transfer for each Spanish client. Modelo 173 is an annual balance report — the total crypto holdings per client at December 31, filed by March 31 of the following year. Both are mandatory for CASPs.
What data fields are required in Modelo 172?
For each transaction: client NIF/NIE, full name, operation type code (acquisition/disposal/exchange/transfer/staking), execution date and time, crypto-asset identifier, quantity (net of fees), EUR equivalent at execution time, and account or wallet identifier. All in the AEAT's official XML schema.
What is Modelo 721 and who files it?
Modelo 721 is filed by individual Spanish taxpayers — not by providers — when they hold more than €50,000 in crypto-assets at foreign custodians at December 31. Deadline is March 31 annually. CASPs should notify Spanish clients of this obligation as part of their year-end communications.
Do non-Spanish CASPs with Spanish clients need to file Modelo 172/173?
Yes. The filing obligation applies to any provider serving Spanish tax residents professionally, regardless of country of establishment. Penalties under Spain's General Tax Act reach up to €600,000 for systematic omissions, and the AEAT uses EU mutual assistance frameworks to enforce against foreign providers.
What is DAC8 and how does it relate to Modelo 172/173?
DAC8 is the EU's mandatory cross-border crypto transaction reporting directive, effective September 2027. It extends Modelo 172/173-style reporting to all EU clients (not just Spanish residents), adds staking and lending income, and uses the OECD CARF XML schema rather than AEAT's current format. CASPs compliant with Modelo 172/173 are well-positioned for DAC8 but must update data schemas and expand client coverage by mid-2027.
What are the penalties for not filing Modelo 172 in Spain?
€20 per omitted or incorrect data record, minimum €300 per filing period. Systematic non-compliance can reach €600,000 under Spain's General Tax Act. The AEAT began formal enforcement in 2025 and cross-matches Modelo 172 data against individual taxpayer income returns to identify discrepancies.
Automate Modelo 172, 173, and 721 generation
SENTINEL classifies every transaction in real time, computes EUR equivalents at execution, and generates AEAT-compliant XML — ready to submit before each quarterly deadline. From €99/month.
See Pricing →