Raw schema
{
"type": "object",
"properties": {
"lines": {
"type": "array",
"minItems": 1,
"maxItems": 200,
"description": "Order lines (1 to 200), each {description, origin, qty, unit_value_eur, optional hs_code} and nothing else (no customer fields), such as [{\"description\":\"mug\",\"origin\":\"CN\",\"qty\":2,\"unit_value_eur\":12}].",
"items": {
"type": "object",
"description": "One order line: the goods, where they were made, how many and the price of one unit.",
"properties": {
"description": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "What the goods are, 1 to 200 characters, such as \"cotton t-shirt\""
},
"hs_code": {
"type": "string",
"pattern": "^\\d{4}\\.?\\d{2}(\\.?\\d{2}(\\.?\\d{2})?)?$",
"description": "6, 8 or 10 digit tariff code, dots allowed, such as \"6109.10\", if known (a candidate, not binding)"
},
"origin": {
"type": "string",
"pattern": "^[A-Za-z]{2}$",
"description": "2-letter ISO country code where the goods were made, such as \"CN\""
},
"qty": {
"type": "integer",
"minimum": 1,
"maximum": 100000,
"description": "Units on the line, a whole number from 1 to 100000"
},
"unit_value_eur": {
"type": "number",
"minimum": 0,
"maximum": 1000000,
"description": "Price of one unit in euros, from 0 to 1000000, such as 9.5"
}
},
"required": [
"description",
"origin",
"qty",
"unit_value_eur"
],
"additionalProperties": false,
"examples": [
{
"description": "cotton t-shirt",
"origin": "CN",
"qty": 2,
"unit_value_eur": 9.5,
"hs_code": "6109.10"
}
]
}
},
"consignment_value_eur": {
"type": "number",
"minimum": 0,
"description": "Intrinsic value of the whole consignment in euros, if different from the sum of the lines"
},
"channel": {
"type": "string",
"enum": [
"ioss",
"postal"
],
"description": "How the goods enter the EU: \"ioss\" (VAT-exempt under the Import One-Stop Shop) or \"postal\" (a postal consignment). The EUR 3 rule covers only \"ioss\" or \"postal\" entries (courier shipments outside IOSS are not covered; if the user says courier such as DHL without specifying IOSS, pass \"ioss\" to show the EUR 3 IOSS figure and state clearly that a courier entry outside IOSS is not covered and needs IOSS or postal)."
},
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Import day, YYYY-MM-DD (default today, UTC)"
}
},
"required": [
"lines",
"channel"
],
"additionalProperties": false
}