XML 68 R53.htm IDEA: XBRL DOCUMENT
v3.20.4

Note 4 - Revenue From Contracts With Customers 1 (Details Textual) - USD ($) $ in Thousands | 12 Months Ended
--- | ---
Dec. 31, 2020 | Dec. 31, 2019
External Broker Costs and Employee Sales Commissions [Member] |  |
Capitalized Contract Cost, Amortization | $ 1,888 | $ 1,717
Capitalized Contract Cost, Net, Total | 7,157 | 6,711
Capitalized Contract Cost, Impairment Loss | 0 |
FirstService Brands Segment [Member] | Franchise [Member] |  |
Contract with Customer, Liability, Revenue Recognized | $ 4,012 | $ 4,462
FirstService Brands Segment [Member] | Franchise [Member] | Minimum [Member] |  |
Revenue Recognized Period (Year) | 5 years |
FirstService Brands Segment [Member] | Franchise [Member] | Maximum [Member] |  |
Revenue Recognized Period (Year) | 10 years |

X
- Definition The recognized period for deferred revenue. + References No definition available. + Details
Name: | fsv_RevenueRecognizedPeriod
Namespace Prefix: | fsv_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- Definition Amount of amortization expense for asset recognized from cost incurred to obtain or fulfill contract with customer. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 340 -SubTopic 40 -Section 50 -Paragraph 3 -Subparagraph (b) -URI http://asc.fasb.org/extlink&oid=68051541&loc=SL49131252-203054 + Details
Name: | us-gaap_CapitalizedContractCostAmortization
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition Amount of impairment loss for asset recognized from cost incurred to obtain or fulfill contract with customer. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 340 -SubTopic 40 -Section 50 -Paragraph 3 -Subparagraph (b) -URI http://asc.fasb.org/extlink&oid=68051541&loc=SL49131252-203054 + Details
Name: | us-gaap_CapitalizedContractCostImpairmentLoss
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition Amount, after accumulated amortization and accumulated impairment loss, of asset recognized from cost incurred to obtain or fulfill contract with customer. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 340 -SubTopic 40 -Section 50 -Paragraph 3 -Subparagraph (a) -URI http://asc.fasb.org/extlink&oid=68051541&loc=SL49131252-203054 + Details
Name: | us-gaap_CapitalizedContractCostNet
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition Amount of revenue recognized that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 50 -Paragraph 8 -Subparagraph (b) -URI http://asc.fasb.org/extlink&oid=121604090&loc=SL49130549-203045 + Details
Name: | us-gaap_ContractWithCustomerLiabilityRevenueRecognized
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Details
Name: | us-gaap_CapitalizedContractCostAxis=fsv_ExternalBrokerCostsAndEmployeeSalesCommissionsMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_StatementBusinessSegmentsAxis=fsv_FirstServiceBrandsSegmentMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_ProductOrServiceAxis=us-gaap_FranchiseMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_RangeAxis=srt_MinimumMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_RangeAxis=srt_MaximumMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |