addedInput schema / properties / buyer_is_young / default
Added value: +false
changedInput schema / properties / buyer_is_young / description
Previous value: -"The buyer is 35 or under on the date of the deed, is buying their first own permanent home, is not an IRS dependant and has owned no residential property in the previous three years. Applies the reduced IMT table and the stamp duty deduction (art. 7.º-A Código do Imposto do Selo; not applied above the second band of the young buyers' table). Only applies when primary_home is true. Default: false"New value: +"The buyer is 35 or under on the date of the deed, is buying their first own permanent home, is not an IRS dependant and has owned no residential property in the previous three years. Applies the reduced IMT table and the stamp duty deduction (art. 7.º-A Código do Imposto do Selo; not applied above the second band of the young buyers' table). Only applies when primary_home is true; with primary_home false it is ignored"
addedInput schema / properties / non_resident / default
Added value: +false
changedInput schema / properties / non_resident / description
Previous value: -"The buyer is not and has never been tax resident in Portugal. IMT is then a flat rate with no exemption or reduction — no zero band, no young buyers' table, no stamp duty deduction (CIMT art. 17.º n.º 10); the result says what the Tax Authority annuls on request if the buyer becomes tax resident or lets the home at a moderate rent. A buyer who has already been treated as tax resident pays by the tables: leave it false. Default: false"New value: +"The buyer is not and has never been tax resident in Portugal. IMT is then a flat rate with no exemption or reduction — no zero band, no young buyers' table, no stamp duty deduction (CIMT art. 17.º n.º 10); the result says what the Tax Authority annuls on request if the buyer becomes tax resident or lets the home at a moderate rent. A buyer who has already been treated as tax resident pays by the tables: leave it false"
addedInput schema / properties / primary_home / default
Added value: +true
changedInput schema / properties / primary_home / description
Previous value: -"The buyer's own permanent home (habitação própria e permanente). Default: true"New value: +"The buyer's own permanent home (habitação própria e permanente); false for a second home or an investment, which has no zero band"
addedInput schema / properties / tax_haven_company / default
Added value: +false
changedInput schema / properties / tax_haven_company / description
Previous value: -"The buyer is a company or other entity with its tax domicile in a country, territory or region on the Portuguese list of more favourable tax regimes, or controlled directly or indirectly by such an entity. IMT is then 10 % with no exemption or reduction (CIMT art. 17.º n.º 4), whether or not it is resident, and it overrides non_resident. Never true for an individual (n.º 7). Default: false"New value: +"The buyer is a company or other entity with its tax domicile in a country, territory or region on the Portuguese list of more favourable tax regimes, or controlled directly or indirectly by such an entity. IMT is then 10 % with no exemption or reduction (CIMT art. 17.º n.º 4), whether or not it is resident, and it overrides non_resident. Never true for an individual (n.º 7)"
addedInput schema / properties / territory / default
Added value: +"continente"
changedInput schema / properties / territory / description
Previous value: -"Mainland Portugal (continente) or the Azores and Madeira (regioes_autonomas). Default: continente"New value: +"Mainland Portugal (continente) or the Azores and Madeira (regioes_autonomas), which have their own IMT tables"
changedInput schema / properties / value / description
Previous value: -"Purchase price as written in the contract, in euros, e.g. 250000 or 250000.50"New value: +"Purchase price as written in the contract, in euros; a dot or a space may group thousands (250.000)"
addedInput schema / properties / value / examples
Added value: +[
+ "250000",
+ "250000.50",
+ "250.000"
+]
addedInput schema / properties / vpt / examples
Added value: +[
+ "180000"
+]
changedOutput schema / (root)
Previous value: -nullNew value: +{
+ "anyOf": [
+ {
+ "properties": {
+ "annullable": {
+ "type": [
+ "object",
+ "null"
+ ]
+ },
+ "attribution": {
+ "type": "object"
+ },
+ "deed_source": {
+ "type": "object"
+ },
+ "formatted": {
+ "type": "object"
+ },
+ "imt_cents": {
+ "description": "Euro cents (integer)",
+ "type": "integer"
+ },
+ "imt_regime": {
+ "description": "Which IMT rule was applied",
+ "type": "string"
+ },
+ "input": {
+ "type": "object"
+ },
+ "notary_estimate_cents": {
+ "description": "Euro cents: Casa Pronta registration price",
+ "type": "integer"
+ },
+ "notes": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "stamp_duty_cents": {
+ "description": "Euro cents, after relief",
+ "type": "integer"
+ },
+ "stamp_duty_relief_cents": {
+ "description": "Euro cents (integer)",
+ "type": "integer"
+ },
+ "taxable_base": {
+ "type": "string"
+ },
+ "taxable_value_cents": {
+ "description": "Euro cents: the higher of price and VPT",
+ "type": "integer"
+ },
+ "total_cents": {
+ "description": "Euro cents on top of the price",
+ "type": "integer"
+ }
+ },
+ "required": [
+ "input",
+ "imt_regime",
+ "annullable",
+ "taxable_value_cents",
+ "taxable_base",
+ "imt_cents",
+ "stamp_duty_cents",
+ "stamp_duty_relief_cents",
+ "notary_estimate_cents",
+ "total_cents",
+ "formatted",
+ "notes",
+ "attribution",
+ "deed_source"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "error": {
+ "type": "string"
+ },
+ "field": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "message": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "error",
+ "message"
+ ],
+ "type": "object"
+ }
+ ],
+ "description": "Success, or a refusal with an error code. Units: *_cents euro cents, *_eur euros, *_eur_m2 euros per m², *_pct and percent in percent.",
+ "type": "object"
+}