Tax Reports

Generate Modelo 303

Generates the Spanish Modelo 303 (quarterly VAT) for the given year and quarter in the requested format (txt_aeat, pdf, excel).

post/companies/{company}/tax-reports/303

Request

  • Base URL: https://api.factuarea.com/v1
  • URL: https://api.factuarea.com/v1/companies/{company}/tax-reports/303
  • Auth: one of:
    • HTTP bearer
    • API key in header X-API-Key

Path parameters

companystring uuid required

Public identifier (UUID v7) of the company. Get it from GET /v1/me (data.scope[].id).

Headers

Idempotency-Keystring required
Example:01928f10-7c0e-7c4a-9b7d-2f8a6e3c1d4b

Client-generated opaque key (up to 255 characters; UUID v7 recommended) that makes retries safe: the first response is cached and replayed for repeats without re-executing the mutation. Reusing a key with a different body returns 422 idempotency_key_reused; the values of secret fields (password, secret…) count as part of the body, so retrying with a corrected secret under the same key is a different request, never the replay of the earlier answer. See the Idempotency guide. Required on this operation: repeating it delivers an effect that cannot be taken back (an email sent, a file generated, a third-party call, a charge), so a request without this header is rejected with 422 idempotency_key_required before any business logic runs.

Factuarea-Versionstring date
Example:2026-06-01

Pin the API version (YYYY-MM-DD, Stripe-style date versioning) for this request; omit to use the key's pinned version, or the latest if none. Unsupported version → 400 unsupported_api_version; malformed → 400 parameter_invalid_format. The effective version is echoed in the Factuarea-Version response header. See the Versioning guide.

Request body

yearinteger required
quarterinteger nullable
format'txt_aeat' | 'pdf' | 'excel' required

Response

Modelo 303 generated successfully. The Location header contains the relative download URL of the generated resource.

Example response

{
  "data": {
    "id": "01931b3e-7c4a-7f2e-9a8b-3c5d6e7f8a10",
    "object": "tax_report",
    "type": "modelo_303",
    "period_year": 2026,
    "period_quarter": 2,
    "period": {
      "year": 2026,
      "quarter": 2,
      "label": "2026 Q2"
    },
    "format": "txt_aeat",
    "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
    "size_bytes": 2048,
    "generated_at": "2026-07-10T09:15:42Z",
    "generated_by_id": "01928f12-1234-7abc-9def-0123456789ab",
    "download_url": "/v1/companies/0193f1a0-5c2e-7b41-8d06-9a1e2f3c4d5e/tax-reports/01931b3e-7c4a-7f2e-9a8b-3c5d6e7f8a10/download",
    "warnings": []
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.