Import your broker’s portfolio export, check what was understood, and download the .720 file. Nothing leaves this machine: no server, no account, no logs.
It is the information return for assets and rights held abroad: securities, accounts and property. It is not a tax — filing it costs nothing.
Anyone holding more than €50,000 in any of the three blocks. Once filed, you only file again if the three blocks together have grown by more than €20,000 since the last declaration.
The format AEAT accepts for filing: 500-character records in ISO-8859-1, with fixed-length fields. It is not a PDF or a spreadsheet; one extra character shifts everything after it.
Almost always misalignment: an empty field that should carry zeros, an amount with a decimal separator, or a character in the wrong place. The answer is usually “invalid characters” without naming the field.
It reads your broker portfolio export, derives the origin of each position from your previous declaration, validates the fields and generates the file. Every warning is explained using the wording AEAT itself uses.
It never leaves the browser. No server, no account, no logs: the app is static and the file is generated on your machine.
You import both and they go into the same file: a Modelo 720 is one per taxpayer, not one per broker. The app merges them by ISIN and custody country, and derives the M/A origin for each separately.
This tool only generates the securities block (V). The balance sits in the accounts block (C), which is out of scope: if it is over €50,000 it has to be declared another way. When the export carries cash, the amount is shown so it does not go unnoticed.