XML 46 R21.htm IDEA: XBRL DOCUMENT
v3.25.0.1

Note 14 - AR Facility | 12 Months Ended
--- | ---
Dec. 31, 2024
Notes to Financial Statements |
Accounts and Nontrade Receivable [Text Block] | 14. AR Facility In 2019, the Company entered into a structured accounts receivable facility (the “AR Facility”). Under the AR Facility, certain of the Company's subsidiaries continuously sell trade accounts receivable and contract assets (the “Receivables”) to wholly owned special purpose entities at fair market value. The special purpose entities in turn sell the Receivables to a third-party financial institution (the “Purchaser”). On June 26, 2024, the Company renewed its AR Facility with two third-party financial institutions, with a term extending to December 29, 2025 and a capacity of $200,000. As of December 31, 2024, the Company’s draw under the AR Facility was $199,984. All transactions under the AR Facility are accounted for as a true sale in accordance with ASC 860, Transfers and Servicing (“ASC 860”). Following the sale of the Receivables to the Purchaser, the Receivables are legally isolated from the Company and its wholly owned special purpose entities. The AR Facility is recorded as a sale of accounts receivable, and accordingly sold receivables are derecognized from the consolidated balance sheet. The Company continues to service, administer and collect the Receivables on behalf of the Purchaser, and recognizes a servicing liability in accordance with ASC 860. The Company has elected the amortization method for subsequent measurement of the servicing liability, which is assessed for changes in the obligation at each reporting date. As of December 31, 2024, the servicing liability was nil. Under the AR Facility, the Company receives a cash payment and a deferred purchase price (“Deferred Purchase Price” or “DPP”) for sold Receivables. The DPP is paid to the Company in cash on behalf of the Purchaser as the Receivables are collected; however, due to the revolving nature of the AR Facility, cash collected from the Company's customers is reinvested by the Purchaser monthly in new Receivable purchases under the AR Facility. As at December 31, 2024, the DPP was $126,082 ( December 31, 2023 - $107,743) and was included in Prepaid expenses and other current assets on the Consolidated Balance Sheets. For the year ended December 31, 2024, Receivables sold under the AR Facility were $1,688,578 and cash collections from customers on Receivables sold were $1,683,275. As of December 31, 2024, the outstanding principal on trade accounts receivable, net of allowance for credit losses, sold under the AR Facility was $223,543; and the outstanding principal on contract assets, current and non-current, sold under the AR Facility was $132,212. See note 22 for fair value information on the DPP. For the year ended December 31, 2024, the Company recognized a gain related to Receivables sold of $146 (2023 - $129 gain) that was recorded in other expense in the consolidated statement of earnings. Based on the Company’s collection history, the fair value of the Receivables sold subsequent to the initial sale approximates carrying value. The non-cash investing activities associated with the DPP for the year ended December 31, 2024, were $157,922 (2023 - $139,065).

X
- Definition The entire disclosure for accounts receivable, contract receivable, receivable held-for-sale, and nontrade receivable. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 310 -Name Accounting Standards Codification -Publisher FASB -URI https://asc.fasb.org/310/tableOfContent Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 326 -Name Accounting Standards Codification -Publisher FASB -URI https://asc.fasb.org/326/tableOfContent + Details
Name: | us-gaap_AccountsAndNontradeReceivableTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- References No definition available. + Details
Name: | us-gaap_DisclosureTextBlockAbstract
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration