The Modelo 303 does itself. Automatic.

The Modelo 303 is the quarterly IVA (VAT) return that all freelancers and businesses in Spain must file with the Tax Agency (AEAT). It's filed four times a year: in April (Q1: January-March), July (Q2: April-June), October (Q3: July-September) and January of the following year (Q4: October-December). The filing deadline is the 20th of the month after the quarter closes (January 30th for Q4).

The logic is simple: you calculate how much IVA you've charged clients (output IVA) and how much IVA you've paid on professional expenses (input IVA). The difference is what you pay the tax office. If input IVA exceeds output IVA (because you had many expenses and few invoices), the result is negative and you can offset it in following quarters or request a refund in the annual return.

The complicated part isn't the formula — it's keeping track. Each invoice you issue can have 21% IVA (general rate), 10% (reduced rate, for food, transport, hospitality) or 4% (super-reduced, for bread, milk, books). Each expense can have a different IVA. And intra-EU transactions (sales to the EU) go in separate boxes. Maintaining all this in a spreadsheet is a nightmare.

FacturaHub automates it. Every time you create an invoice, output IVA is automatically classified by rate. Every time you log an expense (with a receipt photo or manually), input IVA is extracted and classified. At the end of the quarter, press a button and FacturaHub generates the report with all 303 boxes: taxable base at 21% (box 01), tax at 21% (box 02), base at 10% (box 03), tax at 10% (box 04), intra-EU transactions (boxes 10-11), total input IVA (box 22) and final result (box 64).

You can also use the MCP (Model Context Protocol) or API to generate the declaration programmatically. Useful if you're a developer or if your accountant wants to automate data extraction. The endpoint is POST /api/tax-declarations/generate with country="ES", year and period (1-4 for quarters).

FacturaHub's free plan includes Modelo 303 generation at no extra cost. Log your invoices and expenses during the quarter, and at the end export the CSV with the breakdown. It's that simple.

Automatic output IVA

Each invoice you issue adds to the quarter's output IVA, classified by rate (21%, 10%, 4%). No manual calculation or classification needed.

Input IVA from expenses

Each expense with invoice you log (with receipt photo or manually) adds to deductible input IVA. AI extracts IVA from the receipt automatically.

Breakdown by 303 boxes

FacturaHub generates the exact Modelo 303 boxes: taxable base and tax by rate, intra-EU transactions, total input IVA and final result.

Intra-EU transactions

Invoices to EU clients with VAT numbers are automatically separated into boxes 10-11. Alerts you if you need to file the Modelo 349.

CSV export

Download the quarterly report in CSV compatible with Excel and Google Sheets. Ready to copy to the AEAT form or hand to your accountant.

Historical by quarter

View any previous quarter. Compare year-over-year evolution. See how much IVA you paid in Q1 2025 vs Q1 2026.

API and MCP

Generate the declaration programmatically via REST API or MCP. Ideal for accountants or developers who want to automate extraction.

Deadline alerts

FacturaHub reminds you when the filing deadline approaches (20th of the month after the quarter closes).

Frequently asked questions

Does FacturaHub generate the official 303 form?

FacturaHub generates the report with all data broken down by box (01, 02, 03, 04, 10, 11, 22, 46, 64). You or your accountant copy the numbers to the official AEAT form (electronic filing). Coming: direct export to AEAT format.

When must I file the Modelo 303?

Quarterly: Q1 by April 20th, Q2 by July 20th, Q3 by October 20th, Q4 by January 30th of the following year. FacturaHub sends a reminder when the deadline approaches.

What if the 303 result is negative?

If your input IVA (expenses) exceeds output IVA (invoices), you have a balance in your favor. You can offset it in the next quarter or request a refund in the annual return (Modelo 390, in January). FacturaHub alerts you when the result is negative.

Does it include deductible expenses automatically?

Yes. Every expense you log with an invoice (receipt photo, manual entry or OCR scan) adds to the quarter's input IVA. IVA is extracted automatically if you use the receipt photo.

Difference between general, reduced and super-reduced IVA?

General (21%): professional services, design, consultancy, technology. Reduced (10%): hospitality, transport, prepared food. Super-reduced (4%): bread, milk, fruits, books, medicines. FacturaHub classifies each invoice and expense in the correct rate.

Can I generate the 303 via API?

Yes. Endpoint: POST /api/tax-declarations/generate with body {country: "ES", year: 2026, period: 1}. Returns all boxes with amounts. Also available via MCP (tool: generate_tax_declaration).