Skip to content

Document template · eu.trade.ioss_return

Import One-Stop Shop VAT Return

  • Render-verified
  • Official document
  • Version 1.0.0

Monthly IOSS return covering distance sales of imported goods with an intrinsic value not exceeding €150 sold to EU consumers. Filed in the member state of identification; VAT is allocated to each member state of consumption. The IOSS VAT ID on the customs declaration replaces import VAT for the end consumer.

JSON Schema

Fields in this template

Data sent to the API is validated against the template’s JSON Schema before anything is rendered. This template defines 28 fields:

Field Required Type Description
declarant Required object
declarant.name Required string
declarant.ioss_id Required string IOSS VAT identification number (IMxxxyyyyy).
declarant.member_state_of_identification Required string
declarant.intermediary_name Optional string Required for non-EU suppliers using an intermediary per Art. 369m.
declarant.address Optional string
declarant.contact_email Optional string
period Required object
period.year Required integer
period.month Required integer
supplies Required array of object
supplies[].member_state_of_consumption Required string
supplies[].vat_rate_type Required enum
supplies[].vat_rate Required number
supplies[].taxable_amount Required number
supplies[].vat_amount Required number
supplies[].consignment_count Optional integer Number of consignments (low-value parcels) in this line.
corrections Optional array of object
corrections[].period_corrected Required string YYYY-MM of the period being corrected.
corrections[].member_state_of_consumption Required string
corrections[].vat_amount_adjustment Required number
totals Required object
totals.currency Required string
totals.total_taxable_amount Optional number
totals.total_vat_due Required number
totals.total_consignments Optional integer
filed_on Optional date
reference Optional string

POST /render

Generate it

One POST /render call: send your JSON, get the finished PDF back. Or skip the JSON entirely and describe the document in plain language on chut.app.

curl
curl -X POST https://api.papii.eu/render \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "template": "eu.trade.ioss_return",
    "data": { ... },
    "options": {"language": "en"}
  }' -o ioss-return.pdf

Frequently asked questions

What is “Import One-Stop Shop VAT Return”?

Monthly IOSS return covering distance sales of imported goods with an intrinsic value not exceeding €150 sold to EU consumers. Filed in the member state of identification; VAT is allocated to each member state of consumption. The IOSS VAT ID on the customs declaration replaces import VAT for the end consumer. On papii this document is available as template eu.trade.ioss_return: a JSON Schema plus a deterministic PDF renderer, so the same data always produces the same document.

Can I generate a Import One-Stop Shop VAT Return with AI?

Yes. chut.app — the AI back office papii powers — fills this template from a plain-language description: you describe the document in one sentence, the AI structures the data, papii validates it against the schema and renders the PDF. Developers can also call the papii API directly with structured JSON.

Is the Import One-Stop Shop VAT Return template legally compliant?

This template is render-verified: its schema, sample data and PDF output are automatically tested on every release. It is published with status “ready”, meaning it has not yet been through papii’s final legal review. Where it references specific legislation, that is stated in the template description — always have a professional check documents with legal effect before relying on them.