# mdr-screen

Mandatory disclosure screen

- Kind: rollover
- Program: Filemark T2 rollover and reorganization preview
- Supported tax years: —
- Strict profile: rollover_preview_exact_v1
- Payload schema version: 8.0.0

## Example request

Send this body to `POST /api/v1/computations/rollovers/mdr-screen`. This example works with or without `payloadContract`.

```json
{
  "inputs": {
    "transaction": {
      "transactionDateIso": "2026-07-01",
      "becomesBindingDateIso": "2026-06-15",
      "asOfDateIso": "2026-09-27",
      "avoidanceTransactionMainPurposeStatus": "yes"
    },
    "hallmarks": {
      "contingentFee": true,
      "confidentialProtection": false,
      "contractualProtection": false
    },
    "reportable_exclusions": {
      "isTaxShelterAcquisition": false,
      "isFlowThroughShareIssuance": false,
      "isTaxShelterAcquisitionWithRequiredReturnFiled": false,
      "isFlowThroughShareIssuanceWithRequiredReturnFiled": false,
      "exclusionAvoidanceMainReasonStatus": "no"
    },
    "designation": {
      "designationMatchStatus": "no",
      "designationEffectiveDateIso": null
    },
    "fees": {
      "weeksOfFailure": 2,
      "taxBenefit": 100000,
      "feesChargedByPerson": 75000,
      "daysOfFailure": 200,
      "taxShelterOrFlowThroughSharePenalty": null
    },
    "taxpayer": {
      "isCorporation": true,
      "largeCorporationAssets50MOrMoreStatus": "no"
    },
    "filer": {
      "filerCategory": "tax_benefit_person",
      "taxBenefitResultsOrExpectedStatus": "yes",
      "enteredForBenefitOfTaxBenefitPersonStatus": "no",
      "advisorPromoterFeeEntitlementStatus": "yes",
      "nonArmsLengthFeeEntitlementStatus": "no",
      "knewOrShouldKnowNotifiableStatus": "no",
      "employerOrPartnershipFiledUnderS237_4Status": "no",
      "dualCapacityEnteredForBenefitAndFeeRecipientStatus": "no",
      "noOtherPersonEnteredForBenefit": true,
      "otherPersonEnteredTransactionDateIso": null,
      "notifiableDueDiligenceDefenceStatus": "no",
      "reportablePenaltyDueDiligenceDefenceStatus": "no",
      "privilegedInformationStatus": "no"
    },
    "rutt": {
      "taxationYearStartIso": "2025-03-01",
      "hasAuditedRelevantFinancialStatementsStatus": "yes",
      "assetsCarryingValue50MOrMoreAtYearEndStatus": "yes",
      "requiredToFileReturnUnderS150Status": "yes",
      "hasReportableUncertainTaxTreatmentStatus": "yes",
      "dueDiligenceDefenceStatus": "no",
      "filingDueDateIso": "2026-08-31",
      "weeksOfFailure": 3
    }
  }
}
```

## Input cells (43)

Paths are relative to the request's `inputs` object. `[]` marks an array element.

Cells marked **always** require a non-null value in every request. Cells marked **strict** are required when you supply this target's `payloadContract`. See [Run computations](https://docs.filemark.ca/run-computations).

Unknown cells and JSON type mismatches return `400` with the affected cells in the error details.

| Cell | Types | Required | Description |
| --- | --- | --- | --- |
| `designation.designationEffectiveDateIso` | null \| string |  |  |
| `designation.designationMatchStatus` | null \| string |  |  |
| `fees.daysOfFailure` | null \| number |  |  |
| `fees.feesChargedByPerson` | null \| number |  |  |
| `fees.taxBenefit` | null \| number |  |  |
| `fees.taxShelterOrFlowThroughSharePenalty` | null \| number |  |  |
| `fees.weeksOfFailure` | null \| number |  |  |
| `filer.advisorPromoterFeeEntitlementStatus` | null \| string |  |  |
| `filer.deadlineInQuebecStatus` | null \| string |  |  |
| `filer.dualCapacityEnteredForBenefitAndFeeRecipientStatus` | null \| string |  |  |
| `filer.employerOrPartnershipFiledUnderS237_4Status` | null \| string |  |  |
| `filer.enteredForBenefitOfTaxBenefitPersonStatus` | null \| string |  |  |
| `filer.filerCategory` | array \| boolean \| null \| number \| object \| string |  |  |
| `filer.knewOrShouldKnowNotifiableStatus` | null \| string |  |  |
| `filer.noOtherPersonEnteredForBenefit` | boolean \| null |  |  |
| `filer.nonArmsLengthFeeEntitlementStatus` | null \| string |  |  |
| `filer.notifiableDueDiligenceDefenceStatus` | null \| string |  |  |
| `filer.otherPersonEnteredTransactionDateIso` | null \| string |  |  |
| `filer.privilegedInformationStatus` | null \| string |  |  |
| `filer.reportablePenaltyDueDiligenceDefenceStatus` | null \| string |  |  |
| `filer.taxBenefitResultsOrExpectedStatus` | null \| string |  |  |
| `hallmarks.confidentialProtection` | array \| boolean \| null \| number \| object \| string |  |  |
| `hallmarks.contingentFee` | array \| boolean \| null \| number \| object \| string |  |  |
| `hallmarks.contractualProtection` | array \| boolean \| null \| number \| object \| string |  |  |
| `reportable_exclusions.exclusionAvoidanceMainReasonStatus` | null \| string |  |  |
| `reportable_exclusions.isFlowThroughShareIssuance` | boolean \| null |  |  |
| `reportable_exclusions.isFlowThroughShareIssuanceWithRequiredReturnFiled` | boolean \| null |  |  |
| `reportable_exclusions.isTaxShelterAcquisition` | boolean \| null |  |  |
| `reportable_exclusions.isTaxShelterAcquisitionWithRequiredReturnFiled` | boolean \| null |  |  |
| `rutt.assetsCarryingValue50MOrMoreAtYearEndStatus` | null \| string |  |  |
| `rutt.dueDiligenceDefenceStatus` | null \| string |  |  |
| `rutt.filingDueDateIso` | null \| string |  |  |
| `rutt.hasAuditedRelevantFinancialStatementsStatus` | null \| string |  |  |
| `rutt.hasReportableUncertainTaxTreatmentStatus` | null \| string |  |  |
| `rutt.requiredToFileReturnUnderS150Status` | null \| string |  |  |
| `rutt.taxationYearStartIso` | null \| string |  |  |
| `rutt.weeksOfFailure` | null \| number |  |  |
| `taxpayer.isCorporation` | boolean \| null |  |  |
| `taxpayer.largeCorporationAssets50MOrMoreStatus` | null \| string |  |  |
| `transaction.asOfDateIso` | null \| string |  |  |
| `transaction.avoidanceTransactionMainPurposeStatus` | null \| string |  |  |
| `transaction.becomesBindingDateIso` | null \| string |  |  |
| `transaction.transactionDateIso` | null \| string |  |  |

### Strict profile accepted values (6 of 43 cells)

These constraints apply when you supply this target's `payloadContract`. Cells marked **pinned** must equal the listed value. A pinned cell that is not required may be left out.

| Cell | Accepted values |
| --- | --- |
| `fees.daysOfFailure` | `0 to 100000` |
| `fees.feesChargedByPerson` | `0 to 600000000000` |
| `fees.taxBenefit` | `0 to 600000000000` |
| `fees.taxShelterOrFlowThroughSharePenalty` | `0 to 600000000000` |
| `fees.weeksOfFailure` | `0 to 100000` |
| `rutt.weeksOfFailure` | `0 to 100000` |

## Output cells (48)

Paths are relative to this target's result object in the response.

| Cell | Types | Description |
| --- | --- | --- |
| `blocking` | boolean |  |
| `citations[].description` | string |  |
| `citations[].key` | string |  |
| `citations[].section` | string |  |
| `citations[].source_url` | string |  |
| `citations[].verified_at` | string |  |
| `citationsApplied[]` | string |  |
| `daysRemaining` | integer \| null |  |
| `disclosureReviewRequired` | boolean |  |
| `enhancedRegimeApplies` | boolean \| null |  |
| `estimatedPenaltyOnFailure` | null \| number |  |
| `estimatedRuttPenaltyOnFailure` | null \| number |  |
| `hallmarksRequiringReview[]` | string |  |
| `hallmarksTriggered[]` | string |  |
| `isNotifiable` | boolean \| null |  |
| `isReportable` | boolean \| null |  |
| `isRuttReportingCorporation` | boolean \| null |  |
| `notifiableDeadlineIso` | null \| string |  |
| `notifiableDetermination` | string |  |
| `penaltyDetermination` | string |  |
| `personFilingDaysRemaining` | integer \| null |  |
| `personFilingDeadlineIso` | null \| string |  |
| `personFilingDetermination` | string |  |
| `provisional` | boolean |  |
| `ready` | boolean |  |
| `reportableDeadlineIso` | null \| string |  |
| `reportableDetermination` | string |  |
| `reportingDeadlineIso` | null \| string |  |
| `requiresDisclosure` | boolean \| null |  |
| `ruttDaysRemaining` | integer \| null |  |
| `ruttDeadlineIso` | null \| string |  |
| `ruttDetermination` | string |  |
| `ruttFilingRequired` | boolean \| null |  |
| `ruttPenaltyDetermination` | string |  |
| `transactionDisclosureFlag` | boolean \| null |  |
| `traps[].body` | string |  |
| `traps[].citationKey` | string |  |
| `traps[].filingDisposition` | string |  |
| `traps[].findingCode` | string |  |
| `traps[].severity` | string |  |
| `traps[].title` | string |  |
| `warnings[]` | object |  |
| `warnings[].citationKey` | string |  |
| `warnings[].code` | string |  |
| `warnings[].message` | string |  |
| `warnings[].severity` | string |  |
| `warnings[].filingDisposition` | string |  |
| `warnings[].findingCode` | string |  |
