Validation Rules for Suspicious Transaction Reports (STR)
On this page
Date - January 22, 2021
The purpose of this document is to provide reporting entities with the validation specifications of Suspicious Transaction Reports (STR) submitted to the Financial Transactions and Reports Analysis Centre of Canada (FINTRAC).
Part A - Information about where the transaction took place
STR.A.1a: Reporting entity's location number
Reject this report if the user did not provide a value into this field.
Reject this report if the user provided text that is not between 1 and 15 characters, containing only alpha and numeric characters.
Reject this report if the user provided a branch location that is invalid for the reporting entity given the constraint ' None '.
- None: check to make sure this is a valid branch.
- CAOnly: check to make sure this branch is in Canada.
- ValidCA: check to make sure this branch is valid and is in Canada.
- PortCode: check to make sure this branch is valid or a valid port code.
Reject this report if the user provided a branch location that is invalid for the reporting entity given the constraint ' ValidCA '.
- None: check to make sure this is a valid branch.
- CAOnly: check to make sure this branch is in Canada.
- ValidCA: check to make sure this branch is valid and is in Canada.
- PortCode: check to make sure this branch is valid or a valid port code.
STR.A.6a: Reporting entity's report reference number
Reject this report if the user provided text that did not contain only alpha character, numbers, dashes or underscores up to 20 characters.
Reject this report if the user provided a report reference number which is not unique for this RE.
Reject this report if the report has been segregated.
Reject this report if the previous version of this report (should it exist) is more than 7 years old.
STR.A.7: Contact's surname
Reject this report if the user did not provide a value into this field.
STR.A.8: Contact's given name
Reject this report if the user did not provide a value into this field.
STR.A.10: Contact's telephone number
Reject this report if the user did not provide a value into this field.
Reject this report if the user provided a value that did not contain 0 to 20 numbers, dashes, commas, periods, spaces or round brackets.
STR.A.10a: Contact's telephone extension number
Send a warning if the user provided a value that does not contain up to 10 numbers, dashes, commas, periods, spaces or round brackets.
STR.A.11: Activity sector
Reject this report if the user did not provide a value into this field.
Reject this report if the user provided text that is not between 1 and 1 characters, containing only alpha characters.
Reject this report if the user provided a value not in the list:
- A - Accountant
- B - Bank
- C - Caisse populaire
- D - Crown agent
- E - Casino
- F - Co-op credit society
- I - Life insurance broker or agent
- J - Life insurance company
- K - Money services business
- L - Provincial savings office
- M - Real estate
- N - Credit union
- O - Securities dealer
- P - Trust and/or loan company
- Q - British Columbia notary
- R - Dealer in precious metals and stones
- S - Credit union central
- T - Financial services cooperative
STR.A.12: Attempted transaction indicator
Reject this report if the user did not provide a value into this field.
Reject this report if the user provided a value that is not a whole number between 0 and 1.
Part B1 - Information about how the transaction was initiated
STR.B1.1: Date of the transaction
Reject this report if the user did not provide a value and STR.B1.3 is blank.
Reject this report if the user did not provide a value and STR.B1.3 is 0.
Reject this report if the user provided a date that is not in one of the following formats:
- yyyy-MM-dd
- yyyy/MM/dd
- yyyy MM dd
- yyyyMMdd
Reject this report if the user provided a date that is not before today.
Reject this report if the user provided a date that is not before or equal to STR.B1.4.
Reject this report if the user provided a date that is not after or equal to 2001-11-08.
STR.B1.2: Time of the transaction
Reject this report if the user provided a value that is not one of the following formats:
- HH:mm:ss
- HHmmss
STR.B1.3: Night deposit indicator
Reject this report if the user did not provide a value and STR.B1.1 is blank.
Reject this report if the user provided a value that is not a whole number between 0 and 9.
Reject this report if the user provided a value not in the list:
- 1 - Night deposit
- 3 - Quick drop
- 0 - Not night deposit
- 9 - Other
STR.B1.4: Date of posting
Reject this report if the user provided a date that is not in one of the following formats:
- yyyy-MM-dd
- yyyy/MM/dd
- yyyy MM dd
- yyyyMMdd
Reject this report if the user provided a date that is not after or equal to 2001-11-08.
STR.B1.5: Type of funds involved in initiating transaction
Send a warning if the user did not provide a value into this field.
Send a warning if the user provided text that is not between 1 and 1 characters, containing only alpha characters.
Send a warning if the user provided a value not in the list:
- A - Cash in
- B - Withdrawal from account
- C - Redeemed casino chips
- D - Negotiated cheque
- E - Incoming electronic funds transfer
- F - Negotiated bank draft
- G - Negotiated life insurance policy
- H - Negotiated money order
- I - Real estate
- J - Negotiated securities
- K - Negotiated traveller's cheques
- M - Diamonds
- N - Jewellery
- O - Precious metals
- P - Precious stones (excluding diamonds)
- Q - Virtual currency
- L - Other
STR.B1.5a: Other type of funds
Send a warning if the user did not provide a value and STR.B1.5 is 'Other'.
Send a warning if the user provided a value and STR.B1.5 is not 'Other'.
STR.B1.6: Amount of transaction
Send a warning if the user did not provide a value into this field.
Reject this report if the user provided an amount that is not the correct format:
- Number of digits, decimal separator and 2 digits (optional).
- When the thousand separator is “,” we only accept “.” for the decimal separator.
- When the thousand separator is a space, we accept both “.” or “,” for decimal separator.
- If a thousand separator (“,” or space) is used, only one type can be used, but not both.
- If a decimal separator is used, two decimal places must be provided.
- A currency sign such as “$” is not an acceptable character.
STR.B1.7: Transaction currency
Send a warning if the user did not provide a value into this field.
Send a warning if the user provided text that is not between 3 and 3 characters, containing only alpha characters.
Send a warning if the user provided a value not in the list:
- All ISO Currencies
STR.B1.10: How the transaction was conducted
Send a warning if the user did not provide a value into this field.
Send a warning if the user provided text that is not between 1 and 1 characters, containing only alpha characters.
Send a warning if the user provided a value not in the list:
- A - In-branch/office/store
- B - Automated banking machine
- C - Armoured car
- D - Courier
- E - Mail deposit
- F - Telephone
- H - Night deposit
- I - Quick drop
- G - Other
Send a warning if this value is not equal to 'Night deposit' and the field STR.B1.3 equals 'Night deposit'.
STR.B1.10a: Other transaction method
Send a warning if the user did not provide a value and STR.B1.10 is 'Other'.
Send a warning if the user provided a value and STR.B1.10 is not 'Other'.
STR.B1.11: Identification number of person initially identifying suspicious activity
Send a warning if the user provided a value.
Part B2 - Information about how the transaction was completed
STR.B2.12: Disposition of funds
Send a warning if the user did not provide a value into this field.
Send a warning if the user provided text that is not between 1 and 1 characters, containing only alpha characters.
Send a warning if the user provided a value not in the list:
- A - Deposit to an account
- B - Outgoing electronic funds transfer
- C - Conducted currency exchange
- D - Purchase of casino chips
- E - Purchase of bank draft
- F - Purchase of money order
- G - Purchase of traveller's cheques
- H - Life insurance policy purchase/deposit
- I - Securities purchase/deposit
- J - Real estate purchase/deposit
- K - Cash out
- M - Purchase diamonds
- N - Purchase jewellery
- O - Purchase precious metals
- P - Purchase stones (excluding diamonds)
- Q - Added to virtual currency wallet
- R - Exchange to virtual currency
- S - Outgoing virtual currency transfer
- L - Other
STR.B2.12a: Other disposition of funds
Send a warning if the user did not provide a value and STR.B2.12 is 'Other'.
Send a warning if the user provided a value and STR.B2.12 is not 'Other'.
STR.B2.12b: Life insurance policy number
Send a warning if the user did not provide a value and STR.B2.12 is 'Life insurance policy purchase/deposit'.
STR.B2.13: Amount of disposition
Send a warning if the user did not provide a value into this field.
Reject this report if the user provided an amount that is not the correct format:
- Number of digits, decimal separator and 2 digits (optional).
- When the thousand separator is “,” we only accept “.” for the decimal separator.
- When the thousand separator is a space, we accept both “.” or “,” for decimal separator.
- If a thousand separator (“,” or space) is used, only one type can be used, but not both.
- If a decimal separator is used, two decimal places must be provided.
- A currency sign such as “$” is not an acceptable character.
STR.B2.14: Disposition currency
Send a warning if the user did not provide a value into this field.
Send a warning if the user provided text that is not between 3 and 3 characters, containing only alpha characters.
Send a warning if the user provided a value not in the list:
- All ISO Currencies
STR.B2.17: On behalf of indicator
Reject this report if the user did not provide a value into this field.
Reject this report if the user provided text that is not between 1 and 1 characters, containing only alpha characters.
Reject this report if the user provided a value not in the list:
- C - Not applicable
- E - On behalf of an entity
- F - On behalf of another individual
- G - Cash deposit employer business account
Reject this report if the on behalf of is "Cash deposit employer business account" (G) then disposition of funds must be to an account (A) and account type must be business (B).
Part C - Account information
STR.C.1: Branch or transit number where account held
Send a warning if the user did not provide a value and STR.B2.12 is A.
Send a warning if the user did not provide a value and STR.B2.12 is A.
STR.C.2: Account number
Send a warning if the user did not provide a value and STR.B2.12 is A.
Send a warning if the user did not provide a value and STR.B2.12 is A.
STR.C.3: Account type
Send a warning if the user did not provide a value and STR.B2.12 is A.
Send a warning if the user did not provide a value and STR.B2.12 is A.
Send a warning if the user provided text that is not between 1 and 1 characters, containing only alpha characters.
Send a warning if the user provided a value not in the list:
- A - Personal
- B - Business
- C - Trust
- D - Other
STR.C.3a: Other account type
Send a warning if the user provided a value and STR.C.3 is not 'Other'.
Send a warning if the user did not provide a value and STR.C.3 is 'Other'.
STR.C.4: Account currency
Send a warning if the user did not provide a value and STR.B2.12 is A.
Send a warning if the user did not provide a value and STR.B2.12 is A.
Send a warning if the user provided text that is not between 3 and 3 characters, containing only alpha characters.
Send a warning if the user provided a value not in the list:
- All ISO Currencies
STR.C.5a: Account holder 1
Send a warning if the user did not provide a value and STR.B2.12 is A.
Send a warning if the user did not provide a value and STR.B2.12 is A and all STR.C.5b, STR.C.5c are blank.
STR.C.6: Date opened
Reject this report if the user provided a date that is not in one of the following formats:
- yyyy-MM-dd
- yyyy/MM/dd
- yyyy MM dd
- yyyyMMdd
Reject this report if the user provided a date that is not before today.
Send a warning if the user provided a date that is not after 1900-01-01.
STR.C.7: Date closed
Reject this report if the user provided a date that is not in one of the following formats:
- yyyy-MM-dd
- yyyy/MM/dd
- yyyy MM dd
- yyyyMMdd
Reject this report if the user provided a date that is not before today.
Send a warning if the user provided a date that is not after STR.C.6.
STR.C.8: Status of the account
Send a warning if the user did not provide a value and STR.B2.12 is A.
Send a warning if the user provided text that is not between 1 and 1 characters, containing only alpha characters.
Send a warning if the user provided a value not in the list:
- A - Active
- B - Inactive
- C - Dormant
Part D - Information about the individual conducting the transaction
STR.D.7: Country
Send a warning if the user provided text that is not between 2 and 2 characters, containing only alpha characters.
Send a warning if the user provided a value not in the list:
- All ISO Countries
STR.D.9: Postal or zip code
Send a warning if the postal code provided is not a valid Canadian postal code OR if the ZIP code provided is not a valid US ZIP code OR if the postal code provided is not alphanumeric for countries entered in STR.D.7 other than Canada and the United States.
STR.D.10: Country of residence
Send a warning if the user provided text that is not between 2 and 2 characters, containing only alpha characters.
Send a warning if the user provided a value not in the list:
- All ISO Countries
STR.D.10a: Country of citizenship
Send a warning if the user provided text that is not between 2 and 2 characters, containing only alpha characters.
Send a warning if the user provided a value not in the list:
- All ISO Countries
STR.D.11: Home telephone number
Send a warning if the user provided a value that did not contain 0 to 20 numbers, dashes, commas, periods, spaces or round brackets.
STR.D.12: Individual's identifier type
Send a warning if the user provided text that is not between 1 and 1 characters, containing only alpha characters.
Send a warning if the user provided a value not in the list:
- A - Driver's licence
- B - Birth certificate
- C - Provincial health card
- D - Passport
- F - Rec. of landing/ Perm. resident card
- E - Other
STR.D.12a: Other identifier type
Send a warning if the user did not provide a value and STR.D.12 is 'Other'.
Send a warning if the user provided a value and STR.D.12 is not 'Other'.
STR.D.13: Identification number
Send a warning if the STR.D.12a contains 'SIN' and this field does not equal 'N/A'.
STR.D.14: Country
Send a warning if the user provided text that is not between 2 and 2 characters, containing only alpha characters.
Send a warning if the user provided a value not in the list:
- All ISO Countries
STR.D.15: Province or state
Send a warning if the province/state name does not correspond with the country provided OR is not a valid Canadian, US or Mexican province/state name given the country STR.D.14.
STR.D.16: Individual's date of birth
Reject this report if the user provided a date that is not in one of the following formats:
- yyyy-MM-dd
- yyyy/MM/dd
- yyyy MM dd
- yyyyMMdd
Reject this report if the user provided a date that is not before today.
Send a warning if the user provided a date that is not within the last 120 years.
STR.D.18: Individual's business telephone number
Send a warning if the user provided a value that did not contain 0 to 20 numbers, dashes, commas, periods, spaces or round brackets.
STR.D.18a: Individual's business telephone extension number
Send a warning if the user provided a value that does not contain up to 10 numbers, dashes, commas, periods, spaces or round brackets.
STR.D.22: Country
Send a warning if the user provided text that is not between 2 and 2 characters, containing only alpha characters.
Send a warning if the user provided a value not in the list:
- All ISO Countries
STR.D.24: Postal or zip code
Send a warning if the postal code provided is not a valid Canadian postal code OR if the ZIP code provided is not a valid US ZIP code OR if the postal code provided is not alphanumeric for countries entered in STR.D.22 other than Canada and the United States.
STR.D.25: Employer's business telephone number
Send a warning if the user provided a value that did not contain 0 to 20 numbers, dashes, commas, periods, spaces or round brackets.
STR.D.25a: Employer's business telephone extension number
Send a warning if the user provided a value that does not contain up to 10 numbers, dashes, commas, periods, spaces or round brackets.
Part E - Information about the entity on whose behalf the transaction was conducted
STR.E.1: Name of corporation or trust or other entity
Send a warning if the user provided a value.
STR.E.2: Type of business
Send a warning if the user provided a value.
STR.E.3: Street address
Send a warning if the user provided a value.
STR.E.4: City
Send a warning if the user provided a value.
STR.E.5: Country
Send a warning if the user provided a value.
Send a warning if the user provided text that is not between 2 and 2 characters, containing only alpha characters.
Send a warning if the user provided a value not in the list:
- All ISO Countries
STR.E.6: Province or state
Send a warning if the user provided a value.
STR.E.7: Postal or zip code
Send a warning if the user provided a value.
Send a warning if the postal code provided is not a valid Canadian postal code OR if the ZIP code provided is not a valid US ZIP code OR if the postal code provided is not alphanumeric for countries entered in STR.E.5 other than Canada and the United States.
STR.E.8: Business telephone number
Send a warning if the user provided a value.
Send a warning if the user provided a value that did not contain 0 to 20 numbers, dashes, commas, periods, spaces or round brackets.
STR.E.8a: Business telephone extension number
Send a warning if the user provided a value.
Send a warning if the user provided a value that does not contain up to 10 numbers, dashes, commas, periods, spaces or round brackets.
STR.E.9: Incorporation number
Send a warning if the user provided a value.
STR.E.10: Country of issue
Send a warning if the user provided a value.
Send a warning if the user provided text that is not between 2 and 2 characters, containing only alpha characters.
Send a warning if the user provided a value not in the list:
- All ISO Countries
STR.E.11: Province or state of issue
Send a warning if the user provided a value.
STR.E.12a: Individual's name 1
Send a warning if the user provided a value.
STR.E.12b: Individual's name 2
Send a warning if the user provided a value.
STR.E.12c: Individual's name 3
Send a warning if the user provided a value.
Part F - Information about the individual on whose behalf the transaction was conducted
STR.F.1: Surname
Send a warning if the user provided a value.
STR.F.2: Given name
Send a warning if the user provided a value.
STR.F.3: Other name/initial
Send a warning if the user provided a value.
STR.F.4: Street address
Send a warning if the user provided a value.
STR.F.5: City
Send a warning if the user provided a value.
STR.F.6: Country
Send a warning if the user provided a value.
Send a warning if the user provided text that is not between 2 and 2 characters, containing only alpha characters.
Send a warning if the user provided a value not in the list:
- All ISO Countries
STR.F.7: Province or state
Send a warning if the user provided a value.
STR.F.8: Postal or zip code
Send a warning if the user provided a value.
Send a warning if the postal code provided is not a valid Canadian postal code OR if the ZIP code provided is not a valid US ZIP code OR if the postal code provided is not alphanumeric for countries entered in STR.F.6 other than Canada and the United States.
STR.F.9: Home telephone number
Send a warning if the user provided a value.
Send a warning if the user provided a value that did not contain 0 to 20 numbers, dashes, commas, periods, spaces or round brackets.
STR.F.10: Individual's business telephone number
Send a warning if the user provided a value.
Send a warning if the user provided a value that did not contain 0 to 20 numbers, dashes, commas, periods, spaces or round brackets.
STR.F.10a: Individual's business telephone extension number
Send a warning if the user provided a value.
Send a warning if the user provided a value that does not contain up to 10 numbers, dashes, commas, periods, spaces or round brackets.
STR.F.11: Individual's date of birth
Send a warning if the user provided a value.
Reject this report if the user provided a date that is not in one of the following formats:
- yyyy-MM-dd
- yyyy/MM/dd
- yyyy MM dd
- yyyyMMdd
Reject this report if the user provided a date that is not before today.
Send a warning if the user provided a date that is not within the last 120 years.
STR.F.12: Individual's identifier type
Send a warning if the user provided a value.
Send a warning if the user provided text that is not between 1 and 1 characters, containing only alpha characters.
Send a warning if the user provided a value not in the list:
- A - Driver's licence
- B - Birth certificate
- C - Provincial health card
- D - Passport
- F - Rec. of landing/ Perm. resident card
- E - Other
STR.F.12a: Other identifier type
Send a warning if the user did not provide a value and STR.F.12 is 'Other'.
Send a warning if the user provided a value.
Send a warning if the user provided a value and STR.F.12 is not 'Other'.
STR.F.13: Identification number
Send a warning if the user provided a value.
Send a warning if the STR.F.12a contains 'SIN' and this field does not equal 'N/A'.
STR.F.14: Country of residence
Send a warning if the user provided a value.
Send a warning if the user provided text that is not between 2 and 2 characters, containing only alpha characters.
Send a warning if the user provided a value not in the list:
- All ISO Countries
STR.F.14a: Country of citizenship
Send a warning if the user provided a value.
Send a warning if the user provided text that is not between 2 and 2 characters, containing only alpha characters.
Send a warning if the user provided a value not in the list:
- All ISO Countries
STR.F.15: Country
Send a warning if the user provided a value.
Send a warning if the user provided text that is not between 2 and 2 characters, containing only alpha characters.
Send a warning if the user provided a value not in the list:
- All ISO Countries
STR.F.16: Province or state
Send a warning if the user provided a value.
Send a warning if the province/state name does not correspond with the country provided OR is not a valid Canadian, US or Mexican province/state name given the country STR.F.15.
STR.F.17: Individual's occupation
Send a warning if the user provided a value.
STR.F.18: Individual's employer
Send a warning if the user provided a value.
STR.F.19: Employer's street address
Send a warning if the user provided a value.
STR.F.20: Employer's city
Send a warning if the user provided a value.
STR.F.21: Employer's country
Send a warning if the user provided a value.
Send a warning if the user provided text that is not between 2 and 2 characters, containing only alpha characters.
Send a warning if the user provided a value not in the list:
- All ISO Countries
STR.F.22: Employer's province or state
Send a warning if the user provided a value.
STR.F.23: Employer's postal or zip code
Send a warning if the user provided a value.
Send a warning if the postal code provided is not a valid Canadian postal code OR if the ZIP code provided is not a valid US ZIP code OR if the postal code provided is not alphanumeric for countries entered in STR.F.21 other than Canada and the United States.
STR.F.24: Employer's telephone number
Send a warning if the user provided a value.
Send a warning if the user provided a value that did not contain 0 to 20 numbers, dashes, commas, periods, spaces or round brackets.
STR.F.24a: Employer's telephone extension number
Send a warning if the user provided a value.
Send a warning if the user provided a value that does not contain up to 10 numbers, dashes, commas, periods, spaces or round brackets.
STR.F.25: Relationship to individual
Send a warning if the user provided a value.
Send a warning if the user provided text that is not between 1 and 1 characters, containing only alpha characters.
Send a warning if the user provided a value not in the list:
- A - Accountant
- B - Agent
- C - Legal counsel
- D - Borrower
- E - Broker
- F - Customer
- G - Employee
- H - Friend
- I - Relative
- J - Other
STR.F.25a: Other relationship
Send a warning if the user did not provide a value and STR.F.25 is 'Other'.
Send a warning if the user provided a value.
Send a warning if the user provided a value and STR.F.25 is not 'Other'.
Part G - Description of suspicious activity
STR.G.1: Description of suspicious activity
Reject this report if the user did not provide a value into this field.
- Date Modified: