mdr-screen

Filemark T2 rollover and reorganization preview

Kind
rollover
Supported tax years
Strict profile
rollover_preview_exact_v1
Payload schema version
6.0.0

Example request

Send this body to POST /api/v1/computations/rollovers/mdr-screen. It satisfies the strict profile, so it works with or without the payloadContract selector.

{
  "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": {
      "hasAuditedRelevantFinancialStatementsStatus": "yes",
      "assetsCarryingValue50MOrMoreAtYearEndStatus": "yes",
      "requiredToFileReturnUnderS150Status": "yes",
      "hasReportableUncertainTaxTreatmentStatus": "yes",
      "dueDiligenceDefenceStatus": "no",
      "filingDueDateIso": "2026-08-31",
      "weeksOfFailure": 3
    }
  }
}

Input cells (41)

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

Required says when a cell must be present. Always means every request needs it: the default boundary rejects the call when the cell is omitted or null. Strict means only a request that sends this target’s payloadContract selector needs it. See Run computations for the default boundary.

These cells are everything this target accepts. A member that is not published here, or is sent with the wrong JSON type, fails the call with a 400 naming each failing cell.

Input cells for mdr-screen
CellTypesRequired
designation.designationEffectiveDateIsoStatutory deadline anchor capped at 9999-10-02, so adding the 90-day reporting window remains within the supported ISO date range.null | stringstrict
designation.designationMatchStatusstringstrict
fees.daysOfFailureSubparagraph 237.3(8)(b)(iii) / 237.4(12)(b)(iii): the exact statutory number of DAYS during which this advisor's or promoter's filing failure continues, at $1,000 per day up to a maximum of $100,000 on that component. Counted in days, not the weeks of the paragraph (a) branches. Null means no estimate is claimed.integer | nullstrict
fees.feesChargedByPersonSubparagraph 237.3(8)(b)(i) / 237.4(12)(b)(i): the amount of the fees charged by THIS person in respect of the reportable or notifiable transaction. Unlike the paragraph (a) branches the (b) total is fee-driven and unbounded — the $100,000 maximum attaches only to the daily component — so null means no estimate is claimed and no component is invented.null | numberstrict
fees.taxBenefitTax benefit used only for the 25%-of-benefit component of the supported ordinary-branch penalty cap; null means no estimate is claimed.null | numberstrict
fees.taxShelterOrFlowThroughSharePenaltyB in subsection 237.3(15): the penalty, if any, that applies on THIS person under subsection 237.1(7.4) for the tax shelter or subsection 66(12.74) for the flow-through-share issuance. Required when either separate transaction-type fact is true and a positive subsection 237.3(8) penalty is otherwise established; enter 0 only when the same-person overlap was reviewed as nil.null | numberstrict
fees.weeksOfFailureExact statutory number of weeks during which this person's filing failure continues under paragraph 237.3(8)(a) or 237.4(12)(a). When the person deadline and as-of date are known, the count cannot exceed the elapsed-time ceiling; a smaller count can apply if the failure ended earlier. Null means no penalty estimate is claimed.integer | nullstrict
filer.advisorPromoterFeeEntitlementStatusParagraph 237.3(2)(c): whether this advisor or promoter is or was entitled, immediately or in the future and absolutely or contingently, to a fee described in subparagraph (c)(i) or (c)(ii). The transaction classification alone never creates the duty, so an unanswered entitlement leaves the (c) duty non-conclusive. Read only on the ``advisor_or_promoter`` branch.stringstrict
filer.dualCapacityEnteredForBenefitAndFeeRecipientStatusSubsections 237.3(8.1) and 237.4(13): whether this person is described in both the entered-for-benefit paragraph ((2)(b)/(4)(b)) and the non-arm's-length fee-recipient paragraph ((2)(d)/(4)(d)). Yes makes the penalty the greater of the paragraph-(a) and paragraph-(b) amounts, so both branches' inputs are required.stringstrict
filer.employerOrPartnershipFiledUnderS237_4StatusSubsection 237.4(5): whether the screened person is an employee or partner of an employer or partnership that was required to file under paragraph 237.4(4)(c) or (d) and filed the prescribed return for this notifiable transaction. Yes deems the return filed by this person and invokes the subsection 237.4(14) penalty non-application; it does not affect a separate s.237.3 duty.stringstrict
filer.enteredForBenefitOfTaxBenefitPersonStatusParagraph 237.3(2)(b) / 237.4(4)(b): whether THIS person entered into, for the benefit of a paragraph (a) person, an avoidance transaction that is a reportable transaction. Read only on the ``entered_for_benefit_person`` branch, and distinct from ``noOtherPersonEnteredForBenefit`` below, which is a deadline-anchor fact about somebody else.stringstrict
filer.filerCategoryThe statutory filer paragraph this request screens, under s.237.3(2) / s.237.4(4). ``tax_benefit_person`` is paragraph (a), a person for whom a tax benefit results or is expected to result. ``entered_for_benefit_person`` is paragraph (b), who entered into the reportable avoidance transaction for an (a) person's benefit. ``advisor_or_promoter`` is paragraph (c). ``non_arms_length_fee_recipient`` is paragraph (d) — a person not dealing at arm's length with a paragraph (c) advisor or promoter entitled to a fee. The choice also selects the penalty basis: s.237.3(8)(a) for (a)/(b), (b) for (c)/(d).stringstrict
filer.knewOrShouldKnowNotifiableStatusThe s.237.4(7) knowledge condition, which gates the NOTIFIABLE-transaction duty of a paragraph 237.4(4)(c) or (d) filer: whether the person knew or ought reasonably to have known that the transaction was a notifiable transaction. Paragraph (c) itself carries no fee condition; paragraph (d) needs both this and the non-arm's-length fee entitlement.stringstrict
filer.noOtherPersonEnteredForBenefitWhether NO paragraph 237.3(2)(b) or 237.4(4)(b) person entered into the transaction for this person's benefit. true makes the additional deadline date in subparagraph 237.3(5)(a)(iii) / 237.4(9)(a)(iii) inapplicable. false or null leaves date (iii) unresolved unless otherPersonEnteredTransactionDateIso supplies it: the screen refuses to guess a two-date earliest-of, because guessing produces a LATER, compliance-risky deadline. Distinct from enteredForBenefitOfTaxBenefitPersonStatus above, which is a filing-capacity fact about THIS person.boolean | nullstrict
filer.nonArmsLengthFeeEntitlementStatusParagraph 237.3(2)(d): whether this person, who does not deal at arm's length with an advisor or promoter, is or was entitled to a fee referred to in paragraph (c). Read only on the ``non_arms_length_fee_recipient`` branch.stringstrict
filer.notifiableDueDiligenceDefenceStatusSeparate subsection 237.4(6) due-diligence fact; when met, paragraphs 237.4(4)(a) and (b) do not apply to the person.stringstrict
filer.otherPersonEnteredTransactionDateIsoSubparagraph 237.3(5)(a)(iii) / 237.4(9)(a)(iii): the day on which the reportable transaction was entered into by a paragraph (2)(b) / (4)(b) person for the benefit of this paragraph (2)(a) / (4)(a) person. It joins the statutory earliest-of alongside the contractual-obligation date (i) and this person's own entry date (ii), so a date (iii) earlier than both moves the 90-day deadline earlier. Send it, or send a true noOtherPersonEnteredForBenefit to state that date (iii) is inapplicable; without either the deadline stays non-conclusive rather than overstated.null | stringstrict
filer.privilegedInformationStatusWhether information may be protected by solicitor-client privilege under subsections 237.3(17) or 237.4(18); privilege limits information disclosure and is not encoded as erasing the entire filing duty.stringstrict
filer.reportablePenaltyDueDiligenceDefenceStatusSeparate subsection 237.3(11) penalty-defence fact; it does not erase a filing obligation under subsection 237.3(2).stringstrict
filer.taxBenefitResultsOrExpectedStatusParagraph 237.3(2)(a) / 237.4(4)(a): whether a tax benefit results, or is expected to result based on this person's tax treatment. Read only on the ``tax_benefit_person`` branch.stringstrict
hallmarks.confidentialProtections.237.3 reportable-transaction hallmark, paragraph (b): confidential protection exists. Null means this hallmark is unanswered and keeps the classification under review.boolean | nullstrict
hallmarks.contingentFees.237.3 reportable-transaction hallmark, paragraph (a): a contingent fee arrangement exists. Null means this hallmark is unanswered and keeps the classification under review.boolean | nullstrict
hallmarks.contractualProtections.237.3 reportable-transaction hallmark, paragraph (c): contractual protection exists. Null means this hallmark is unanswered and keeps the classification under review.boolean | nullstrict
reportable_exclusions.exclusionAvoidanceMainReasonStatusSubsection 237.3(16): whether it is reasonable, having regard to all the circumstances, to conclude that one main reason for the tax-shelter acquisition or flow-through-share issuance is avoiding section 237.3. Read only when a subsection (14) filed-return composite is true.null | stringstrict
reportable_exclusions.isFlowThroughShareIssuanceParagraph 237.3(15)(b): this reportable transaction IS the issuance of a flow-through share. This is a transaction-type fact, independent of whether the subsection 66(12.68) information return was filed. Null leaves the A-B cap classification unanswered.boolean | nullstrict
reportable_exclusions.isFlowThroughShareIssuanceWithRequiredReturnFiledThe COMPLETE subsection 237.3(14)(b) exclusion fact: this transaction is, or is part of a series that includes, the issuance of a flow-through share for which an information return was filed under subsection 66(12.68). Because the issuance may be a different transaction in the series, this composite does not answer the subsection 237.3(15) type fact.boolean | nullstrict
reportable_exclusions.isTaxShelterAcquisitionParagraph 237.3(15)(a): this reportable transaction IS the acquisition of a tax shelter. This is a transaction-type fact, independent of whether the subsection 237.1(7) information return was filed. Null leaves the A-B cap classification unanswered.boolean | nullstrict
reportable_exclusions.isTaxShelterAcquisitionWithRequiredReturnFiledThe COMPLETE subsection 237.3(14)(a) exclusion fact: this transaction is, or is part of a series that includes, the acquisition of a tax shelter for which an information return was filed under subsection 237.1(7). Because the acquisition may be a different transaction in the series, this composite does not answer the separate subsection 237.3(15) type fact.boolean | nullstrict
rutt.assetsCarryingValue50MOrMoreAtYearEndStatusParagraph (b) of the same definition: the carrying value of the corporation's assets is greater than or equal to $50 million AT THE END OF THE YEAR, determined under subsection 237.5(9) in accordance with paragraphs 181(3)(a) and (b). This is a different measurement date and test from the large-corporation status in subparagraphs 237.3(8)(a)(i) and 237.4(12)(a)(i), so it is a separate answer.stringstrict
rutt.dueDiligenceDefenceStatusThe subsection 237.5(6) due-diligence defence: the corporation exercised the degree of care, diligence and skill to prevent the failure to file that a reasonably prudent person would have exercised. It bars the subsection 237.5(5) penalty; it does not erase the subsection 237.5(2) filing requirement. Separate from both the 237.3(11) and 237.4(6) defences above.stringstrict
rutt.filingDueDateIsoThe corporation's filing-due date for the year, which is the subsection 237.5(3) deadline. Null means the deadline is not being resolved and the screen says so instead of assuming one.null | stringstrict
rutt.hasAuditedRelevantFinancialStatementsStatusParagraph (a) of the subsection 237.5(1) 'reporting corporation' definition: the corporation has 'relevant financial statements' for the year — audited statements prepared under IFRS or other country-specific GAAP relevant for corporations listed on a stock exchange outside Canada, for a period ending in the year.stringstrict
rutt.hasReportableUncertainTaxTreatmentStatusWhether the corporation has one or more 'reportable uncertain tax treatments' for the year — a tax treatment in respect of which uncertainty is reflected in its relevant financial statements. Subsection 237.5(2) requires an information return in respect of EACH such treatment.stringstrict
rutt.requiredToFileReturnUnderS150StatusParagraph (c) of the same definition: the corporation is required to file a return of income for the year under section 150.stringstrict
rutt.weeksOfFailureExact statutory number of weeks during which the failure to report continues under subsection 237.5(5): $2,000 per week, up to a maximum of $100,000. That maximum is absolute — unlike paragraph 237.3(8)(a) it has no tax-benefit limb — and is never returned as an estimate. Null means no RUTT penalty estimate is claimed.integer | nullstrict
taxpayer.isCorporationThe taxpayer is a corporation; selects the corporate branch of the s.237.3(8) penalty arithmetic, including the large-corporation asset threshold question.booleanstrict
taxpayer.largeCorporationAssets50MOrMoreStatusWhether the corporation's carrying-value assets are at least $50 million for its last taxation year ending prior to the day the relevant information return is required to be filed, the measurement date in subparagraphs 237.3(8)(a)(i) and 237.4(12)(a)(i).stringstrict
transaction.asOfDateIsostringstrict
transaction.avoidanceTransactionMainPurposeStatusstringstrict
transaction.becomesBindingDateIsoStatutory deadline anchor capped at 9999-10-02, so adding the 90-day reporting window remains within the supported ISO date range.stringstrict
transaction.transactionDateIsoStatutory deadline anchor capped at 9999-10-02, so adding the 90-day reporting window remains within the supported ISO date range.stringstrict
Strict profile accepted values (32 of 41 cells)

These values apply only when the request sends this target’s payloadContract selector. A cell marked pinned must equal the value shown to satisfy the strict profile. On the default boundary the same cell accepts any value of its published type.

Strict profile accepted values for mdr-screen
CellAccepted values
designation.designationEffectiveDateIsodate (YYYY-MM-DD); at most 10 characters
designation.designationMatchStatusone of "yes", "no", "review_required"
fees.daysOfFailure0 to 100000
fees.feesChargedByPerson0 to 600000000000
fees.taxBenefit0 to 600000000000
fees.taxShelterOrFlowThroughSharePenalty0 to 600000000000
fees.weeksOfFailure0 to 100000
filer.advisorPromoterFeeEntitlementStatusone of "yes", "no", "review_required"
filer.dualCapacityEnteredForBenefitAndFeeRecipientStatusone of "yes", "no", "review_required"
filer.employerOrPartnershipFiledUnderS237_4Statusone of "yes", "no", "review_required"
filer.enteredForBenefitOfTaxBenefitPersonStatusone of "yes", "no", "review_required"
filer.filerCategoryone of "tax_benefit_person", "entered_for_benefit_person", "advisor_or_promoter", "non_arms_length_fee_recipient"
filer.knewOrShouldKnowNotifiableStatusone of "yes", "no", "review_required"
filer.nonArmsLengthFeeEntitlementStatusone of "yes", "no", "review_required"
filer.notifiableDueDiligenceDefenceStatusone of "yes", "no", "review_required"
filer.otherPersonEnteredTransactionDateIsodate (YYYY-MM-DD); at most 10 characters
filer.privilegedInformationStatusone of "yes", "no", "review_required"
filer.reportablePenaltyDueDiligenceDefenceStatusone of "yes", "no", "review_required"
filer.taxBenefitResultsOrExpectedStatusone of "yes", "no", "review_required"
reportable_exclusions.exclusionAvoidanceMainReasonStatusone of "yes", "no", "review_required", null
rutt.assetsCarryingValue50MOrMoreAtYearEndStatusone of "yes", "no", "review_required"
rutt.dueDiligenceDefenceStatusone of "yes", "no", "review_required"
rutt.filingDueDateIsodate (YYYY-MM-DD); at most 10 characters
rutt.hasAuditedRelevantFinancialStatementsStatusone of "yes", "no", "review_required"
rutt.hasReportableUncertainTaxTreatmentStatusone of "yes", "no", "review_required"
rutt.requiredToFileReturnUnderS150Statusone of "yes", "no", "review_required"
rutt.weeksOfFailure0 to 100000
taxpayer.largeCorporationAssets50MOrMoreStatusone of "yes", "no", "review_required"
transaction.asOfDateIsodate (YYYY-MM-DD); 1 to 2000 characters
transaction.avoidanceTransactionMainPurposeStatusone of "yes", "no", "review_required"
transaction.becomesBindingDateIsodate (YYYY-MM-DD); 1 to 2000 characters
transaction.transactionDateIsodate (YYYY-MM-DD); 1 to 2000 characters

Output cells (47)

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

Output cells for mdr-screen
CellTypes
enhancedRegimeAppliesboolean | null
reportableDeterminationstring
notifiableDeterminationstring
transactionDisclosureFlagTransaction-level classification flag only; it does not by itself establish that this person has a filing duty.boolean | null
personFilingDeterminationstring
disclosureReviewRequiredboolean
isReportableboolean | null
isNotifiableboolean | null
requiresDisclosurePerson-specific filing-duty result for the screened filer paragraph after applying the distinct reportable and notifiable rules.boolean | null
hallmarksTriggered[]string
hallmarksRequiringReview[]string
reportableDeadlineIsonull | string
notifiableDeadlineIsonull | string
reportingDeadlineIsoEarliest potential deadline among classified transaction regimes; this transaction-level date is not necessarily this person's deadline.null | string
daysRemainingDays from the supplied as-of date to reportingDeadlineIso.integer | null
personFilingDeadlineIsoEarliest filing deadline that actually applies to this person under the supported branch; null when the person-specific statutory date is not established.null | string
personFilingDaysRemainingDays from the supplied as-of date to personFilingDeadlineIso; negative values mean that person-specific deadline has passed.integer | null
penaltyDeterminationstring
estimatedPenaltyOnFailureEstimated penalty for the ordinary taxpayer branch (s.237.3(8)(a)(ii) / 237.4(12)(a)(ii)) or the advisor-promoter branch (s.237.3(8)(b) / 237.4(12)(b)), after the subsection 237.3(15) A-B cap when its separate acquisition/issuance and same-person B facts engage it; null means the statutory facts or supported penalty regime are non-conclusive, never an invented zero or $25,000 amount.null | number
isRuttReportingCorporationWhether the corporation meets the s.237.5(1) 'reporting corporation' definition; null when the facts were not supplied or are non-conclusive.boolean | null
ruttDeterminationstring
ruttFilingRequiredPerson-specific s.237.5(2) filing duty; null whenever the determination is a not-screened or review-required state.boolean | null
ruttDeadlineIsoDue date of the s.237.5(2) information return. s.237.5(3) is the deadline provision: the return "must be filed with the Minister on or before the corporation's filing-due date for the year". Null when not established.null | string
ruttDaysRemainingDays from the supplied as-of date to ruttDeadlineIso; negative values mean that deadline has passed.integer | null
ruttPenaltyDeterminationstring
estimatedRuttPenaltyOnFailures.237.5(5) penalty: a corporation that fails to report a reportable uncertain tax treatment as required under subsection (2) on or before the day required under subsection (3) is liable, for each such failure, to "$2,000 multiplied by the number of weeks during which the failure continues, up to a maximum of $100,000". The $100,000 is an absolute maximum, with no tax-benefit limb, unlike s.237.3(8)(a). Null when the filing obligation, the s.237.5(6) due-diligence defence or the timing inputs are non-conclusive, never an invented zero.null | number
traps[].findingCodestring
traps[].filingDispositionstring
traps[].citationKeystring
traps[].severitystring
traps[].titlestring
traps[].bodystring
warnings[]string
warnings[].codestring
warnings[].findingCodestring
warnings[].filingDispositionstring
warnings[].messagestring
warnings[].severitystring
blockingboolean
readyboolean
provisionalboolean
citationsApplied[]string
citations[].keystring
citations[].sectionstring
citations[].descriptionstring
citations[].source_urlstring
citations[].verified_atstring
Filemark | mdr-screen cells