{
  "$schema": "https://govschema.org/spec/v0.3/govschema.schema.json",
  "govschemaVersion": "0.3.0",
  "id": "ua/dps/individual-income-tax-declaration-annex-f1",
  "version": "1.0.0",
  "title": "Ukraine Tax Declaration on Property Status and Income — Annex Ф1 (Investment Asset Transactions)",
  "description": "The State Tax Service of Ukraine's (Державна податкова служба України, DPS) \"Додаток Ф1 до податкової декларації про майновий стан і доходи\" (Annex Ф1 to the Tax Declaration on Property Status and Income) — the calculation of personal income tax (PIT) and/or military levy obligations on income derived from transactions with investment assets (corporate rights, exchange-traded and non-exchange-traded securities/derivatives, and investment assets sourced from outside Ukraine), per Article 170.2 of Article 170 of Chapter IV of the Tax Code of Ukraine. Fourth of the ten companion schedules disclosed as open backlog when the parent declaration (ua/dps/individual-income-tax-declaration, GOV-3531) was authored, and fourth of those ten to be modelled, after Annex АП (ua/dps/individual-income-tax-declaration-annex-ap, GOV-3588), Annex Ф4 (ua/dps/individual-income-tax-declaration-annex-f4, GOV-3623), and Annex МПЗ (ua/dps/individual-income-tax-declaration-annex-mpz, GOV-3632). Approved within the same combined Excel template as the main declaration, by Order of the Ministry of Finance of Ukraine No. 859 of 2 October 2015, as amended by Order No. 119 of 26 February 2025 (the edition modelled here, effective for reporting periods from 1 January 2026). Published, unauthenticated, directly by the State Tax Service on tax.gov.ua as a legacy Excel (.xls) template's own dedicated 'Ф 1' sheet. This v1.0.0 models the sheet in full: the taxpayer-identification and declaration-type/period header, Section I's own single-entry investment-asset table (asset type, name/characteristics, sale income, acquisition cost, and financial result) plus its own total row, the carried-forward prior-period investment loss and the resulting overall financial result split into its positive (profit) and negative (loss) components, and Section II's PIT and military-levy computation (each split into the portion withheld by a tax agent and the portion payable directly by the taxpayer). GovSchema is an independent, non-profit standards body and is not affiliated with, endorsed by, or operated by the Government of Ukraine or the State Tax Service of Ukraine.",
  "status": "draft",
  "jurisdiction": {
    "country": "UA",
    "level": "national"
  },
  "authority": {
    "name": "Державна податкова служба України (State Tax Service of Ukraine)",
    "abbreviation": "DPS",
    "url": "https://tax.gov.ua"
  },
  "process": {
    "type": "filing",
    "language": "uk"
  },
  "source": {
    "url": "https://tax.gov.ua/data/normativ/000/001/65107/Podatkova_deklarats_ya_pro_maynoviy_stan_dohodi_vvoditsya_v_d_yu_z_01_s_chnya_2026_roku_.xls",
    "retrievedAt": "2026-07-18",
    "documentRef": "Форма Додатка Ф1 до податкової декларації про майновий стан і доходи, затверджена наказом Міністерства фінансів України від 02.10.2015 № 859 (у редакції наказу від 26.02.2025 № 119), чинна з 01.01.2026 — аркуш 'Ф 1'"
  },
  "verification": {
    "method": "manual-source-review-v1",
    "lastVerifiedAt": "2026-07-18",
    "verifiedBy": "GovSchema Engineering (Standards Engineer)",
    "nextReviewBy": "2027-01-18",
    "notes": "GovSchema Standard Research cycle GOV-3639 (authoring child issue GOV-3641), deepening Ukraine's own disclosed Taxes backlog by authoring the fourth of ten companion schedules to ua/dps/individual-income-tax-declaration (GOV-3531): Annex Ф1 (investment asset transactions), after Annex АП (GOV-3588), Annex Ф4 (GOV-3623), and Annex МПЗ (GOV-3632). Re-fetched the same source workbook the parent declaration and all three prior annexes cite (via the Wayback Machine mirror, since tax.gov.ua itself still 403s direct sandbox fetches), confirmed byte-identical to the previously recorded sha256 (7c67f4c421a1a8fc610f9226819d223debcb56b3fd1fc3d5f75ce0247cc7f0ac). Parsed the workbook's own 'Ф 1' sheet (!ref A1:CT213, 101 merges — the fewest of the eight schedules the GOV-3632 cycle pre-sized) cell-by-cell with the xlsx npm package, cross-referencing the sheet's own !merges array to resolve exactly which column range each header label spans. Confirmed the sheet's own Section I table has a fixed printed capacity of exactly one investment-asset entry row (row 34, wrapped across rows 34-36 for text, with the 'УСЬОГО' total row on row 37) — smaller in scope than Annex Ф4's three-entry real-estate/movable-property tables and Annex МПЗ's four-entry land-plot table. Both validators pass at 551/551; conformance fixtures re-derived against a from-scratch ajv mock validator built from the schema's own field definitions, per this registry's established practice. See this document's own VERIFICATION.md for the full structural and sourcing record. No submission was made and no live cabinet.tax.gov.ua account was created or required to author this schema."
  },
  "maturity": {
    "level": "structural-reference",
    "criteria": {
      "structuralReference": true,
      "verifiedSchema": false,
      "agentReadySchema": false,
      "executionTestedSchema": false
    },
    "method": "maturity-self-assessment-v1",
    "assertedBy": "GovSchema Engineering (Standards Engineer)",
    "assertedAt": "2026-07-18"
  },
  "license": "CC-BY-4.0",
  "fields": [
    {
      "name": "taxpayerTaxNumberOrPassport",
      "label": "Реєстраційний номер облікової картки платника податків або серія (за наявності) та номер паспорта",
      "type": "string",
      "required": true,
      "classification": "sensitive-pii",
      "description": "The taxpayer's registration number of the taxpayer account card (RNOKPP), or — for individuals who, on religious grounds, have declined a registration number and have a corresponding notation in their passport — their passport series (if any) and number instead, matching the same either/or convention as ua/dps/individual-income-tax-declaration's own taxpayerTaxNumberOrPassport field.",
      "sourceRef": "Rows 15-18: 'Реєстраційний номер облікової картки платника податків або серія (за наявності) та номер паспорта (для фізичних осіб, які через свої релігійні переконання відмовляються від прийняття реєстраційного номера облікової картки платника податків та офіційно повідомили про це відповідний контролюючий орган і мають відмітку у паспорті)'",
      "validation": {
        "minLength": 1,
        "maxLength": 50
      }
    },
    {
      "name": "declarationType",
      "label": "Тип декларації",
      "type": "enum",
      "required": true,
      "description": "original = 'Звітна' (a regular declaration for the reporting period); revised_original = 'Звітна нова' (a new original filed to supersede a previously filed original for the same period, before the filing deadline); corrective = 'Уточнююча' (an amendment to an already-accepted declaration for a past period). Matches the same three enum values used across this registry's other UA DPS declaration schedules.",
      "sourceRef": "Row 21/24: 'Тип декларації:' — Звітна (E24:H24) / Звітна нова (K24:O24) / Уточнююча (R24)",
      "validation": {
        "enum": [
          "original",
          "revised_original",
          "corrective"
        ]
      }
    },
    {
      "name": "reportingPeriodYear",
      "label": "Звітний (податковий) період: рік",
      "type": "integer",
      "required": true,
      "sourceRef": "Row 21/24, column AO: 'Звітний (податковий) період: рік'",
      "validation": {
        "minimum": 1991
      }
    },
    {
      "name": "correctedPeriodYear",
      "label": "Звітний (податковий) період, що уточнюється: рік",
      "type": "integer",
      "required": false,
      "description": "The calendar year of the tax period being amended by this corrective filing. Like Annex Ф4's and Annex МПЗ's own headers (unlike Annex АП's), this sheet's period boxes carry no companion 'місяць' (month) column — only a year is captured for both the reporting period and the period being corrected.",
      "sourceRef": "Row 21/24, column BH: 'Звітний (податковий) період, що уточнюється: рік'",
      "requiredWhen": {
        "field": "declarationType",
        "equals": "corrective"
      },
      "validation": {
        "minimum": 1991
      }
    },
    {
      "name": "investmentAsset1Type",
      "label": "Вид інвестиційних активів*",
      "type": "enum",
      "required": false,
      "description": "The category of investment asset transacted, per the sheet's own footnote list: corporate_rights = '1 – корпоративні права (інші, ніж цінні папери)' (corporate rights, other than securities); securities_exchange_traded = '2 – цінні папери чи деривативи, що перебувають в обігу на фондовій біржі' (securities or derivatives traded on a stock exchange); securities_non_exchange_traded = '3 – цінні папери чи деривативи, що перебувають в обігу не на фондовій біржі' (securities or derivatives not traded on a stock exchange); foreign_source_assets = '4 – інвестиційні активи з джерел за межами України' (investment assets from sources outside Ukraine).",
      "sourceRef": "Row 33/34, column 2 (D34): 'Вид інвестиційних активів*'; footnote list at rows 66-69 ('* Перелік операцій з інвестиційними активами')",
      "validation": {
        "enum": [
          "corporate_rights",
          "securities_exchange_traded",
          "securities_non_exchange_traded",
          "foreign_source_assets"
        ]
      }
    },
    {
      "name": "investmentAsset1Description",
      "label": "Найменування та характеристика",
      "type": "string",
      "required": false,
      "description": "The name and identifying characteristics of the transacted investment asset (e.g. issuer, security type, quantity).",
      "sourceRef": "Row 33/34, column 3 (O34): 'Найменування та характеристика'",
      "validation": {
        "minLength": 1,
        "maxLength": 500
      }
    },
    {
      "name": "investmentAsset1IncomeAmount",
      "label": "Сума доходу, отриманого від продажу інвестиційного активу**",
      "type": "number",
      "required": false,
      "description": "The income amount received from the sale of this investment asset. Footnote ** notes that for sales to/from related non-resident persons or non-residents registered in low-tax jurisdictions listed by the Cabinet of Ministers of Ukraine (per sub-clause 39.2.1.2 of Article 39 of the Tax Code of Ukraine), income must be determined at no less than the ordinary (arm's-length) price.",
      "sourceRef": "Row 28-32/33/34, column 4 (AE34): 'Сума доходу, отриманого від продажу інвестиційного активу** (грн, коп.)'",
      "validation": {
        "minimum": 0
      }
    },
    {
      "name": "investmentAsset1CostAmount",
      "label": "Сума витрат на придбання інвестиційного активу або вартість інвестиційного активу, що була задекларована особою як об'єкт декларування у порядку одноразового (спеціального) добровільного декларування**",
      "type": "number",
      "required": false,
      "description": "The expense amount incurred to acquire this investment asset, or — where the asset was declared under Ukraine's one-time (special) voluntary disclosure regime (subdivision 94 of Chapter XX of the Tax Code of Ukraine) — the value declared under that regime, adjusted per sub-clauses 170.2.4-170.2.6 of Article 170.2 of the Tax Code of Ukraine (excluding derivative transactions). Footnote ** notes that for acquisitions from related non-resident persons or non-residents registered in low-tax jurisdictions, expenses must be determined at no more than the ordinary (arm's-length) price.",
      "sourceRef": "Row 28-32/33/34, column 5 (AR34): 'Сума витрат на придбання інвестиційного активу або вартість інвестиційного активу, що була задекларована особою як об'єкт декларування у порядку одноразового (спеціального) добровільного декларування відповідно до підрозділу 94 розділу XX Податкового кодексу України з урахуванням норм підпунктів 170.2.4-170.2.6 пункту 170.2 статті 170 розділу IV Податкового кодексу України (крім операцій з деривативами)** (грн, коп.)'",
      "validation": {
        "minimum": 0
      }
    },
    {
      "name": "investmentAsset1FinancialResult",
      "label": "Фінансовий результат операцій з інвестиційними активами (інвестиційний прибуток (+) або інвестиційний збиток (–))",
      "type": "number",
      "required": false,
      "description": "This entry's own financial result (column 4 minus column 5): a positive value is investment profit, a negative value is investment loss.",
      "sourceRef": "Row 28-32/33/34, column 6 (BD34): 'Фінансовий результат операцій з інвестиційними активами (інвестиційний прибуток (+) або інвестиційний збиток (–)) (грн, коп.)'"
    },
    {
      "name": "investmentAssetTotalIncomeAmount",
      "label": "Сума доходу, отриманого від продажу інвестиційного активу** — УСЬОГО",
      "type": "number",
      "required": false,
      "description": "The section's own total sale-income amount (column 4, 'УСЬОГО' row) — equal to investmentAsset1IncomeAmount, since the sheet provides a fixed printed capacity of exactly one investment-asset entry row.",
      "sourceRef": "Row 37 ('УСЬОГО'), column 4 (AE37)",
      "validation": {
        "minimum": 0
      }
    },
    {
      "name": "investmentAssetTotalCostAmount",
      "label": "Сума витрат на придбання інвестиційного активу** — УСЬОГО",
      "type": "number",
      "required": false,
      "description": "The section's own total acquisition-cost amount (column 5, 'УСЬОГО' row) — equal to investmentAsset1CostAmount, since the sheet provides a fixed printed capacity of exactly one investment-asset entry row.",
      "sourceRef": "Row 37 ('УСЬОГО'), column 5 (AR37)",
      "validation": {
        "minimum": 0
      }
    },
    {
      "name": "investmentAssetTotalFinancialResult",
      "label": "Фінансовий результат операцій з інвестиційними активами — УСЬОГО",
      "type": "number",
      "required": false,
      "description": "The section's own total financial result (column 6, 'УСЬОГО' row) — equal to investmentAsset1FinancialResult, since the sheet provides a fixed printed capacity of exactly one investment-asset entry row. Carried forward as line 3's own minuend (row 39, 'графа 6 \"УСЬОГО\" рядка 1').",
      "sourceRef": "Row 37 ('УСЬОГО'), column 6 (BD37)"
    },
    {
      "name": "priorPeriodInvestmentLossAmount",
      "label": "Сума від'ємного значення загального фінансового результату операцій з інвестиційними активами попереднього звітного періоду",
      "type": "number",
      "required": false,
      "description": "The amount of the negative value of the overall financial result of investment-asset transactions from the previous reporting period, carried forward as a deduction.",
      "sourceRef": "Row 38, line code '2': 'Сума від'ємного значення загального фінансового результату операцій з інвестиційними активами попереднього звітного періоду'",
      "validation": {
        "minimum": 0
      }
    },
    {
      "name": "totalInvestmentFinancialResult",
      "label": "Загальний фінансовий результат операцій з інвестиційними активами (графа 6 \"УСЬОГО\" рядка 1 – рядок 2)",
      "type": "number",
      "required": false,
      "description": "The overall financial result of investment-asset transactions for the reporting year: investmentAssetTotalFinancialResult minus priorPeriodInvestmentLossAmount. A positive value is investment profit; a negative value is investment loss.",
      "sourceRef": "Row 39, line code '3': 'Загальний фінансовий результат операцій з інвестиційними активами (графа 6 \"УСЬОГО\" рядка 1 – рядок 2)'"
    },
    {
      "name": "investmentProfitAmount",
      "label": "Додатне значення рядка 3 (інвестиційний прибуток)",
      "type": "number",
      "required": false,
      "description": "The positive value of totalInvestmentFinancialResult (line 3), i.e. investment profit for the reporting year.",
      "sourceRef": "Row 41, line code '3.1': 'Додатне значення рядка 3 (інвестиційний прибуток)'",
      "validation": {
        "minimum": 0
      }
    },
    {
      "name": "investmentLossAmount",
      "label": "Від'ємне значення рядка 3 (інвестиційний збиток), значення вказується без знака \"–\"",
      "type": "number",
      "required": false,
      "description": "The negative value of totalInvestmentFinancialResult (line 3), i.e. investment loss for the reporting year, expressed without the minus sign per the sheet's own instruction.",
      "sourceRef": "Row 42, line code '3.2': 'Від'ємне значення рядка 3 (інвестиційний збиток), значення вказується без знака \"–\"'",
      "validation": {
        "minimum": 0
      }
    },
    {
      "name": "pitAmount",
      "label": "Сума податку на доходи фізичних осіб",
      "type": "number",
      "required": false,
      "description": "Personal income tax computed as investmentProfitAmount (line 3.1) multiplied by the tax rate set under Article 167 of Chapter IV of the Tax Code of Ukraine, except in cases under sub-clause 170.2.8 of Article 170.2 of Article 170 of Chapter IV of the Tax Code of Ukraine.",
      "sourceRef": "Row 46, line code '4': 'Сума податку на доходи фізичних осіб, у тому числі: (рядок 3.1 × на ставку податку, встановлену статтею 167 розділу ІV Податкового кодексу України, крім випадків, передбачених у підпункті 170.2.8 пункту 170.2 статті 170 розділу ІV Податкового кодексу України)'",
      "validation": {
        "minimum": 0
      }
    },
    {
      "name": "pitWithheldByAgent",
      "label": "утриманого (сплаченого) податковим агентом",
      "type": "number",
      "required": false,
      "description": "The portion of pitAmount already withheld (or paid) by a tax agent.",
      "sourceRef": "Row 47, line code '4.1': 'утриманого (сплаченого) податковим агентом'",
      "validation": {
        "minimum": 0
      }
    },
    {
      "name": "pitPayableByTaxpayer",
      "label": "яка підлягає сплаті платником податку самостійно до бюджету (додатне значення (рядок 4 – рядок 4.1))",
      "type": "number",
      "required": false,
      "description": "The positive value of (pitAmount minus pitWithheldByAgent) — the portion of PIT payable directly by the taxpayer to the budget.",
      "sourceRef": "Row 48, line code '4.2': 'яка підлягає сплаті платником податку самостійно до бюджету (додатне значення (рядок 4 – рядок 4.1))'",
      "validation": {
        "minimum": 0
      }
    },
    {
      "name": "militaryLevyAmount",
      "label": "Сума військового збору",
      "type": "number",
      "required": false,
      "description": "Military levy computed as investmentProfitAmount (line 3.1) multiplied by the levy rate set under point 161 of subdivision 10 of Chapter XX of the Tax Code of Ukraine.",
      "sourceRef": "Row 49, line code '5': 'Сума військового збору, у тому числі: (рядок 3.1 × на ставку збору, встановлену у пункті 161 підрозділу 10 розділу XX Податкового кодексу України)'",
      "validation": {
        "minimum": 0
      }
    },
    {
      "name": "militaryLevyWithheldByAgent",
      "label": "утриманого (сплаченого) податковим агентом",
      "type": "number",
      "required": false,
      "description": "The portion of militaryLevyAmount already withheld (or paid) by a tax agent.",
      "sourceRef": "Row 50, line code '5.1': 'утриманого (сплаченого) податковим агентом'",
      "validation": {
        "minimum": 0
      }
    },
    {
      "name": "militaryLevyPayableByTaxpayer",
      "label": "яка підлягає сплаті платником податків самостійно до бюджету за результатами звітного року (додатне значення (рядок 5 – рядок 5.1))",
      "type": "number",
      "required": false,
      "description": "The positive value of (militaryLevyAmount minus militaryLevyWithheldByAgent) — the portion of military levy payable directly by the taxpayer to the budget based on the reporting year's results.",
      "sourceRef": "Row 51, line code '5.2': 'яка підлягає сплаті платником податків самостійно до бюджету за результатами звітного року (додатне значення (рядок 5 – рядок 5.1))'",
      "validation": {
        "minimum": 0
      }
    }
  ],
  "crossFieldValidation": [
    {
      "id": "pitPayableByTaxpayerWithinPitAmount",
      "compare": {
        "field": "pitPayableByTaxpayer",
        "operator": "lessThanOrEqual",
        "compareTo": "pitAmount"
      }
    },
    {
      "id": "militaryLevyPayableByTaxpayerWithinMilitaryLevyAmount",
      "compare": {
        "field": "militaryLevyPayableByTaxpayer",
        "operator": "lessThanOrEqual",
        "compareTo": "militaryLevyAmount"
      }
    }
  ]
}
