{
 "instance": {
  "ftci-20211231.htm": {
   "axisCustom": 0,
   "axisStandard": 29,
   "contextCount": 199,
   "dts": {
    "calculationLink": {
     "local": [
      "ftci-20211231_cal.xml"
     ]
    },
    "definitionLink": {
     "local": [
      "ftci-20211231_def.xml"
     ]
    },
    "inline": {
     "local": [
      "ftci-20211231.htm"
     ]
    },
    "labelLink": {
     "local": [
      "ftci-20211231_lab.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "ftci-20211231_pre.xml"
     ]
    },
    "schema": {
     "local": [
      "ftci-20211231.xsd"
     ],
     "remote": [
      "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xl-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xlink-2003-12-31.xsd",
      "http://www.xbrl.org/2005/xbrldt-2005.xsd",
      "http://www.xbrl.org/2006/ref-2006-02-27.xsd",
      "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd",
      "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd",
      "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd",
      "https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd",
      "https://xbrl.fasb.org/srt/2021/elts/srt-roles-2021-01-31.xsd",
      "https://xbrl.fasb.org/srt/2021/elts/srt-types-2021-01-31.xsd",
      "https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd",
      "https://xbrl.fasb.org/us-gaap/2021/elts/us-roles-2021-01-31.xsd",
      "https://xbrl.fasb.org/us-gaap/2021/elts/us-types-2021-01-31.xsd",
      "https://xbrl.sec.gov/country/2021/country-2021.xsd",
      "https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd"
     ]
    }
   },
   "elementCount": 679,
   "entityCount": 1,
   "hidden": {
    "http://fasb.org/us-gaap/2021-01-31": 10,
    "http://www.ftcsolar.com/20211231": 2,
    "http://xbrl.sec.gov/dei/2021q4": 4,
    "total": 16
   },
   "keyCustom": 55,
   "keyStandard": 365,
   "memberCustom": 23,
   "memberStandard": 40,
   "nsprefix": "ftci",
   "nsuri": "http://www.ftcsolar.com/20211231",
   "report": {
    "R1": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:EntityRegistrantName",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "document",
     "isDefault": "true",
     "longName": "100000 - Document - Document and Entity Information",
     "role": "http://www.ftcsolar.com/20211231/taxonomy/role/Role_DocumentDocumentAndEntityInformation",
     "shortName": "Document and Entity Information",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:EntityRegistrantName",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R10": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AccountsAndNontradeReceivableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100120 - Disclosure - Accounts receivable, net",
     "role": "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureAccountsReceivableNet",
     "shortName": "Accounts receivable, net",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AccountsAndNontradeReceivableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R11": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:InventoryDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100130 - Disclosure - Inventories, net",
     "role": "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureInventoriesNet",
     "shortName": "Inventories, net",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:InventoryDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R12": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "ftci:PrepaidExpensesAndOtherCurrentAssetsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100140 - Disclosure - Prepaid and other current assets",
     "role": "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosurePrepaidAndOtherCurrentAssets",
     "shortName": "Prepaid and other current assets",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "ftci:PrepaidExpensesAndOtherCurrentAssetsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R13": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LesseeOperatingLeasesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100150 - Disclosure - Leases",
     "role": "http://www.ftcsolar.com/20211231/taxonomy/role/Role_DisclosureLeases",
     "shortName": "Leases",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LesseeOperatingLeasesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R14": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100160 - Disclosure - Property and equipment, net",
     "role": "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosurePropertyAndEquipmentNet",
     "shortName": "Property and equipment, net",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R15": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DebtDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100170 - Disclosure - Debt",
     "role": "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDebt1",
     "shortName": "Debt",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DebtDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R16": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "ftci:AccruedExpensesAndOtherCurrentLiabilitiesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100180 - Disclosure - Accrued expenses and other current liabilities",
     "role": "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureAccruedExpensesAndOtherCurrentLiabilities1",
     "shortName": "Accrued expenses and other current liabilities",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "ftci:AccruedExpensesAndOtherCurrentLiabilitiesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R17": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100190 - Disclosure - Income taxes",
     "role": "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxes1",
     "shortName": "Income taxes",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R18": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100200 - Disclosure - Commitments and contingencies",
     "role": "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureCommitmentsAndContingencies1",
     "shortName": "Commitments and contingencies",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R19": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100210 - Disclosure - Stockholders' equity",
     "role": "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockholdersEquity1",
     "shortName": "Stockholders' equity",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R2": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_36d6a15f-356e-41d3-96f1-ec2dac28269a",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "reportCount": 1,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "100010 - Statement - Consolidated Balance Sheets (Unaudited)",
     "role": "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited",
     "shortName": "Consolidated Balance Sheets (Unaudited)",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_36d6a15f-356e-41d3-96f1-ec2dac28269a",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:RestrictedCashCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R20": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100220 - Disclosure - Stock compensation and other employee benefit plans",
     "role": "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlans",
     "shortName": "Stock compensation and other employee benefit plans",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R21": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:EquityMethodInvestmentsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100230 - Disclosure - Sale of investment in unconsolidated subsidiary",
     "role": "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSaleOfInvestmentInUnconsolidatedSubsidiary1",
     "shortName": "Sale of investment in unconsolidated subsidiary",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:EquityMethodInvestmentsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R22": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100240 - Disclosure - Earnings (loss) per share",
     "role": "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureEarningsLossPerShare",
     "shortName": "Earnings (loss) per share",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R23": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FairValueDisclosuresTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100250 - Disclosure - Fair value measurements",
     "role": "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureFairValueMeasurements",
     "shortName": "Fair value measurements",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FairValueDisclosuresTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R24": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RelatedPartyTransactionsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100260 - Disclosure - Related parties",
     "role": "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureRelatedParties1",
     "shortName": "Related parties",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RelatedPartyTransactionsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R25": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:QuarterlyFinancialInformationTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100270 - Disclosure - Quarterly information (unaudited)",
     "role": "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureQuarterlyInformationUnaudited",
     "shortName": "Quarterly information (unaudited)",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:QuarterlyFinancialInformationTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R26": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SubsequentEventsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100280 - Disclosure - Subsequent events",
     "role": "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSubsequentEvents",
     "shortName": "Subsequent events",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SubsequentEventsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R27": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "ftci:RevisionOfPreviouslyIssuedFinancialStatementsTextBlock",
      "reportCount": 1,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100290 - Disclosure - Revision of Previously Issued Financial Statements",
     "role": "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureRevisionOfPreviouslyIssuedFinancialStatements1",
     "shortName": "Revision of Previously Issued Financial Statements",
     "subGroupType": "",
     "uniqueAnchor": null
    },
    "R28": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100320 - Disclosure - Summary of significant accounting policies (Policies)",
     "role": "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies",
     "shortName": "Summary of significant accounting policies (Policies)",
     "subGroupType": "policies",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R29": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "ftci:RevisionOfPreviouslyIssuedFinancialStatementsTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "srt:ScheduleOfCondensedFinancialStatementsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100330 - Disclosure - Revision of previously issued financial statements (Tables)",
     "role": "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureRevisionOfPreviouslyIssuedFinancialStatementsTables1",
     "shortName": "Revision of previously issued financial statements (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "ftci:RevisionOfPreviouslyIssuedFinancialStatementsTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "srt:ScheduleOfCondensedFinancialStatementsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R3": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_36d6a15f-356e-41d3-96f1-ec2dac28269a",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:PreferredStockParOrStatedValuePerShare",
      "reportCount": 1,
      "unitRef": "U_USDollarShare",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "100040 - Statement - Consolidated Balance Sheets (Parenthetical) (Unaudited)",
     "role": "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedBalanceSheetsParentheticalUnaudited",
     "shortName": "Consolidated Balance Sheets (Parenthetical) (Unaudited)",
     "subGroupType": "parenthetical",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_36d6a15f-356e-41d3-96f1-ec2dac28269a",
      "decimals": "INF",
      "lang": null,
      "name": "us-gaap:PreferredStockSharesIssued",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_shares",
      "xsiNil": "false"
     }
    },
    "R30": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "div",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ImpairedAssetsToBeDisposedOfByMethodOtherThanSaleTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100340 - Disclosure - Summary of significant accounting policies (Tables)",
     "role": "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesTables",
     "shortName": "Summary of significant accounting policies (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "div",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ImpairedAssetsToBeDisposedOfByMethodOtherThanSaleTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R31": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "us-gaap:AccountsAndNontradeReceivableTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100350 - Disclosure - Accounts receivable, net (Tables)",
     "role": "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureAccountsReceivableNetTables",
     "shortName": "Accounts receivable, net (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "us-gaap:AccountsAndNontradeReceivableTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R32": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "us-gaap:InventoryDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100360 - Disclosure - Inventories, net (Tables)",
     "role": "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureInventoriesNetTables",
     "shortName": "Inventories, net (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "us-gaap:InventoryDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R33": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "ftci:PrepaidExpensesAndOtherCurrentAssetsTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100370 - Disclosure - Prepaid and other current assets (Tables)",
     "role": "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosurePrepaidAndOtherCurrentAssetsTables",
     "shortName": "Prepaid and other current assets (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "ftci:PrepaidExpensesAndOtherCurrentAssetsTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R34": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LeaseCostTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100380 - Disclosure - Leases (Tables)",
     "role": "http://www.ftcsolar.com/20211231/taxonomy/role/Role_DisclosureLeasesTables",
     "shortName": "Leases (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LeaseCostTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R35": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100390 - Disclosure - Property and equipment, net (Tables)",
     "role": "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosurePropertyAndEquipmentNetTables",
     "shortName": "Property and equipment, net (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R36": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "us-gaap:DebtDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfDebtTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100400 - Disclosure - Debt (Tables)",
     "role": "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDebtTables",
     "shortName": "Debt (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "us-gaap:DebtDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfDebtTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R37": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "ftci:AccruedExpensesAndOtherCurrentLiabilitiesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "ftci:AccruedExpensesAndOtherCurrentLiabilitiesTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100410 - Disclosure - Accrued expenses and other current liabilities (Tables)",
     "role": "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesTables",
     "shortName": "Accrued expenses and other current liabilities (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "ftci:AccruedExpensesAndOtherCurrentLiabilitiesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "ftci:AccruedExpensesAndOtherCurrentLiabilitiesTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R38": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100420 - Disclosure - Income taxes (Tables)",
     "role": "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesTables",
     "shortName": "Income taxes (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R39": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "ftci:AccruedExpensesAndOtherCurrentLiabilitiesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock",
      "reportCount": 1,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100430 - Disclosure - Commitments and contingencies (Tables)",
     "role": "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureCommitmentsAndContingenciesTables",
     "shortName": "Commitments and contingencies (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": null
    },
    "R4": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "100060 - Statement - Consolidated Statements of Operations and Comprehensive Loss (Unaudited)",
     "role": "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLossUnaudited",
     "shortName": "Consolidated Statements of Operations and Comprehensive Loss (Unaudited)",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:CostOfGoodsAndServicesSold",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R40": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100440 - Disclosure - Stock compensation and other employee benefit plans (Tables)",
     "role": "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansTables",
     "shortName": "Stock compensation and other employee benefit plans (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R41": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "us-gaap:EarningsPerShareTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100460 - Disclosure - Earnings (loss) per share (Tables)",
     "role": "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureEarningsLossPerShareTables",
     "shortName": "Earnings (loss) per share (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "us-gaap:EarningsPerShareTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R42": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "us-gaap:QuarterlyFinancialInformationTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100470 - Disclosure - Quarterly information (unaudited) (Tables)",
     "role": "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureQuarterlyInformationUnauditedTables",
     "shortName": "Quarterly information (unaudited) (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "us-gaap:QuarterlyFinancialInformationTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R43": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:PaymentsOfStockIssuanceCosts",
      "reportCount": 1,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100490 - Disclosure - Description of business - Additional Information (Details)",
     "role": "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDescriptionOfBusinessAdditionalInformationDetails",
     "shortName": "Description of business - Additional Information (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_ddc95f28-0980-4acf-91b5-5e2c47800b38",
      "decimals": "-6",
      "lang": null,
      "name": "us-gaap:PaymentsToAcquireProductiveAssets",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R44": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:IncreaseDecreaseInAccountsPayable",
      "reportCount": 1,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100500 - Disclosure - Revision of previously issued financial statements - Schedule of Consolidated Statement of Cash Flows (Details)",
     "role": "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureRevisionOfPreviouslyIssuedFinancialStatementsScheduleOfConsolidatedStatementOfCashFlowsDetails",
     "shortName": "Revision of previously issued financial statements - Schedule of Consolidated Statement of Cash Flows (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "srt:ScheduleOfCondensedFinancialStatementsTableTextBlock",
       "div",
       "ftci:RevisionOfPreviouslyIssuedFinancialStatementsTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_5b91151a-74b9-420e-8afc-ba35f6fa937d",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:IncreaseDecreaseInAccountsPayable",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R45": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "us-gaap:BasisOfAccountingPolicyPolicyTextBlock",
       "div",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_b2355219-1bc5-4c79-a75d-4e5ad46b9b34",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:StockholdersEquityReverseStockSplit",
      "reportCount": 1,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100510 - Disclosure - Summary of significant accounting policies - Additional Information (Details)",
     "role": "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails",
     "shortName": "Summary of significant accounting policies - Additional Information (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "ix:continuation",
       "div",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_36d6a15f-356e-41d3-96f1-ec2dac28269a",
      "decimals": "-5",
      "lang": null,
      "name": "us-gaap:Cash",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R46": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ImpairedAssetsToBeDisposedOfByMethodOtherThanSaleTextBlock",
       "div",
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "div",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_9b8aa996-baab-4bfa-a3fb-536b136cb186",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentUsefulLife",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100520 - Disclosure - Summary of significant accounting policies - Summary of property and equipment (Details)",
     "role": "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesSummaryOfPropertyAndEquipmentDetails",
     "shortName": "Summary of significant accounting policies - Summary of property and equipment (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ImpairedAssetsToBeDisposedOfByMethodOtherThanSaleTextBlock",
       "div",
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "div",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_9b8aa996-baab-4bfa-a3fb-536b136cb186",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentUsefulLife",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R47": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
       "div",
       "us-gaap:AccountsAndNontradeReceivableTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_36d6a15f-356e-41d3-96f1-ec2dac28269a",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:TradeReceivablesHeldForSaleAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100530 - Disclosure - Accounts receivable, net - Schedule of Accounts Receivable, Net (Details)",
     "role": "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureAccountsReceivableNetScheduleOfAccountsReceivableNetDetails",
     "shortName": "Accounts receivable, net - Schedule of Accounts Receivable, Net (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
       "div",
       "us-gaap:AccountsAndNontradeReceivableTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_36d6a15f-356e-41d3-96f1-ec2dac28269a",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:TradeReceivablesHeldForSaleAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R48": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock",
       "div",
       "us-gaap:AccountsAndNontradeReceivableTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d451f902-6f93-4f31-ad7f-58eb2220d550",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivable",
      "reportCount": 1,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100540 - Disclosure - Accounts receivable, net - Summary of Changes in the Allowance for Doubtful Trade Receivables (Details)",
     "role": "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureAccountsReceivableNetSummaryOfChangesInTheAllowanceForDoubtfulTradeReceivablesDetails",
     "shortName": "Accounts receivable, net - Summary of Changes in the Allowance for Doubtful Trade Receivables (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock",
       "div",
       "us-gaap:AccountsAndNontradeReceivableTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_1af940d4-ffbb-4455-b3d1-f8a2f83d827a",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivable",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R49": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "us-gaap:AccountsAndNontradeReceivableTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_36d6a15f-356e-41d3-96f1-ec2dac28269a",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "ftci:RetainageProvisionsIncludedInReceivables",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100550 - Disclosure - Accounts receivable, net (Additional Information) (Details)",
     "role": "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureAccountsReceivableNetAdditionalInformationDetails",
     "shortName": "Accounts receivable, net (Additional Information) (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "us-gaap:AccountsAndNontradeReceivableTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_36d6a15f-356e-41d3-96f1-ec2dac28269a",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "ftci:RetainageProvisionsIncludedInReceivables",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R5": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_1af940d4-ffbb-4455-b3d1-f8a2f83d827a",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:StockholdersEquity",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "100070 - Statement - Consolidated Statements of Stockholders' Equity (Deficit) (Unaudited)",
     "role": "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfStockholdersEquityDeficitUnaudited",
     "shortName": "Consolidated Statements of Stockholders' Equity (Deficit) (Unaudited)",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_1af940d4-ffbb-4455-b3d1-f8a2f83d827a",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:StockholdersEquity",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R50": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_36d6a15f-356e-41d3-96f1-ec2dac28269a",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ContractWithCustomerLiabilityCurrent",
      "reportCount": 1,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100570 - Disclosure - Revenue - Additional Information - (Details)",
     "role": "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureRevenueAdditionalInformationDetails13",
     "shortName": "Revenue - Additional Information - (Details)",
     "subGroupType": "details",
     "uniqueAnchor": null
    },
    "R51": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "div",
       "us-gaap:InventoryDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_36d6a15f-356e-41d3-96f1-ec2dac28269a",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:InventoryFinishedGoods",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100580 - Disclosure - Inventories, net - Schedule of inventory (Details)",
     "role": "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureInventoriesNetScheduleOfInventoryDetails",
     "shortName": "Inventories, net - Schedule of inventory (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "div",
       "us-gaap:InventoryDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_36d6a15f-356e-41d3-96f1-ec2dac28269a",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:InventoryFinishedGoods",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R52": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "div",
       "us-gaap:InventoryDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d451f902-6f93-4f31-ad7f-58eb2220d550",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:InventoryValuationReserves",
      "reportCount": 1,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100590 - Disclosure - Inventories, net - Schedule of Activity in Slow-moving and Obsolete Inventory (Details)",
     "role": "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureInventoriesNetScheduleOfActivityInSlowmovingAndObsoleteInventoryDetails",
     "shortName": "Inventories, net - Schedule of Activity in Slow-moving and Obsolete Inventory (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "ftci:ScheduleOfAllowanceForSlowMovingObsoleteInventoryTableTextblock",
       "div",
       "us-gaap:InventoryDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": "-3",
      "lang": null,
      "name": "ftci:WriteOffOfObsoleteInventory",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R53": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock",
       "div",
       "ftci:PrepaidExpensesAndOtherCurrentAssetsTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_36d6a15f-356e-41d3-96f1-ec2dac28269a",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "ftci:VendorDeposits",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100600 - Disclosure - Prepaid and other current assets - Schedule of Prepaid Expenses and Other Current Assets (Details)",
     "role": "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosurePrepaidAndOtherCurrentAssetsScheduleOfPrepaidExpensesAndOtherCurrentAssetsDetails",
     "shortName": "Prepaid and other current assets - Schedule of Prepaid Expenses and Other Current Assets (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock",
       "div",
       "ftci:PrepaidExpensesAndOtherCurrentAssetsTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_36d6a15f-356e-41d3-96f1-ec2dac28269a",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "ftci:VendorDeposits",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R54": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LeaseCostTableTextBlock",
       "div",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:OperatingLeaseCost",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100610 - Disclosure - Leases - Summary of Lease Expense (Details)",
     "role": "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureLeasesSummaryOfLeaseExpenseDetails",
     "shortName": "Leases - Summary of Lease Expense (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LeaseCostTableTextBlock",
       "div",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:OperatingLeaseCost",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R55": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "div",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_36d6a15f-356e-41d3-96f1-ec2dac28269a",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100620 - Disclosure - Leases - Summary of Future Remaining Lease Payments Obligations (Details)",
     "role": "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureLeasesSummaryOfFutureRemainingLeasePaymentsObligationsDetails",
     "shortName": "Leases - Summary of Future Remaining Lease Payments Obligations (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "div",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_36d6a15f-356e-41d3-96f1-ec2dac28269a",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R56": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_36d6a15f-356e-41d3-96f1-ec2dac28269a",
      "decimals": "3",
      "first": true,
      "lang": null,
      "name": "us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_pure",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100630 - Disclosure - Leases (Additional Information) (Details)",
     "role": "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureLeasesAdditionalInformationDetails",
     "shortName": "Leases (Additional Information) (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_36d6a15f-356e-41d3-96f1-ec2dac28269a",
      "decimals": "3",
      "first": true,
      "lang": null,
      "name": "us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_pure",
      "xsiNil": "false"
     }
    },
    "R57": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:PropertyPlantAndEquipmentTextBlock",
       "div",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_36d6a15f-356e-41d3-96f1-ec2dac28269a",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:PropertyPlantAndEquipmentGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100640 - Disclosure - Property and equipment, net - Schedule of Property and Equipment (Details)",
     "role": "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosurePropertyAndEquipmentNetScheduleOfPropertyAndEquipmentDetails",
     "shortName": "Property and equipment, net - Schedule of Property and Equipment (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:PropertyPlantAndEquipmentTextBlock",
       "div",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_36d6a15f-356e-41d3-96f1-ec2dac28269a",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:PropertyPlantAndEquipmentGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R58": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "ftci:ScheduleOfPropertyPlantAndEquipmentDepreciationExpenseTableTextBlock",
       "div",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:Depreciation",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100650 - Disclosure - Property and equipment, net - Schedule of Depreciation Expense (Details)",
     "role": "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosurePropertyAndEquipmentNetScheduleOfDepreciationExpenseDetails",
     "shortName": "Property and equipment, net - Schedule of Depreciation Expense (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "ftci:ScheduleOfPropertyPlantAndEquipmentDepreciationExpenseTableTextBlock",
       "div",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:Depreciation",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R59": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDebtTableTextBlock",
       "div",
       "us-gaap:DebtDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_36d6a15f-356e-41d3-96f1-ec2dac28269a",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DebtInstrumentCarryingAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100660 - Disclosure - Debt - Schedule of Debt (Details)",
     "role": "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDebtScheduleOfDebtDetails",
     "shortName": "Debt - Schedule of Debt (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDebtTableTextBlock",
       "div",
       "us-gaap:DebtDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_36d6a15f-356e-41d3-96f1-ec2dac28269a",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DebtInstrumentCarryingAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R6": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:NetIncomeLoss",
      "reportCount": 1,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "100080 - Statement - Consolidated Statements of Cash Flows (Unaudited)",
     "role": "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited",
     "shortName": "Consolidated Statements of Cash Flows (Unaudited)",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:ShareBasedCompensation",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R60": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_36d6a15f-356e-41d3-96f1-ec2dac28269a",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:CommonStockSharesIssued",
      "reportCount": 1,
      "unitRef": "U_shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100670 - Disclosure - Debt - Additional Information (Details)",
     "role": "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDebtAdditionalInformationDetails",
     "shortName": "Debt - Additional Information (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "us-gaap:DebtDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_70ea8945-396b-4592-a013-9b30d820b694",
      "decimals": "4",
      "lang": null,
      "name": "us-gaap:LineOfCreditFacilityInterestRateDuringPeriod",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_pure",
      "xsiNil": "false"
     }
    },
    "R61": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "ftci:AccruedExpensesAndOtherCurrentLiabilitiesTableTextBlock",
       "div",
       "ftci:AccruedExpensesAndOtherCurrentLiabilitiesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_36d6a15f-356e-41d3-96f1-ec2dac28269a",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "ftci:AccruedCostOfRevenues",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100680 - Disclosure - Accrued expenses and other current liabilities - Schedule of Accrued Expenses and Other Current Liabilities (Details)",
     "role": "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails",
     "shortName": "Accrued expenses and other current liabilities - Schedule of Accrued Expenses and Other Current Liabilities (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "ftci:AccruedExpensesAndOtherCurrentLiabilitiesTableTextBlock",
       "div",
       "ftci:AccruedExpensesAndOtherCurrentLiabilitiesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_36d6a15f-356e-41d3-96f1-ec2dac28269a",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "ftci:AccruedCostOfRevenues",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R62": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock",
       "div",
       "ftci:AccruedExpensesAndOtherCurrentLiabilitiesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d451f902-6f93-4f31-ad7f-58eb2220d550",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:StandardProductWarrantyAccrual",
      "reportCount": 1,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100690 - Disclosure - Accrued expenses and other current liabilities - Schedule of warranty accruals (Details)",
     "role": "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesScheduleOfWarrantyAccrualsDetails",
     "shortName": "Accrued expenses and other current liabilities - Schedule of warranty accruals (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock",
       "div",
       "ftci:AccruedExpensesAndOtherCurrentLiabilitiesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_1af940d4-ffbb-4455-b3d1-f8a2f83d827a",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:StandardProductWarrantyAccrual",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R63": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
      "reportCount": 1,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100700 - Disclosure - Income taxes - Schedule of components of income before income taxes (Details)",
     "role": "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesScheduleOfComponentsOfIncomeBeforeIncomeTaxesDetails",
     "shortName": "Income taxes - Schedule of components of income before income taxes (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
       "div",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d3bb7871-4054-4850-b16e-a9d1f1b4ea8c",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R64": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock",
       "div",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:CurrentFederalTaxExpenseBenefit",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100710 - Disclosure - Income taxes - Schedule of provisions (benefits) for income taxes (Details)",
     "role": "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesScheduleOfProvisionsBenefitsForIncomeTaxesDetails",
     "shortName": "Income taxes - Schedule of provisions (benefits) for income taxes (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock",
       "div",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:CurrentFederalTaxExpenseBenefit",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R65": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
       "div",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_36d6a15f-356e-41d3-96f1-ec2dac28269a",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "ftci:DeferredTaxAssetsFixedAssetsAndIntangibles",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100720 - Disclosure - Income taxes - Schedule of components of deferred tax assets and liabilities (Details)",
     "role": "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesScheduleOfComponentsOfDeferredTaxAssetsAndLiabilitiesDetails",
     "shortName": "Income taxes - Schedule of components of deferred tax assets and liabilities (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
       "div",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_36d6a15f-356e-41d3-96f1-ec2dac28269a",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "ftci:DeferredTaxAssetsFixedAssetsAndIntangibles",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R66": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount",
      "reportCount": 1,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100730 - Disclosure - Income taxes - Additional Information (Details)",
     "role": "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesAdditionalInformationDetails",
     "shortName": "Income taxes - Additional Information (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": "-5",
      "lang": null,
      "name": "ftci:ValuationAllowanceDeferredTaxAssetsIncreaseContinuingOperations",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R67": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock",
       "div",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d451f902-6f93-4f31-ad7f-58eb2220d550",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:UnrecognizedTaxBenefits",
      "reportCount": 1,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100740 - Disclosure - Income taxes - Schedule of changes in our accruals for unrecognized tax benefits (Details)",
     "role": "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesScheduleOfChangesInOurAccrualsForUnrecognizedTaxBenefitsDetails",
     "shortName": "Income taxes - Schedule of changes in our accruals for unrecognized tax benefits (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock",
       "div",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R68": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_36d6a15f-356e-41d3-96f1-ec2dac28269a",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:LossContingencyAccrualAtCarryingValue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100750 - Disclosure - Commitments and contingencies - Additional Information (Details)",
     "role": "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureCommitmentsAndContingenciesAdditionalInformationDetails",
     "shortName": "Commitments and contingencies - Additional Information (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_36d6a15f-356e-41d3-96f1-ec2dac28269a",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:LossContingencyAccrualAtCarryingValue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R69": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_36d6a15f-356e-41d3-96f1-ec2dac28269a",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:PreferredStockSharesAuthorized",
      "reportCount": 1,
      "unitRef": "U_shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100760 - Disclosure - Stockholders' equity - Additional Information (Details)",
     "role": "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockholdersEquityAdditionalInformationDetails",
     "shortName": "Stockholders' equity - Additional Information (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:Dividends",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R7": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100090 - Disclosure - Description of business",
     "role": "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDescriptionOfBusiness1",
     "shortName": "Description of business",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R70": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100770 - Disclosure - Stock compensation and other employee benefit plans - Additional Information (Details)",
     "role": "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansAdditionalInformationDetails",
     "shortName": "Stock compensation and other employee benefit plans - Additional Information (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R71": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
       "div",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:AllocatedShareBasedCompensationExpense",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100780 - Disclosure - Stock compensation and other employee benefit plans - Stock compensation expense (Details)",
     "role": "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansStockCompensationExpenseDetails",
     "shortName": "Stock compensation and other employee benefit plans - Stock compensation expense (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
       "div",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:AllocatedShareBasedCompensationExpense",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R72": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingTableTextBlock",
       "div",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d451f902-6f93-4f31-ad7f-58eb2220d550",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100790 - Disclosure - Stock compensation and other employee benefit plans - Outstanding option awards (Details)",
     "role": "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansOutstandingOptionAwardsDetails",
     "shortName": "Stock compensation and other employee benefit plans - Outstanding option awards (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingTableTextBlock",
       "div",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d451f902-6f93-4f31-ad7f-58eb2220d550",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_shares",
      "xsiNil": "false"
     }
    },
    "R73": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
       "div",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100800 - Disclosure - Stock compensation and other employee benefit plans - Assumptions used to value option awards (Details)",
     "role": "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansAssumptionsUsedToValueOptionAwardsDetails",
     "shortName": "Stock compensation and other employee benefit plans - Assumptions used to value option awards (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
       "div",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R74": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingTableTextBlock",
       "div",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross",
      "reportCount": 1,
      "unitRef": "U_shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100810 - Disclosure - Stock compensation and other employee benefit plans - Summary of outstanding restricted stock unit and restricted stock awards (Details)",
     "role": "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansSummaryOfOutstandingRestrictedStockUnitAndRestrictedStockAwardsDetails",
     "shortName": "Stock compensation and other employee benefit plans - Summary of outstanding restricted stock unit and restricted stock awards (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationArrangementByShareBasedPaymentAwardRestrictedStockUnitsVestedAndExpectedToVestTableTextBlock",
       "div",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_20e5d118-6518-45ff-8b14-19145feaf544",
      "decimals": "INF",
      "lang": null,
      "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_shares",
      "xsiNil": "false"
     }
    },
    "R75": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "us-gaap:EquityMethodInvestmentsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_34274862-0e77-4e0d-9092-24eb9cf33eca",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "ftci:EquityMethodInvestmentSuccessBasedFeePayment",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100820 - Disclosure - Sale of investment in unconsolidated subsidiary - Additional Information (Details)",
     "role": "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSaleOfInvestmentInUnconsolidatedSubsidiaryAdditionalInformationDetails",
     "shortName": "Sale of investment in unconsolidated subsidiary - Additional Information (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "us-gaap:EquityMethodInvestmentsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_34274862-0e77-4e0d-9092-24eb9cf33eca",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "ftci:EquityMethodInvestmentSuccessBasedFeePayment",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R76": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "us-gaap:EarningsPerShareTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": "2",
      "first": true,
      "lang": null,
      "name": "ftci:ForwardStockSplit",
      "reportCount": 1,
      "unitRef": "U_pure",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100830 - Disclosure - Earnings (loss) per share (Additional Information) (Details)",
     "role": "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureEarningsLossPerShareAdditionalInformationDetails",
     "shortName": "Earnings (loss) per share (Additional Information) (Details)",
     "subGroupType": "details",
     "uniqueAnchor": null
    },
    "R77": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:NetIncomeLoss",
      "reportCount": 1,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100840 - Disclosure - Earnings (loss) per share - Schedule of Computation of Basic and Diluted Loss Per Share (Details)",
     "role": "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureEarningsLossPerShareScheduleOfComputationOfBasicAndDilutedLossPerShareDetails",
     "shortName": "Earnings (loss) per share - Schedule of Computation of Basic and Diluted Loss Per Share (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "us-gaap:EarningsPerShareTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": "0",
      "lang": null,
      "name": "us-gaap:WeightedAverageNumberOfShareOutstandingBasicAndDiluted",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_shares",
      "xsiNil": "false"
     }
    },
    "R78": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock",
       "div",
       "us-gaap:EarningsPerShareTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100850 - Disclosure - Earnings (loss) per share - Schedule of Antidilutive Securities Excluded from Computation of Diluted Net Income Per Share (Details)",
     "role": "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureEarningsLossPerShareScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfDilutedNetIncomePerShareDetails",
     "shortName": "Earnings (loss) per share - Schedule of Antidilutive Securities Excluded from Computation of Diluted Net Income Per Share (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock",
       "div",
       "us-gaap:EarningsPerShareTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_shares",
      "xsiNil": "false"
     }
    },
    "R79": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_36d6a15f-356e-41d3-96f1-ec2dac28269a",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ShortTermBorrowings",
      "reportCount": 1,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100860 - Disclosure - Fair value measurements (Additional Information) (Details)",
     "role": "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetails",
     "shortName": "Fair value measurements (Additional Information) (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "us-gaap:FairValueDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:ImpairmentOfLongLivedAssetsHeldForUse",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R8": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "ftci:RevisionOfPreviouslyIssuedFinancialStatementsTextBlock",
      "reportCount": 1,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100100 - Disclosure - Revision of previously issued financial statements",
     "role": "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureRevisionOfPreviouslyIssuedFinancialStatements2",
     "shortName": "Revision of previously issued financial statements",
     "subGroupType": "",
     "uniqueAnchor": null
    },
    "R80": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d451f902-6f93-4f31-ad7f-58eb2220d550",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:CommonStockSharesIssued",
      "reportCount": 1,
      "unitRef": "U_shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100870 - Disclosure - Related parties -Additional Information (Detail)",
     "role": "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureRelatedPartiesAdditionalInformationDetail",
     "shortName": "Related parties -Additional Information (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "us-gaap:RelatedPartyTransactionsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_47cb7712-bb45-4624-89b9-c7f72861a3e1",
      "decimals": "-6",
      "lang": null,
      "name": "us-gaap:DebtInstrumentFaceAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R81": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "us-gaap:QuarterlyFinancialInformationTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_a5c1b2a4-8039-4976-b5f0-908d5da22f4c",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100880 - Disclosure - Quarterly information (unaudited) (Additional Information) (Details)",
     "role": "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureQuarterlyInformationUnauditedAdditionalInformationDetails",
     "shortName": "Quarterly information (unaudited) (Additional Information) (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "us-gaap:QuarterlyFinancialInformationTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_a5c1b2a4-8039-4976-b5f0-908d5da22f4c",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R82": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:GrossProfit",
      "reportCount": 1,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100890 - Disclosure - Quarterly information (unaudited) - Schedule of quarterly information (Details)",
     "role": "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureQuarterlyInformationUnauditedScheduleOfQuarterlyInformationDetails",
     "shortName": "Quarterly information (unaudited) - Schedule of quarterly information (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock",
       "div",
       "us-gaap:QuarterlyFinancialInformationTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_ee11b650-b84b-4fa9-9fc3-b1396bc4c471",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:Revenues",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R83": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_36d6a15f-356e-41d3-96f1-ec2dac28269a",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:CommonStockSharesIssued",
      "reportCount": 1,
      "unitRef": "U_shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100900 - Disclosure - Subsequent Events (Additional Information) (Details)",
     "role": "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSubsequentEventsAdditionalInformationDetails",
     "shortName": "Subsequent Events (Additional Information) (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "us-gaap:SubsequentEventsTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_9f28f3ad-a0e7-439f-afa7-654c0f993f1a",
      "decimals": "-5",
      "lang": null,
      "name": "us-gaap:PaymentsToAcquireBusinessesGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R84": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100920 - Disclosure - Segment information - Schedule of Company's Total Revenue by Geographic Area (Details)",
     "role": "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSegmentInformationScheduleOfCompanysTotalRevenueByGeographicAreaDetails",
     "shortName": "Segment information - Schedule of Company's Total Revenue by Geographic Area (Details)",
     "subGroupType": "details",
     "uniqueAnchor": null
    },
    "R9": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SignificantAccountingPoliciesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100110 - Disclosure - Summary of significant accounting policies",
     "role": "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPolicies1",
     "shortName": "Summary of significant accounting policies",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "ftci-20211231.htm",
      "contextRef": "C_d982865c-94fc-423a-9a8c-adeac6fa2873",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SignificantAccountingPoliciesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    }
   },
   "segmentCount": 66,
   "tag": {
    "country_US": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "UNITED STATES",
        "verboseLabel": "United States [Member]"
       }
      }
     },
     "localname": "US",
     "nsuri": "http://xbrl.sec.gov/country/2021",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesScheduleOfComponentsOfIncomeBeforeIncomeTaxesDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSegmentInformationScheduleOfCompanysTotalRevenueByGeographicAreaDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "country_VN": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "VIET NAM",
        "verboseLabel": "Vietnam [Member]"
       }
      }
     },
     "localname": "VN",
     "nsuri": "http://xbrl.sec.gov/country/2021",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSegmentInformationScheduleOfCompanysTotalRevenueByGeographicAreaDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "dei_AmendmentFlag": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.",
        "label": "Amendment Flag",
        "terseLabel": "Amendment Flag"
       }
      }
     },
     "localname": "AmendmentFlag",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_AuditorFirmId": {
     "auth_ref": [
      "r681",
      "r682",
      "r683"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "PCAOB issued Audit Firm Identifier",
        "label": "Auditor Firm ID"
       }
      }
     },
     "localname": "AuditorFirmId",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "nonemptySequenceNumberItemType"
    },
    "dei_AuditorLocation": {
     "auth_ref": [
      "r681",
      "r682",
      "r683"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Location"
       }
      }
     },
     "localname": "AuditorLocation",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "internationalNameItemType"
    },
    "dei_AuditorName": {
     "auth_ref": [
      "r681",
      "r682",
      "r683"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Name"
       }
      }
     },
     "localname": "AuditorName",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "internationalNameItemType"
    },
    "dei_CityAreaCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Area code of city",
        "label": "City Area Code",
        "terseLabel": "City Area Code"
       }
      }
     },
     "localname": "CityAreaCode",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_CoverAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Cover page.",
        "label": "Cover [Abstract]"
       }
      }
     },
     "localname": "CoverAbstract",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "xbrltype": "stringItemType"
    },
    "dei_CurrentFiscalYearEndDate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "End date of current fiscal year in the format --MM-DD.",
        "label": "Current Fiscal Year End Date",
        "terseLabel": "Current Fiscal Year End Date"
       }
      }
     },
     "localname": "CurrentFiscalYearEndDate",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "gMonthDayItemType"
    },
    "dei_DocumentAnnualReport": {
     "auth_ref": [
      "r681",
      "r682",
      "r683"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true only for a form used as an annual report.",
        "label": "Document Annual Report"
       }
      }
     },
     "localname": "DocumentAnnualReport",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentFiscalPeriodFocus": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fiscal period values are FY, Q1, Q2, and Q3.  1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY.",
        "label": "Document Fiscal Period Focus",
        "verboseLabel": "Document Fiscal Period Focus"
       }
      }
     },
     "localname": "DocumentFiscalPeriodFocus",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "fiscalPeriodItemType"
    },
    "dei_DocumentFiscalYearFocus": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.",
        "label": "Document Fiscal Year Focus",
        "terseLabel": "Document Fiscal Year Focus"
       }
      }
     },
     "localname": "DocumentFiscalYearFocus",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "gYearItemType"
    },
    "dei_DocumentPeriodEndDate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period.  The format of the date is YYYY-MM-DD.",
        "label": "Document Period End Date",
        "terseLabel": "Document Period End Date"
       }
      }
     },
     "localname": "DocumentPeriodEndDate",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "dateItemType"
    },
    "dei_DocumentTransitionReport": {
     "auth_ref": [
      "r684"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true only for a form used as a transition report.",
        "label": "Document Transition Report",
        "terseLabel": "Document Transition Report"
       }
      }
     },
     "localname": "DocumentTransitionReport",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentType": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.",
        "label": "Document Type",
        "terseLabel": "Document Type"
       }
      }
     },
     "localname": "DocumentType",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "submissionTypeItemType"
    },
    "dei_DocumentsIncorporatedByReferenceTextBlock": {
     "auth_ref": [
      "r679"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Documents incorporated by reference.",
        "label": "Documents Incorporated by Reference [Text Block]",
        "terseLabel": "Documents Incorporated by Reference"
       }
      }
     },
     "localname": "DocumentsIncorporatedByReferenceTextBlock",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "textBlockItemType"
    },
    "dei_EntityAddressAddressLine1": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Address Line 1 such as Attn, Building Name, Street Name",
        "label": "Entity Address, Address Line One",
        "terseLabel": "Entity Address, Address Line One"
       }
      }
     },
     "localname": "EntityAddressAddressLine1",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressAddressLine2": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Address Line 2 such as Street or Suite number",
        "label": "Entity Address, Address Line Two",
        "terseLabel": "Entity Address, Address Line Two"
       }
      }
     },
     "localname": "EntityAddressAddressLine2",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressCityOrTown": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the City or Town",
        "label": "Entity Address, City or Town",
        "terseLabel": "Entity Address, City or Town"
       }
      }
     },
     "localname": "EntityAddressCityOrTown",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressPostalZipCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Code for the postal or zip code",
        "label": "Entity Address, Postal Zip Code",
        "terseLabel": "Entity Address, Postal Zip Code"
       }
      }
     },
     "localname": "EntityAddressPostalZipCode",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressStateOrProvince": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the state or province.",
        "label": "Entity Address, State or Province",
        "terseLabel": "Entity Address, State or Province"
       }
      }
     },
     "localname": "EntityAddressStateOrProvince",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "stateOrProvinceItemType"
    },
    "dei_EntityCentralIndexKey": {
     "auth_ref": [
      "r678"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.",
        "label": "Entity Central Index Key",
        "terseLabel": "Entity Central Index Key"
       }
      }
     },
     "localname": "EntityCentralIndexKey",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "centralIndexKeyItemType"
    },
    "dei_EntityCommonStockSharesOutstanding": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument.",
        "label": "Entity Common Stock, Shares Outstanding",
        "terseLabel": "Entity Common Stock, Shares Outstanding"
       }
      }
     },
     "localname": "EntityCommonStockSharesOutstanding",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "sharesItemType"
    },
    "dei_EntityCurrentReportingStatus": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure.",
        "label": "Entity Current Reporting Status",
        "terseLabel": "Entity Current Reporting Status"
       }
      }
     },
     "localname": "EntityCurrentReportingStatus",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityEmergingGrowthCompany": {
     "auth_ref": [
      "r678"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate if registrant meets the emerging growth company criteria.",
        "label": "Entity Emerging Growth Company",
        "terseLabel": "Entity Emerging Growth Company"
       }
      }
     },
     "localname": "EntityEmergingGrowthCompany",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityExTransitionPeriod": {
     "auth_ref": [
      "r700"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate if an emerging growth company has elected not to use the extended transition period for complying with any new or revised financial accounting standards.",
        "label": "Entity Ex Transition Period",
        "terseLabel": "Entity Ex Transition Period"
       }
      }
     },
     "localname": "EntityExTransitionPeriod",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityFileNumber": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.",
        "label": "Entity File Number",
        "terseLabel": "Entity File Number"
       }
      }
     },
     "localname": "EntityFileNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "fileNumberItemType"
    },
    "dei_EntityFilerCategory": {
     "auth_ref": [
      "r678"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure.",
        "label": "Entity Filer Category",
        "terseLabel": "Entity Filer Category"
       }
      }
     },
     "localname": "EntityFilerCategory",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "filerCategoryItemType"
    },
    "dei_EntityIncorporationStateCountryCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Two-character EDGAR code representing the state or country of incorporation.",
        "label": "Entity Incorporation, State or Country Code",
        "terseLabel": "Entity Incorporation, State or Country Code"
       }
      }
     },
     "localname": "EntityIncorporationStateCountryCode",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "edgarStateCountryItemType"
    },
    "dei_EntityInteractiveDataCurrent": {
     "auth_ref": [
      "r686"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).",
        "label": "Entity Interactive Data Current",
        "terseLabel": "Entity Interactive Data Current"
       }
      }
     },
     "localname": "EntityInteractiveDataCurrent",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityPublicFloat": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate market value of the voting and non-voting common equity held by non-affiliates computed by reference to the price at which the common equity was last sold, or the average bid and asked price of such common equity, as of the last business day of the registrant's most recently completed second fiscal quarter.",
        "label": "Entity Public Float"
       }
      }
     },
     "localname": "EntityPublicFloat",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "monetaryItemType"
    },
    "dei_EntityRegistrantName": {
     "auth_ref": [
      "r678"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.",
        "label": "Entity Registrant Name",
        "terseLabel": "Entity Registrant Name"
       }
      }
     },
     "localname": "EntityRegistrantName",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityShellCompany": {
     "auth_ref": [
      "r678"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.",
        "label": "Entity Shell Company",
        "terseLabel": "Entity Shell Company"
       }
      }
     },
     "localname": "EntityShellCompany",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntitySmallBusiness": {
     "auth_ref": [
      "r678"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicates that the company is a Smaller Reporting Company (SRC).",
        "label": "Entity Small Business",
        "terseLabel": "Entity Small Business"
       }
      }
     },
     "localname": "EntitySmallBusiness",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityTaxIdentificationNumber": {
     "auth_ref": [
      "r678"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.",
        "label": "Entity Tax Identification Number",
        "terseLabel": "Entity Tax Identification Number"
       }
      }
     },
     "localname": "EntityTaxIdentificationNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "employerIdItemType"
    },
    "dei_EntityVoluntaryFilers": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate 'Yes' or 'No' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act.",
        "label": "Entity Voluntary Filers"
       }
      }
     },
     "localname": "EntityVoluntaryFilers",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityWellKnownSeasonedIssuer": {
     "auth_ref": [
      "r699"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate 'Yes' or 'No' if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Is used on Form Type: 10-K, 10-Q, 8-K, 20-F, 6-K, 10-K/A, 10-Q/A, 20-F/A, 6-K/A, N-CSR, N-Q, N-1A.",
        "label": "Entity Well-known Seasoned Issuer"
       }
      }
     },
     "localname": "EntityWellKnownSeasonedIssuer",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_IcfrAuditorAttestationFlag": {
     "auth_ref": [
      "r681",
      "r682",
      "r683"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "ICFR Auditor Attestation Flag"
       }
      }
     },
     "localname": "IcfrAuditorAttestationFlag",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_LocalPhoneNumber": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Local phone number for entity.",
        "label": "Local Phone Number",
        "terseLabel": "Local Phone Number"
       }
      }
     },
     "localname": "LocalPhoneNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_Security12bTitle": {
     "auth_ref": [
      "r677"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Title of a 12(b) registered security.",
        "label": "Title of 12(b) Security",
        "terseLabel": "Title of 12(b) Security"
       }
      }
     },
     "localname": "Security12bTitle",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "securityTitleItemType"
    },
    "dei_SecurityExchangeName": {
     "auth_ref": [
      "r680"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the Exchange on which a security is registered.",
        "label": "Security Exchange Name",
        "terseLabel": "Security Exchange Name"
       }
      }
     },
     "localname": "SecurityExchangeName",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "edgarExchangeCodeItemType"
    },
    "dei_TradingSymbol": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Trading symbol of an instrument as listed on an exchange.",
        "label": "Trading Symbol",
        "terseLabel": "Trading Symbol"
       }
      }
     },
     "localname": "TradingSymbol",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "tradingSymbolItemType"
    },
    "ftci_AbilityToContinueAsAGoingConcern": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Ability to continue as a going concern",
        "label": "Ability to continue as a going concern",
        "terseLabel": "Ability to continue as a going concern"
       }
      }
     },
     "localname": "AbilityToContinueAsAGoingConcern",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "ftci_AccruedCompensations": {
     "auth_ref": [],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accrued compensation.",
        "label": "Accrued Compensations",
        "terseLabel": "Accrued compensation"
       }
      }
     },
     "localname": "AccruedCompensations",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "ftci_AccruedCostOfRevenues": {
     "auth_ref": [],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails": {
       "order": 0.0,
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accrued cost of revenues",
        "label": "Accrued cost of revenues",
        "terseLabel": "Accrued cost of revenue"
       }
      }
     },
     "localname": "AccruedCostOfRevenues",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "ftci_AccruedExpensesAndOtherCurrentLiabilitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accrued Expenses and Other Current Liabilities Abstract.",
        "label": "Accrued Expenses and Other Current Liabilities Abstract"
       }
      }
     },
     "localname": "AccruedExpensesAndOtherCurrentLiabilitiesAbstract",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "xbrltype": "stringItemType"
    },
    "ftci_AccruedExpensesAndOtherCurrentLiabilitiesDisclosureTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accrued Expenses and Other Current Liabilities Disclosure Text Block",
        "label": "Accrued Expenses and Other Current Liabilities Disclosure Text Block",
        "terseLabel": "Accrued expenses and other current liabilities"
       }
      }
     },
     "localname": "AccruedExpensesAndOtherCurrentLiabilitiesDisclosureTextBlock",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureAccruedExpensesAndOtherCurrentLiabilities1"
     ],
     "xbrltype": "textBlockItemType"
    },
    "ftci_AccruedExpensesAndOtherCurrentLiabilitiesTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accrued Expenses and Other Current Liabilities Table Text Block",
        "label": "Accrued Expenses and Other Current Liabilities Table Text Block",
        "terseLabel": "Schedule of Accrued Expenses and Other Current Liabilities"
       }
      }
     },
     "localname": "AccruedExpensesAndOtherCurrentLiabilitiesTableTextBlock",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "ftci_AsRevisedMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "As Revised [Member].",
        "label": "As Revised [Member]",
        "terseLabel": "As Revised"
       }
      }
     },
     "localname": "AsRevisedMember",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureQuarterlyInformationUnauditedScheduleOfQuarterlyInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureRevisionOfPreviouslyIssuedFinancialStatementsScheduleOfConsolidatedStatementOfCashFlowsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "ftci_AssetPurchaseAgreementMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Asset purchase agreement.",
        "label": "Asset Purchase Agreement [Member]",
        "terseLabel": "Asset Purchase Agreement [Member]"
       }
      }
     },
     "localname": "AssetPurchaseAgreementMember",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDescriptionOfBusinessAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "ftci_AvailableLiquidityAfterConsideringFinancialCondition": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Available liquidity after considering financial condition",
        "label": "Available liquidity after considering financial condition",
        "terseLabel": "Available liquidity after considering financial condition"
       }
      }
     },
     "localname": "AvailableLiquidityAfterConsideringFinancialCondition",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "ftci_BlackScholesMertonPricingFormulaWeightedAverageAssumptions": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Black-Scholes-Merton pricing formula weighted-average assumptions:",
        "label": "Black-Scholes-Merton pricing formula weighted-average assumptions:"
       }
      }
     },
     "localname": "BlackScholesMertonPricingFormulaWeightedAverageAssumptions",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansAssumptionsUsedToValueOptionAwardsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "ftci_BusinessCombinationContingentConsiderationReceivable": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Business Combination Contingent Consideration Receivable",
        "label": "Business Combination Contingent Consideration Receivable"
       }
      }
     },
     "localname": "BusinessCombinationContingentConsiderationReceivable",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSaleOfInvestmentInUnconsolidatedSubsidiaryAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "ftci_CashPaidDuringThePeriodForRelatedPartyInterest": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Cash paid during the period for related party interest",
        "label": "Cash paid during the period for related party interest",
        "terseLabel": "Cash paid during the period for related party interest"
       }
      }
     },
     "localname": "CashPaidDuringThePeriodForRelatedPartyInterest",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "ftci_CashPaidDuringThePeriodForThirdPartyInterest": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Cash paid during the period for third party interest",
        "label": "Cash paid during the period for third party interest",
        "terseLabel": "Cash paid during the period for third party interest"
       }
      }
     },
     "localname": "CashPaidDuringThePeriodForThirdPartyInterest",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "ftci_CommencementOfNewOperatingLeases": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Commencement of new operating leases.",
        "label": "Commencement of New Operating Leases",
        "terseLabel": "Commencement of new operating leases"
       }
      }
     },
     "localname": "CommencementOfNewOperatingLeases",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "ftci_CoronavirusAidReliefAndEconomicSecurityActMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Coronavirus Aid, Relief, and Economic Security Act.",
        "label": "Coronavirus Aid Relief And Economic Security Act [Member]",
        "terseLabel": "CARES Act [Member]"
       }
      }
     },
     "localname": "CoronavirusAidReliefAndEconomicSecurityActMember",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDebtAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "ftci_Covid19PandemicPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Covid-19 Pandemic Policy [Text Block]",
        "label": "Covid-19 Pandemic Policy [Text Block]",
        "terseLabel": "Covid-19 Pandemic"
       }
      }
     },
     "localname": "Covid19PandemicPolicyTextBlock",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "ftci_CreditFacilityRevolvingFees": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Credit facility revolving fees",
        "label": "Credit Facility Revolving Fees",
        "terseLabel": "Credit facility revolver fees"
       }
      }
     },
     "localname": "CreditFacilityRevolvingFees",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDebtAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "ftci_CustomerFourMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Customer Four [Member]",
        "label": "Customer Four [Member]",
        "terseLabel": "Customer Four [Member]"
       }
      }
     },
     "localname": "CustomerFourMember",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureAccountsReceivableNetAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "ftci_CustomerOneMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Customer One [Member]",
        "label": "Customer One [Member]",
        "terseLabel": "Customer One [Member]"
       }
      }
     },
     "localname": "CustomerOneMember",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureAccountsReceivableNetAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "ftci_CustomerThreeMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Customer Three [Member]",
        "label": "Customer Three [Member]",
        "terseLabel": "Customer Three [Member]"
       }
      }
     },
     "localname": "CustomerThreeMember",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureAccountsReceivableNetAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "ftci_CustomerTwoMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Customer Two [Member]",
        "label": "Customer Two [Member]",
        "terseLabel": "Customer Two [Member]"
       }
      }
     },
     "localname": "CustomerTwoMember",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureAccountsReceivableNetAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "ftci_DeferredCostOfRevenue": {
     "auth_ref": [],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosurePrepaidAndOtherCurrentAssetsScheduleOfPrepaidExpensesAndOtherCurrentAssetsDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_PrepaidExpenseAndOtherAssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Deferred cost of revenue",
        "label": "Deferred Cost of Revenue",
        "terseLabel": "Deferred cost of revenue"
       }
      }
     },
     "localname": "DeferredCostOfRevenue",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosurePrepaidAndOtherCurrentAssetsScheduleOfPrepaidExpensesAndOtherCurrentAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "ftci_DeferredIncomeTaxExpenseBenefitValuationAllowance": {
     "auth_ref": [],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesScheduleOfProvisionsBenefitsForIncomeTaxesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_DeferredIncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Deferred income tax expense benefit valuation allowance",
        "label": "Deferred Income Tax Expense Benefit Valuation Allowance",
        "terseLabel": "Valuation allowance"
       }
      }
     },
     "localname": "DeferredIncomeTaxExpenseBenefitValuationAllowance",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesScheduleOfProvisionsBenefitsForIncomeTaxesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "ftci_DeferredIncomeTaxes": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Deferred Income Taxes",
        "label": "Deferred income taxes"
       }
      }
     },
     "localname": "DeferredIncomeTaxes",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosurePrepaidAndOtherCurrentAssetsScheduleOfPrepaidExpensesAndOtherCurrentAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "ftci_DeferredTaxAssetsAccruedExpenses": {
     "auth_ref": [],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesScheduleOfComponentsOfDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Deferred tax assets accrued expenses",
        "label": "Deferred Tax Assets Accrued expenses",
        "terseLabel": "Accrued expenses"
       }
      }
     },
     "localname": "DeferredTaxAssetsAccruedExpenses",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesScheduleOfComponentsOfDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "ftci_DeferredTaxAssetsFixedAssetsAndIntangibles": {
     "auth_ref": [],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesScheduleOfComponentsOfDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 0.0,
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Deferred tax assets fixed assets and intangibles",
        "label": "Deferred Tax Assets Fixed Assets And Intangibles",
        "terseLabel": "Fixed assets and intangibles"
       }
      }
     },
     "localname": "DeferredTaxAssetsFixedAssetsAndIntangibles",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesScheduleOfComponentsOfDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "ftci_DeferredTaxAssetsLeases": {
     "auth_ref": [],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesScheduleOfComponentsOfDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Deferred tax assets leases",
        "label": "Deferred Tax Assets Leases",
        "terseLabel": "Leases"
       }
      }
     },
     "localname": "DeferredTaxAssetsLeases",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesScheduleOfComponentsOfDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "ftci_DeferredTaxAssetsStockOptions": {
     "auth_ref": [],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesScheduleOfComponentsOfDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 5.0,
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Deferred tax assets stock options",
        "label": "Deferred Tax Assets Stock Options",
        "terseLabel": "Stock options"
       }
      }
     },
     "localname": "DeferredTaxAssetsStockOptions",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesScheduleOfComponentsOfDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "ftci_DescriptionOfBusinessLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Description of business.",
        "label": "Description Of Business [Line Items]",
        "terseLabel": "Description Of Business [Line Items]"
       }
      }
     },
     "localname": "DescriptionOfBusinessLineItems",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDescriptionOfBusinessAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "ftci_DescriptionOfBusinessTable": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Description of business.",
        "label": "Description Of Business [Table]",
        "terseLabel": "Description Of Business [Table]"
       }
      }
     },
     "localname": "DescriptionOfBusinessTable",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDescriptionOfBusinessAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "ftci_DimensionEnergyMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Dimension energy member.",
        "label": "Dimension Energy [Member]",
        "terseLabel": "Dimension Energy LLC"
       }
      }
     },
     "localname": "DimensionEnergyMember",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSaleOfInvestmentInUnconsolidatedSubsidiaryAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "ftci_DimensionMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Dimension [Member]",
        "label": "Dimension [Member]"
       }
      }
     },
     "localname": "DimensionMember",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSaleOfInvestmentInUnconsolidatedSubsidiaryAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "ftci_EarnOutOfAnAdditionalShareCapital": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Earn-out of an additional share capital",
        "label": "Earn-out of an additional share capital",
        "terseLabel": "Earn-out of an additional share capital"
       }
      }
     },
     "localname": "EarnOutOfAnAdditionalShareCapital",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSubsequentEventsAdditionalInformationDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "ftci_EquityMethodInvestmentSuccessBasedFeePayment": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Equity Method Investment Success-based Fee Payment",
        "label": "Equity Method Investment Success-based Fee Payment",
        "terseLabel": "Success-based fee payment"
       }
      }
     },
     "localname": "EquityMethodInvestmentSuccessBasedFeePayment",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSaleOfInvestmentInUnconsolidatedSubsidiaryAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "ftci_EquityMethodInvestmentsFinancialInformationTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Equity method investments financial information.",
        "label": "Equity Method Investments Financial Information Table Text Block",
        "terseLabel": "Summary of Equity Method Investments Financial Information"
       }
      }
     },
     "localname": "EquityMethodInvestmentsFinancialInformationTableTextBlock",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSaleOfInvestmentInUnconsolidatedSubsidiaryTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "ftci_EquityMethodInvestmentsNumberOfShareDisposed": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Equity Method Investments Number of Share Disposed",
        "label": "Equity Method Investments Number of Share Disposed",
        "terseLabel": "Number of Share Disposed"
       }
      }
     },
     "localname": "EquityMethodInvestmentsNumberOfShareDisposed",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSaleOfInvestmentInUnconsolidatedSubsidiaryAdditionalInformationDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "ftci_EscrowReleasedPaymentReceived": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Escrow released payment received.",
        "label": "Escrow Released Payment Received",
        "terseLabel": "Escrow released payment received"
       }
      }
     },
     "localname": "EscrowReleasedPaymentReceived",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSaleOfInvestmentInUnconsolidatedSubsidiaryAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "ftci_FcxSolarLlcMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fcx Solar Llc [Member]",
        "label": "Fcx Solar Llc [Member]",
        "terseLabel": "FCX Solar, LLC [Member]"
       }
      }
     },
     "localname": "FcxSolarLlcMember",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureCommitmentsAndContingenciesAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "ftci_ForwardStockSplit": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Forward stock split",
        "label": "Forward stock split",
        "verboseLabel": "Forward stock split"
       }
      }
     },
     "localname": "ForwardStockSplit",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureEarningsLossPerShareAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "pureItemType"
    },
    "ftci_ForwardStockSplitTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Forward stock split.",
        "label": "Forward Stock Split [Text Block]",
        "terseLabel": "Forward Stock Split"
       }
      }
     },
     "localname": "ForwardStockSplitTextBlock",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "ftci_FunctionalCurrency": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Functional currency",
        "label": "Functional currency",
        "terseLabel": "Functional currency"
       }
      }
     },
     "localname": "FunctionalCurrency",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "ftci_HxTrackersMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "HX Trackers Member",
        "label": "HX Trackers [Member]"
       }
      }
     },
     "localname": "HxTrackersMember",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSubsequentEventsAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "ftci_ImpactOfStockSplit": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Impact of stock split.",
        "label": "Impact of Stock Split"
       }
      }
     },
     "localname": "ImpactOfStockSplit",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfStockholdersEquityDeficitUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "ftci_IncreaseInCommonStockIssuedAndOutstanding": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Increase in common stock issued and outstanding.",
        "label": "Increase in Common stock Issued and Outstanding",
        "terseLabel": "Increase in common stock issued and outstanding"
       }
      }
     },
     "localname": "IncreaseInCommonStockIssuedAndOutstanding",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "ftci_InterestCoverageRatio": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Interest Coverage Ratio",
        "label": "Interest Coverage Ratio",
        "terseLabel": "Interest coverage ratio"
       }
      }
     },
     "localname": "InterestCoverageRatio",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDebtAdditionalInformationDetails"
     ],
     "xbrltype": "pureItemType"
    },
    "ftci_JobsActAccountingElectionPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Jobs act accounting election policy text block.",
        "label": "Jobs Act Accounting Election Policy [Text Block]",
        "terseLabel": "JOBS Act Accounting Election"
       }
      }
     },
     "localname": "JobsActAccountingElectionPolicyTextBlock",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "ftci_LeverageRatio": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Leverage Ratio",
        "label": "Leverage Ratio",
        "terseLabel": "Leverage ratio"
       }
      }
     },
     "localname": "LeverageRatio",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDebtAdditionalInformationDetails"
     ],
     "xbrltype": "pureItemType"
    },
    "ftci_LimitationOnExecutiveCompensationDeduction": {
     "auth_ref": [],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesScheduleOfProvisionsBenefitsForIncomeTaxesDetails2": {
       "order": 6.0,
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Limitation on executive compensation deduction",
        "label": "Limitation On Executive Compensation Deduction"
       }
      }
     },
     "localname": "LimitationOnExecutiveCompensationDeduction",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesScheduleOfProvisionsBenefitsForIncomeTaxesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "ftci_LiquidityRatioAmountMinimumLimit": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Liquidity Ratio Amount, Minimum Limit",
        "label": "Liquidity Ratio Amount, Minimum Limit",
        "terseLabel": "Liquidity ratio amount, minimum limit"
       }
      }
     },
     "localname": "LiquidityRatioAmountMinimumLimit",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDebtAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "ftci_MajorCustomerMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Major Customer [Member]",
        "label": "Major Customer [Member]",
        "terseLabel": "Major Customer [Member]"
       }
      }
     },
     "localname": "MajorCustomerMember",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureAccountsReceivableNetAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "ftci_NumberOfCustomer": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of customer",
        "label": "Number of customer",
        "terseLabel": "Number of customer"
       }
      }
     },
     "localname": "NumberOfCustomer",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureAccountsReceivableNetAdditionalInformationDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "ftci_OfferingCostsIncludedInPeriodEndAccruals": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Offering costs included in period end accruals",
        "label": "Offering costs included in period end accruals",
        "negatedLabel": "Offering costs included in period end accruals",
        "terseLabel": "Offering costs included in period end accruals"
       }
      }
     },
     "localname": "OfferingCostsIncludedInPeriodEndAccruals",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureRevisionOfPreviouslyIssuedFinancialStatementsScheduleOfConsolidatedStatementOfCashFlowsDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "ftci_Other": {
     "auth_ref": [],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_OtherLiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Other",
        "label": "Other"
       }
      }
     },
     "localname": "Other",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "ftci_OtherMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Other member.",
        "label": "Other [Member]",
        "verboseLabel": "Other [Member]"
       }
      }
     },
     "localname": "OtherMember",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSegmentInformationScheduleOfCompanysTotalRevenueByGeographicAreaDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "ftci_PaycheckProtectionProgramPPPLoanMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Paycheck Protection Program (\"PPP\") Loan .",
        "label": "Paycheck Protection Program P P P Loan [Member]",
        "terseLabel": "Paycheck Protection Program loan [Member]"
       }
      }
     },
     "localname": "PaycheckProtectionProgramPPPLoanMember",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDebtAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDebtScheduleOfDebtDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "ftci_PercantageOfConcentrationsOfCreditRisk": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percantage of Concentrations of credit risk",
        "label": "Percantage of Concentrations of credit risk",
        "terseLabel": "Concentrations of credit risk, percentage"
       }
      }
     },
     "localname": "PercantageOfConcentrationsOfCreditRisk",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "ftci_PercentageOfAccumulatedPayrollDeductions": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of accumulated payroll deductions.",
        "label": "Percentage Of Accumulated Payroll Deductions",
        "terseLabel": "Percentage of accumulated payroll deductions"
       }
      }
     },
     "localname": "PercentageOfAccumulatedPayrollDeductions",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansAdditionalInformationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "ftci_PercentageOfCommonStockOutstanding": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of common stock outstanding",
        "label": "Percentage Of Common Stock Outstanding",
        "terseLabel": "Percentage of common stock outstanding"
       }
      }
     },
     "localname": "PercentageOfCommonStockOutstanding",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansAdditionalInformationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "ftci_PlcBarclaysBankMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "PLC Barclays Bank [Member]",
        "label": "PLC Barclays Bank [Member]",
        "terseLabel": "Barclays Bank PLC [Member]"
       }
      }
     },
     "localname": "PlcBarclaysBankMember",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDebtAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "ftci_PrepaidExpensesAndOtherCurrentAssetsTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Prepaid Expenses and Other Current Assets.",
        "label": "Prepaid Expenses and Other Current Assets [Text Block]",
        "terseLabel": "Prepaid and other current assets"
       }
      }
     },
     "localname": "PrepaidExpensesAndOtherCurrentAssetsTextBlock",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosurePrepaidAndOtherCurrentAssets"
     ],
     "xbrltype": "textBlockItemType"
    },
    "ftci_ProceedsFromDeferredOfferingCosts": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Proceeds from deferred offering costs.",
        "label": "Proceeds From Deferred Offering Costs",
        "terseLabel": "Deferred offering costs"
       }
      }
     },
     "localname": "ProceedsFromDeferredOfferingCosts",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfStockholdersEquityDeficitUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "ftci_ProductAndServiceMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Product and service.",
        "label": "Product and Service [Member]"
       }
      }
     },
     "localname": "ProductAndServiceMember",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureRevenueAdditionalInformationDetails13"
     ],
     "xbrltype": "domainItemType"
    },
    "ftci_ProductWarrantyLife": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Product warranty life.",
        "label": "Product Warranty Life",
        "terseLabel": "Product warranty life"
       }
      }
     },
     "localname": "ProductWarrantyLife",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "ftci_PromissoryNotesPurchased": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Promissory Notes, Purchased.",
        "label": "Promissory Notes Purchased",
        "terseLabel": "Promissory notes purchased"
       }
      }
     },
     "localname": "PromissoryNotesPurchased",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDebtAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureRelatedPartiesAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "ftci_ProvisionForInventoryObsolescence": {
     "auth_ref": [],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited": {
       "order": 5.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Expense charge to establish an inventory obsolesce reserve.",
        "label": "Provision For Inventory Obsolescence",
        "terseLabel": "Reserve for obsolete and slow-moving inventory",
        "verboseLabel": "Additions charged to earnings"
       }
      }
     },
     "localname": "ProvisionForInventoryObsolescence",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureInventoriesNetScheduleOfActivityInSlowmovingAndObsoleteInventoryDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "ftci_PurchaseOfPropertyAndEquipmentIncludedInAccountPayable": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Purchase of property and equipment included in account payable.",
        "label": "Purchase Of Property And Equipment Included In Account Payable",
        "terseLabel": "Purchase of property and equipment included in account payable"
       }
      }
     },
     "localname": "PurchaseOfPropertyAndEquipmentIncludedInAccountPayable",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "ftci_ReclassificationsPolicyTextblock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Reclassifications policy textblock",
        "label": "Reclassifications policy textblock",
        "terseLabel": "Reclassifications"
       }
      }
     },
     "localname": "ReclassificationsPolicyTextblock",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "ftci_RelatedPartyMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Related party [Member]",
        "label": "Related party [Member]"
       }
      }
     },
     "localname": "RelatedPartyMember",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureRelatedPartiesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "ftci_RepurchaseMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Repurchase [Member]",
        "label": "Repurchase [Member]"
       }
      }
     },
     "localname": "RepurchaseMember",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockholdersEquityAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "ftci_RequirementToMaintainMinimumLiquidityLimitEachQuarter": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Requirement to maintain minimum liquidity limit each quarter",
        "label": "Requirement to maintain minimum liquidity limit each quarter",
        "terseLabel": "Requirement to maintain minimum liquidity limit each quarter"
       }
      }
     },
     "localname": "RequirementToMaintainMinimumLiquidityLimitEachQuarter",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "ftci_ResearchAndExperimentationTaxCredit": {
     "auth_ref": [],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesScheduleOfProvisionsBenefitsForIncomeTaxesDetails2": {
       "order": 2.0,
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Research and experimentation tax credit.",
        "label": "Research And Experimentation Tax Credit",
        "terseLabel": "Research and experimentation tax credit"
       }
      }
     },
     "localname": "ResearchAndExperimentationTaxCredit",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesScheduleOfProvisionsBenefitsForIncomeTaxesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "ftci_RestrictedStockAwardMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Restricted stock award.",
        "label": "Restricted Stock Award [Member]",
        "terseLabel": "Restricted Stock Awards [Member]"
       }
      }
     },
     "localname": "RestrictedStockAwardMember",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansSummaryOfOutstandingRestrictedStockUnitAndRestrictedStockAwardsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "ftci_RetainageProvisionsIncludedInReceivables": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Retainage provisions included in receivables.",
        "label": "Retainage Provisions Included in Receivables",
        "terseLabel": "Retainage provisions included in receivables"
       }
      }
     },
     "localname": "RetainageProvisionsIncludedInReceivables",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureAccountsReceivableNetAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "ftci_RevenueRecognizedInExcessOfBillings": {
     "auth_ref": [],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureAccountsReceivableNetScheduleOfAccountsReceivableNetDetails3": {
       "order": 1.0,
       "parentTag": "us-gaap_ReceivablesNetCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Revenue recognized in excess of billings",
        "label": "Revenue recognized in excess of billings",
        "terseLabel": "Revenue recognized in excess of billings"
       }
      }
     },
     "localname": "RevenueRecognizedInExcessOfBillings",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureAccountsReceivableNetScheduleOfAccountsReceivableNetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "ftci_RevisionOfPreviouslyIssuedFinancialStatementsTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of revised previously issued financial statements.",
        "label": "Revision of Previously Issued Financial Statements [Text Block]",
        "terseLabel": "Revision of Previously Issued Financial Statements"
       }
      }
     },
     "localname": "RevisionOfPreviouslyIssuedFinancialStatementsTextBlock",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureRevisionOfPreviouslyIssuedFinancialStatements1",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureRevisionOfPreviouslyIssuedFinancialStatements2"
     ],
     "xbrltype": "textBlockItemType"
    },
    "ftci_ScheduleOfAllowanceForSlowMovingObsoleteInventoryTableTextblock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of Allowance for slow - moving obsolete inventory table textblock",
        "label": "Schedule of Allowance for slow - moving obsolete inventory table textblock",
        "terseLabel": "Schedule of Activity in Slow-moving and Obsolete Inventory"
       }
      }
     },
     "localname": "ScheduleOfAllowanceForSlowMovingObsoleteInventoryTableTextblock",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureInventoriesNetTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "ftci_ScheduleOfOperatingLeaseAssetsAndLiabilitiesTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of operating lease assets and liabilities.",
        "label": "Schedule Of Operating Lease Assets And Liabilities Table [Text Block]",
        "terseLabel": "Schedule of Supplemental Balance Sheet Information of Leases"
       }
      }
     },
     "localname": "ScheduleOfOperatingLeaseAssetsAndLiabilitiesTableTextBlock",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/Role_DisclosureLeasesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "ftci_ScheduleOfPropertyPlantAndEquipmentDepreciationExpenseTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of property plant and equipment depreciation expense table text block.",
        "label": "Schedule of Property Plant and Equipment Depreciation Expense Table Text Block",
        "terseLabel": "Schedule of Depreciation Expense"
       }
      }
     },
     "localname": "ScheduleOfPropertyPlantAndEquipmentDepreciationExpenseTableTextBlock",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosurePropertyAndEquipmentNetTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "ftci_ScorpiusTrackersMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Scorpius Trackers Member",
        "label": "Scorpius Trackers [Member]"
       }
      }
     },
     "localname": "ScorpiusTrackersMember",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSubsequentEventsAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "ftci_SecuredPromissoryNoteMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Secured Promissory Note.",
        "label": "Secured Promissory Note [Member]",
        "terseLabel": "The Notes [Member]"
       }
      }
     },
     "localname": "SecuredPromissoryNoteMember",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDebtAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "ftci_SubscriptionRevenueContractTerms": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Subscription revenue contract terms.",
        "label": "Subscription Revenue Contract Terms",
        "terseLabel": "Subscription revenue contract terms"
       }
      }
     },
     "localname": "SubscriptionRevenueContractTerms",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "ftci_SunEdisonUtilityHoldingsIncMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "SunEdison Utility Holdings Inc. member.",
        "label": "Sun Edison Utility Holdings Inc [Member]",
        "terseLabel": "SunEdison Utility Holdings, Inc. [Member]"
       }
      }
     },
     "localname": "SunEdisonUtilityHoldingsIncMember",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDescriptionOfBusinessAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "ftci_SuretyCollateral": {
     "auth_ref": [],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosurePrepaidAndOtherCurrentAssetsScheduleOfPrepaidExpensesAndOtherCurrentAssetsDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_PrepaidExpenseAndOtherAssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Surety collateral.",
        "label": "Surety Collateral",
        "terseLabel": "Surety collateral"
       }
      }
     },
     "localname": "SuretyCollateral",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosurePrepaidAndOtherCurrentAssetsScheduleOfPrepaidExpensesAndOtherCurrentAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "ftci_TangibleAssetMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tangible asset member.",
        "label": "Tangible Asset [Member]"
       }
      }
     },
     "localname": "TangibleAssetMember",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosurePropertyAndEquipmentNetScheduleOfDepreciationExpenseDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "ftci_TheWesternAllianceBankMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The Western Alliance Bank [Member].",
        "label": "The Western Alliance Bank [Member]",
        "terseLabel": "Western Alliance Bank [Member]"
       }
      }
     },
     "localname": "TheWesternAllianceBankMember",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDebtAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "ftci_TwoBoardMembersMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Two board members member.",
        "label": "Two Board Members [Member]"
       }
      }
     },
     "localname": "TwoBoardMembersMember",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureRelatedPartiesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "ftci_TwoThousandAndTwentyOneEmployeePurchasePlanMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Two thousand and twenty one employee purchase plan member.",
        "label": "Two Thousand and Twenty One Employee Purchase Plan [Member]",
        "terseLabel": "2021 Employee Stock Purchase Plan [Member]"
       }
      }
     },
     "localname": "TwoThousandAndTwentyOneEmployeePurchasePlanMember",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "ftci_TwoThousandTwentyOneStockIncentivePlanMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Two Thousand Twenty One Stock Incentive Plan [Member]",
        "label": "Two Thousand Twenty One Stock Incentive Plan [Member]",
        "terseLabel": "2021 Stock Incentive Plan [Member]"
       }
      }
     },
     "localname": "TwoThousandTwentyOneStockIncentivePlanMember",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "ftci_UnauditedInterimFinancialInformationPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Unaudited interim financial information.",
        "label": "Unaudited Interim Financial Information Policy [Text Block]",
        "terseLabel": "Unaudited Interim Financial Information"
       }
      }
     },
     "localname": "UnauditedInterimFinancialInformationPolicyTextBlock",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "ftci_UnderwritingDiscountAndCommissions": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Underwriting Discount and Commissions",
        "label": "Underwriting Discount and Commissions"
       }
      }
     },
     "localname": "UnderwritingDiscountAndCommissions",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockholdersEquityAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "ftci_ValuationAllowanceDeferredTaxAssetsIncreaseContinuingOperations": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Valuation Allowance Deferred Tax Assets Increase Continuing Operations",
        "label": "Valuation Allowance Deferred Tax Assets Increase Continuing Operations",
        "terseLabel": "Valuation Allowance Deferred Tax Assets Increase Continuing Operations"
       }
      }
     },
     "localname": "ValuationAllowanceDeferredTaxAssetsIncreaseContinuingOperations",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "ftci_Valuations": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Valuations:",
        "label": "Valuations:"
       }
      }
     },
     "localname": "Valuations",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansAssumptionsUsedToValueOptionAwardsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "ftci_VendorDeposits": {
     "auth_ref": [],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosurePrepaidAndOtherCurrentAssetsScheduleOfPrepaidExpensesAndOtherCurrentAssetsDetails": {
       "order": 0.0,
       "parentTag": "us-gaap_PrepaidExpenseAndOtherAssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Vendor deposits",
        "label": "Vendor Deposits",
        "terseLabel": "Vendor deposits"
       }
      }
     },
     "localname": "VendorDeposits",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosurePrepaidAndOtherCurrentAssetsScheduleOfPrepaidExpensesAndOtherCurrentAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "ftci_WeightedAverageRemainingExpenseRecognitionPeriodInYears": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted-average remaining expense recognition period (in years)",
        "label": "Weighted-average remaining expense recognition period (in years)",
        "terseLabel": "Weighted-average remaining expense recognition period (in years)"
       }
      }
     },
     "localname": "WeightedAverageRemainingExpenseRecognitionPeriodInYears",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansOutstandingOptionAwardsDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansSummaryOfOutstandingRestrictedStockUnitAndRestrictedStockAwardsDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "ftci_WesternAllianceBankMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Western alliance bank.",
        "label": "Western Alliance Bank [Member]",
        "terseLabel": "Western Alliance Bank [Member]"
       }
      }
     },
     "localname": "WesternAllianceBankMember",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "ftci_WriteOffOfObsoleteInventory": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Write-offs of obsolete inventory",
        "label": "Write Off Of Obsolete Inventory",
        "terseLabel": "Write-offs of obsolete inventory"
       }
      }
     },
     "localname": "WriteOffOfObsoleteInventory",
     "nsuri": "http://www.ftcsolar.com/20211231",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureInventoriesNetScheduleOfActivityInSlowmovingAndObsoleteInventoryDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "srt_CounterpartyNameAxis": {
     "auth_ref": [
      "r70",
      "r72",
      "r139",
      "r140",
      "r314",
      "r354",
      "r698"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by name of counterparty. A counterparty is the other party that participates in a financial transaction. Examples include, but not limited to, the name of the financial institution.",
        "label": "Counterparty Name [Axis]",
        "terseLabel": "Counterparty Name"
       }
      }
     },
     "localname": "CounterpartyNameAxis",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDescriptionOfBusinessAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_EquityMethodInvesteeNameDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of investment including named security. Excludes entity that is consolidated.",
        "label": "Investment, Name [Domain]",
        "terseLabel": "Investment, Name"
       }
      }
     },
     "localname": "EquityMethodInvesteeNameDomain",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSaleOfInvestmentInUnconsolidatedSubsidiaryAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_MajorCustomersAxis": {
     "auth_ref": [
      "r223",
      "r392",
      "r397",
      "r641"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by name or description of a single external customer or a group of external customers.",
        "label": "Customer [Axis]"
       }
      }
     },
     "localname": "MajorCustomersAxis",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureAccountsReceivableNetAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_MaximumMember": {
     "auth_ref": [
      "r313",
      "r353",
      "r407",
      "r409",
      "r573",
      "r574",
      "r575",
      "r576",
      "r577",
      "r578",
      "r579",
      "r638",
      "r642",
      "r674",
      "r675"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Upper limit of the provided range.",
        "label": "Maximum [Member]",
        "terseLabel": "Maximum [Member]",
        "verboseLabel": "Maximum [Member]"
       }
      }
     },
     "localname": "MaximumMember",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSegmentInformationAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_MinimumMember": {
     "auth_ref": [
      "r313",
      "r353",
      "r407",
      "r409",
      "r573",
      "r574",
      "r575",
      "r576",
      "r577",
      "r578",
      "r579",
      "r638",
      "r642",
      "r674",
      "r675"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Lower limit of the provided range.",
        "label": "Minimum [Member]",
        "terseLabel": "Minimum [Member]"
       }
      }
     },
     "localname": "MinimumMember",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSegmentInformationAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_NameOfMajorCustomerDomain": {
     "auth_ref": [
      "r223",
      "r392",
      "r397",
      "r641"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Single external customer or group of external customers.",
        "label": "Customer [Domain]"
       }
      }
     },
     "localname": "NameOfMajorCustomerDomain",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureAccountsReceivableNetAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ProductOrServiceAxis": {
     "auth_ref": [
      "r218",
      "r392",
      "r395",
      "r582",
      "r637",
      "r639"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by product and service, or group of similar products and similar services.",
        "label": "Product and Service [Axis]",
        "terseLabel": "Product and Service"
       }
      }
     },
     "localname": "ProductOrServiceAxis",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureRevenueAdditionalInformationDetails13",
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLossUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_ProductsAndServicesDomain": {
     "auth_ref": [
      "r218",
      "r392",
      "r395",
      "r582",
      "r637",
      "r639"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Product or service, or a group of similar products or similar services.",
        "label": "Product and Service [Domain]",
        "terseLabel": "Product and Service"
       }
      }
     },
     "localname": "ProductsAndServicesDomain",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureRevenueAdditionalInformationDetails13",
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLossUnaudited"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_RangeAxis": {
     "auth_ref": [
      "r313",
      "r353",
      "r403",
      "r407",
      "r409",
      "r573",
      "r574",
      "r575",
      "r576",
      "r577",
      "r578",
      "r579",
      "r638",
      "r642",
      "r674",
      "r675"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by statistical measurement. Includes, but is not limited to, minimum, maximum, weighted average, arithmetic average, and median.",
        "label": "Statistical Measurement [Axis]",
        "terseLabel": "Statistical Measurement"
       }
      }
     },
     "localname": "RangeAxis",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSegmentInformationAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_RangeMember": {
     "auth_ref": [
      "r313",
      "r353",
      "r403",
      "r407",
      "r409",
      "r573",
      "r574",
      "r575",
      "r576",
      "r577",
      "r578",
      "r579",
      "r638",
      "r642",
      "r674",
      "r675"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Statistical measurement. Includes, but is not limited to, minimum, maximum, weighted average, arithmetic average, and median.",
        "label": "Statistical Measurement [Domain]",
        "terseLabel": "Statistical Measurement"
       }
      }
     },
     "localname": "RangeMember",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSegmentInformationAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_RepurchaseAgreementCounterpartyNameDomain": {
     "auth_ref": [
      "r71",
      "r72",
      "r139",
      "r140",
      "r314",
      "r354"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Named other party that participates in a financial transaction. Examples include, but not limited to, the name of the financial institution.",
        "label": "Counterparty Name [Domain]",
        "terseLabel": "Counterparty Name"
       }
      }
     },
     "localname": "RepurchaseAgreementCounterpartyNameDomain",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDescriptionOfBusinessAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_RestatementAdjustmentMember": {
     "auth_ref": [
      "r143",
      "r144",
      "r145",
      "r146",
      "r147",
      "r148",
      "r149",
      "r151",
      "r153",
      "r154",
      "r156",
      "r157",
      "r171",
      "r516",
      "r517"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Cumulative increase (decrease) for adjustment to previously issued financial statements. Includes, but is not limited to, adjustment for retrospective application of amendment to accounting standards, other change in accounting principle, correction of error, and other revision.",
        "label": "Revision of Prior Period, Adjustment [Member]",
        "terseLabel": "Adjustments"
       }
      }
     },
     "localname": "RestatementAdjustmentMember",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureRevisionOfPreviouslyIssuedFinancialStatementsScheduleOfConsolidatedStatementOfCashFlowsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_RestatementAxis": {
     "auth_ref": [
      "r1",
      "r143",
      "r144",
      "r145",
      "r146",
      "r147",
      "r148",
      "r149",
      "r150",
      "r151",
      "r153",
      "r154",
      "r155",
      "r156",
      "r157",
      "r158",
      "r171",
      "r245",
      "r246",
      "r443",
      "r482",
      "r515",
      "r516",
      "r517",
      "r518",
      "r643",
      "r644",
      "r645",
      "r646",
      "r647",
      "r648",
      "r649",
      "r650",
      "r651",
      "r652",
      "r701",
      "r702"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by adjustment to previously issued financial statements. Includes, but is not limited to, adjustment for retrospective application of amendment to accounting standards, other change in accounting principle, correction of error, and other revision.",
        "label": "Revision of Prior Period [Axis]"
       }
      }
     },
     "localname": "RestatementAxis",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureQuarterlyInformationUnauditedScheduleOfQuarterlyInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureRevisionOfPreviouslyIssuedFinancialStatementsScheduleOfConsolidatedStatementOfCashFlowsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_RestatementDomain": {
     "auth_ref": [
      "r1",
      "r143",
      "r144",
      "r145",
      "r146",
      "r147",
      "r148",
      "r149",
      "r150",
      "r151",
      "r153",
      "r154",
      "r155",
      "r156",
      "r157",
      "r158",
      "r171",
      "r245",
      "r246",
      "r443",
      "r482",
      "r515",
      "r516",
      "r517",
      "r518",
      "r643",
      "r644",
      "r645",
      "r646",
      "r647",
      "r648",
      "r649",
      "r650",
      "r651",
      "r652",
      "r701",
      "r702"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Adjustment to previously issued financial statements. Includes, but is not limited to, adjustment for retrospective application of amendment to accounting standards, other change in accounting principle, correction of error, and other revision.",
        "label": "Revision of Prior Period [Domain]"
       }
      }
     },
     "localname": "RestatementDomain",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureQuarterlyInformationUnauditedScheduleOfQuarterlyInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureRevisionOfPreviouslyIssuedFinancialStatementsScheduleOfConsolidatedStatementOfCashFlowsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ScenarioPreviouslyReportedMember": {
     "auth_ref": [
      "r1",
      "r143",
      "r145",
      "r146",
      "r147",
      "r148",
      "r149",
      "r150",
      "r151",
      "r153",
      "r154",
      "r156",
      "r157",
      "r171",
      "r245",
      "r246",
      "r443",
      "r482",
      "r515",
      "r516",
      "r517",
      "r518",
      "r643",
      "r644",
      "r645",
      "r646",
      "r647",
      "r648",
      "r649",
      "r650",
      "r651",
      "r652",
      "r701",
      "r702"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents amount as previously reported before adjustment for retrospective application of amendment to accounting standards, other change in accounting principle, correction of error, and other revision.",
        "label": "Previously Reported [Member]",
        "terseLabel": "As Reported",
        "verboseLabel": "As Previously Reported"
       }
      }
     },
     "localname": "ScenarioPreviouslyReportedMember",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureQuarterlyInformationUnauditedScheduleOfQuarterlyInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureRevisionOfPreviouslyIssuedFinancialStatementsScheduleOfConsolidatedStatementOfCashFlowsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ScheduleOfCondensedFinancialStatementsTableTextBlock": {
     "auth_ref": [
      "r697"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of condensed financial statements, including, but not limited to, the balance sheet, income statement, and statement of cash flows.",
        "label": "Condensed Financial Statements [Table Text Block]",
        "terseLabel": "Revision of Previously Issued Financial Statement"
       }
      }
     },
     "localname": "ScheduleOfCondensedFinancialStatementsTableTextBlock",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureRevisionOfPreviouslyIssuedFinancialStatementsTables1"
     ],
     "xbrltype": "textBlockItemType"
    },
    "srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis": {
     "auth_ref": [
      "r238"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by name of investment including named security. Excludes entity that is consolidated.",
        "label": "Investment, Name [Axis]",
        "terseLabel": "Investment, Name"
       }
      }
     },
     "localname": "ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSaleOfInvestmentInUnconsolidatedSubsidiaryAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_SegmentGeographicalDomain": {
     "auth_ref": [
      "r219",
      "r220",
      "r392",
      "r396",
      "r640",
      "r665",
      "r666",
      "r667",
      "r668",
      "r669",
      "r670",
      "r671",
      "r672",
      "r673",
      "r687",
      "r689",
      "r690",
      "r691",
      "r692",
      "r693",
      "r694",
      "r695",
      "r696"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Geographical area.",
        "label": "Geographical [Domain]",
        "terseLabel": "Geographical"
       }
      }
     },
     "localname": "SegmentGeographicalDomain",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesScheduleOfComponentsOfIncomeBeforeIncomeTaxesDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSegmentInformationAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSegmentInformationScheduleOfCompanysTotalRevenueByGeographicAreaDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_StatementGeographicalAxis": {
     "auth_ref": [
      "r219",
      "r220",
      "r392",
      "r396",
      "r640",
      "r657",
      "r665",
      "r666",
      "r667",
      "r668",
      "r669",
      "r670",
      "r671",
      "r672",
      "r673",
      "r687",
      "r688"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by geographical components.",
        "label": "Geographical [Axis]",
        "terseLabel": "Geographical"
       }
      }
     },
     "localname": "StatementGeographicalAxis",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesScheduleOfComponentsOfIncomeBeforeIncomeTaxesDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSegmentInformationAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSegmentInformationScheduleOfCompanysTotalRevenueByGeographicAreaDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_TitleOfIndividualAxis": {
     "auth_ref": [
      "r225",
      "r563"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by title of individual or nature of relationship to individual or group of individuals.",
        "label": "Title of Individual [Axis]"
       }
      }
     },
     "localname": "TitleOfIndividualAxis",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureRelatedPartiesAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_TitleOfIndividualWithRelationshipToEntityDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Title of individual, or nature of relationship to individual or group of individuals.",
        "label": "Title of Individual [Domain]"
       }
      }
     },
     "localname": "TitleOfIndividualWithRelationshipToEntityDomain",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureRelatedPartiesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AccountingPoliciesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounting Policies [Abstract]"
       }
      }
     },
     "localname": "AccountingPoliciesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_AccountsAndNontradeReceivableTextBlock": {
     "auth_ref": [
      "r236",
      "r254"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for accounts receivable, contract receivable, receivable held-for-sale, and nontrade receivable.",
        "label": "Accounts and Nontrade Receivable [Text Block]",
        "terseLabel": "Accounts receivable, net"
       }
      }
     },
     "localname": "AccountsAndNontradeReceivableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureAccountsReceivableNet"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_AccountsAndOtherReceivablesNetCurrent": {
     "auth_ref": [],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureAccountsReceivableNetScheduleOfAccountsReceivableNetDetails3": {
       "order": 2.0,
       "parentTag": "us-gaap_ReceivablesNetCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after allowance, receivable from customers, clients, or other third-parties, and receivables classified as other due within one year or the normal operating cycle, if longer.",
        "label": "Accounts and Other Receivables, Net, Current",
        "terseLabel": "Other receivables"
       }
      }
     },
     "localname": "AccountsAndOtherReceivablesNetCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureAccountsReceivableNetScheduleOfAccountsReceivableNetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccountsNotesAndLoansReceivableLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Accounts, Notes, Loans and Financing Receivable [Line Items]",
        "terseLabel": "Accounts Notes And Loans Receivable [Line Items]"
       }
      }
     },
     "localname": "AccountsNotesAndLoansReceivableLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureAccountsReceivableNetAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AccountsPayableCurrent": {
     "auth_ref": [
      "r48",
      "r569"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited": {
       "order": 0.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Accounts Payable, Current",
        "terseLabel": "Accounts payable",
        "totalLabel": "Accounts Payable, Current, Total"
       }
      }
     },
     "localname": "AccountsPayableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock": {
     "auth_ref": [
      "r253"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of allowance for credit loss on accounts receivable.",
        "label": "Accounts Receivable, Allowance for Credit Loss [Table Text Block]",
        "terseLabel": "Summary of changes in the Allowance for Doubtful Trade Receivables"
       }
      }
     },
     "localname": "AccountsReceivableAllowanceForCreditLossTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureAccountsReceivableNetTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_AccountsReceivableMember": {
     "auth_ref": [
      "r660"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Due from customers or clients for goods or services that have been delivered or sold.",
        "label": "Accounts Receivable [Member]",
        "terseLabel": "Accounts Receivable [Member]"
       }
      }
     },
     "localname": "AccountsReceivableMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureAccountsReceivableNetAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AccountsReceivableNetAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Receivable, after Allowance for Credit Loss [Abstract]"
       }
      }
     },
     "localname": "AccountsReceivableNetAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_AccountsReceivableNetCurrent": {
     "auth_ref": [
      "r6",
      "r28",
      "r226",
      "r227"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureAccountsReceivableNetScheduleOfAccountsReceivableNetDetails3": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited": {
       "order": 3.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.",
        "label": "Accounts Receivable, after Allowance for Credit Loss, Current",
        "terseLabel": "Accounts receivable, net",
        "totalLabel": "Accounts Receivable, net"
       }
      }
     },
     "localname": "AccountsReceivableNetCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureAccountsReceivableNetScheduleOfAccountsReceivableNetDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccruedIncomeTaxesCurrent": {
     "auth_ref": [
      "r22",
      "r599",
      "r618"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_OtherLiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying amount as of the balance sheet date of the unpaid sum of the known and estimated amounts payable to satisfy all currently due domestic and foreign income tax obligations.",
        "label": "Accrued Income Taxes, Current",
        "terseLabel": "Non-federal tax obligations"
       }
      }
     },
     "localname": "AccruedIncomeTaxesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccruedLiabilitiesCurrent": {
     "auth_ref": [
      "r53"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited": {
       "order": 2.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Accrued Liabilities, Current",
        "terseLabel": "Accrued expenses and other liabilities",
        "totalLabel": "Total accrued expenses",
        "verboseLabel": "Accrued expenses"
       }
      }
     },
     "localname": "AccruedLiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": {
     "auth_ref": [
      "r46",
      "r269"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosurePropertyAndEquipmentNetScheduleOfPropertyAndEquipmentDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_PropertyPlantAndEquipmentNet",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services.",
        "label": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment",
        "negatedLabel": "Accumulated depreciation",
        "periodEndLabel": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment, Ending Balance",
        "periodStartLabel": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment, Beginning Balance",
        "terseLabel": "Accumulated depreciation",
        "totalLabel": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment, Total"
       }
      }
     },
     "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosurePropertyAndEquipmentNetScheduleOfPropertyAndEquipmentDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": {
     "auth_ref": [
      "r31",
      "r75",
      "r76",
      "r77",
      "r622",
      "r648",
      "r652"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited": {
       "order": 4.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accumulated change in equity from transactions and other events and circumstances from non-owner sources, net of tax effect, at period end. Excludes Net Income (Loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners. Includes foreign currency translation items, certain pension adjustments, unrealized gains and losses on certain investments in debt and equity securities, other than temporary impairment (OTTI) losses related to factors other than credit losses on available-for-sale and held-to-maturity debt securities that an entity does not intend to sell and it is not more likely than not that the entity will be required to sell before recovery of the amortized cost basis, as well as changes in the fair value of derivatives related to the effective portion of a designated cash flow hedge.",
        "label": "Accumulated Other Comprehensive Income (Loss), Net of Tax",
        "terseLabel": "Accumulated other comprehensive income (loss)",
        "totalLabel": "Accumulated Other Comprehensive Income (Loss), Net of Tax, Total"
       }
      }
     },
     "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeMember": {
     "auth_ref": [
      "r74",
      "r77",
      "r85",
      "r86",
      "r87",
      "r143",
      "r144",
      "r145",
      "r509",
      "r643",
      "r644",
      "r702"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accumulated increase (decrease) in equity from transactions and other events and circumstances from non-owner sources, attributable to the parent. Excludes net income (loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners.",
        "label": "AOCI Attributable to Parent [Member]",
        "terseLabel": "Accumulated Other Comprehensive income (loss)"
       }
      }
     },
     "localname": "AccumulatedOtherComprehensiveIncomeMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfStockholdersEquityDeficitUnaudited"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AdditionalPaidInCapital": {
     "auth_ref": [
      "r29",
      "r443",
      "r569"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited": {
       "order": 3.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of excess of issue price over par or stated value of stock and from other transaction involving stock or stockholder. Includes, but is not limited to, additional paid-in capital (APIC) for common and preferred stock.",
        "label": "Additional Paid in Capital",
        "periodEndLabel": "Additional Paid in Capital, Ending Balance",
        "periodStartLabel": "Additional Paid in Capital, Beginning Balance",
        "terseLabel": "Additional paid-in capital",
        "totalLabel": "Additional Paid in Capital, Total"
       }
      }
     },
     "localname": "AdditionalPaidInCapital",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdditionalPaidInCapitalMember": {
     "auth_ref": [
      "r143",
      "r144",
      "r145",
      "r440",
      "r441",
      "r442",
      "r516"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders.",
        "label": "Additional Paid-in Capital [Member]",
        "terseLabel": "Additional Paid-in Capital"
       }
      }
     },
     "localname": "AdditionalPaidInCapitalMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfStockholdersEquityDeficitUnaudited"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": {
     "auth_ref": [
      "r410",
      "r412",
      "r446",
      "r447"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement.",
        "label": "APIC, Share-based Payment Arrangement, Increase for Cost Recognition",
        "terseLabel": "Stock-based compensation",
        "totalLabel": "APIC, Share-based Payment Arrangement, Increase for Cost Recognition, Total"
       }
      }
     },
     "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureQuarterlyInformationUnauditedAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfStockholdersEquityDeficitUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]",
        "terseLabel": "Adjustments to reconcile net income (loss) to cash used in operating activities:",
        "verboseLabel": "Impact on cash from changes in operating assets and liabilities"
       }
      }
     },
     "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureRevisionOfPreviouslyIssuedFinancialStatementsScheduleOfConsolidatedStatementOfCashFlowsDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AdvertisingCostsPolicyTextBlock": {
     "auth_ref": [
      "r449"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for advertising cost.",
        "label": "Advertising Cost [Policy Text Block]",
        "terseLabel": "Advertising costs"
       }
      }
     },
     "localname": "AdvertisingCostsPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_AllocatedShareBasedCompensationExpense": {
     "auth_ref": [
      "r412",
      "r437",
      "r445"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.",
        "label": "Share-based Payment Arrangement, Expense",
        "terseLabel": "Total stock compensation expense"
       }
      }
     },
     "localname": "AllocatedShareBasedCompensationExpense",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansStockCompensationExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AllocatedShareBasedCompensationExpenseNetOfTax": {
     "auth_ref": [],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesScheduleOfProvisionsBenefitsForIncomeTaxesDetails2": {
       "order": 4.0,
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after tax, of expense for award under share-based payment arrangement.",
        "label": "Share-based Payment Arrangement, Expense, after Tax",
        "terseLabel": "Stock compensation"
       }
      }
     },
     "localname": "AllocatedShareBasedCompensationExpenseNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesScheduleOfProvisionsBenefitsForIncomeTaxesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivable": {
     "auth_ref": [
      "r232",
      "r247",
      "r248",
      "r252"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of allowance for credit loss on accounts receivable.",
        "label": "Accounts Receivable, Allowance for Credit Loss",
        "periodEndLabel": "Balance at end of period",
        "periodStartLabel": "Balance at beginning of period"
       }
      }
     },
     "localname": "AllowanceForDoubtfulAccountsReceivable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureAccountsReceivableNetSummaryOfChangesInTheAllowanceForDoubtfulTradeReceivablesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": {
     "auth_ref": [
      "r35",
      "r232",
      "r247"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureAccountsReceivableNetScheduleOfAccountsReceivableNetDetails3": {
       "order": 1.0,
       "parentTag": "us-gaap_AccountsReceivableNetCurrent",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current.",
        "label": "Accounts Receivable, Allowance for Credit Loss, Current",
        "negatedLabel": "Allowance for doubtful accounts",
        "terseLabel": "Allowance for doubtful accounts"
       }
      }
     },
     "localname": "AllowanceForDoubtfulAccountsReceivableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureAccountsReceivableNetScheduleOfAccountsReceivableNetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivableRecoveries": {
     "auth_ref": [
      "r251"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase in allowance for credit loss on accounts receivable, from recovery.",
        "label": "Accounts Receivable, Allowance for Credit Loss, Recovery",
        "terseLabel": "Additions charged to earnings"
       }
      }
     },
     "localname": "AllowanceForDoubtfulAccountsReceivableRecoveries",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureAccountsReceivableNetSummaryOfChangesInTheAllowanceForDoubtfulTradeReceivablesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs": {
     "auth_ref": [
      "r250"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of direct write-downs of accounts receivable charged against the allowance.",
        "label": "Accounts Receivable, Allowance for Credit Loss, Writeoff",
        "negatedLabel": "Write-offs of uncollectible accounts",
        "terseLabel": "Write-offs of uncollectible accounts"
       }
      }
     },
     "localname": "AllowanceForDoubtfulAccountsReceivableWriteOffs",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureAccountsReceivableNetSummaryOfChangesInTheAllowanceForDoubtfulTradeReceivablesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AmortizationOfFinancingCosts": {
     "auth_ref": [
      "r98",
      "r121",
      "r333",
      "r535"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited": {
       "order": 3.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization expense attributable to debt issuance costs.",
        "label": "Amortization of Debt Issuance Costs",
        "terseLabel": "Amortization of debt issuance cost"
       }
      }
     },
     "localname": "AmortizationOfFinancingCosts",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDebtAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": {
     "auth_ref": [
      "r168"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented.",
        "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount",
        "terseLabel": "Potential common shares excluded from diluted net loss per share"
       }
      }
     },
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureEarningsLossPerShareScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfDilutedNetIncomePerShareDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis": {
     "auth_ref": [
      "r168"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of antidilutive security.",
        "label": "Antidilutive Securities [Axis]"
       }
      }
     },
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureEarningsLossPerShareScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfDilutedNetIncomePerShareDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]"
       }
      }
     },
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureEarningsLossPerShareScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfDilutedNetIncomePerShareDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AntidilutiveSecuritiesNameDomain": {
     "auth_ref": [
      "r168"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Incremental common shares attributable to securities that were not included in diluted earnings per share (EPS) because to do so would increase EPS amounts or decrease loss per share amounts for the period presented.",
        "label": "Antidilutive Securities, Name [Domain]"
       }
      }
     },
     "localname": "AntidilutiveSecuritiesNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureEarningsLossPerShareScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfDilutedNetIncomePerShareDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ArrangementsAndNonarrangementTransactionsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Collaborative arrangement and arrangement other than collaborative applicable to revenue-generating activity or operations.",
        "label": "Collaborative Arrangement and Arrangement Other than Collaborative [Domain]",
        "terseLabel": "Collaborative Arrangement and Arrangement Other than Collaborative"
       }
      }
     },
     "localname": "ArrangementsAndNonarrangementTransactionsMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDescriptionOfBusinessAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_Assets": {
     "auth_ref": [
      "r135",
      "r203",
      "r208",
      "r214",
      "r241",
      "r299",
      "r300",
      "r301",
      "r302",
      "r303",
      "r304",
      "r305",
      "r306",
      "r307",
      "r308",
      "r309",
      "r507",
      "r510",
      "r523",
      "r567",
      "r569",
      "r597",
      "r617"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.",
        "label": "Assets",
        "totalLabel": "Total assets"
       }
      }
     },
     "localname": "Assets",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets [Abstract]",
        "terseLabel": "ASSETS"
       }
      }
     },
     "localname": "AssetsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AssetsCurrent": {
     "auth_ref": [
      "r9",
      "r11",
      "r69",
      "r135",
      "r241",
      "r299",
      "r300",
      "r301",
      "r302",
      "r303",
      "r304",
      "r305",
      "r306",
      "r307",
      "r308",
      "r309",
      "r507",
      "r510",
      "r523",
      "r567",
      "r569"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited": {
       "order": 0.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.",
        "label": "Assets, Current",
        "terseLabel": "Current assets",
        "totalLabel": "Total current assets"
       }
      }
     },
     "localname": "AssetsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetsCurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets, Current [Abstract]",
        "terseLabel": "Current assets"
       }
      }
     },
     "localname": "AssetsCurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AwardTypeAxis": {
     "auth_ref": [
      "r413",
      "r438"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of award under share-based payment arrangement.",
        "label": "Award Type [Axis]"
       }
      }
     },
     "localname": "AwardTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansSummaryOfOutstandingRestrictedStockUnitAndRestrictedStockAwardsDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockholdersEquityAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BalanceSheetLocationAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by location on balance sheet (statement of financial position).",
        "label": "Balance Sheet Location [Axis]",
        "terseLabel": "Balance Sheet Location"
       }
      }
     },
     "localname": "BalanceSheetLocationAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureCommitmentsAndContingenciesAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BalanceSheetLocationDomain": {
     "auth_ref": [
      "r512",
      "r513"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Location in the balance sheet (statement of financial position).",
        "label": "Balance Sheet Location [Domain]",
        "terseLabel": "Balance Sheet Location"
       }
      }
     },
     "localname": "BalanceSheetLocationDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureCommitmentsAndContingenciesAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_BasisOfAccountingPolicyPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for basis of accounting, or basis of presentation, used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS).",
        "label": "Basis of Accounting, Policy [Policy Text Block]",
        "terseLabel": "Basis of Presentation and Principles of Consolidation"
       }
      }
     },
     "localname": "BasisOfAccountingPolicyPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_BusinessAcquisitionAcquireeDomain": {
     "auth_ref": [
      "r406",
      "r408"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Identification of the acquiree in a material business combination (or series of individually immaterial business combinations), which may include the name or other type of identification of the acquiree.",
        "label": "Business Acquisition, Acquiree [Domain]"
       }
      }
     },
     "localname": "BusinessAcquisitionAcquireeDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSaleOfInvestmentInUnconsolidatedSubsidiaryAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSubsequentEventsAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_BusinessAcquisitionAxis": {
     "auth_ref": [
      "r406",
      "r408",
      "r495",
      "r496"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by business combination or series of individually immaterial business combinations.",
        "label": "Business Acquisition [Axis]"
       }
      }
     },
     "localname": "BusinessAcquisitionAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSaleOfInvestmentInUnconsolidatedSubsidiaryAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSubsequentEventsAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued": {
     "auth_ref": [
      "r501"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares of equity interests issued or issuable to acquire entity.",
        "label": "Business Acquisition, Equity Interest Issued or Issuable, Number of Shares",
        "terseLabel": "Common stock issued for business acquisition"
       }
      }
     },
     "localname": "BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSubsequentEventsAdditionalInformationDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_BusinessCombinationConsiderationTransferred1": {
     "auth_ref": [
      "r497",
      "r498",
      "r499"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of consideration transferred, consisting of acquisition-date fair value of assets transferred by the acquirer, liabilities incurred by the acquirer, and equity interest issued by the acquirer.",
        "label": "Business Combination, Consideration Transferred",
        "totalLabel": "Business Combination, Consideration Transferred, Total",
        "verboseLabel": "Purchase Price"
       }
      }
     },
     "localname": "BusinessCombinationConsiderationTransferred1",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSubsequentEventsAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationContingentConsiderationArrangementsDescription": {
     "auth_ref": [
      "r502"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "For contingent consideration arrangements recognized in connection with a business combination, this element represents a description of such arrangements.",
        "label": "Business Combination, Contingent Consideration Arrangements, Description"
       }
      }
     },
     "localname": "BusinessCombinationContingentConsiderationArrangementsDescription",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSaleOfInvestmentInUnconsolidatedSubsidiaryAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock": {
     "auth_ref": [
      "r3",
      "r142",
      "r194"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for the business description and basis of presentation concepts.  Business description describes the nature and type of organization including but not limited to organizational structure as may be applicable to holding companies, parent and subsidiary relationships, business divisions, business units, business segments, affiliates and information about significant ownership of the reporting entity.  Basis of presentation describes the underlying basis used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS).",
        "label": "Business Description and Basis of Presentation [Text Block]",
        "terseLabel": "Description of business"
       }
      }
     },
     "localname": "BusinessDescriptionAndBasisOfPresentationTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDescriptionOfBusiness1"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CapitalizationOfDeferredPolicyAcquisitionCostsPolicy": {
     "auth_ref": [
      "r636"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for deferred policy acquisition costs, including the nature, type, and amount of capitalized costs incurred to write or acquire insurance contracts, and the basis for and methodologies applied in capitalizing and amortizing such costs.",
        "label": "Deferred Policy Acquisition Costs, Policy [Policy Text Block]",
        "terseLabel": "Deferred costs"
       }
      }
     },
     "localname": "CapitalizationOfDeferredPolicyAcquisitionCostsPolicy",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_Cash": {
     "auth_ref": [
      "r42",
      "r569",
      "r654",
      "r655"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Excludes cash and cash equivalents within disposal group and discontinued operation.",
        "label": "Cash",
        "periodEndLabel": "Cash, Ending Balance",
        "periodStartLabel": "Cash, Beginning Balance",
        "terseLabel": "Cash and cash equivalents"
       }
      }
     },
     "localname": "Cash",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashAndCashEquivalentsAtCarryingValue": {
     "auth_ref": [
      "r4",
      "r42",
      "r123"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited": {
       "order": 0.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.",
        "label": "Cash and Cash Equivalents, at Carrying Value",
        "periodEndLabel": "Cash and Cash Equivalents, at Carrying Value, Ending Balance",
        "periodStartLabel": "Cash and Cash Equivalents, at Carrying Value, Beginning Balance",
        "terseLabel": "Cash",
        "totalLabel": "Cash and Cash Equivalents, at Carrying Value, Total",
        "verboseLabel": "Cash and cash equivalents"
       }
      }
     },
     "localname": "CashAndCashEquivalentsAtCarryingValue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited",
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashAndCashEquivalentsPolicyTextBlock": {
     "auth_ref": [
      "r17",
      "r124"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for cash and cash equivalents, including the policy for determining which items are treated as cash equivalents. Other information that may be disclosed includes (1) the nature of any restrictions on the entity's use of its cash and cash equivalents, (2) whether the entity's cash and cash equivalents are insured or expose the entity to credit risk, (3) the classification of any negative balance accounts (overdrafts), and (4) the carrying basis of cash equivalents (for example, at cost) and whether the carrying amount of cash equivalents approximates fair value.",
        "label": "Cash and Cash Equivalents, Policy [Policy Text Block]",
        "terseLabel": "Cash and cash equivalents"
       }
      }
     },
     "localname": "CashAndCashEquivalentsPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy": {
     "auth_ref": [
      "r17",
      "r124",
      "r596"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Entity's cash and cash equivalents accounting policy with respect to restricted balances.  Restrictions may include legally restricted deposits held as compensating balances against short-term borrowing arrangements, contracts entered into with others, or company statements of intention with regard to particular deposits; however, time deposits and short-term certificates of deposit are not generally included in legally restricted deposits.",
        "label": "Cash and Cash Equivalents, Restricted Cash and Cash Equivalents, Policy [Policy Text Block]",
        "terseLabel": "Restricted Cash"
       }
      }
     },
     "localname": "CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": {
     "auth_ref": [
      "r116",
      "r123",
      "r126"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents",
        "periodEndLabel": "Cash and restricted cash at end of period",
        "periodStartLabel": "Cash and restricted cash at beginning of period",
        "terseLabel": "Total cash and restricted cash",
        "totalLabel": "Total cash and restricted cash"
       }
      }
     },
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents [Abstract]",
        "terseLabel": "Reconciliation of cash and restricted cash at period end"
       }
      }
     },
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": {
     "auth_ref": [
      "r116",
      "r524"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect",
        "totalLabel": "Net increase in cash and restricted cash"
       }
      }
     },
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ClassOfStockDomain": {
     "auth_ref": [
      "r132",
      "r135",
      "r161",
      "r162",
      "r163",
      "r165",
      "r167",
      "r179",
      "r180",
      "r181",
      "r241",
      "r299",
      "r303",
      "r304",
      "r305",
      "r308",
      "r309",
      "r351",
      "r352",
      "r356",
      "r360",
      "r523",
      "r685"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share of stock differentiated by the voting rights the holder receives. Examples include, but are not limited to, common stock, redeemable preferred stock, nonredeemable preferred stock, and convertible stock.",
        "label": "Class of Stock [Domain]",
        "terseLabel": "Class of Stock"
       }
      }
     },
     "localname": "ClassOfStockDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSaleOfInvestmentInUnconsolidatedSubsidiaryAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockholdersEquityAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ClassOfStockLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Class of Stock [Line Items]"
       }
      }
     },
     "localname": "ClassOfStockLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockholdersEquityAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CommitmentsAndContingencies": {
     "auth_ref": [
      "r59",
      "r279",
      "r602",
      "r627"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited": {
       "order": 2.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur.",
        "label": "Commitments and Contingencies",
        "terseLabel": "Commitments and contingencies (Note 12)"
       }
      }
     },
     "localname": "CommitmentsAndContingencies",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Commitments and Contingencies Disclosure [Abstract]"
       }
      }
     },
     "localname": "CommitmentsAndContingenciesDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": {
     "auth_ref": [
      "r276",
      "r277",
      "r278",
      "r283",
      "r661"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for commitments and contingencies.",
        "label": "Commitments and Contingencies Disclosure [Text Block]",
        "terseLabel": "Commitments and contingencies"
       }
      }
     },
     "localname": "CommitmentsAndContingenciesDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureCommitmentsAndContingencies1"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CommonClassAMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Classification of common stock representing ownership interest in a corporation.",
        "label": "Common Class A [Member]",
        "terseLabel": "Common Class A"
       }
      }
     },
     "localname": "CommonClassAMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSaleOfInvestmentInUnconsolidatedSubsidiaryAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CommonStockCapitalSharesReservedForFutureIssuance": {
     "auth_ref": [
      "r61"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate number of common shares reserved for future issuance.",
        "label": "Common Stock, Capital Shares Reserved for Future Issuance",
        "terseLabel": "Number of common shares reserved for issuance"
       }
      }
     },
     "localname": "CommonStockCapitalSharesReservedForFutureIssuance",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansAdditionalInformationDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockMember": {
     "auth_ref": [
      "r143",
      "r144",
      "r516"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Stock that is subordinate to all other stock of the issuer.",
        "label": "Common Stock [Member]",
        "terseLabel": "Common Stock"
       }
      }
     },
     "localname": "CommonStockMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfStockholdersEquityDeficitUnaudited"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CommonStockParOrStatedValuePerShare": {
     "auth_ref": [
      "r27"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Face amount or stated value per share of common stock.",
        "label": "Common Stock, Par or Stated Value Per Share",
        "terseLabel": "Common stock, par value"
       }
      }
     },
     "localname": "CommonStockParOrStatedValuePerShare",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockholdersEquityAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedBalanceSheetsParentheticalUnaudited"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_CommonStockSharesAuthorized": {
     "auth_ref": [
      "r27"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws.",
        "label": "Common Stock, Shares Authorized",
        "terseLabel": "Common stock, shares authorized"
       }
      }
     },
     "localname": "CommonStockSharesAuthorized",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockholdersEquityAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedBalanceSheetsParentheticalUnaudited"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockSharesIssued": {
     "auth_ref": [
      "r27"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.",
        "label": "Common Stock, Shares, Issued",
        "terseLabel": "Common stock, shares issued",
        "totalLabel": "Common Stock, Shares, Issued, Total",
        "verboseLabel": "Common stock issued for notes purchased"
       }
      }
     },
     "localname": "CommonStockSharesIssued",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDebtAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureRelatedPartiesAdditionalInformationDetail",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockholdersEquityAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSubsequentEventsAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedBalanceSheetsParentheticalUnaudited"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockSharesOutstanding": {
     "auth_ref": [
      "r27",
      "r367"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.",
        "label": "Common Stock, Shares, Outstanding",
        "periodEndLabel": "Common Stock, Shares, Outstanding, Ending Balance",
        "periodStartLabel": "Common Stock, Shares, Outstanding, Beginning Balance",
        "terseLabel": "Common stock, shares outstanding"
       }
      }
     },
     "localname": "CommonStockSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedBalanceSheetsParentheticalUnaudited"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockValue": {
     "auth_ref": [
      "r27",
      "r569"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited": {
       "order": 1.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.",
        "label": "Common Stock, Value, Issued",
        "periodEndLabel": "Common Stock, Value, Issued, Ending Balance",
        "periodStartLabel": "Common Stock, Value, Issued, Beginning Balance",
        "terseLabel": "Common stock par value of $0.0001 per share, 850,000,000 shares authorized; 92,619,641 and 66,155,340 shares issued and outstanding as of December 31, 2021 and December 30, 2020",
        "totalLabel": "Common Stock, Value, Issued, Total",
        "verboseLabel": "Common stock, value, issued"
       }
      }
     },
     "localname": "CommonStockValue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockholdersEquityAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ComponentsOfDeferredTaxAssetsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Components of Deferred Tax Assets [Abstract]",
        "terseLabel": "Deferred tax assets:"
       }
      }
     },
     "localname": "ComponentsOfDeferredTaxAssetsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesScheduleOfComponentsOfDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Components of Deferred Tax Assets and Liabilities [Abstract]"
       }
      }
     },
     "localname": "ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_ComponentsOfDeferredTaxLiabilitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Components of Deferred Tax Liabilities [Abstract]",
        "terseLabel": "Deferred tax liabilities:"
       }
      }
     },
     "localname": "ComponentsOfDeferredTaxLiabilitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesScheduleOfComponentsOfDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ComprehensiveIncomeNetOfTax": {
     "auth_ref": [
      "r80",
      "r82",
      "r83",
      "r94",
      "r608",
      "r631"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLossUnaudited": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners.",
        "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent",
        "terseLabel": "Comprehensive loss",
        "totalLabel": "Comprehensive loss"
       }
      }
     },
     "localname": "ComprehensiveIncomeNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLossUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ConcentrationRiskBenchmarkDomain": {
     "auth_ref": [
      "r189",
      "r190",
      "r223",
      "r520",
      "r521",
      "r660"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The denominator in a calculation of a disclosed concentration risk percentage.",
        "label": "Concentration Risk Benchmark [Domain]",
        "terseLabel": "Concentration Risk Benchmark"
       }
      }
     },
     "localname": "ConcentrationRiskBenchmarkDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureAccountsReceivableNetAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSegmentInformationAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ConcentrationRiskByBenchmarkAxis": {
     "auth_ref": [
      "r189",
      "r190",
      "r223",
      "r520",
      "r521",
      "r653",
      "r660"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by benchmark of concentration risk.",
        "label": "Concentration Risk Benchmark [Axis]",
        "terseLabel": "Concentration Risk Benchmark"
       }
      }
     },
     "localname": "ConcentrationRiskByBenchmarkAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureAccountsReceivableNetAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSegmentInformationAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ConcentrationRiskByTypeAxis": {
     "auth_ref": [
      "r189",
      "r190",
      "r223",
      "r520",
      "r521",
      "r653",
      "r660"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of concentration risk, for example, but not limited to, asset, liability, net assets, geographic, customer, employees, supplier, lender.",
        "label": "Concentration Risk Type [Axis]",
        "terseLabel": "Concentration Risk Type"
       }
      }
     },
     "localname": "ConcentrationRiskByTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureAccountsReceivableNetAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSegmentInformationAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ConcentrationRiskCreditRisk": {
     "auth_ref": [
      "r184",
      "r615"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for credit risk.",
        "label": "Concentration Risk, Credit Risk, Policy [Policy Text Block]",
        "terseLabel": "Concentration of Credit Risk"
       }
      }
     },
     "localname": "ConcentrationRiskCreditRisk",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ConcentrationRiskPercentage1": {
     "auth_ref": [
      "r189",
      "r190",
      "r223",
      "r520",
      "r521"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the \"benchmark\" (or denominator) in the equation, this concept represents the concentration percentage derived from the division.",
        "label": "Concentration Risk, Percentage",
        "terseLabel": "Concentration Risk, Percentage"
       }
      }
     },
     "localname": "ConcentrationRiskPercentage1",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureAccountsReceivableNetAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSegmentInformationAdditionalInformationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_ConcentrationRiskTypeDomain": {
     "auth_ref": [
      "r189",
      "r190",
      "r223",
      "r520",
      "r521",
      "r660"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "For an entity that discloses a concentration risk as a percentage of some financial balance or benchmark, identifies the type (for example, asset, liability, net assets, geographic, customer, employees, supplier, lender) of the concentration.",
        "label": "Concentration Risk Type [Domain]",
        "terseLabel": "Concentration Risk Type"
       }
      }
     },
     "localname": "ConcentrationRiskTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureAccountsReceivableNetAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSegmentInformationAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ContractWithCustomerLiabilityCurrent": {
     "auth_ref": [
      "r379",
      "r380",
      "r393"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited": {
       "order": 5.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current.",
        "label": "Contract with Customer, Liability, Current",
        "terseLabel": "Deferred revenue"
       }
      }
     },
     "localname": "ContractWithCustomerLiabilityCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureRevenueAdditionalInformationDetails13",
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CostOfGoodsAndServicesSold": {
     "auth_ref": [
      "r102",
      "r582"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLossUnaudited": {
       "order": 0.0,
       "parentTag": "us-gaap_GrossProfit",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.",
        "label": "Cost of Goods and Services Sold",
        "terseLabel": "Total cost of revenue",
        "totalLabel": "Cost of Goods and Services Sold, Total",
        "verboseLabel": "Cost of Revenue"
       }
      }
     },
     "localname": "CostOfGoodsAndServicesSold",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLossUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CostOfRevenueAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cost of Revenue [Abstract]",
        "terseLabel": "Cost of revenue:"
       }
      }
     },
     "localname": "CostOfRevenueAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLossUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CostOfSalesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption encompassing cost of sales.",
        "label": "Cost of Sales [Member]",
        "terseLabel": "Cost of Revenue [Member]"
       }
      }
     },
     "localname": "CostOfSalesMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureLeasesSummaryOfLeaseExpenseDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansStockCompensationExpenseDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CreditConcentrationRiskMember": {
     "auth_ref": [
      "r522"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Reflects the percentage that a specified receivable or amount at risk from a counterparty under a contractual arrangement is to a specified benchmark, such as total receivables, net revenues, pretax results. Risk is the materially adverse effects of loss attributable to (a) the failure to collect a significant receivable from a major customer or group of homogeneous accounts, or (b) a failure by a counterparty to perform under terms of a contractual arrangement.",
        "label": "Credit Concentration Risk [Member]",
        "terseLabel": "Credit Concentration Risk [Member]"
       }
      }
     },
     "localname": "CreditConcentrationRiskMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureAccountsReceivableNetAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CreditFacilityAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing.",
        "label": "Credit Facility [Axis]",
        "terseLabel": "Credit Facility"
       }
      }
     },
     "localname": "CreditFacilityAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDebtAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDebtScheduleOfDebtDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CreditFacilityDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing.",
        "label": "Credit Facility [Domain]",
        "terseLabel": "Credit Facility"
       }
      }
     },
     "localname": "CreditFacilityDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDebtAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDebtScheduleOfDebtDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CurrentFederalTaxExpenseBenefit": {
     "auth_ref": [
      "r136",
      "r477",
      "r485"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesScheduleOfProvisionsBenefitsForIncomeTaxesDetails": {
       "order": 0.0,
       "parentTag": "us-gaap_CurrentIncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of current federal tax expense (benefit) pertaining to income (loss) from continuing operations.",
        "label": "Current Federal Tax Expense (Benefit)",
        "terseLabel": "Federal"
       }
      }
     },
     "localname": "CurrentFederalTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesScheduleOfProvisionsBenefitsForIncomeTaxesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CurrentForeignTaxExpenseBenefit": {
     "auth_ref": [
      "r136",
      "r477"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesScheduleOfProvisionsBenefitsForIncomeTaxesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_CurrentIncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of current foreign income tax expense (benefit) pertaining to income (loss) from continuing operations.",
        "label": "Current Foreign Tax Expense (Benefit)",
        "terseLabel": "Foreign"
       }
      }
     },
     "localname": "CurrentForeignTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesScheduleOfProvisionsBenefitsForIncomeTaxesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CurrentIncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r136",
      "r477",
      "r485",
      "r487"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesScheduleOfProvisionsBenefitsForIncomeTaxesDetails": {
       "order": 0.0,
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of current income tax expense (benefit) pertaining to taxable income (loss) from continuing operations.",
        "label": "Current Income Tax Expense (Benefit)",
        "totalLabel": "Total current expense"
       }
      }
     },
     "localname": "CurrentIncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesScheduleOfProvisionsBenefitsForIncomeTaxesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current Income Tax Expense (Benefit), Continuing Operations [Abstract]",
        "terseLabel": "Current -"
       }
      }
     },
     "localname": "CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesScheduleOfProvisionsBenefitsForIncomeTaxesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CurrentStateAndLocalTaxExpenseBenefit": {
     "auth_ref": [
      "r136",
      "r477",
      "r485"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesScheduleOfProvisionsBenefitsForIncomeTaxesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_CurrentIncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of current state and local tax expense (benefit) pertaining to income (loss) from continuing operations.",
        "label": "Current State and Local Tax Expense (Benefit)",
        "terseLabel": "State"
       }
      }
     },
     "localname": "CurrentStateAndLocalTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesScheduleOfProvisionsBenefitsForIncomeTaxesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CustomerConcentrationRiskMember": {
     "auth_ref": [
      "r187",
      "r223"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Reflects the percentage that revenues in the period from one or more significant customers is to net revenues, as defined by the entity, such as total net revenues, product line revenues, segment revenues. The risk is the materially adverse effects of loss of a significant customer.",
        "label": "Customer Concentration Risk [Member]"
       }
      }
     },
     "localname": "CustomerConcentrationRiskMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureAccountsReceivableNetAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DebtDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Disclosure [Abstract]"
       }
      }
     },
     "localname": "DebtDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_DebtDisclosureTextBlock": {
     "auth_ref": [
      "r131",
      "r316",
      "r317",
      "r318",
      "r319",
      "r320",
      "r321",
      "r322",
      "r327",
      "r334",
      "r335",
      "r337",
      "r347"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants.",
        "label": "Debt Disclosure [Text Block]",
        "terseLabel": "Debt"
       }
      }
     },
     "localname": "DebtDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDebt1"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DebtInstrumentCarryingAmount": {
     "auth_ref": [
      "r24",
      "r338",
      "r600",
      "r616"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDebtScheduleOfDebtDetails": {
       "order": 0.0,
       "parentTag": "us-gaap_LongTermDebt",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, before unamortized (discount) premium and debt issuance costs, of long-term debt. Includes, but is not limited to, notes payable, bonds payable, commercial loans, mortgage loans, convertible debt, subordinated debt and other types of debt.",
        "label": "Long-term Debt, Gross",
        "terseLabel": "Total debt",
        "totalLabel": "Total debt"
       }
      }
     },
     "localname": "DebtInstrumentCarryingAmount",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDebtScheduleOfDebtDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtInstrumentFaceAmount": {
     "auth_ref": [
      "r310",
      "r341",
      "r342",
      "r534",
      "r536",
      "r537"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Face (par) amount of debt instrument at time of issuance.",
        "label": "Debt Instrument, Face Amount",
        "terseLabel": "Aggregate principal amount of notes"
       }
      }
     },
     "localname": "DebtInstrumentFaceAmount",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDebtAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureRelatedPartiesAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtInstrumentInterestRateStatedPercentage": {
     "auth_ref": [
      "r55",
      "r311"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Contractual interest rate for funds borrowed, under the debt agreement.",
        "label": "Debt Instrument, Interest Rate, Stated Percentage",
        "terseLabel": "Interest rate of notes"
       }
      }
     },
     "localname": "DebtInstrumentInterestRateStatedPercentage",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDebtAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureRelatedPartiesAdditionalInformationDetail"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_DebtInstrumentLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Debt Instrument [Line Items]",
        "terseLabel": "Debt Instrument [Line Items]"
       }
      }
     },
     "localname": "DebtInstrumentLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDebtAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDebtScheduleOfDebtDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DebtInstrumentTable": {
     "auth_ref": [
      "r57",
      "r134",
      "r141",
      "r310",
      "r311",
      "r312",
      "r313",
      "r314",
      "r315",
      "r317",
      "r323",
      "r324",
      "r325",
      "r326",
      "r328",
      "r329",
      "r330",
      "r331",
      "r332",
      "r333",
      "r336",
      "r341",
      "r342",
      "r343",
      "r344",
      "r368",
      "r371",
      "r372",
      "r373",
      "r533",
      "r534",
      "r536",
      "r537",
      "r614"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A table or schedule providing information pertaining to long-term debt instruments or arrangements, including identification, terms, features, collateral requirements and other information necessary to a fair presentation. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the company, if longer.",
        "label": "Schedule of Long-term Debt Instruments [Table]",
        "terseLabel": "Debt Instrument [Table]"
       }
      }
     },
     "localname": "DebtInstrumentTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDebtAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDebtScheduleOfDebtDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DebtInstrumentTerm": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Period of time between issuance and maturity of debt instrument, in PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.",
        "label": "Debt Instrument, Term",
        "terseLabel": "Term of notes"
       }
      }
     },
     "localname": "DebtInstrumentTerm",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDebtAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureRelatedPartiesAdditionalInformationDetail"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_DebtInstrumentUnusedBorrowingCapacityAmount": {
     "auth_ref": [
      "r56"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of unused borrowing capacity under the long-term financing arrangement that is available to the entity as of the balance sheet date.",
        "label": "Debt Instrument, Unused Borrowing Capacity, Amount",
        "terseLabel": "Borrowing Capacity"
       }
      }
     },
     "localname": "DebtInstrumentUnusedBorrowingCapacityAmount",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtIssuanceCostsLineOfCreditArrangementsNet": {
     "auth_ref": [
      "r538"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after accumulated amortization, of debt issuance costs related to line of credit arrangements. Includes, but is not limited to, legal, accounting, underwriting, printing, and registration costs.",
        "label": "Debt Issuance Costs, Line of Credit Arrangements, Net",
        "terseLabel": "Debt issuance costs",
        "totalLabel": "Debt Issuance Costs, Line of Credit Arrangements, Net, Total"
       }
      }
     },
     "localname": "DebtIssuanceCostsLineOfCreditArrangementsNet",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDebtAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock": {
     "auth_ref": [
      "r47"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the amounts paid in advance for capitalized costs that will be expensed with the passage of time or the occurrence of a triggering event, and will be charged against earnings within one year or the normal operating cycle, if longer; the aggregate carrying amount of current assets, not separately presented elsewhere in the balance sheet; and other deferred costs.",
        "label": "Deferred Costs, Capitalized, Prepaid, and Other Assets Disclosure [Table Text Block]",
        "terseLabel": "Schedule of Prepaid and Other Current Assets"
       }
      }
     },
     "localname": "DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosurePrepaidAndOtherCurrentAssetsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DeferredFederalIncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r136",
      "r478",
      "r485"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesScheduleOfProvisionsBenefitsForIncomeTaxesDetails": {
       "order": 0.0,
       "parentTag": "us-gaap_DeferredIncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred federal income tax expense (benefit) pertaining to income (loss) from continuing operations.",
        "label": "Deferred Federal Income Tax Expense (Benefit)",
        "terseLabel": "Federal"
       }
      }
     },
     "localname": "DeferredFederalIncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesScheduleOfProvisionsBenefitsForIncomeTaxesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredIncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r121",
      "r136",
      "r478",
      "r485",
      "r486",
      "r487"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesScheduleOfProvisionsBenefitsForIncomeTaxesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0
      },
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited": {
       "order": 14.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations.",
        "label": "Deferred Income Tax Expense (Benefit)",
        "terseLabel": "Deferred income taxes",
        "totalLabel": "Total deferred taxes"
       }
      }
     },
     "localname": "DeferredIncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesScheduleOfProvisionsBenefitsForIncomeTaxesDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Income Tax Expense (Benefit), Continuing Operations [Abstract]",
        "terseLabel": "Deferred -"
       }
      }
     },
     "localname": "DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesScheduleOfProvisionsBenefitsForIncomeTaxesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r136",
      "r478",
      "r485"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesScheduleOfProvisionsBenefitsForIncomeTaxesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_DeferredIncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred state and local tax expense (benefit) pertaining to income (loss) from continuing operations.",
        "label": "Deferred State and Local Income Tax Expense (Benefit)",
        "terseLabel": "State"
       }
      }
     },
     "localname": "DeferredStateAndLocalIncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesScheduleOfProvisionsBenefitsForIncomeTaxesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsGross": {
     "auth_ref": [
      "r468"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesScheduleOfComponentsOfDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 0.0,
       "parentTag": "us-gaap_DeferredTaxAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards.",
        "label": "Deferred Tax Assets, Gross",
        "totalLabel": "Subtotal"
       }
      }
     },
     "localname": "DeferredTaxAssetsGross",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesScheduleOfComponentsOfDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment": {
     "auth_ref": [
      "r475",
      "r476"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesScheduleOfComponentsOfDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 7.0,
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from in-process research and development costs expensed in connection with a business combination.",
        "label": "Deferred Tax Assets, in Process Research and Development",
        "terseLabel": "Research and experimentation tax credit",
        "verboseLabel": "R&amp;D credit carryforward"
       }
      }
     },
     "localname": "DeferredTaxAssetsInProcessResearchAndDevelopment",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesScheduleOfComponentsOfDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsInvestments": {
     "auth_ref": [],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesScheduleOfComponentsOfDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 6.0,
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from investments (excludes investments in subsidiaries and equity method investments).",
        "label": "Deferred Tax Assets, Investments",
        "terseLabel": "Investment difference"
       }
      }
     },
     "localname": "DeferredTaxAssetsInvestments",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesScheduleOfComponentsOfDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsLiabilitiesNet": {
     "auth_ref": [
      "r470"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesScheduleOfComponentsOfDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, without jurisdictional netting.",
        "label": "Deferred Tax Assets, Net",
        "totalLabel": "Net deferred tax asset (liability)"
       }
      }
     },
     "localname": "DeferredTaxAssetsLiabilitiesNet",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesScheduleOfComponentsOfDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsNet": {
     "auth_ref": [
      "r470"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesScheduleOfComponentsOfDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 0.0,
       "parentTag": "us-gaap_DeferredTaxAssetsLiabilitiesNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards.",
        "label": "Deferred Tax Assets, Net of Valuation Allowance",
        "totalLabel": "Total deferred tax assets"
       }
      }
     },
     "localname": "DeferredTaxAssetsNet",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesScheduleOfComponentsOfDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsOperatingLossCarryforwards": {
     "auth_ref": [
      "r475",
      "r476"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesScheduleOfComponentsOfDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible operating loss carryforwards.",
        "label": "Deferred Tax Assets, Operating Loss Carryforwards",
        "terseLabel": "Net operating loss carryforward",
        "totalLabel": "Deferred Tax Assets, Operating Loss Carryforwards, Total"
       }
      }
     },
     "localname": "DeferredTaxAssetsOperatingLossCarryforwards",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesScheduleOfComponentsOfDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsOther": {
     "auth_ref": [
      "r475",
      "r476"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesScheduleOfComponentsOfDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 8.0,
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary differences, classified as other.",
        "label": "Deferred Tax Assets, Other",
        "terseLabel": "Other"
       }
      }
     },
     "localname": "DeferredTaxAssetsOther",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesScheduleOfComponentsOfDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals [Abstract]"
       }
      }
     },
     "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_DeferredTaxAssetsValuationAllowance": {
     "auth_ref": [
      "r469"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesScheduleOfComponentsOfDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_DeferredTaxAssetsNet",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred tax assets for which it is more likely than not that a tax benefit will not be realized.",
        "label": "Deferred Tax Assets, Valuation Allowance",
        "negatedLabel": "Less: valuation allowance",
        "terseLabel": "Valuation allowance",
        "totalLabel": "Deferred Tax Assets, Valuation Allowance, Total",
        "verboseLabel": "Less: valuation allowance"
       }
      }
     },
     "localname": "DeferredTaxAssetsValuationAllowance",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesScheduleOfComponentsOfDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxLiabilities": {
     "auth_ref": [
      "r454",
      "r470"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesScheduleOfComponentsOfDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_DeferredTaxAssetsLiabilitiesNet",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences without jurisdictional netting.",
        "label": "Deferred Tax Liabilities, Net",
        "negatedTotalLabel": "Total deferred tax liability",
        "totalLabel": "Total deferred tax liability"
       }
      }
     },
     "localname": "DeferredTaxLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesScheduleOfComponentsOfDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxLiabilitiesLeasingArrangements": {
     "auth_ref": [
      "r475",
      "r476"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesScheduleOfComponentsOfDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 0.0,
       "parentTag": "us-gaap_DeferredTaxLiabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from leasing arrangements.",
        "label": "Deferred Tax Liabilities, Leasing Arrangements",
        "negatedLabel": "Leases",
        "terseLabel": "Leases"
       }
      }
     },
     "localname": "DeferredTaxLiabilitiesLeasingArrangements",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesScheduleOfComponentsOfDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxLiabilitiesPrepaidExpenses": {
     "auth_ref": [],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesScheduleOfComponentsOfDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_DeferredTaxLiabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred tax consequences attributable to taxable temporary differences derived from prepaid expenses.",
        "label": "Deferred Tax Liabilities, Prepaid Expenses",
        "negatedLabel": "Prepaid expenses",
        "terseLabel": "Prepaid expenses"
       }
      }
     },
     "localname": "DeferredTaxLiabilitiesPrepaidExpenses",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesScheduleOfComponentsOfDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxesBusinessCombinationValuationAllowanceAllocatedToContributedCapital": {
     "auth_ref": [
      "r490"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of valuation allowance for tax benefit to be credited to shareholders' equity if tax benefit subsequently becomes realizable. Includes, but is not limited to, adjustment to opening balance of retained earnings for change in accounting principle or correction of error, gain (loss) in comprehensive income (loss) but excluded from net income (loss), deductible expenditure for income tax purposes reported as reduction of shareholders' equity, and deductible temporary difference existing at date of quasi-reorganization.",
        "label": "Deferred Taxes, Business Combination, Valuation Allowance, Allocated to Contributed Capital",
        "terseLabel": "Valuation Allowance Deferred Tax Assets Increase paid in capital"
       }
      }
     },
     "localname": "DeferredTaxesBusinessCombinationValuationAllowanceAllocatedToContributedCapital",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DefinedContributionPlanCostRecognized": {
     "auth_ref": [
      "r405"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cost for defined contribution plan.",
        "label": "Defined Contribution Plan, Cost",
        "terseLabel": "Employee and company contributions, amount"
       }
      }
     },
     "localname": "DefinedContributionPlanCostRecognized",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of employees' gross pay for which the employer contributes a matching contribution to a defined contribution plan.",
        "label": "Defined Contribution Plan, Employer Matching Contribution, Percent of Employees' Gross Pay",
        "terseLabel": "Employee contributions percentage Second"
       }
      }
     },
     "localname": "DefinedContributionPlanEmployerMatchingContributionPercent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansAdditionalInformationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage employer matches of the employee's percentage contribution matched.",
        "label": "Defined Contribution Plan, Employer Matching Contribution, Percent of Match",
        "terseLabel": "Employee contributions percentage First"
       }
      }
     },
     "localname": "DefinedContributionPlanEmployerMatchingContributionPercentOfMatch",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansAdditionalInformationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_DefinedContributionPlanEmployersMatchingContributionAnnualVestingPercentage": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of employer's matching contributions to a defined contribution plan that vests in a given year.",
        "label": "Defined Contribution Plan, Employers Matching Contribution, Annual Vesting Percentage",
        "terseLabel": "Employee contributions percentage"
       }
      }
     },
     "localname": "DefinedContributionPlanEmployersMatchingContributionAnnualVestingPercentage",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansAdditionalInformationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Maximum percentage of employee gross pay the employee may contribute to a defined contribution plan.",
        "label": "Defined Contribution Plan, Maximum Annual Contributions Per Employee, Percent",
        "terseLabel": "Employee contributions percentage final"
       }
      }
     },
     "localname": "DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansAdditionalInformationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_Depreciation": {
     "auth_ref": [
      "r121",
      "r267"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation.",
        "label": "Depreciation",
        "totalLabel": "Depreciation, Total",
        "verboseLabel": "Total depreciation expense"
       }
      }
     },
     "localname": "Depreciation",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosurePropertyAndEquipmentNetScheduleOfDepreciationExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DepreciationAndAmortization": {
     "auth_ref": [
      "r121",
      "r267"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The current period expense charged against earnings on long-lived, physical assets not used in production, and which are not intended for resale, to allocate or recognize the cost of such assets over their useful lives; or to record the reduction in book value of an intangible asset over the benefit period of such asset; or to reflect consumption during the period of an asset that is not used in production.",
        "label": "Depreciation, Depletion and Amortization, Nonproduction",
        "terseLabel": "Depreciation and amortization",
        "totalLabel": "Depreciation, Depletion and Amortization, Nonproduction, Total"
       }
      }
     },
     "localname": "DepreciationAndAmortization",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DisaggregationOfRevenueLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Disaggregation of Revenue [Line Items]"
       }
      }
     },
     "localname": "DisaggregationOfRevenueLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureRevenueAdditionalInformationDetails13"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DisaggregationOfRevenueTable": {
     "auth_ref": [
      "r392",
      "r395",
      "r396",
      "r397",
      "r398",
      "r399",
      "r400",
      "r401"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.",
        "label": "Disaggregation of Revenue [Table]"
       }
      }
     },
     "localname": "DisaggregationOfRevenueTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureRevenueAdditionalInformationDetails13"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": {
     "auth_ref": [
      "r448"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for share-based payment arrangement.",
        "label": "Share-based Payment Arrangement [Text Block]",
        "terseLabel": "Stock compensation and other employee benefit plans"
       }
      }
     },
     "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlans"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Payment Arrangement [Abstract]"
       }
      }
     },
     "localname": "DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_Dividends": {
     "auth_ref": [
      "r374",
      "r613"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of paid and unpaid cash, stock, and paid-in-kind (PIK) dividends declared, for example, but not limited to, common and preferred stock.",
        "label": "Dividends",
        "totalLabel": "Dividends, Total"
       }
      }
     },
     "localname": "Dividends",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockholdersEquityAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DomesticCountryMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Designated tax department of the government that is entitled to levy and collect income taxes from the entity in its country of domicile.",
        "label": "Domestic Tax Authority [Member]",
        "terseLabel": "Federal [Member]"
       }
      }
     },
     "localname": "DomesticCountryMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_EarningsPerShareAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings Per Share [Abstract]",
        "terseLabel": "Net loss per share",
        "verboseLabel": "Note 11. Net loss per share"
       }
      }
     },
     "localname": "EarningsPerShareAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureQuarterlyInformationUnauditedScheduleOfQuarterlyInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLossUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EarningsPerShareBasic": {
     "auth_ref": [
      "r95",
      "r148",
      "r149",
      "r151",
      "r152",
      "r153",
      "r159",
      "r161",
      "r165",
      "r166",
      "r167",
      "r171",
      "r172",
      "r517",
      "r518",
      "r609",
      "r632"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.",
        "label": "Earnings Per Share, Basic",
        "terseLabel": "Basic",
        "totalLabel": "Earnings Per Share, Basic, Total",
        "verboseLabel": "Basic loss per share"
       }
      }
     },
     "localname": "EarningsPerShareBasic",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureQuarterlyInformationUnauditedScheduleOfQuarterlyInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLossUnaudited"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_EarningsPerShareBasicAndDiluted": {
     "auth_ref": [
      "r166"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of net income or loss for the period per each share in instances when basic and diluted earnings per share are the same amount and reported as a single line item on the face of the financial statements.  Basic earnings per share is the amount of net income or loss for the period per each share of common stock or unit outstanding during the reporting period.  Diluted earnings per share includes the amount of net income or loss for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.",
        "label": "Earnings Per Share, Basic and Diluted",
        "terseLabel": "Basic and diluted loss per share",
        "totalLabel": "Basic and diluted loss per share"
       }
      }
     },
     "localname": "EarningsPerShareBasicAndDiluted",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureEarningsLossPerShareScheduleOfComputationOfBasicAndDilutedLossPerShareDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_EarningsPerShareBasicAndDilutedAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings Per Share, Basic and Diluted [Abstract]",
        "terseLabel": "Basic and diluted:"
       }
      }
     },
     "localname": "EarningsPerShareBasicAndDilutedAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureEarningsLossPerShareScheduleOfComputationOfBasicAndDilutedLossPerShareDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EarningsPerShareDiluted": {
     "auth_ref": [
      "r95",
      "r148",
      "r149",
      "r151",
      "r152",
      "r153",
      "r161",
      "r165",
      "r166",
      "r167",
      "r171",
      "r172",
      "r517",
      "r518",
      "r609",
      "r632"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.",
        "label": "Earnings Per Share, Diluted",
        "terseLabel": "Diluted",
        "totalLabel": "Earnings Per Share, Diluted, Total",
        "verboseLabel": "Diluted loss per share"
       }
      }
     },
     "localname": "EarningsPerShareDiluted",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureQuarterlyInformationUnauditedScheduleOfQuarterlyInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLossUnaudited"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_EarningsPerShareTextBlock": {
     "auth_ref": [
      "r168",
      "r169",
      "r170",
      "r173"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for earnings per share.",
        "label": "Earnings Per Share [Text Block]",
        "terseLabel": "Earnings (loss) per share"
       }
      }
     },
     "localname": "EarningsPerShareTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureEarningsLossPerShare"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": {
     "auth_ref": [
      "r524"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited": {
       "order": 3.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) from effect of exchange rate changes on cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; held in foreign currencies. Excludes amounts for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents",
        "terseLabel": "Effect of exchange rate changes on cash and restricted cash"
       }
      }
     },
     "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateContinuingOperations": {
     "auth_ref": [
      "r456"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.",
        "label": "Effective Income Tax Rate Reconciliation, Percent",
        "terseLabel": "Effective income tax rate",
        "totalLabel": "Effective Income Tax Rate Reconciliation, Percent, Total"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateContinuingOperations",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesAdditionalInformationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance": {
     "auth_ref": [
      "r456",
      "r488"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to changes in the valuation allowance for deferred tax assets.",
        "label": "Effective Income Tax Rate Reconciliation, Change in Deferred Tax Assets Valuation Allowance, Percent",
        "terseLabel": "Change in deferred tax assets valuation allowance, percentage"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesAdditionalInformationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate": {
     "auth_ref": [
      "r456",
      "r488"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to changes in the income tax rates.",
        "label": "Effective Income Tax Rate Reconciliation, Change in Enacted Tax Rate, Percent",
        "terseLabel": "Tax provision at effective tax rate"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesAdditionalInformationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansStockCompensationExpenseDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EmployeeStockOptionMember": {
     "auth_ref": [
      "r435"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share-based payment arrangement granting right, subject to vesting and other restrictions, to purchase or sell certain number of shares at predetermined price for specified period of time.",
        "label": "Share-based Payment Arrangement, Option [Member]",
        "terseLabel": "Options [Member]",
        "verboseLabel": "Stock Options [Member]"
       }
      }
     },
     "localname": "EmployeeStockOptionMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureEarningsLossPerShareScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfDilutedNetIncomePerShareDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_EquipmentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tangible personal property used to produce goods and services.",
        "label": "Equipment [Member]",
        "terseLabel": "Field Equipment [Member]"
       }
      }
     },
     "localname": "EquipmentMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosurePropertyAndEquipmentNetScheduleOfPropertyAndEquipmentDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesSummaryOfPropertyAndEquipmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_EquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity [Abstract]"
       }
      }
     },
     "localname": "EquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_EquityComponentDomain": {
     "auth_ref": [
      "r0",
      "r85",
      "r86",
      "r87",
      "r143",
      "r144",
      "r145",
      "r147",
      "r154",
      "r157",
      "r178",
      "r244",
      "r367",
      "r374",
      "r440",
      "r441",
      "r442",
      "r481",
      "r482",
      "r516",
      "r525",
      "r526",
      "r527",
      "r528",
      "r529",
      "r531",
      "r643",
      "r644",
      "r645",
      "r702"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc.",
        "label": "Equity Component [Domain]",
        "terseLabel": "Equity Component"
       }
      }
     },
     "localname": "EquityComponentDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfStockholdersEquityDeficitUnaudited"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_EquityMethodInvestmentAggregateCost": {
     "auth_ref": [
      "r43"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This element represents the aggregate cost of investments accounted for under the equity method of accounting.",
        "label": "Equity Method Investment, Aggregate Cost",
        "terseLabel": "Ownership value"
       }
      }
     },
     "localname": "EquityMethodInvestmentAggregateCost",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSaleOfInvestmentInUnconsolidatedSubsidiaryAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EquityMethodInvestmentOwnershipPercentage": {
     "auth_ref": [
      "r238"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The percentage of ownership of common stock or equity participation in the investee accounted for under the equity method of accounting.",
        "label": "Equity Method Investment, Ownership Percentage",
        "terseLabel": "Ownership percentage"
       }
      }
     },
     "localname": "EquityMethodInvestmentOwnershipPercentage",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSaleOfInvestmentInUnconsolidatedSubsidiaryAdditionalInformationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal": {
     "auth_ref": [
      "r99",
      "r100",
      "r121"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited": {
       "order": 9.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      },
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLossUnaudited": {
       "order": 2.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of gain (loss) on sale or disposal of an equity method investment.",
        "label": "Equity Method Investment, Realized Gain (Loss) on Disposal",
        "negatedLabel": "Gain from disposal of investment in unconsolidated subsidiary",
        "terseLabel": "Gain from disposal of investment in unconsolidated subsidiary",
        "totalLabel": "Equity Method Investment, Realized Gain (Loss) on Disposal, Total"
       }
      }
     },
     "localname": "EquityMethodInvestmentRealizedGainLossOnDisposal",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSaleOfInvestmentInUnconsolidatedSubsidiaryAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited",
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLossUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EquityMethodInvestments": {
     "auth_ref": [
      "r43",
      "r204",
      "r237"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited": {
       "order": 3.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This item represents the carrying amount on the entity's balance sheet of its investment in common stock of an equity method investee. This is not an indicator of the fair value of the investment, rather it is the initial cost adjusted for the entity's share of earnings and losses of the investee, adjusted for any distributions (dividends) and other than temporary impairment (OTTI) losses recognized.",
        "label": "Equity Method Investments",
        "terseLabel": "Investments in unconsolidated subsidiary",
        "verboseLabel": "Carrying value"
       }
      }
     },
     "localname": "EquityMethodInvestments",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EquityMethodInvestmentsAndJointVenturesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Method Investments and Joint Ventures [Abstract]"
       }
      }
     },
     "localname": "EquityMethodInvestmentsAndJointVenturesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_EquityMethodInvestmentsDisclosureTextBlock": {
     "auth_ref": [
      "r243"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for equity method investments and joint ventures. Equity method investments are investments that give the investor the ability to exercise significant influence over the operating and financial policies of an investee. Joint ventures are entities owned and operated by a small group of businesses as a separate and specific business or project for the mutual benefit of the members of the group.",
        "label": "Equity Method Investments and Joint Ventures Disclosure [Text Block]",
        "terseLabel": "Sale of investment in unconsolidated subsidiary"
       }
      }
     },
     "localname": "EquityMethodInvestmentsDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSaleOfInvestmentInUnconsolidatedSubsidiary1"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_EquityMethodInvestmentsPolicy": {
     "auth_ref": [
      "r43",
      "r115",
      "r239",
      "r523"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for equity method of accounting for investments and other interests. Investment includes, but is not limited to, unconsolidated subsidiary, corporate joint venture, noncontrolling interest in real estate venture, limited partnership, and limited liability company. Information includes, but is not limited to, ownership percentage, reason equity method is or is not considered appropriate, and accounting policy election for distribution received.",
        "label": "Equity Method Investments [Policy Text Block]",
        "terseLabel": "Equity Method Investments"
       }
      }
     },
     "localname": "EquityMethodInvestmentsPolicy",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_EquityMethodInvestmentsTextBlock": {
     "auth_ref": [
      "r242"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of equity method investments including, but not limited to, name of each investee or group of investments, percentage ownership, difference between recorded amount of an investment and the value of the underlying equity in the net assets, and summarized financial information.",
        "label": "Equity Method Investments [Table Text Block]",
        "terseLabel": "Summary of Equity Method Investments"
       }
      }
     },
     "localname": "EquityMethodInvestmentsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSaleOfInvestmentInUnconsolidatedSubsidiaryTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Abstract]"
       }
      }
     },
     "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueDisclosuresAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value Disclosures [Abstract]"
       }
      }
     },
     "localname": "FairValueDisclosuresAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueDisclosuresTextBlock": {
     "auth_ref": [
      "r519"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for the fair value of financial instruments (as defined), including financial assets and financial liabilities (collectively, as defined), and the measurements of those instruments as well as disclosures related to the fair value of non-financial assets and liabilities. Such disclosures about the financial instruments, assets, and liabilities would include: (1) the fair value of the required items together with their carrying amounts (as appropriate); (2) for items for which it is not practicable to estimate fair value, disclosure would include: (a) information pertinent to estimating fair value (including, carrying amount, effective interest rate, and maturity, and (b) the reasons why it is not practicable to estimate fair value; (3) significant concentrations of credit risk including: (a) information about the activity, region, or economic characteristics identifying a concentration, (b) the maximum amount of loss the entity is exposed to based on the gross fair value of the related item, (c) policy for requiring collateral or other security and information as to accessing such collateral or security, and (d) the nature and brief description of such collateral or security; (4) quantitative information about market risks and how such risks are managed; (5) for items measured on both a recurring and nonrecurring basis information regarding the inputs used to develop the fair value measurement; and (6) for items presented in the financial statement for which fair value measurement is elected: (a) information necessary to understand the reasons for the election, (b) discussion of the effect of fair value changes on earnings, (c) a description of [similar groups] items for which the election is made and the relation thereof to the balance sheet, the aggregate carrying value of items included in the balance sheet that are not eligible for the election; (7) all other required (as defined) and desired information.",
        "label": "Fair Value Disclosures [Text Block]",
        "terseLabel": "Fair value measurements"
       }
      }
     },
     "localname": "FairValueDisclosuresTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureFairValueMeasurements"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_FairValueMeasurementPolicyPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for fair value measurements of financial and non-financial assets, liabilities and instruments classified in shareholders' equity. Disclosures include, but are not limited to, how an entity that manages a group of financial assets and liabilities on the basis of its net exposure measures the fair value of those assets and liabilities.",
        "label": "Fair Value Measurement, Policy [Policy Text Block]",
        "terseLabel": "Fair Value of Financial Instruments"
       }
      }
     },
     "localname": "FairValueMeasurementPolicyPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetUsefulLife": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.",
        "label": "Finite-Lived Intangible Asset, Useful Life",
        "terseLabel": "Estimated Useful Life"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetUsefulLife",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_ForeignCountryMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Designated tax departments of governments entitled to levy and collect income taxes from the entity outside the entity's country of domicile.",
        "label": "Foreign Tax Authority [Member]",
        "terseLabel": "Foreign [Member]"
       }
      }
     },
     "localname": "ForeignCountryMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesScheduleOfComponentsOfIncomeBeforeIncomeTaxesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_GainLossOnSaleOfEquityInvestments": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The difference between the carrying value and the sale price of equity securities, not separately or otherwise categorized as trading or available-for-sale. This element includes investments in which the entity holds a small ownership stake (generally, less than 20% of the shares outstanding) and cannot exert significant influence.",
        "label": "Gain (Loss) on Sale of Equity Investments"
       }
      }
     },
     "localname": "GainLossOnSaleOfEquityInvestments",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSaleOfInvestmentInUnconsolidatedSubsidiaryAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GainOrLossOnSaleOfStockInSubsidiary": {
     "auth_ref": [
      "r99",
      "r100",
      "r121",
      "r604",
      "r633"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of gain (loss) on sale or disposal of equity in securities of subsidiaries.",
        "label": "Gain (Loss) on Disposition of Stock in Subsidiary"
       }
      }
     },
     "localname": "GainOrLossOnSaleOfStockInSubsidiary",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSaleOfInvestmentInUnconsolidatedSubsidiaryAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GainsLossesOnExtinguishmentOfDebt": {
     "auth_ref": [
      "r121",
      "r345",
      "r346"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited": {
       "order": 10.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      },
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLossUnaudited": {
       "order": 3.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Difference between the fair value of payments made and the carrying amount of debt which is extinguished prior to maturity.",
        "label": "Gain (Loss) on Extinguishment of Debt",
        "negatedLabel": "(Gain) loss on extinguishment of debt",
        "terseLabel": "Gain (loss) on extinguishment of debt",
        "totalLabel": "Gain (Loss) on Extinguishment of Debt, Total",
        "verboseLabel": "Gain on extinguishment of debt"
       }
      }
     },
     "localname": "GainsLossesOnExtinguishmentOfDebt",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDebtAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited",
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLossUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GeneralAndAdministrativeExpense": {
     "auth_ref": [
      "r103"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLossUnaudited": {
       "order": 2.0,
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate total of expenses of managing and administering the affairs of an entity, including affiliates of the reporting entity, which are not directly or indirectly associated with the manufacture, sale or creation of a product or product line.",
        "label": "General and Administrative Expense",
        "terseLabel": "General and administrative",
        "totalLabel": "General and Administrative Expense, Total"
       }
      }
     },
     "localname": "GeneralAndAdministrativeExpense",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLossUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GeneralAndAdministrativeExpenseMember": {
     "auth_ref": [
      "r96"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption encompassing general and administrative expense.",
        "label": "General and Administrative Expense [Member]",
        "terseLabel": "General and Administrative [Member]"
       }
      }
     },
     "localname": "GeneralAndAdministrativeExpenseMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureLeasesSummaryOfLeaseExpenseDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansStockCompensationExpenseDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_GeographicConcentrationRiskMember": {
     "auth_ref": [
      "r188",
      "r660"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Reflects the percentage that a specified dollar value on the balance sheet or income statement in the period from one or more specified geographic areas is to a corresponding consolidated, segment, or product line amount. Risk is the materially adverse effects of economic decline or antagonistic political actions resulting in loss of assets, sales volume, labor supply, or source of materials and supplies in a US state or a specified country, continent, or region such as EMEA (Europe, Middle East, Africa).",
        "label": "Geographic Concentration Risk [Member]",
        "verboseLabel": "Geographic Concentration Risk [Member]"
       }
      }
     },
     "localname": "GeographicConcentrationRiskMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSegmentInformationAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock": {
     "auth_ref": [
      "r263",
      "r264"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for goodwill and intangible assets. This accounting policy also may address how an entity assesses and measures impairment of goodwill and intangible assets.",
        "label": "Goodwill and Intangible Assets, Policy [Policy Text Block]",
        "terseLabel": "Intangible assets, net"
       }
      }
     },
     "localname": "GoodwillAndIntangibleAssetsPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_GrossProfit": {
     "auth_ref": [
      "r101",
      "r135",
      "r203",
      "r207",
      "r210",
      "r213",
      "r216",
      "r241",
      "r299",
      "r300",
      "r301",
      "r303",
      "r304",
      "r305",
      "r306",
      "r307",
      "r308",
      "r309",
      "r523"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureQuarterlyInformationUnauditedScheduleOfQuarterlyInformationDetails": {
       "order": 0.0,
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": 1.0
      },
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLossUnaudited": {
       "order": 0.0,
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.",
        "label": "Gross Profit",
        "terseLabel": "Gross loss",
        "totalLabel": "Gross profit (loss)",
        "verboseLabel": "Gross profit (loss)"
       }
      }
     },
     "localname": "GrossProfit",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureQuarterlyInformationUnauditedScheduleOfQuarterlyInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLossUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IPOMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "First sale of stock by a private company to the public.",
        "label": "IPO [Member]"
       }
      }
     },
     "localname": "IPOMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDescriptionOfBusinessAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockholdersEquityAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfStockholdersEquityDeficitUnaudited"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ImpairedAssetsToBeDisposedOfByMethodOtherThanSaleTextBlock": {
     "auth_ref": [
      "r265",
      "r272"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure for impaired assets to be disposed of by a method other than sale. Includes disclosure of the carrying value of the asset, the facts and circumstances leading to impairment, the amount of impairment loss, the income statement classification, the method for determining fair value and the segment in which the impaired long-lived assets being disposed of by a method other than sale is reported.",
        "label": "Impaired Assets to be Disposed of by Method Other than Sale [Table Text Block]",
        "terseLabel": "Depreciation of property and equipment using the method over their estimated useful lives"
       }
      }
     },
     "localname": "ImpairedAssetsToBeDisposedOfByMethodOtherThanSaleTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ImpairmentOfLongLivedAssetsHeldForUse": {
     "auth_ref": [
      "r121",
      "r266",
      "r271"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate amount of write-downs for impairments recognized during the period for long lived assets held for use (including those held for disposal by means other than sale).",
        "label": "Impairment, Long-Lived Asset, Held-for-Use",
        "terseLabel": "Impairment of long-lived assets",
        "totalLabel": "Impairment, Long-Lived Asset, Held-for-Use, Total"
       }
      }
     },
     "localname": "ImpairmentOfLongLivedAssetsHeldForUse",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": {
     "auth_ref": [
      "r90",
      "r203",
      "r207",
      "r210",
      "r213",
      "r216",
      "r595",
      "r605",
      "r611",
      "r634"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLossUnaudited": {
       "order": 0.0,
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.",
        "label": "Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest",
        "terseLabel": "Pre-tax income (loss) from company's operations",
        "totalLabel": "Loss before income taxes",
        "verboseLabel": "Total loss before income taxes"
       }
      }
     },
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesScheduleOfComponentsOfIncomeBeforeIncomeTaxesDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLossUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeLossFromEquityMethodInvestments": {
     "auth_ref": [
      "r91",
      "r121",
      "r201",
      "r237",
      "r603",
      "r628"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLossUnaudited": {
       "order": 5.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of income (loss) for proportionate share of equity method investee's income (loss).",
        "label": "Income (Loss) from Equity Method Investments",
        "negatedLabel": "(Income) loss from unconsolidated subsidiary",
        "terseLabel": "Income (loss) from unconsolidated subsidiary",
        "totalLabel": "Income (Loss) from Equity Method Investments, Total",
        "verboseLabel": "Share of net loss from equity method investment"
       }
      }
     },
     "localname": "IncomeLossFromEquityMethodInvestments",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLossUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeLossFromEquityMethodInvestmentsNetOfDividendsOrDistributions": {
     "auth_ref": [
      "r121"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited": {
       "order": 8.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This element represents the undistributed income (or loss) of equity method investments, net of dividends or other distributions received from unconsolidated subsidiaries, certain corporate joint ventures, and certain noncontrolled corporations; such investments are accounted for under the equity method of accounting. This element excludes distributions that constitute a return of investment, which are classified as investing activities.",
        "label": "Income (Loss) from Equity Method Investments, Net of Dividends or Distributions",
        "negatedLabel": "(Gain) loss from unconsolidated subsidiary",
        "totalLabel": "Income (Loss) from Equity Method Investments, Net of Dividends or Distributions, Total"
       }
      }
     },
     "localname": "IncomeLossFromEquityMethodInvestmentsNetOfDividendsOrDistributions",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeStatementAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Statement [Abstract]",
        "terseLabel": "Statement of operations"
       }
      }
     },
     "localname": "IncomeStatementAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeStatementLocationAxis": {
     "auth_ref": [
      "r273",
      "r275"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by location in the income statement.",
        "label": "Income Statement Location [Axis]"
       }
      }
     },
     "localname": "IncomeStatementLocationAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureLeasesSummaryOfLeaseExpenseDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansStockCompensationExpenseDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeStatementLocationDomain": {
     "auth_ref": [
      "r275"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Location in the income statement.",
        "label": "Income Statement Location [Domain]"
       }
      }
     },
     "localname": "IncomeStatementLocationDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureLeasesSummaryOfLeaseExpenseDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansStockCompensationExpenseDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_IncomeTaxAuthorityAxis": {
     "auth_ref": [
      "r459"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by tax jurisdiction.",
        "label": "Income Tax Authority [Axis]"
       }
      }
     },
     "localname": "IncomeTaxAuthorityAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeTaxAuthorityDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Agency, division or body classification that levies income taxes, examines tax returns for compliance, or grants exemptions from or makes other decisions pertaining to income taxes.",
        "label": "Income Tax Authority [Domain]"
       }
      }
     },
     "localname": "IncomeTaxAuthorityDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_IncomeTaxContingencyLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Income Tax Contingency [Line Items]"
       }
      }
     },
     "localname": "IncomeTaxContingencyLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesScheduleOfComponentsOfIncomeBeforeIncomeTaxesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeTaxContingencyTable": {
     "auth_ref": [
      "r460",
      "r465",
      "r467",
      "r480"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about tax positions taken in the tax returns filed or to be filed for which it is more likely than not that the tax position will not be sustained upon examination by taxing authorities and other income tax contingencies. Includes, but is not limited to, interest and penalties, reconciliation of unrecognized tax benefits, unrecognized tax benefits that would affect the effective tax rate, tax years that remain subject to examination by tax jurisdictions, and information about positions for which it is reasonably possible that amounts unrecognized will significantly change within 12 months.",
        "label": "Income Tax Contingency [Table]"
       }
      }
     },
     "localname": "IncomeTaxContingencyTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesScheduleOfComponentsOfIncomeBeforeIncomeTaxesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeTaxDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Disclosure [Abstract]"
       }
      }
     },
     "localname": "IncomeTaxDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeTaxDisclosureTextBlock": {
     "auth_ref": [
      "r137",
      "r457",
      "r466",
      "r472",
      "r483",
      "r489",
      "r492",
      "r493",
      "r494"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information.",
        "label": "Income Tax Disclosure [Text Block]",
        "terseLabel": "Income taxes"
       }
      }
     },
     "localname": "IncomeTaxDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxes1"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_IncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r138",
      "r156",
      "r157",
      "r202",
      "r455",
      "r484",
      "r491",
      "r635"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesScheduleOfProvisionsBenefitsForIncomeTaxesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesScheduleOfProvisionsBenefitsForIncomeTaxesDetails2": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLossUnaudited": {
       "order": 1.0,
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.",
        "label": "Income Tax Expense (Benefit)",
        "negatedLabel": "(Provision) benefit for income taxes",
        "terseLabel": "(Benefit from) income taxes",
        "totalLabel": "Provision (benefit) for income taxes",
        "verboseLabel": "Income tax expense (benefit)"
       }
      }
     },
     "localname": "IncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesScheduleOfProvisionsBenefitsForIncomeTaxesDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLossUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxPolicyTextBlock": {
     "auth_ref": [
      "r84",
      "r452",
      "r453",
      "r466",
      "r467",
      "r471",
      "r479"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements.",
        "label": "Income Tax, Policy [Policy Text Block]",
        "terseLabel": "Income taxes"
       }
      }
     },
     "localname": "IncomeTaxPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance": {
     "auth_ref": [
      "r456"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesScheduleOfProvisionsBenefitsForIncomeTaxesDetails2": {
       "order": 3.0,
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to increase (decrease) in the valuation allowance for deferred tax assets.",
        "label": "Effective Income Tax Rate Reconciliation, Change in Deferred Tax Assets Valuation Allowance, Amount",
        "terseLabel": "Change in valuation allowance"
       }
      }
     },
     "localname": "IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesScheduleOfProvisionsBenefitsForIncomeTaxesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxReconciliationDeductionsDividends": {
     "auth_ref": [
      "r456"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesScheduleOfProvisionsBenefitsForIncomeTaxesDetails2": {
       "order": 5.0,
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to deduction for dividend.",
        "label": "Effective Income Tax Rate Reconciliation, Deduction, Dividends, Amount",
        "negatedLabel": "Dividends received deduction",
        "terseLabel": "Dividends received deduction"
       }
      }
     },
     "localname": "IncomeTaxReconciliationDeductionsDividends",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesScheduleOfProvisionsBenefitsForIncomeTaxesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxReconciliationDeductionsOther": {
     "auth_ref": [
      "r456"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesScheduleOfProvisionsBenefitsForIncomeTaxesDetails2": {
       "order": 7.0,
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to other deductions.",
        "label": "Effective Income Tax Rate Reconciliation, Deduction, Other, Amount",
        "terseLabel": "Permanent differences and other"
       }
      }
     },
     "localname": "IncomeTaxReconciliationDeductionsOther",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesScheduleOfProvisionsBenefitsForIncomeTaxesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate": {
     "auth_ref": [
      "r456"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesScheduleOfProvisionsBenefitsForIncomeTaxesDetails2": {
       "order": 0.0,
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of income tax expense or benefit for the period computed by applying the domestic federal statutory tax rates to pretax income from continuing operations.",
        "label": "Effective Income Tax Rate Reconciliation at Federal Statutory Income Tax Rate, Amount",
        "terseLabel": "Federal income tax provision (benefit) at statutory rate"
       }
      }
     },
     "localname": "IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesScheduleOfProvisionsBenefitsForIncomeTaxesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes": {
     "auth_ref": [
      "r456"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesScheduleOfProvisionsBenefitsForIncomeTaxesDetails2": {
       "order": 1.0,
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to state and local income tax expense (benefit).",
        "label": "Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Amount",
        "terseLabel": "State taxes, net of federal"
       }
      }
     },
     "localname": "IncomeTaxReconciliationStateAndLocalIncomeTaxes",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesScheduleOfProvisionsBenefitsForIncomeTaxesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxesPaid": {
     "auth_ref": [
      "r118",
      "r125"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income.",
        "label": "Income Taxes Paid",
        "terseLabel": "Cash paid during the period for taxes"
       }
      }
     },
     "localname": "IncomeTaxesPaid",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccountsPayable": {
     "auth_ref": [
      "r120"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited": {
       "order": 20.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business.",
        "label": "Increase (Decrease) in Accounts Payable",
        "terseLabel": "Accounts payable",
        "totalLabel": "Increase (Decrease) in Accounts Payable, Total"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccountsPayable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureRevisionOfPreviouslyIssuedFinancialStatementsScheduleOfConsolidatedStatementOfCashFlowsDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccountsReceivable": {
     "auth_ref": [
      "r120"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited": {
       "order": 16.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services.",
        "label": "Increase (Decrease) in Accounts Receivable",
        "negatedLabel": "Accounts receivable, net"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccountsReceivable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInDeferredRevenue": {
     "auth_ref": [
      "r120"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited": {
       "order": 23.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in deferred income and obligation to transfer product and service to customer for which consideration has been received or is receivable.",
        "label": "Increase (Decrease) in Deferred Revenue",
        "terseLabel": "Deferred revenue"
       }
      }
     },
     "localname": "IncreaseDecreaseInDeferredRevenue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInInterestPayableNet": {
     "auth_ref": [
      "r120"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited": {
       "order": 22.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in interest payable, which represents the amount owed to note holders, bond holders, and other parties for interest earned on loans or credit extended to the reporting entity.",
        "label": "Increase (Decrease) in Interest Payable, Net",
        "terseLabel": "Accrued interest \u2013 related party debt"
       }
      }
     },
     "localname": "IncreaseDecreaseInInterestPayableNet",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInInventories": {
     "auth_ref": [
      "r120"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited": {
       "order": 17.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities.",
        "label": "Increase (Decrease) in Inventories",
        "negatedLabel": "Inventories",
        "totalLabel": "Increase (Decrease) in Inventories, Total"
       }
      }
     },
     "localname": "IncreaseDecreaseInInventories",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase (Decrease) in Operating Capital [Abstract]",
        "terseLabel": "Changes in operating assets and liabilities:"
       }
      }
     },
     "localname": "IncreaseDecreaseInOperatingCapitalAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncreaseDecreaseInOtherAccountsPayableAndAccruedLiabilities": {
     "auth_ref": [
      "r120"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited": {
       "order": 21.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in other obligations or expenses incurred but not yet paid.",
        "label": "Increase (Decrease) in Other Accounts Payable and Accrued Liabilities",
        "terseLabel": "Accruals and other current liabilities"
       }
      }
     },
     "localname": "IncreaseDecreaseInOtherAccountsPayableAndAccruedLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities": {
     "auth_ref": [],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited": {
       "order": 24.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in noncurrent operating liabilities classified as other.",
        "label": "Increase (Decrease) in Other Noncurrent Liabilities",
        "terseLabel": "Other non-current liabilities"
       }
      }
     },
     "localname": "IncreaseDecreaseInOtherNoncurrentLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInOtherOperatingAssets": {
     "auth_ref": [
      "r120"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited": {
       "order": 19.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in operating assets classified as other.",
        "label": "Increase (Decrease) in Other Operating Assets",
        "negatedLabel": "Other assets",
        "totalLabel": "Increase (Decrease) in Other Operating Assets, Total"
       }
      }
     },
     "localname": "IncreaseDecreaseInOtherOperatingAssets",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet": {
     "auth_ref": [
      "r120"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited": {
       "order": 25.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in operating assets after deduction of operating liabilities classified as other.",
        "label": "Increase (Decrease) in Other Operating Assets and Liabilities, Net",
        "negatedLabel": "Other, net",
        "totalLabel": "Increase (Decrease) in Other Operating Assets and Liabilities, Net, Total"
       }
      }
     },
     "localname": "IncreaseDecreaseInOtherOperatingCapitalNet",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": {
     "auth_ref": [
      "r120"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited": {
       "order": 18.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other.",
        "label": "Increase (Decrease) in Prepaid Expense and Other Assets",
        "negatedLabel": "Prepaid and other current assets",
        "totalLabel": "Increase (Decrease) in Prepaid Expense and Other Assets, Total"
       }
      }
     },
     "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestExpenseDebt": {
     "auth_ref": [
      "r104",
      "r331",
      "r340",
      "r343",
      "r344"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of the cost of borrowed funds accounted for as interest expense for debt.",
        "label": "Interest Expense, Debt",
        "terseLabel": "Interest expense on debt and other borrowings",
        "totalLabel": "Interest Expense, Debt, Total"
       }
      }
     },
     "localname": "InterestExpenseDebt",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDebtAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestExpenseRelatedParty": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of interest expense incurred on a debt or other obligation to related party.",
        "label": "Interest Expense, Related Party",
        "terseLabel": "Interest expense"
       }
      }
     },
     "localname": "InterestExpenseRelatedParty",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureRelatedPartiesAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestIncomeExpenseNet": {
     "auth_ref": [
      "r610"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLossUnaudited": {
       "order": 1.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The net amount of operating interest income (expense).",
        "label": "Interest Income (Expense), Net",
        "negatedLabel": "Interest expense",
        "terseLabel": "Interest expense, net",
        "totalLabel": "Interest Income (Expense), Net, Total"
       }
      }
     },
     "localname": "InterestIncomeExpenseNet",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLossUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestPaidNet": {
     "auth_ref": [
      "r114",
      "r117",
      "r125"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount.",
        "label": "Interest Paid, Excluding Capitalized Interest, Operating Activities",
        "terseLabel": "Cash paid during the period for interest"
       }
      }
     },
     "localname": "InterestPaidNet",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestPayableCurrent": {
     "auth_ref": [
      "r14",
      "r15",
      "r53"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited": {
       "order": 3.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of [accrued] interest payable on all forms of debt, including trade payables, that has been incurred and is unpaid. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Interest Payable, Current",
        "terseLabel": "Accrued interest \u2013 related party"
       }
      }
     },
     "localname": "InterestPayableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory Disclosure [Abstract]"
       }
      }
     },
     "localname": "InventoryDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_InventoryDisclosureTextBlock": {
     "auth_ref": [
      "r259"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for inventory. Includes, but is not limited to, the basis of stating inventory, the method of determining inventory cost, the classes of inventory, and the nature of the cost elements included in inventory.",
        "label": "Inventory Disclosure [Text Block]",
        "terseLabel": "Inventories, net"
       }
      }
     },
     "localname": "InventoryDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureInventoriesNet"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_InventoryFinishedGoods": {
     "auth_ref": [
      "r65"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureInventoriesNetScheduleOfInventoryDetails": {
       "order": 0.0,
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before valuation and LIFO reserves of completed merchandise or goods expected to be sold within one year or operating cycle, if longer.",
        "label": "Inventory, Finished Goods, Gross",
        "terseLabel": "Finished goods",
        "totalLabel": "Inventory, Finished Goods, Gross, Total"
       }
      }
     },
     "localname": "InventoryFinishedGoods",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureInventoriesNetScheduleOfInventoryDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryImpairmentPolicy": {
     "auth_ref": [
      "r255"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for recognizing inventory losses, including, but not limited to, substantial and unusual losses resulting from the subsequent measurement of inventory due to physical deterioration, obsolescence, or changes in price levels.",
        "label": "Inventory Impairment, Policy [Policy Text Block]",
        "terseLabel": "Impairment"
       }
      }
     },
     "localname": "InventoryImpairmentPolicy",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_InventoryNet": {
     "auth_ref": [
      "r5",
      "r66",
      "r569"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureInventoriesNetScheduleOfInventoryDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited": {
       "order": 4.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.",
        "label": "Inventory, Net",
        "terseLabel": "Total",
        "totalLabel": "Inventory, Net, Total",
        "verboseLabel": "Inventories"
       }
      }
     },
     "localname": "InventoryNet",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureInventoriesNetScheduleOfInventoryDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryPolicyTextBlock": {
     "auth_ref": [
      "r16",
      "r67",
      "r128",
      "r174",
      "r256",
      "r257",
      "r259",
      "r580"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of inventory accounting policy for inventory classes, including, but not limited to, basis for determining inventory amounts, methods by which amounts are added and removed from inventory classes, loss recognition on impairment of inventories, and situations in which inventories are stated above cost.",
        "label": "Inventory, Policy [Policy Text Block]",
        "terseLabel": "Inventories, net"
       }
      }
     },
     "localname": "InventoryPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_InventoryValuationReserves": {
     "auth_ref": [
      "r66",
      "r258"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureInventoriesNetScheduleOfInventoryDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_InventoryNet",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of valuation reserve for inventory.",
        "label": "Inventory Valuation Reserves",
        "negatedTerseLabel": "Allowance for slow-moving and obsolete inventory",
        "periodEndLabel": "Balance at end of period",
        "periodStartLabel": "Balance at beginning of period"
       }
      }
     },
     "localname": "InventoryValuationReserves",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureInventoriesNetScheduleOfActivityInSlowmovingAndObsoleteInventoryDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureInventoriesNetScheduleOfInventoryDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LeaseCost": {
     "auth_ref": [
      "r554",
      "r556"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureLeasesSummaryOfLeaseExpenseDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lease cost recognized by lessee for lease contract.",
        "label": "Lease, Cost",
        "totalLabel": "Total lease cost"
       }
      }
     },
     "localname": "LeaseCost",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureLeasesSummaryOfLeaseExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LeaseCostTableTextBlock": {
     "auth_ref": [
      "r554"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of lessee's lease cost. Includes, but is not limited to, interest expense for finance lease, amortization of right-of-use asset for finance lease, operating lease cost, short-term lease cost, variable lease cost and sublease income.",
        "label": "Lease, Cost [Table Text Block]",
        "terseLabel": "Summary of Lease Expense"
       }
      }
     },
     "localname": "LeaseCostTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/Role_DisclosureLeasesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LeaseholdImprovementsMember": {
     "auth_ref": [
      "r268"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Additions or improvements to assets held under a lease arrangement.",
        "label": "Leasehold Improvements [Member]",
        "terseLabel": "Leasehold Improvements [Member]"
       }
      }
     },
     "localname": "LeaseholdImprovementsMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosurePropertyAndEquipmentNetScheduleOfPropertyAndEquipmentDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesSummaryOfPropertyAndEquipmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_LeasesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Leases [Abstract]"
       }
      }
     },
     "localname": "LeasesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_LeasesOfLesseeDisclosureTextBlock": {
     "auth_ref": [
      "r543"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for lessee entity's leasing arrangements including, but not limited to, all of the following: (a.) The basis on which contingent rental payments are determined, (b.) The existence and terms of renewal or purchase options and escalation clauses, (c.) Restrictions imposed by lease agreements, such as those concerning dividends, additional debt, and further leasing.",
        "label": "Leases of Lessee Disclosure [Text Block]",
        "terseLabel": "Leases"
       }
      }
     },
     "localname": "LeasesOfLesseeDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/Role_DisclosureLeases"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LesseeLeaseDescriptionLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Lessee, Lease, Description [Line Items]"
       }
      }
     },
     "localname": "LesseeLeaseDescriptionLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureLeasesSummaryOfLeaseExpenseDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LesseeLeaseDescriptionTable": {
     "auth_ref": [
      "r548"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about lessee's leases.",
        "label": "Lessee, Lease, Description [Table]"
       }
      }
     },
     "localname": "LesseeLeaseDescriptionTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureLeasesSummaryOfLeaseExpenseDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LesseeLeasesPolicyTextBlock": {
     "auth_ref": [
      "r547"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for leasing arrangement entered into by lessee.",
        "label": "Lessee, Leases [Policy Text Block]",
        "terseLabel": "Leases"
       }
      }
     },
     "localname": "LesseeLeasesPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": {
     "auth_ref": [
      "r555"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position.",
        "label": "Lessee, Operating Lease, Liability, Maturity [Table Text Block]",
        "terseLabel": "Summary of Future Remaining Lease Payments Obligations"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/Role_DisclosureLeasesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": {
     "auth_ref": [
      "r555"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureLeasesSummaryOfFutureRemainingLeasePaymentsObligationsDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureLeasesSummaryOfFutureRemainingLeasePaymentsObligationsDetails2": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease.",
        "label": "Lessee, Operating Lease, Liability, to be Paid",
        "totalLabel": "Total lease payments"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureLeasesSummaryOfFutureRemainingLeasePaymentsObligationsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive": {
     "auth_ref": [
      "r555"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureLeasesSummaryOfFutureRemainingLeasePaymentsObligationsDetails": {
       "order": 5.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease due after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Lessee, Operating Lease, Liability, to be Paid, after Year Five",
        "terseLabel": "Thereafter"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureLeasesSummaryOfFutureRemainingLeasePaymentsObligationsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": {
     "auth_ref": [
      "r555"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureLeasesSummaryOfFutureRemainingLeasePaymentsObligationsDetails": {
       "order": 0.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year One",
        "terseLabel": "2022"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureLeasesSummaryOfFutureRemainingLeasePaymentsObligationsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive": {
     "auth_ref": [
      "r555"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureLeasesSummaryOfFutureRemainingLeasePaymentsObligationsDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year Five",
        "terseLabel": "2026"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFive",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureLeasesSummaryOfFutureRemainingLeasePaymentsObligationsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": {
     "auth_ref": [
      "r555"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureLeasesSummaryOfFutureRemainingLeasePaymentsObligationsDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year Four",
        "terseLabel": "2025"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureLeasesSummaryOfFutureRemainingLeasePaymentsObligationsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": {
     "auth_ref": [
      "r555"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureLeasesSummaryOfFutureRemainingLeasePaymentsObligationsDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year Three",
        "terseLabel": "2024"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureLeasesSummaryOfFutureRemainingLeasePaymentsObligationsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": {
     "auth_ref": [
      "r555"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureLeasesSummaryOfFutureRemainingLeasePaymentsObligationsDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year Two",
        "terseLabel": "2023"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureLeasesSummaryOfFutureRemainingLeasePaymentsObligationsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": {
     "auth_ref": [
      "r555"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureLeasesSummaryOfFutureRemainingLeasePaymentsObligationsDetails2": {
       "order": 0.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease.",
        "label": "Lessee, Operating Lease, Liability, Undiscounted Excess Amount",
        "negatedLabel": "Less: imputed interest",
        "terseLabel": "Less: imputed interest"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureLeasesSummaryOfFutureRemainingLeasePaymentsObligationsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeasesTextBlock": {
     "auth_ref": [
      "r557"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for operating leases of lessee. Includes, but is not limited to, description of operating lease and maturity analysis of operating lease liability.",
        "label": "Lessee, Operating Leases [Text Block]",
        "terseLabel": "Leases"
       }
      }
     },
     "localname": "LesseeOperatingLeasesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/Role_DisclosureLeases"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LetterOfCreditMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A document typically issued by a financial institution which acts as a guarantee of payment to a beneficiary, or as the source of payment for a specific transaction (for example, wiring funds to a foreign exporter if and when specified merchandise is accepted pursuant to the terms of the letter of credit).",
        "label": "Letter of Credit [Member]",
        "terseLabel": "Letter of Credit"
       }
      }
     },
     "localname": "LetterOfCreditMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDebtAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_Liabilities": {
     "auth_ref": [
      "r52",
      "r135",
      "r209",
      "r241",
      "r299",
      "r300",
      "r301",
      "r303",
      "r304",
      "r305",
      "r306",
      "r307",
      "r308",
      "r309",
      "r508",
      "r510",
      "r511",
      "r523",
      "r567",
      "r568"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited": {
       "order": 1.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.",
        "label": "Liabilities",
        "totalLabel": "Total liabilities"
       }
      }
     },
     "localname": "Liabilities",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesAndStockholdersEquity": {
     "auth_ref": [
      "r34",
      "r135",
      "r241",
      "r523",
      "r569",
      "r601",
      "r624"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.",
        "label": "Liabilities and Equity",
        "totalLabel": "Total liabilities and stockholders' equity"
       }
      }
     },
     "localname": "LiabilitiesAndStockholdersEquity",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesAndStockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities and Equity [Abstract]",
        "terseLabel": "LIABILITIES AND STOCKHOLDERS' EQUITY (DEFICIT)"
       }
      }
     },
     "localname": "LiabilitiesAndStockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LiabilitiesCurrent": {
     "auth_ref": [
      "r54",
      "r135",
      "r241",
      "r299",
      "r300",
      "r301",
      "r303",
      "r304",
      "r305",
      "r306",
      "r307",
      "r308",
      "r309",
      "r508",
      "r510",
      "r511",
      "r523",
      "r567",
      "r568",
      "r569"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited": {
       "order": 0.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.",
        "label": "Liabilities, Current",
        "terseLabel": "Current liabilities",
        "totalLabel": "Total current liabilities"
       }
      }
     },
     "localname": "LiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesCurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities, Current [Abstract]",
        "terseLabel": "Current liabilities"
       }
      }
     },
     "localname": "LiabilitiesCurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LineOfCredit": {
     "auth_ref": [
      "r24",
      "r600",
      "r616"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The carrying value as of the balance sheet date of the current and noncurrent portions of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement.",
        "label": "Long-term Line of Credit",
        "terseLabel": "Principal amount",
        "totalLabel": "Long-term Line of Credit, Total",
        "verboseLabel": "Line of credit"
       }
      }
     },
     "localname": "LineOfCredit",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDebtAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LineOfCreditFacilityAverageOutstandingAmount": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Average amount borrowed under the credit facility during the period.",
        "label": "Line of Credit Facility, Average Outstanding Amount",
        "terseLabel": "Line of credit, outstanding balance"
       }
      }
     },
     "localname": "LineOfCreditFacilityAverageOutstandingAmount",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDebtAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LineOfCreditFacilityCommitmentFeePercentage": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The fee, expressed as a percentage of the line of credit facility, for the line of credit facility regardless of whether the facility has been used.",
        "label": "Line of Credit Facility, Commitment Fee Percentage",
        "terseLabel": "Initial Commitment Fees"
       }
      }
     },
     "localname": "LineOfCreditFacilityCommitmentFeePercentage",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDebtAdditionalInformationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_LineOfCreditFacilityCovenantCompliance": {
     "auth_ref": [
      "r21",
      "r23"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Identification of whether the entity has been in compliance with any credit facility debt covenants during the period.",
        "label": "Line of Credit Facility, Covenant Compliance",
        "terseLabel": "Line of credit facility, covenant compliance"
       }
      }
     },
     "localname": "LineOfCreditFacilityCovenantCompliance",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDebtAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LineOfCreditFacilityCovenantTerms": {
     "auth_ref": [
      "r49"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Description of the conditions for borrowing under the credit facility including the nature of any restrictions.",
        "label": "Line of Credit Facility, Covenant Terms",
        "terseLabel": "Line of credit facility, covenant terms"
       }
      }
     },
     "localname": "LineOfCreditFacilityCovenantTerms",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDebtAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LineOfCreditFacilityExpirationPeriod": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Period remaining on line of credit facility before it terminates, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.",
        "label": "Line of Credit Facility, Expiration Period",
        "terseLabel": "Maturity period"
       }
      }
     },
     "localname": "LineOfCreditFacilityExpirationPeriod",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDebtAdditionalInformationDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_LineOfCreditFacilityInterestRateDuringPeriod": {
     "auth_ref": [
      "r49"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The effective interest rate during the reporting period.",
        "label": "Line of Credit Facility, Interest Rate During Period",
        "terseLabel": "Initial margins"
       }
      }
     },
     "localname": "LineOfCreditFacilityInterestRateDuringPeriod",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDebtAdditionalInformationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": {
     "auth_ref": [
      "r49"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility.",
        "label": "Line of Credit Facility, Maximum Borrowing Capacity",
        "terseLabel": "Aggregate commitments"
       }
      }
     },
     "localname": "LineOfCreditFacilityMaximumBorrowingCapacity",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDebtAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LondonInterbankOfferedRateLIBORMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Interest rate at which a bank borrows funds from other banks in the London interbank market.",
        "label": "London Interbank Offered Rate (LIBOR) [Member]",
        "terseLabel": "LIBOR-based interest rates"
       }
      }
     },
     "localname": "LondonInterbankOfferedRateLIBORMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDebtAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_LongTermDebt": {
     "auth_ref": [
      "r24",
      "r324",
      "r339",
      "r341",
      "r342",
      "r600",
      "r620"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDebtScheduleOfDebtDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after unamortized (discount) premium and debt issuance costs, of long-term debt. Includes, but not limited to, notes payable, bonds payable, debentures, mortgage loans and commercial paper. Excludes capital lease obligations.",
        "label": "Long-term Debt",
        "totalLabel": "Long-term debt"
       }
      }
     },
     "localname": "LongTermDebt",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDebtScheduleOfDebtDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtNoncurrent": {
     "auth_ref": [
      "r57"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited": {
       "order": 1.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after unamortized (discount) premium and debt issuance costs of long-term debt classified as noncurrent and excluding amounts to be repaid within one year or the normal operating cycle, if longer. Includes, but not limited to, notes payable, bonds payable, debentures, mortgage loans and commercial paper. Excludes capital lease obligations.",
        "label": "Long-term Debt, Excluding Current Maturities",
        "terseLabel": "Long-term debt and other borrowings",
        "totalLabel": "Long-term Debt, Excluding Current Maturities, Total",
        "verboseLabel": "Long-term debt"
       }
      }
     },
     "localname": "LongTermDebtNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermLineOfCredit": {
     "auth_ref": [
      "r57",
      "r296",
      "r297"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The carrying value as of the balance sheet date of the noncurrent portion of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement.",
        "label": "Long-term Line of Credit, Noncurrent",
        "terseLabel": "Loans received"
       }
      }
     },
     "localname": "LongTermLineOfCredit",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDebtAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongtermDebtTypeAxis": {
     "auth_ref": [
      "r57"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of long-term debt.",
        "label": "Long-term Debt, Type [Axis]",
        "terseLabel": "Long-term Debt, Type"
       }
      }
     },
     "localname": "LongtermDebtTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDebtAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDebtScheduleOfDebtDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LongtermDebtTypeDomain": {
     "auth_ref": [
      "r57",
      "r298"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Type of long-term debt arrangement, such as notes, line of credit, commercial paper, asset-based financing, project financing, letter of credit financing. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the company, if longer.",
        "label": "Long-term Debt, Type [Domain]",
        "terseLabel": "Long-term Debt, Type"
       }
      }
     },
     "localname": "LongtermDebtTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDebtAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDebtScheduleOfDebtDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_LossContingencyAccrualAtCarryingValue": {
     "auth_ref": [
      "r279"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of loss contingency liability.",
        "label": "Loss Contingency Accrual",
        "periodEndLabel": "Loss Contingency Accrual, Ending Balance",
        "periodStartLabel": "Loss Contingency Accrual, Beginning Balance",
        "terseLabel": "Loss contingency"
       }
      }
     },
     "localname": "LossContingencyAccrualAtCarryingValue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureCommitmentsAndContingenciesAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LossContingencyDamagesSoughtValue": {
     "auth_ref": [
      "r279",
      "r281",
      "r282"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The value (monetary amount) of the award the plaintiff seeks in the legal matter.",
        "label": "Loss Contingency, Damages Sought, Value",
        "terseLabel": "Damages sought value"
       }
      }
     },
     "localname": "LossContingencyDamagesSoughtValue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureCommitmentsAndContingenciesAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivities": {
     "auth_ref": [
      "r116"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited": {
       "order": 2.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.",
        "label": "Net Cash Provided by (Used in) Financing Activities",
        "totalLabel": "Net cash provided by (used in) financing activities",
        "verboseLabel": "Net cash provided by financing activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInFinancingActivities",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureRevisionOfPreviouslyIssuedFinancialStatementsScheduleOfConsolidatedStatementOfCashFlowsDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Financing Activities [Abstract]",
        "terseLabel": "Cash flows from financing activities:",
        "verboseLabel": "Cash flows from financing activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureRevisionOfPreviouslyIssuedFinancialStatementsScheduleOfConsolidatedStatementOfCashFlowsDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivities": {
     "auth_ref": [
      "r116"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited": {
       "order": 1.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.",
        "label": "Net Cash Provided by (Used in) Investing Activities",
        "totalLabel": "Net cash used in investing activities:"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInInvestingActivities",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Investing Activities [Abstract]",
        "terseLabel": "Cash flows from investing activities:"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivities": {
     "auth_ref": [
      "r116",
      "r119",
      "r122"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited": {
       "order": 0.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.",
        "label": "Net Cash Provided by (Used in) Operating Activities",
        "totalLabel": "Net cash provided by (used in) operating activities",
        "verboseLabel": "Net cash provided by (used in) operating activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInOperatingActivities",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureRevisionOfPreviouslyIssuedFinancialStatementsScheduleOfConsolidatedStatementOfCashFlowsDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Operating Activities [Abstract]",
        "terseLabel": "Cash flows from operating activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureRevisionOfPreviouslyIssuedFinancialStatementsScheduleOfConsolidatedStatementOfCashFlowsDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetIncomeLoss": {
     "auth_ref": [
      "r2",
      "r78",
      "r81",
      "r87",
      "r92",
      "r122",
      "r135",
      "r146",
      "r148",
      "r149",
      "r151",
      "r152",
      "r156",
      "r157",
      "r164",
      "r203",
      "r207",
      "r210",
      "r213",
      "r216",
      "r241",
      "r299",
      "r300",
      "r301",
      "r303",
      "r304",
      "r305",
      "r306",
      "r307",
      "r308",
      "r309",
      "r518",
      "r523",
      "r606",
      "r629"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureQuarterlyInformationUnauditedScheduleOfQuarterlyInformationDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited": {
       "order": 0.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      },
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLossUnaudited": {
       "order": 0.0,
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.",
        "label": "Net Income (Loss) Attributable to Parent",
        "terseLabel": "Net Income (loss)",
        "totalLabel": "Net loss",
        "verboseLabel": "Net loss"
       }
      }
     },
     "localname": "NetIncomeLoss",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureEarningsLossPerShareScheduleOfComputationOfBasicAndDilutedLossPerShareDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureQuarterlyInformationUnauditedScheduleOfQuarterlyInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited",
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLossUnaudited",
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfStockholdersEquityDeficitUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact.",
        "label": "New Accounting Pronouncements, Policy [Policy Text Block]",
        "terseLabel": "Recent Accounting Pronouncements"
       }
      }
     },
     "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_NonUsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Countries excluding the United States of America (US).",
        "label": "Non-US [Member]",
        "verboseLabel": "Non US [Member]"
       }
      }
     },
     "localname": "NonUsMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSegmentInformationAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_NumberOfOperatingSegments": {
     "auth_ref": [
      "r196"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of operating segments. An operating segment is a component of an enterprise: (a) that engages in business activities from which it may earn revenues and incur expenses (including revenues and expenses relating to transactions with other components of the same enterprise), (b) whose operating results are regularly reviewed by the enterprise's chief operating decision maker to make decisions about resources to be allocated to the segment and assess its performance, and (c) for which discrete financial information is available. An operating segment may engage in business activities for which it has yet to earn revenues, for example, start-up operations may be operating segments before earning revenues.",
        "label": "Number of Operating Segments",
        "terseLabel": "Number of operating segment"
       }
      }
     },
     "localname": "NumberOfOperatingSegments",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSegmentInformationAdditionalInformationDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "us-gaap_OperatingExpenses": {
     "auth_ref": [],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLossUnaudited": {
       "order": 1.0,
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense.",
        "label": "Operating Expenses",
        "terseLabel": "Total operating expenses",
        "totalLabel": "Total Operating expenses"
       }
      }
     },
     "localname": "OperatingExpenses",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLossUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingExpensesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Expenses [Abstract]",
        "terseLabel": "Operating expenses"
       }
      }
     },
     "localname": "OperatingExpensesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLossUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_OperatingIncomeLoss": {
     "auth_ref": [
      "r203",
      "r207",
      "r210",
      "r213",
      "r216"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLossUnaudited": {
       "order": 0.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The net result for the period of deducting operating expenses from operating revenues.",
        "label": "Operating Income (Loss)",
        "terseLabel": "Loss from operations",
        "totalLabel": "Loss from operations"
       }
      }
     },
     "localname": "OperatingIncomeLoss",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLossUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseCost": {
     "auth_ref": [
      "r549",
      "r556"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureLeasesSummaryOfLeaseExpenseDetails": {
       "order": 0.0,
       "parentTag": "us-gaap_LeaseCost",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of single lease cost, calculated by allocation of remaining cost of lease over remaining lease term. Includes, but is not limited to, single lease cost, after impairment of right-of-use asset, calculated by amortization of remaining right-of-use asset and accretion of lease liability.",
        "label": "Operating Lease, Cost",
        "terseLabel": "Operating lease cost"
       }
      }
     },
     "localname": "OperatingLeaseCost",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureLeasesSummaryOfLeaseExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, Payment, Due [Abstract]"
       }
      }
     },
     "localname": "OperatingLeaseLiabilitiesPaymentsDueAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_OperatingLeaseLiability": {
     "auth_ref": [
      "r545"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureLeasesSummaryOfFutureRemainingLeasePaymentsObligationsDetails2": {
       "order": 1.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease.",
        "label": "Operating Lease, Liability",
        "terseLabel": "Operating lease liability, net of current portion",
        "totalLabel": "Present value of operating lease liabilities",
        "verboseLabel": "Current portion of operating lease liability"
       }
      }
     },
     "localname": "OperatingLeaseLiability",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureLeasesSummaryOfFutureRemainingLeasePaymentsObligationsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiabilityCurrent": {
     "auth_ref": [
      "r545"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_OtherLiabilitiesCurrent",
       "weight": 1.0
      },
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureLeasesSummaryOfFutureRemainingLeasePaymentsObligationsDetails2": {
       "order": 1.0,
       "parentTag": "us-gaap_OperatingLeaseLiability",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.",
        "label": "Operating Lease, Liability, Current",
        "terseLabel": "Operating lease liabilities, current portion (included in Accrued expenses and other current liabilities)",
        "verboseLabel": "Current portion of operating lease liability"
       }
      }
     },
     "localname": "OperatingLeaseLiabilityCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureLeasesSummaryOfFutureRemainingLeasePaymentsObligationsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList": {
     "auth_ref": [
      "r546"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicates line item in statement of financial position that includes current operating lease liability.",
        "label": "Operating Lease, Liability, Current, Statement of Financial Position [Extensible Enumeration]"
       }
      }
     },
     "localname": "OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails"
     ],
     "xbrltype": "enumerationSetItemType"
    },
    "us-gaap_OperatingLeaseLiabilityNoncurrent": {
     "auth_ref": [
      "r545"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureLeasesSummaryOfFutureRemainingLeasePaymentsObligationsDetails2": {
       "order": 0.0,
       "parentTag": "us-gaap_OperatingLeaseLiability",
       "weight": 1.0
      },
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited": {
       "order": 2.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.",
        "label": "Operating Lease, Liability, Noncurrent",
        "terseLabel": "Operating lease liabilities, non-current (included in Other non-current liabilities)",
        "verboseLabel": "Operating lease liability, net of current portion"
       }
      }
     },
     "localname": "OperatingLeaseLiabilityNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureLeasesSummaryOfFutureRemainingLeasePaymentsObligationsDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseRightOfUseAsset": {
     "auth_ref": [
      "r544"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited": {
       "order": 1.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's right to use underlying asset under operating lease.",
        "label": "Operating Lease, Right-of-Use Asset",
        "terseLabel": "Operating lease right-of-use assets"
       }
      }
     },
     "localname": "OperatingLeaseRightOfUseAsset",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": {
     "auth_ref": [
      "r553",
      "r556"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average discount rate for operating lease calculated at point in time.",
        "label": "Operating Lease, Weighted Average Discount Rate, Percent",
        "terseLabel": "Weighted average discount rate"
       }
      }
     },
     "localname": "OperatingLeaseWeightedAverageDiscountRatePercent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureLeasesAdditionalInformationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": {
     "auth_ref": [
      "r552",
      "r556"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "Operating Lease, Weighted Average Remaining Lease Term",
        "terseLabel": "Weighted average remaining lease term"
       }
      }
     },
     "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureLeasesAdditionalInformationDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_OperatingLeasesOfLesseeDisclosureTextBlock": {
     "auth_ref": [
      "r286",
      "r539",
      "r540",
      "r541",
      "r542"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure for lessee's operating leases. Includes, but is not limited to, description of lessee's operating lease, existence and terms of renewal or purchase options and escalation clauses, restrictions imposed by lease, such as those concerning dividends, additional debt, and further leasing, rent holidays, rent concessions, or leasehold improvement incentives and unusual provisions or conditions.",
        "label": "Lessee, Operating Lease, Disclosure [Table Text Block]",
        "terseLabel": "Summary of Supplemental Information, Operating Lease"
       }
      }
     },
     "localname": "OperatingLeasesOfLesseeDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/Role_DisclosureLeasesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_OperatingLossCarryforwards": {
     "auth_ref": [
      "r473"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of operating loss carryforward, before tax effects, available to reduce future taxable income under enacted tax laws.",
        "label": "Operating Loss Carryforwards",
        "terseLabel": "NOL carryback refund",
        "totalLabel": "Operating Loss Carryforwards, Total",
        "verboseLabel": "Net operating loss carryforwards"
       }
      }
     },
     "localname": "OperatingLossCarryforwards",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLossCarryforwardsExpirationDate": {
     "auth_ref": [
      "r473"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Expiration date of each operating loss carryforward included in operating loss carryforward, in YYYY-MM-DD format.",
        "label": "Operating Loss Carryforwards, Expiration Date"
       }
      }
     },
     "localname": "OperatingLossCarryforwardsExpirationDate",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesAdditionalInformationDetails"
     ],
     "xbrltype": "dateItemType"
    },
    "us-gaap_OptionContractIndexedToEquitySettlementShareFairValuePerShare": {
     "auth_ref": [
      "r514"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fair value per share that would be issued upon settlement of option contract indexed to equity.",
        "label": "Option Contract Indexed to Equity, Settlement, Share, Fair Value Per Share",
        "terseLabel": "Grant-date fair value per option (post-split)"
       }
      }
     },
     "localname": "OptionContractIndexedToEquitySettlementShareFairValuePerShare",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansAssumptionsUsedToValueOptionAwardsDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Organization, Consolidation and Presentation of Financial Statements [Abstract]"
       }
      }
     },
     "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_OtherAccruedLiabilitiesCurrent": {
     "auth_ref": [
      "r13",
      "r14",
      "r15",
      "r53"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expenses incurred but not yet paid classified as other, due within one year or the normal operating cycle, if longer.",
        "label": "Other Accrued Liabilities, Current",
        "terseLabel": "Other accrued expenses"
       }
      }
     },
     "localname": "OtherAccruedLiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherAssetsCurrent": {
     "auth_ref": [
      "r68",
      "r569"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosurePrepaidAndOtherCurrentAssetsScheduleOfPrepaidExpensesAndOtherCurrentAssetsDetails": {
       "order": 5.0,
       "parentTag": "us-gaap_PrepaidExpenseAndOtherAssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of current assets classified as other.",
        "label": "Other Assets, Current",
        "terseLabel": "Other current assets"
       }
      }
     },
     "localname": "OtherAssetsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosurePrepaidAndOtherCurrentAssetsScheduleOfPrepaidExpensesAndOtherCurrentAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherAssetsNoncurrent": {
     "auth_ref": [
      "r47"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited": {
       "order": 4.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of noncurrent assets classified as other.",
        "label": "Other Assets, Noncurrent",
        "terseLabel": "Other assets",
        "totalLabel": "Other Assets, Noncurrent, Total"
       }
      }
     },
     "localname": "OtherAssetsNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax": {
     "auth_ref": [
      "r73"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLossUnaudited": {
       "order": 1.0,
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature.",
        "label": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax",
        "terseLabel": "Foreign currency translation adjustments",
        "totalLabel": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax, Total"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLossUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeLossNetOfTax": {
     "auth_ref": [
      "r79",
      "r82",
      "r85",
      "r86",
      "r88",
      "r93",
      "r367",
      "r525",
      "r530",
      "r531",
      "r607",
      "r630"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after tax and reclassification adjustments of other comprehensive income (loss).",
        "label": "Other Comprehensive Income (Loss), Net of Tax",
        "terseLabel": "Other comprehensive income (loss)",
        "totalLabel": "Other Comprehensive Income (Loss), Net of Tax, Total"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfStockholdersEquityDeficitUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Comprehensive Income (Loss), Net of Tax [Abstract]",
        "terseLabel": "Other comprehensive income (loss):"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLossUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_OtherCurrentLiabilitiesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption encompassing other current liabilities.",
        "label": "Other Current Liabilities [Member]",
        "terseLabel": "Accrued Expenses and Other Current Liabilities [Member]"
       }
      }
     },
     "localname": "OtherCurrentLiabilitiesMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureCommitmentsAndContingenciesAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_OtherLiabilitiesCurrent": {
     "auth_ref": [
      "r12",
      "r13",
      "r53",
      "r569"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited": {
       "order": 6.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of liabilities classified as other, due within one year or the normal operating cycle, if longer.",
        "label": "Other Liabilities, Current",
        "terseLabel": "Other current liabilities",
        "totalLabel": "Total other current liabilities"
       }
      }
     },
     "localname": "OtherLiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherLiabilitiesNoncurrent": {
     "auth_ref": [
      "r58"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited": {
       "order": 4.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer.",
        "label": "Other Liabilities, Noncurrent",
        "terseLabel": "Other non-current liabilities",
        "totalLabel": "Other Liabilities, Noncurrent, Total"
       }
      }
     },
     "localname": "OtherLiabilitiesNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherNoncashIncomeExpense": {
     "auth_ref": [
      "r122"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited": {
       "order": 15.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of income (expense) included in net income that results in no cash inflow (outflow), classified as other.",
        "label": "Other Noncash Income (Expense)",
        "negatedLabel": "Other non-cash items",
        "totalLabel": "Other Noncash Income (Expense), Total"
       }
      }
     },
     "localname": "OtherNoncashIncomeExpense",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherNoncurrentLiabilitiesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption encompassing other noncurrent liabilities.",
        "label": "Other Noncurrent Liabilities [Member]",
        "terseLabel": "Other Noncurrent Liabilities [Member]"
       }
      }
     },
     "localname": "OtherNoncurrentLiabilitiesMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureCommitmentsAndContingenciesAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_OtherNonoperatingExpense": {
     "auth_ref": [
      "r105"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLossUnaudited": {
       "order": 4.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expense related to nonoperating activities, classified as other.",
        "label": "Other Nonoperating Expense",
        "negatedLabel": "Other Expense",
        "terseLabel": "Other Expense",
        "totalLabel": "Other Nonoperating Expense, Total"
       }
      }
     },
     "localname": "OtherNonoperatingExpense",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLossUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PayablesAndAccrualsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Payables and Accruals [Abstract]",
        "terseLabel": "Accrued warranty balance reported in:"
       }
      }
     },
     "localname": "PayablesAndAccrualsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesScheduleOfWarrantyAccrualsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PaymentsForRepurchaseOfCommonStock": {
     "auth_ref": [
      "r111"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow to reacquire common stock during the period.",
        "label": "Payments for Repurchase of Common Stock",
        "negatedLabel": "Repurchase and retirement of common stock held by related parties"
       }
      }
     },
     "localname": "PaymentsForRepurchaseOfCommonStock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsOfStockIssuanceCosts": {
     "auth_ref": [
      "r113"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited": {
       "order": 3.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow for cost incurred directly with the issuance of an equity security.",
        "label": "Payments of Stock Issuance Costs",
        "negatedLabel": "Offering costs paid",
        "terseLabel": "Stock issuance costs"
       }
      }
     },
     "localname": "PaymentsOfStockIssuanceCosts",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDescriptionOfBusinessAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureRevisionOfPreviouslyIssuedFinancialStatementsScheduleOfConsolidatedStatementOfCashFlowsDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquireBusinessesGross": {
     "auth_ref": [
      "r107",
      "r500"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow associated with the acquisition of business during the period. The cash portion only of the acquisition price.",
        "label": "Payments to Acquire Businesses, Gross",
        "terseLabel": "Cash paid as purchase price",
        "verboseLabel": "Cash on Hand"
       }
      }
     },
     "localname": "PaymentsToAcquireBusinessesGross",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSubsequentEventsAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquireProductiveAssets": {
     "auth_ref": [
      "r108",
      "r503",
      "r504",
      "r505"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow for purchases of and capital improvements on property, plant and equipment (capital expenditures), software, and other intangible assets.",
        "label": "Payments to Acquire Productive Assets",
        "terseLabel": "Payments to acquire assets",
        "totalLabel": "Payments to Acquire Productive Assets, Total"
       }
      }
     },
     "localname": "PaymentsToAcquireProductiveAssets",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDescriptionOfBusinessAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": {
     "auth_ref": [
      "r108"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited": {
       "order": 0.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.",
        "label": "Payments to Acquire Property, Plant, and Equipment",
        "negatedLabel": "Purchases of property and equipment",
        "totalLabel": "Payments to Acquire Property, Plant, and Equipment, Total"
       }
      }
     },
     "localname": "PaymentsToAcquirePropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PlanNameAxis": {
     "auth_ref": [
      "r413",
      "r438"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by plan name for share-based payment arrangement.",
        "label": "Plan Name [Axis]"
       }
      }
     },
     "localname": "PlanNameAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PlanNameDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Plan name for share-based payment arrangement.",
        "label": "Plan Name [Domain]"
       }
      }
     },
     "localname": "PlanNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PreferredStockMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Preferred shares may provide a preferential dividend to the dividend on common stock and may take precedence over common stock in the event of a liquidation. Preferred shares typically represent an ownership interest in the company.",
        "label": "Preferred Stock [Member]",
        "terseLabel": "Preferred Stock"
       }
      }
     },
     "localname": "PreferredStockMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfStockholdersEquityDeficitUnaudited"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PreferredStockParOrStatedValuePerShare": {
     "auth_ref": [
      "r26",
      "r351"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer.",
        "label": "Preferred Stock, Par or Stated Value Per Share",
        "terseLabel": "Preferred stock, par value"
       }
      }
     },
     "localname": "PreferredStockParOrStatedValuePerShare",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockholdersEquityAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedBalanceSheetsParentheticalUnaudited"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_PreferredStockSharesAuthorized": {
     "auth_ref": [
      "r26"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws.",
        "label": "Preferred Stock, Shares Authorized",
        "terseLabel": "Preferred stock, shares authorized"
       }
      }
     },
     "localname": "PreferredStockSharesAuthorized",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockholdersEquityAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedBalanceSheetsParentheticalUnaudited"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_PreferredStockSharesIssued": {
     "auth_ref": [
      "r26",
      "r351"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) issued to shareholders (includes related preferred shares that were issued, repurchased, and remain in the treasury). May be all or portion of the number of preferred shares authorized. Excludes preferred shares that are classified as debt.",
        "label": "Preferred Stock, Shares Issued",
        "terseLabel": "Preferred stock, shares issued",
        "totalLabel": "Preferred Stock, Shares Issued, Total"
       }
      }
     },
     "localname": "PreferredStockSharesIssued",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedBalanceSheetsParentheticalUnaudited"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_PreferredStockValue": {
     "auth_ref": [
      "r26",
      "r569"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited": {
       "order": 0.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity.",
        "label": "Preferred Stock, Value, Issued",
        "periodEndLabel": "Preferred Stock, Value, Issued, Ending Balance",
        "periodStartLabel": "Preferred Stock, Value, Issued, Beginning Balance",
        "terseLabel": "Preferred stock par value of $0.0001 per share, 10,000,000 shares authorized; none issued as of December 31, 2021 and December 31, 2020",
        "totalLabel": "Preferred Stock, Value, Issued, Total"
       }
      }
     },
     "localname": "PreferredStockValue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": {
     "auth_ref": [
      "r9",
      "r40",
      "r41"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosurePrepaidAndOtherCurrentAssetsScheduleOfPrepaidExpensesAndOtherCurrentAssetsDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited": {
       "order": 5.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer.",
        "label": "Prepaid Expense and Other Assets, Current",
        "terseLabel": "Prepaid and other current assets",
        "totalLabel": "Prepaid expenses and other current assets, Total",
        "verboseLabel": "Prepaid Expenses and Other Current Assets"
       }
      }
     },
     "localname": "PrepaidExpenseAndOtherAssetsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosurePrepaidAndOtherCurrentAssetsScheduleOfPrepaidExpensesAndOtherCurrentAssetsDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PrepaidExpenseAndOtherAssetsCurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Prepaid Expense and Other Assets, Current [Abstract]"
       }
      }
     },
     "localname": "PrepaidExpenseAndOtherAssetsCurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_PrepaidExpenseCurrent": {
     "auth_ref": [
      "r7",
      "r10",
      "r261",
      "r262"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosurePrepaidAndOtherCurrentAssetsScheduleOfPrepaidExpensesAndOtherCurrentAssetsDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_PrepaidExpenseAndOtherAssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits within a future period of one year or the normal operating cycle, if longer.",
        "label": "Prepaid Expense, Current",
        "terseLabel": "Prepaid expense",
        "totalLabel": "Prepaid Expense, Current, Total"
       }
      }
     },
     "localname": "PrepaidExpenseCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosurePrepaidAndOtherCurrentAssetsScheduleOfPrepaidExpensesAndOtherCurrentAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PrepaidTaxes": {
     "auth_ref": [
      "r8",
      "r10",
      "r260",
      "r262"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosurePrepaidAndOtherCurrentAssetsScheduleOfPrepaidExpensesAndOtherCurrentAssetsDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_PrepaidExpenseAndOtherAssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of asset related to consideration paid in advance for income and other taxes that provide economic benefits within a future period of one year or the normal operating cycle, if longer.",
        "label": "Prepaid Taxes",
        "terseLabel": "Prepaid taxes"
       }
      }
     },
     "localname": "PrepaidTaxes",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosurePrepaidAndOtherCurrentAssetsScheduleOfPrepaidExpensesAndOtherCurrentAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PrivatePlacementMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A private placement is a direct offering of securities to a limited number of sophisticated investors such as insurance companies, pension funds, mezzanine funds, stock funds and trusts.",
        "label": "Private Placement [Member]",
        "terseLabel": "Private Placement [Member]"
       }
      }
     },
     "localname": "PrivatePlacementMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDebtAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ProceedsFromIssuanceInitialPublicOffering": {
     "auth_ref": [
      "r109"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash inflow associated with the amount received from entity's first offering of stock to the public.",
        "label": "Proceeds from Issuance Initial Public Offering",
        "terseLabel": "Proceeds from IPO",
        "verboseLabel": "Proceeds of IPO"
       }
      }
     },
     "localname": "ProceedsFromIssuanceInitialPublicOffering",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDescriptionOfBusinessAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockholdersEquityAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromIssuanceOfCommonStock": {
     "auth_ref": [
      "r109"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited": {
       "order": 4.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash inflow from the additional capital contribution to the entity.",
        "label": "Proceeds from Issuance of Common Stock",
        "terseLabel": "Proceeds from stock issuance"
       }
      }
     },
     "localname": "ProceedsFromIssuanceOfCommonStock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromIssuanceOfLongTermDebt": {
     "auth_ref": [
      "r110"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited": {
       "order": 0.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash inflow from a debt initially having maturity due after one year or beyond the operating cycle, if longer.",
        "label": "Proceeds from Issuance of Long-term Debt",
        "terseLabel": "Proceeds from borrowings",
        "totalLabel": "Proceeds from Issuance of Long-term Debt, Total"
       }
      }
     },
     "localname": "ProceedsFromIssuanceOfLongTermDebt",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromSaleOfEquityMethodInvestments": {
     "auth_ref": [
      "r106"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash inflow associated with the sale of equity method investments, which are investments in joint ventures and entities in which the entity has an equity ownership interest normally of 20 to 50 percent and exercises significant influence.",
        "label": "Proceeds from Sale of Equity Method Investments",
        "terseLabel": "Proceeds from disposal of equity method investment"
       }
      }
     },
     "localname": "ProceedsFromSaleOfEquityMethodInvestments",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromStockOptionsExercised": {
     "auth_ref": [
      "r109",
      "r439"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited": {
       "order": 5.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow from exercise of option under share-based payment arrangement.",
        "label": "Proceeds from Stock Options Exercised",
        "terseLabel": "Proceeds from stock option exercises"
       }
      }
     },
     "localname": "ProceedsFromStockOptionsExercised",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProductMember": {
     "auth_ref": [
      "r395"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Article or substance produced by nature, labor or machinery.",
        "label": "Product [Member]",
        "terseLabel": "Product"
       }
      }
     },
     "localname": "ProductMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLossUnaudited"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ProductWarrantiesDisclosuresAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product Warranties Disclosures [Abstract]"
       }
      }
     },
     "localname": "ProductWarrantiesDisclosuresAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_ProductWarrantyAccrualClassifiedCurrent": {
     "auth_ref": [
      "r53",
      "r284",
      "r287"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails": {
       "order": 0.0,
       "parentTag": "us-gaap_OtherLiabilitiesCurrent",
       "weight": 1.0
      },
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesScheduleOfWarrantyAccrualsDetails": {
       "order": 0.0,
       "parentTag": "us-gaap_StandardProductWarrantyAccrual",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for estimated claims under standard and extended warranty protection rights granted to customers. For classified balance sheets, represents the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Product Warranty Accrual, Current",
        "terseLabel": "Warranty reserves",
        "verboseLabel": "Other current liabilities"
       }
      }
     },
     "localname": "ProductWarrantyAccrualClassifiedCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesScheduleOfWarrantyAccrualsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProductWarrantyAccrualNoncurrent": {
     "auth_ref": [
      "r58",
      "r279",
      "r280"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesScheduleOfWarrantyAccrualsDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_StandardProductWarrantyAccrual",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and due after one year (or beyond the operating cycle if longer) for estimated claims under standard and extended warranty protection rights granted to customers.",
        "label": "Product Warranty Accrual, Noncurrent",
        "terseLabel": "Warranty reserves",
        "verboseLabel": "Other non-current liabilities"
       }
      }
     },
     "localname": "ProductWarrantyAccrualNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesScheduleOfWarrantyAccrualsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProductWarrantyAccrualWarrantiesIssued": {
     "auth_ref": [
      "r289"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited": {
       "order": 12.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase in the standard and extended product warranty accrual from warranties issued.",
        "label": "Standard and Extended Product Warranty Accrual, Increase for Warranties Issued",
        "negatedLabel": "Warranty recoverable from manufacturer",
        "terseLabel": "Warranty recoverable from manufacturer",
        "totalLabel": "Standard and Extended Product Warranty Accrual, Increase for Warranties Issued, Total"
       }
      }
     },
     "localname": "ProductWarrantyAccrualWarrantiesIssued",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProductWarrantyExpense": {
     "auth_ref": [
      "r120",
      "r290"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited": {
       "order": 11.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The expense charged against earnings for the period pertaining to standard and extended warranties on the entity's goods and services granted to customers.",
        "label": "Product Warranty Expense",
        "terseLabel": "Warranty provision"
       }
      }
     },
     "localname": "ProductWarrantyExpense",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProductWarrantyLiabilityLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Product Warranty Liability [Line Items]",
        "terseLabel": "Product Warranty Liability [Line Items]"
       }
      }
     },
     "localname": "ProductWarrantyLiabilityLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureCommitmentsAndContingenciesAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ProductWarrantyLiabilityTable": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about product warranty liability, including, but not limited to, reductions in the liability for payments made under the warranty, changes in the liability for accruals related to product warranties issued, and changes in the liability for accruals related to preexisting warranties.",
        "label": "Product Warranty Liability [Table]",
        "terseLabel": "Product Warranty Liability [Table]"
       }
      }
     },
     "localname": "ProductWarrantyLiabilityTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureCommitmentsAndContingenciesAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment [Abstract]"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentByTypeAxis": {
     "auth_ref": [
      "r46",
      "r270"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale.",
        "label": "Long-Lived Tangible Asset [Axis]"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentByTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosurePropertyAndEquipmentNetScheduleOfDepreciationExpenseDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosurePropertyAndEquipmentNetScheduleOfPropertyAndEquipmentDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesSummaryOfPropertyAndEquipmentDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock": {
     "auth_ref": [
      "r274",
      "r662",
      "r663",
      "r664"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.",
        "label": "Property, Plant and Equipment Disclosure [Text Block]",
        "terseLabel": "Property and equipment, net"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosurePropertyAndEquipmentNet"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentGross": {
     "auth_ref": [
      "r45",
      "r268"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosurePropertyAndEquipmentNetScheduleOfPropertyAndEquipmentDetails": {
       "order": 0.0,
       "parentTag": "us-gaap_PropertyPlantAndEquipmentNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.",
        "label": "Property, Plant and Equipment, Gross",
        "periodEndLabel": "Property, Plant and Equipment, Gross, Ending Balance",
        "periodStartLabel": "Property, Plant and Equipment, Gross, Beginning Balance",
        "totalLabel": "Property, Plant and Equipment, Gross, Total",
        "verboseLabel": "Property and equipment, gross"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentGross",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosurePropertyAndEquipmentNetScheduleOfPropertyAndEquipmentDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Property, Plant and Equipment [Line Items]"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosurePropertyAndEquipmentNetScheduleOfDepreciationExpenseDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosurePropertyAndEquipmentNetScheduleOfPropertyAndEquipmentDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesSummaryOfPropertyAndEquipmentDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentNet": {
     "auth_ref": [
      "r18",
      "r19",
      "r270",
      "r569",
      "r612",
      "r626"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosurePropertyAndEquipmentNetScheduleOfPropertyAndEquipmentDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited": {
       "order": 2.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.",
        "label": "Property, Plant and Equipment, Net",
        "periodEndLabel": "Property, Plant and Equipment, Net, Ending Balance",
        "periodStartLabel": "Property, Plant and Equipment, Net, Beginning Balance",
        "terseLabel": "Property and equipment, net",
        "totalLabel": "Property and equipment, net"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentNet",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosurePropertyAndEquipmentNetScheduleOfPropertyAndEquipmentDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentOtherTypesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Long-lived, physical assets used to produce goods and services and not intended for resale, classified as other.",
        "label": "Property, Plant and Equipment, Other Types [Member]",
        "terseLabel": "Tooling [Member]"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentOtherTypesMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesSummaryOfPropertyAndEquipmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentPolicyTextBlock": {
     "auth_ref": [
      "r44",
      "r270",
      "r662",
      "r663"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.",
        "label": "Property, Plant and Equipment, Policy [Policy Text Block]",
        "terseLabel": "Property and equipment, net"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentTextBlock": {
     "auth_ref": [
      "r18",
      "r270"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.",
        "label": "Property, Plant and Equipment [Table Text Block]",
        "terseLabel": "Schedule of Property and Equipment",
        "verboseLabel": "Scheule of Property Plant And Equipment"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosurePropertyAndEquipmentNetTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentTypeDomain": {
     "auth_ref": [
      "r18",
      "r268"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Listing of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale. Examples include land, buildings, machinery and equipment, and other types of furniture and equipment including, but not limited to, office equipment, furniture and fixtures, and computer equipment and software.",
        "label": "Long-Lived Tangible Asset [Domain]"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosurePropertyAndEquipmentNetScheduleOfDepreciationExpenseDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosurePropertyAndEquipmentNetScheduleOfPropertyAndEquipmentDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesSummaryOfPropertyAndEquipmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentUsefulLife": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment.",
        "label": "Property, Plant and Equipment, Useful Life",
        "terseLabel": "Property Plant And Equipment Useful Life"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentUsefulLife",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesSummaryOfPropertyAndEquipmentDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_ProvisionForDoubtfulAccounts": {
     "auth_ref": [
      "r97",
      "r249"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited": {
       "order": 13.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expense (reversal of expense) for expected credit loss on accounts receivable.",
        "label": "Accounts Receivable, Credit Loss Expense (Reversal)",
        "terseLabel": "Bad debt expense",
        "verboseLabel": "Allowance for doubtful accounts"
       }
      }
     },
     "localname": "ProvisionForDoubtfulAccounts",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_QuarterlyFinancialInformationDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Quarterly Financial Information Disclosure [Abstract]"
       }
      }
     },
     "localname": "QuarterlyFinancialInformationDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_QuarterlyFinancialInformationTextBlock": {
     "auth_ref": [
      "r176",
      "r177"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for quarterly financial data. Includes, but is not limited to, tabular presentation of financial information for fiscal quarters, effect of year-end adjustments, and an explanation of matters or transactions that affect comparability of the information.",
        "label": "Quarterly Financial Information [Text Block]",
        "terseLabel": "Quarterly information (unaudited)"
       }
      }
     },
     "localname": "QuarterlyFinancialInformationTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureQuarterlyInformationUnaudited"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ReceivablesNetCurrent": {
     "auth_ref": [
      "r28",
      "r36",
      "r569",
      "r625",
      "r656"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureAccountsReceivableNetScheduleOfAccountsReceivableNetDetails3": {
       "order": 0.0,
       "parentTag": "us-gaap_AccountsReceivableNetCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The total amount due to the entity within one year of the balance sheet date (or one operating cycle, if longer) from outside sources, including trade accounts receivable, notes and loans receivable, as well as any other types of receivables, net of allowances established for the purpose of reducing such receivables to an amount that approximates their net realizable value.",
        "label": "Receivables, Net, Current",
        "totalLabel": "Total"
       }
      }
     },
     "localname": "ReceivablesNetCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureAccountsReceivableNetScheduleOfAccountsReceivableNetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RelatedPartyDomain": {
     "auth_ref": [
      "r404",
      "r560",
      "r561"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Related parties include affiliates; other entities for which investments are accounted for by the equity method by the entity; trusts for benefit of employees; and principal owners, management, and members of immediate families. It also may include other parties with which the entity may control or can significantly influence the management or operating policies of the other to an extent that one of the transacting parties might be prevented from fully pursuing its own separate interests.",
        "label": "Related Party [Domain]",
        "terseLabel": "Related Party"
       }
      }
     },
     "localname": "RelatedPartyDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDebtAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureRelatedPartiesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RelatedPartyTransactionAxis": {
     "auth_ref": [
      "r404",
      "r560",
      "r561",
      "r564"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of related party transaction.",
        "label": "Related Party Transaction [Axis]"
       }
      }
     },
     "localname": "RelatedPartyTransactionAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureCommitmentsAndContingenciesAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RelatedPartyTransactionDomain": {
     "auth_ref": [
      "r404"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Transaction between related party.",
        "label": "Related Party Transaction [Domain]"
       }
      }
     },
     "localname": "RelatedPartyTransactionDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureCommitmentsAndContingenciesAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RelatedPartyTransactionLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Related Party Transaction [Line Items]"
       }
      }
     },
     "localname": "RelatedPartyTransactionLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureRelatedPartiesAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RelatedPartyTransactionsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Related Party Transactions [Abstract]"
       }
      }
     },
     "localname": "RelatedPartyTransactionsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_RelatedPartyTransactionsByRelatedPartyAxis": {
     "auth_ref": [
      "r404",
      "r560",
      "r564",
      "r583",
      "r584",
      "r585",
      "r586",
      "r587",
      "r588",
      "r589",
      "r590",
      "r591",
      "r592",
      "r593",
      "r594"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of related party. Related parties include, but not limited to, affiliates; other entities for which investments are accounted for by the equity method by the entity; trusts for benefit of employees; and principal owners, management, and members of immediate families. It also may include other parties with which the entity may control or can significantly influence the management or operating policies of the other to an extent that one of the transacting parties might be prevented from fully pursuing its own separate interests.",
        "label": "Related Party [Axis]",
        "terseLabel": "Related Party"
       }
      }
     },
     "localname": "RelatedPartyTransactionsByRelatedPartyAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDebtAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureRelatedPartiesAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RelatedPartyTransactionsDisclosureTextBlock": {
     "auth_ref": [
      "r558",
      "r559",
      "r561",
      "r565",
      "r566"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for related party transactions. Examples of related party transactions include transactions between (a) a parent company and its subsidiary; (b) subsidiaries of a common parent; (c) and entity and its principal owners; and (d) affiliates.",
        "label": "Related Party Transactions Disclosure [Text Block]",
        "terseLabel": "Related parties"
       }
      }
     },
     "localname": "RelatedPartyTransactionsDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureRelatedParties1"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_RepaymentsOfLongTermDebt": {
     "auth_ref": [
      "r112"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow for debt initially having maturity due after one year or beyond the normal operating cycle, if longer.",
        "label": "Repayments of Long-term Debt",
        "negatedLabel": "Repayments of borrowings (related party borrowings in 2020)",
        "totalLabel": "Repayments of Long-term Debt, Total"
       }
      }
     },
     "localname": "RepaymentsOfLongTermDebt",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ResearchAndDevelopmentExpense": {
     "auth_ref": [
      "r450",
      "r581",
      "r676"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLossUnaudited": {
       "order": 0.0,
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use.",
        "label": "Research and Development Expense",
        "terseLabel": "Research and development",
        "totalLabel": "Research and Development Expense, Total"
       }
      }
     },
     "localname": "ResearchAndDevelopmentExpense",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLossUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ResearchAndDevelopmentExpenseMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption in which the reported facts about research and development expense have been included.",
        "label": "Research and Development Expense [Member]",
        "terseLabel": "Research and Development [Member]"
       }
      }
     },
     "localname": "ResearchAndDevelopmentExpenseMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureLeasesSummaryOfLeaseExpenseDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansStockCompensationExpenseDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ResearchAndDevelopmentExpensePolicy": {
     "auth_ref": [
      "r450"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for costs it has incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process.",
        "label": "Research and Development Expense, Policy [Policy Text Block]",
        "terseLabel": "Research and development"
       }
      }
     },
     "localname": "ResearchAndDevelopmentExpensePolicy",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ResearchMember": {
     "auth_ref": [
      "r474"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Research tax credit carryforwards arising from certain qualifying expenditures incurred to develop new products and processes.",
        "label": "Research Tax Credit Carryforward [Member]",
        "terseLabel": "R&amp;D [Member]"
       }
      }
     },
     "localname": "ResearchMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RestrictedCashAndCashEquivalents": {
     "auth_ref": [
      "r17",
      "r123",
      "r126",
      "r596",
      "r621"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash and cash equivalents restricted as to withdrawal or usage. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "Restricted Cash and Cash Equivalents",
        "periodEndLabel": "Total cash and restricted cash",
        "terseLabel": "Total cash and restricted cash",
        "totalLabel": "Total cash and restricted cash"
       }
      }
     },
     "localname": "RestrictedCashAndCashEquivalents",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RestrictedCashCurrent": {
     "auth_ref": [
      "r4",
      "r17",
      "r126"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited": {
       "order": 2.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash restricted as to withdrawal or usage, classified as current. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits.",
        "label": "Restricted Cash, Current",
        "terseLabel": "Restricted cash"
       }
      }
     },
     "localname": "RestrictedCashCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RestrictedCashEquivalents": {
     "auth_ref": [
      "r126",
      "r596",
      "r621",
      "r658",
      "r659"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash equivalents restricted as to withdrawal or usage. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "Restricted Cash Equivalents",
        "periodEndLabel": "Restricted cash",
        "terseLabel": "Restricted cash",
        "totalLabel": "Restricted Cash Equivalents, Total"
       }
      }
     },
     "localname": "RestrictedCashEquivalents",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RestrictedStockMember": {
     "auth_ref": [
      "r168"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Stock including a provision that prohibits sale or substantive sale of an equity instrument for a specified period of time or until specified performance conditions are met.",
        "label": "Restricted Stock [Member]",
        "verboseLabel": "Restricted Stock Awards [Member]"
       }
      }
     },
     "localname": "RestrictedStockMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureEarningsLossPerShareScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfDilutedNetIncomePerShareDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RestrictedStockUnitsRSUMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share instrument which is convertible to stock or an equivalent amount of cash, after a specified period of time or when specified performance conditions are met.",
        "label": "Restricted Stock Units (RSUs) [Member]",
        "terseLabel": "Restricted stock units [Member]"
       }
      }
     },
     "localname": "RestrictedStockUnitsRSUMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansSummaryOfOutstandingRestrictedStockUnitAndRestrictedStockAwardsDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockholdersEquityAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RetainedEarningsAccumulatedDeficit": {
     "auth_ref": [
      "r30",
      "r374",
      "r443",
      "r569",
      "r623",
      "r647",
      "r652"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited": {
       "order": 5.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.",
        "label": "Retained Earnings (Accumulated Deficit)",
        "periodEndLabel": "Retained Earnings (Accumulated Deficit), Ending Balance",
        "periodStartLabel": "Retained Earnings (Accumulated Deficit), Beginning Balance",
        "terseLabel": "Accumulated deficit",
        "totalLabel": "Retained Earnings (Accumulated Deficit), Total"
       }
      }
     },
     "localname": "RetainedEarningsAccumulatedDeficit",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RetainedEarningsMember": {
     "auth_ref": [
      "r0",
      "r143",
      "r144",
      "r145",
      "r147",
      "r154",
      "r157",
      "r244",
      "r440",
      "r441",
      "r442",
      "r481",
      "r482",
      "r516",
      "r643",
      "r645"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.",
        "label": "Retained Earnings [Member]",
        "terseLabel": "Accumulated Deficit"
       }
      }
     },
     "localname": "RetainedEarningsMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfStockholdersEquityDeficitUnaudited"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue from Contract with Customer [Abstract]"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": {
     "auth_ref": [
      "r199",
      "r200",
      "r206",
      "r211",
      "r212",
      "r218",
      "r219",
      "r223",
      "r391",
      "r392",
      "r582"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLossUnaudited": {
       "order": 1.0,
       "parentTag": "us-gaap_GrossProfit",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.",
        "label": "Revenue from Contract with Customer, Excluding Assessed Tax",
        "terseLabel": "Total revenue",
        "totalLabel": "Revenue from Contract with Customer, Excluding Assessed Tax, Total",
        "verboseLabel": "Revenues"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerExcludingAssessedTax",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSegmentInformationScheduleOfCompanysTotalRevenueByGeographicAreaDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLossUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerTextBlock": {
     "auth_ref": [
      "r381",
      "r382",
      "r383",
      "r384",
      "r385",
      "r386",
      "r389",
      "r390",
      "r394",
      "r402"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts.",
        "label": "Revenue from Contract with Customer [Text Block]",
        "terseLabel": "Revenue"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/Role_DisclosureRevenue"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock": {
     "auth_ref": [
      "r221"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of revenue from external customers by geographic areas attributed to the entity's country of domicile and to foreign countries from which the entity derives revenue.",
        "label": "Revenue from External Customers by Geographic Areas [Table Text Block]",
        "terseLabel": "Schedule of Company's Total Revenue by Geographic Area"
       }
      }
     },
     "localname": "RevenueFromExternalCustomersByGeographicAreasTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/Role_DisclosureSegmentInformationTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_RevenueRecognitionPolicyTextBlock": {
     "auth_ref": [
      "r129",
      "r130"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for revenue. Includes revenue from contract with customer and from other sources.",
        "label": "Revenue [Policy Text Block]",
        "terseLabel": "Revenue Recognition"
       }
      }
     },
     "localname": "RevenueRecognitionPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_RevenueRemainingPerformanceObligation": {
     "auth_ref": [
      "r387"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of transaction price allocated to performance obligation that has not been recognized as revenue.",
        "label": "Revenue, Remaining Performance Obligation, Amount",
        "terseLabel": "Revenue allocated to remaining performance obligations, amount of revenue expected to be recognized"
       }
      }
     },
     "localname": "RevenueRemainingPerformanceObligation",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureRevenueAdditionalInformationDetails12"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]",
        "terseLabel": "Revenue Remaining Performance Obligation Expected Timing Of Satisfaction [Line Items]"
       }
      }
     },
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureRevenueAdditionalInformationDetails12"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1": {
     "auth_ref": [
      "r388"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Period in which remaining performance obligation is expected to be recognized as revenue, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period",
        "terseLabel": "Revenue allocated to remaining performance obligations, expected timing of satisfaction"
       }
      }
     },
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureRevenueAdditionalInformationDetails12"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis": {
     "auth_ref": [
      "r388"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Start date of time band for expected timing of satisfaction of remaining performance obligation, in YYYY-MM-DD format.",
        "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]",
        "terseLabel": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date"
       }
      }
     },
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureRevenueAdditionalInformationDetails12"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about expected timing for satisfying remaining performance obligation.",
        "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table]",
        "terseLabel": "Revenue Remaining Performance Obligation Expected Timing Of Satisfaction [Table]"
       }
      }
     },
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureRevenueAdditionalInformationDetails12"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RevenueRemainingPerformanceObligationPercentage": {
     "auth_ref": [
      "r388"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of remaining performance obligation to total remaining performance obligation not recognized as revenue.",
        "label": "Revenue, Remaining Performance Obligation, Percentage",
        "terseLabel": "Revenue allocated to remaining performance obligations, percentage of revenue expected to be recognized"
       }
      }
     },
     "localname": "RevenueRemainingPerformanceObligationPercentage",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureRevenueAdditionalInformationDetails12"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_Revenues": {
     "auth_ref": [
      "r89",
      "r135",
      "r199",
      "r200",
      "r206",
      "r211",
      "r212",
      "r218",
      "r219",
      "r223",
      "r241",
      "r299",
      "r300",
      "r301",
      "r303",
      "r304",
      "r305",
      "r306",
      "r307",
      "r308",
      "r309",
      "r523",
      "r611"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureQuarterlyInformationUnauditedScheduleOfQuarterlyInformationDetails": {
       "order": 0.0,
       "parentTag": "us-gaap_GrossProfit",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss).",
        "label": "Revenues",
        "terseLabel": "Revenue",
        "totalLabel": "Revenues, Total"
       }
      }
     },
     "localname": "Revenues",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureQuarterlyInformationUnauditedScheduleOfQuarterlyInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RevenuesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenues [Abstract]",
        "terseLabel": "Revenue:"
       }
      }
     },
     "localname": "RevenuesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLossUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RevolvingCreditFacilityMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Arrangement in which loan proceeds can continuously be obtained following repayments, but the total amount borrowed cannot exceed a specified maximum amount.",
        "label": "Revolving Credit Facility [Member]",
        "terseLabel": "Revolving Line of Credit [Member]"
       }
      }
     },
     "localname": "RevolvingCreditFacilityMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDebtAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDebtScheduleOfDebtDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SaleOfStockConsiderationReceivedOnTransaction": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Cash received on stock transaction after deduction of issuance costs.",
        "label": "Sale of Stock, Consideration Received on Transaction",
        "terseLabel": "Purchase cost of shares"
       }
      }
     },
     "localname": "SaleOfStockConsiderationReceivedOnTransaction",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDescriptionOfBusinessAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockholdersEquityAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SaleOfStockNameOfTransactionDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sale of the entity's stock, including, but not limited to, initial public offering (IPO) and private placement.",
        "label": "Sale of Stock [Domain]",
        "terseLabel": "Sale of Stock"
       }
      }
     },
     "localname": "SaleOfStockNameOfTransactionDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDebtAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDescriptionOfBusinessAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfStockholdersEquityDeficitUnaudited"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SaleOfStockPricePerShare": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Per share amount received by subsidiary or equity investee for each share of common stock issued or sold in the stock transaction.",
        "label": "Sale of Stock, Price Per Share",
        "terseLabel": "Sale of stock, price per share"
       }
      }
     },
     "localname": "SaleOfStockPricePerShare",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockholdersEquityAdditionalInformationDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_SalesRevenueNetMember": {
     "auth_ref": [
      "r189",
      "r223"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Revenue from sale of product and rendering of service and other sources of income, when it serves as benchmark in concentration of risk calculation.",
        "label": "Revenue Benchmark [Member]",
        "terseLabel": "Revenue Net [Member]",
        "verboseLabel": "Total Revenue [Member]"
       }
      }
     },
     "localname": "SalesRevenueNetMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureAccountsReceivableNetAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSegmentInformationAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable": {
     "auth_ref": [
      "r64"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule itemizing specific types of trade accounts and notes receivable, and for each the gross carrying value, allowance, and net carrying value as of the balance sheet date. Presentation is categorized by current, noncurrent and unclassified receivables.",
        "label": "Schedule of Accounts, Notes, Loans and Financing Receivable [Table]"
       }
      }
     },
     "localname": "ScheduleOfAccountsNotesLoansAndFinancingReceivableTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureAccountsReceivableNetAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock": {
     "auth_ref": [
      "r64"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the various types of trade accounts and notes receivable and for each the gross carrying value, allowance, and net carrying value as of the balance sheet date. Presentation is categorized by current, noncurrent and unclassified receivables.",
        "label": "Schedule of Accounts, Notes, Loans and Financing Receivable [Table Text Block]",
        "terseLabel": "Schedule of Accounts Receivable, Net"
       }
      }
     },
     "localname": "ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureAccountsReceivableNetTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable": {
     "auth_ref": [
      "r168"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule for securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) in the future that were not included in the computation of diluted EPS because to do so would increase EPS amounts or decrease loss per share amounts for the period presented, by Antidilutive Securities.",
        "label": "Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table]"
       }
      }
     },
     "localname": "ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureEarningsLossPerShareScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfDilutedNetIncomePerShareDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock": {
     "auth_ref": [
      "r168"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) in the future that were not included in the computation of diluted EPS because to do so would increase EPS amounts or decrease loss per share amounts for the period presented, by antidilutive securities.",
        "label": "Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table Text Block]",
        "terseLabel": "Schedule of Antidilutive Securities Excluded from Computation of Diluted Net Income Per Share"
       }
      }
     },
     "localname": "ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureEarningsLossPerShareTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock": {
     "auth_ref": [
      "r479"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the components of income tax expense attributable to continuing operations for each year presented including, but not limited to: current tax expense (benefit), deferred tax expense (benefit), investment tax credits, government grants, the benefits of operating loss carryforwards, tax expense that results from allocating certain tax benefits either directly to contributed capital or to reduce goodwill or other noncurrent intangible assets of an acquired entity, adjustments of a deferred tax liability or asset for enacted changes in tax laws or rates or a change in the tax status of the entity, and adjustments of the beginning-of-the-year balances of a valuation allowance because of a change in circumstances that causes a change in judgment about the realizability of the related deferred tax asset in future years.",
        "label": "Schedule of Components of Income Tax Expense (Benefit) [Table Text Block]",
        "terseLabel": "Schedule of components of income before income taxes"
       }
      }
     },
     "localname": "ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfDebtTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of information pertaining to short-term and long-debt instruments or arrangements, including but not limited to identification of terms, features, collateral requirements and other information necessary to a fair presentation.",
        "label": "Schedule of Debt [Table Text Block]",
        "terseLabel": "Schedule of Debt"
       }
      }
     },
     "localname": "ScheduleOfDebtTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDebtTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock": {
     "auth_ref": [
      "r470"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the components of net deferred tax asset or liability recognized in an entity's statement of financial position, including the following: the total of all deferred tax liabilities, the total of all deferred tax assets, the total valuation allowance recognized for deferred tax assets.",
        "label": "Schedule of Deferred Tax Assets and Liabilities [Table Text Block]",
        "terseLabel": "Schedule of components of deferred tax assets and liabilities"
       }
      }
     },
     "localname": "ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": {
     "auth_ref": [
      "r167"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations.",
        "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]",
        "terseLabel": "Schedule of Computation of Basic and Diluted Income (Loss) Per Share"
       }
      }
     },
     "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureEarningsLossPerShareTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock": {
     "auth_ref": [
      "r412",
      "r436",
      "r445"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of allocation of amount expensed and capitalized for award under share-based payment arrangement to statement of income or comprehensive income and statement of financial position. Includes, but is not limited to, corresponding line item in financial statement.",
        "label": "Share-based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block]",
        "terseLabel": "Schedule of Stock compensation expense"
       }
      }
     },
     "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfEquityMethodInvestmentsLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Schedule of Equity Method Investments [Line Items]",
        "terseLabel": "Schedule Of Equity Method Investments [Line Items]"
       }
      }
     },
     "localname": "ScheduleOfEquityMethodInvestmentsLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSaleOfInvestmentInUnconsolidatedSubsidiaryAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfEquityMethodInvestmentsTable": {
     "auth_ref": [
      "r2",
      "r135",
      "r240",
      "r241",
      "r523"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Summarization of information required and determined to be disclosed concerning equity method investments in common stock. The summarized information includes: (a) the name of each investee or group of investees for which combined disclosure is appropriate, (2) the percentage ownership of common stock, (3) the difference, if any, between the carrying amount of an investment and the value of the underlying equity in the net assets and the accounting treatment of difference, if any, and (4) the aggregate value of each identified investment based on its quoted market price, if available.",
        "label": "Schedule of Equity Method Investments [Table]",
        "terseLabel": "Schedule Of Equity Method Investments [Table]"
       }
      }
     },
     "localname": "ScheduleOfEquityMethodInvestmentsTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSaleOfInvestmentInUnconsolidatedSubsidiaryAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock": {
     "auth_ref": [
      "r136"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of income before income tax between domestic and foreign jurisdictions.",
        "label": "Schedule of Income before Income Tax, Domestic and Foreign [Table Text Block]",
        "terseLabel": "Schedule of provisions (benefits) for income taxes"
       }
      }
     },
     "localname": "ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": {
     "auth_ref": [
      "r16",
      "r37",
      "r38",
      "r39"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process.",
        "label": "Schedule of Inventory, Current [Table Text Block]",
        "terseLabel": "Schedule of Inventories"
       }
      }
     },
     "localname": "ScheduleOfInventoryCurrentTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureInventoriesNetTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock": {
     "auth_ref": [
      "r295"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the changes in the guarantor's aggregate product warranty liability, including the beginning balance of the aggregate product warranty liability, the aggregate reductions in that liability for payments made (in cash or in kind) under the warranty, the aggregate changes in the liability for accruals related to product warranties issued during the reporting period, the aggregate changes in the liability for accruals related to preexisting warranties (including adjustments related to changes in estimates), and the ending balance of the aggregate product warranty liability.",
        "label": "Schedule of Product Warranty Liability [Table Text Block]",
        "terseLabel": "Summary of Changes in Product Warranty Reserves",
        "verboseLabel": "Schedule of warranty accruals"
       }
      }
     },
     "localname": "ScheduleOfProductWarrantyLiabilityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesTables",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureCommitmentsAndContingenciesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfPropertyPlantAndEquipmentTable": {
     "auth_ref": [
      "r46",
      "r270"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.",
        "label": "Property, Plant and Equipment [Table]"
       }
      }
     },
     "localname": "ScheduleOfPropertyPlantAndEquipmentTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosurePropertyAndEquipmentNetScheduleOfDepreciationExpenseDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosurePropertyAndEquipmentNetScheduleOfPropertyAndEquipmentDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesSummaryOfPropertyAndEquipmentDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock": {
     "auth_ref": [
      "r175"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of quarterly financial data. Includes, but is not limited to, financial information for fiscal quarters, cumulative effect of a change in accounting principle and earnings per share data.",
        "label": "Quarterly Financial Information [Table Text Block]",
        "terseLabel": "Schedule of quarterly information"
       }
      }
     },
     "localname": "ScheduleOfQuarterlyFinancialInformationTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureQuarterlyInformationUnauditedTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable": {
     "auth_ref": [
      "r562",
      "r564"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of quantitative and qualitative information pertaining to related party transactions. Examples of related party transactions include transactions between (a) a parent company and its subsidiary; (b) subsidiaries of a common parent; (c) and entity and its principal owners; and (d) affiliates.",
        "label": "Schedule of Related Party Transactions, by Related Party [Table]"
       }
      }
     },
     "localname": "ScheduleOfRelatedPartyTransactionsByRelatedPartyTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureRelatedPartiesAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingTableTextBlock": {
     "auth_ref": [
      "r429"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of number, weighted-average exercise price or conversion ratio, aggregate intrinsic value, and weighted-average remaining contractual term for outstanding options that are fully vested and expected to vest. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.",
        "label": "Share-based Compensation Arrangements by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding [Table Text Block]",
        "terseLabel": "Summary of outstanding option awards activity"
       }
      }
     },
     "localname": "ScheduleOfShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfShareBasedCompensationArrangementByShareBasedPaymentAwardRestrictedStockUnitsVestedAndExpectedToVestTableTextBlock": {
     "auth_ref": [
      "r429"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of number, weighted-average exercise price or conversion ratio, aggregate intrinsic value, and weighted-average remaining contractual term for outstanding restricted stock units that are fully vested and expected to vest. Includes, but is not limited to, unvested restricted stock units for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.",
        "label": "Share-based Compensation Arrangements by Share-based Payment Award, Restricted Stock Units, Vested and Expected to Vest [Table Text Block]",
        "terseLabel": "Summary of outstanding restricted stock unit and restricted stock awards"
       }
      }
     },
     "localname": "ScheduleOfShareBasedCompensationArrangementByShareBasedPaymentAwardRestrictedStockUnitsVestedAndExpectedToVestTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": {
     "auth_ref": [
      "r413",
      "r438"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about share-based payment arrangement.",
        "label": "Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]"
       }
      }
     },
     "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansSummaryOfOutstandingRestrictedStockUnitAndRestrictedStockAwardsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock": {
     "auth_ref": [
      "r417",
      "r425",
      "r428"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value.",
        "label": "Share-based Payment Arrangement, Option, Activity [Table Text Block]",
        "terseLabel": "Summary of option awards Activity"
       }
      }
     },
     "localname": "ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfShortTermDebtTable": {
     "auth_ref": [
      "r50"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A table or schedule providing information pertaining to borrowings under which repayment was required in less than twelve months (or normal operating cycle, if longer) after its issuance. It may include: (1) description of the short-term debt arrangement; (2) identification of the lender or type of lender; (3) repayment terms; (4) weighted average interest rate; (5) carrying amount of funds borrowed under the specified short-term debt arrangement as of the balance sheet date and measures of the maximum and average amount outstanding during the period; (6) description of the refinancing of a short-term obligation when that obligation is excluded from current liabilities in the balance sheet; and (7) amount of a short-term obligation that has been excluded from current liabilities in the balance sheet because of a refinancing of the obligation.",
        "label": "Schedule of Short-term Debt [Table]"
       }
      }
     },
     "localname": "ScheduleOfShortTermDebtTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfStockByClassTable": {
     "auth_ref": [
      "r60",
      "r132",
      "r179",
      "r180",
      "r348",
      "r349",
      "r350",
      "r351",
      "r352",
      "r353",
      "r354",
      "r356",
      "r360",
      "r365",
      "r368",
      "r369",
      "r370",
      "r371",
      "r372",
      "r373",
      "r374"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule detailing information related to equity by class of stock. Class of stock includes common, convertible, and preferred stocks which are not redeemable or redeemable solely at the option of the issuer. It also includes preferred stock with redemption features that are solely within the control of the issuer and mandatorily redeemable stock if redemption is required to occur only upon liquidation or termination of the reporting entity.",
        "label": "Schedule of Stock by Class [Table]"
       }
      }
     },
     "localname": "ScheduleOfStockByClassTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockholdersEquityAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock": {
     "auth_ref": [
      "r465",
      "r480"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the change in unrecognized tax benefits.",
        "label": "Schedule of Unrecognized Tax Benefits Roll Forward [Table Text Block]",
        "terseLabel": "Schedule of changes in our accruals for unrecognized tax benefits"
       }
      }
     },
     "localname": "ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SegmentReportingAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Segment Reporting [Abstract]"
       }
      }
     },
     "localname": "SegmentReportingAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_SegmentReportingDisclosureTextBlock": {
     "auth_ref": [
      "r195",
      "r197",
      "r198",
      "r203",
      "r205",
      "r210",
      "r214",
      "r215",
      "r216",
      "r217",
      "r218",
      "r222",
      "r223",
      "r224"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments.",
        "label": "Segment Reporting Disclosure [Text Block]",
        "terseLabel": "Segment Information"
       }
      }
     },
     "localname": "SegmentReportingDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/Role_DisclosureSegmentInformation"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SellingAndMarketingExpense": {
     "auth_ref": [],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLossUnaudited": {
       "order": 1.0,
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate total amount of expenses directly related to the marketing or selling of products or services.",
        "label": "Selling and Marketing Expense",
        "terseLabel": "Selling and marketing",
        "totalLabel": "Selling and Marketing Expense, Total"
       }
      }
     },
     "localname": "SellingAndMarketingExpense",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLossUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SellingAndMarketingExpenseMember": {
     "auth_ref": [
      "r96"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption encompassing selling and marketing expense.",
        "label": "Selling and Marketing Expense [Member]",
        "terseLabel": "Selling and Marketing [Member]"
       }
      }
     },
     "localname": "SellingAndMarketingExpenseMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureLeasesSummaryOfLeaseExpenseDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansStockCompensationExpenseDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ServiceMember": {
     "auth_ref": [
      "r395"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Assistance, including, but not limited to, technology, license and maintenance, license and service, maintenance, oil and gas, and financial service.",
        "label": "Service [Member]",
        "terseLabel": "Service"
       }
      }
     },
     "localname": "ServiceMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLossUnaudited"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ShareBasedCompensation": {
     "auth_ref": [
      "r120"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of noncash expense for share-based payment arrangement.",
        "label": "Share-based Payment Arrangement, Noncash Expense",
        "terseLabel": "Stock-based compensation",
        "totalLabel": "Share-based Payment Arrangement, Noncash Expense, Total",
        "verboseLabel": "Stock-based compensation expense"
       }
      }
     },
     "localname": "ShareBasedCompensation",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of additional cost recognized for award under share-based payment arrangement from occurrence of event accelerating recognition of cost.",
        "label": "Share-based Payment Arrangement, Accelerated Cost",
        "terseLabel": "Increased stock-based compensation expenses",
        "verboseLabel": "Stock-based compensation cost not yet recognized"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansOutstandingOptionAwardsDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansSummaryOfOutstandingRestrictedStockUnitAndRestrictedStockAwardsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1": {
     "auth_ref": [
      "r414"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period",
        "terseLabel": "Vesting period"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansAdditionalInformationDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodIntrinsicValue": {
     "auth_ref": [
      "r424"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Per share or unit weighted-average intrinsic value of award vested under share-based payment arrangement. Excludes share and unit options.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period, Intrinsic Value, Amount Per Share",
        "terseLabel": "Average intrinsic value per share of options exercised"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodIntrinsicValue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansAssumptionsUsedToValueOptionAwardsDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate": {
     "auth_ref": [
      "r433"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The estimated dividend rate (a percentage of the share price) to be paid (expected dividends) to holders of the underlying shares over the option's term.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Dividend Rate",
        "terseLabel": "Dividend yield"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansAssumptionsUsedToValueOptionAwardsDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate": {
     "auth_ref": [
      "r432"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The estimated measure of the percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Volatility Rate",
        "terseLabel": "Volatility"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansAssumptionsUsedToValueOptionAwardsDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate": {
     "auth_ref": [
      "r434"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The risk-free interest rate assumption that is used in valuing an option on its own shares.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Risk Free Interest Rate",
        "terseLabel": "Risk Free Interest Rate"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansAssumptionsUsedToValueOptionAwardsDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award [Line Items]"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansSummaryOfOutstandingRestrictedStockUnitAndRestrictedStockAwardsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber": {
     "auth_ref": [
      "r420"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of shares into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option plan.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Number",
        "terseLabel": "Exercisable , Shares"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansOutstandingOptionAwardsDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice": {
     "auth_ref": [
      "r420"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The weighted-average price as of the balance sheet date at which grantees can acquire the shares reserved for issuance on vested portions of options outstanding and currently exercisable under the stock option plan.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Exercise Price",
        "terseLabel": "Exercisable , Weighted average exercise price"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansOutstandingOptionAwardsDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue": {
     "auth_ref": [
      "r427"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of accumulated difference between fair value of underlying shares on dates of exercise and exercise price on options exercised (or share units converted) into shares.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period, Intrinsic Value",
        "terseLabel": "Intrinsic value of options exercised (in thousands)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansAssumptionsUsedToValueOptionAwardsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice": {
     "auth_ref": [
      "r423"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average price of options that were either forfeited or expired.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Forfeitures and Expirations in Period, Weighted Average Exercise Price",
        "terseLabel": "Forfeitures and expired, Weighted average exercise price"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansOutstandingOptionAwardsDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod": {
     "auth_ref": [
      "r422"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of shares under options that were cancelled during the reporting period as a result of occurrence of a terminating event specified in contractual agreements pertaining to the stock option plan.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Forfeitures in Period",
        "negatedLabel": "Forfeited and expired, Shares",
        "terseLabel": "Forfeited and expired, Shares"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansOutstandingOptionAwardsDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Gross number of share options (or share units) granted during the period.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Gross",
        "terseLabel": "Granted, Shares",
        "verboseLabel": "Granted"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansOutstandingOptionAwardsDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansSummaryOfOutstandingRestrictedStockUnitAndRestrictedStockAwardsDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r426"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value",
        "terseLabel": "Granted"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansSummaryOfOutstandingRestrictedStockUnitAndRestrictedStockAwardsDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue": {
     "auth_ref": [
      "r438"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Intrinsic Value",
        "terseLabel": "Outstanding , Average intrinsic value",
        "verboseLabel": "Intrinsic value of options exercised (in thousands)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansOutstandingOptionAwardsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": {
     "auth_ref": [
      "r419",
      "r438"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of options outstanding, including both vested and non-vested options.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Number",
        "periodEndLabel": "Outstanding, ending balance, Shares",
        "periodStartLabel": "Outstanding, beginning balance, Shares"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansOutstandingOptionAwardsDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": {
     "auth_ref": [
      "r418"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price",
        "periodEndLabel": "Outstanding ending balance, Weighted average exercise price",
        "periodStartLabel": "Outstanding beginning balance, Weighted average exercise price"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansOutstandingOptionAwardsDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue": {
     "auth_ref": [
      "r430"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount by which current fair value of underlying stock exceeds exercise price of fully vested and expected to vest exercisable or convertible options. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Exercisable, Aggregate Intrinsic Value",
        "terseLabel": "Vested or expected to vest in the future, Aggregate intrinsic value"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansOutstandingOptionAwardsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice": {
     "auth_ref": [
      "r430"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted-average exercise price, at which grantee can acquire shares reserved for issuance, for fully vested and expected to vest exercisable or convertible options. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Exercisable, Weighted Average Exercise Price",
        "terseLabel": "Vested or expected to vest in the future, Weighted average exercise price"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansOutstandingOptionAwardsDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": {
     "auth_ref": [
      "r411",
      "r415"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Award under share-based payment arrangement.",
        "label": "Award Type [Domain]"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansSummaryOfOutstandingRestrictedStockUnitAndRestrictedStockAwardsDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockholdersEquityAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average price at which option holders acquired shares when converting their stock options into shares.",
        "label": "Share-based Compensation Arrangements by Share-based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price",
        "terseLabel": "Exercised, Weighted average exercise price"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansOutstandingOptionAwardsDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options.",
        "label": "Share-based Compensation Arrangements by Share-based Payment Award, Options, Grants in Period, Weighted Average Exercise Price",
        "terseLabel": "Granted, Weighted average exercise price"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansOutstandingOptionAwardsDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy": {
     "auth_ref": [
      "r413",
      "r416"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for award under share-based payment arrangement. Includes, but is not limited to, methodology and assumption used in measuring cost.",
        "label": "Share-based Payment Arrangement [Policy Text Block]",
        "terseLabel": "Stock-Based Compensation"
       }
      }
     },
     "localname": "ShareBasedCompensationOptionAndIncentivePlansPolicy",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SharePrice": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Price of a single share of a number of saleable stocks of a company.",
        "label": "Share Price",
        "terseLabel": "Price per share of common stock"
       }
      }
     },
     "localname": "SharePrice",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDescriptionOfBusinessAdditionalInformationDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1": {
     "auth_ref": [
      "r431",
      "r444"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Expected term of award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Term",
        "terseLabel": "Expected life (in years)"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansAssumptionsUsedToValueOptionAwardsDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1": {
     "auth_ref": [
      "r438"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of difference between fair value of the underlying shares reserved for issuance and exercise price of vested portions of options outstanding and currently exercisable.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Intrinsic Value",
        "terseLabel": "Exercisable , Average intrinsic value"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansOutstandingOptionAwardsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1": {
     "auth_ref": [
      "r438"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average remaining contractual term for vested portions of options outstanding and currently exercisable or convertible, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Remaining Contractual Term",
        "terseLabel": "Exercisable, Weighted average remaining contractual term ( in years)"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansOutstandingOptionAwardsDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of non-vested options outstanding.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Nonvested, Number of Shares",
        "periodEndLabel": "Nonvested, ending balance, Shares",
        "periodStartLabel": "Nonvested, beginning balance, Shares"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansSummaryOfOutstandingRestrictedStockUnitAndRestrictedStockAwardsDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of non-vested options forfeited.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Nonvested Options Forfeited, Number of Shares",
        "negatedLabel": "Forfeited, Shares",
        "terseLabel": "Forfeited, Shares"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansSummaryOfOutstandingRestrictedStockUnitAndRestrictedStockAwardsDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average grant-date fair value of non-vested options forfeited.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Nonvested Options Forfeited, Weighted Average Grant Date Fair Value",
        "terseLabel": "Forfeited"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansSummaryOfOutstandingRestrictedStockUnitAndRestrictedStockAwardsDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average grant-date fair value of non-vested options outstanding.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Option, Nonvested, Weighted Average Exercise Price",
        "periodEndLabel": "Nonvested, ending balance, Dollars per share",
        "periodStartLabel": "Nonvested, beginning balance, Dollars per share"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansSummaryOfOutstandingRestrictedStockUnitAndRestrictedStockAwardsDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2": {
     "auth_ref": [
      "r429"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average remaining contractual term for option awards outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term",
        "terseLabel": "Outstanding , Weighted average remaining contractual term (years)",
        "verboseLabel": "Weighted-average remaining expense recognition period (in years)"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansOutstandingOptionAwardsDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1": {
     "auth_ref": [
      "r430"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average remaining contractual term for fully vested and expected to vest exercisable or convertible options, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Exercisable, Weighted Average Remaining Contractual Term",
        "terseLabel": "Vested or expected to vest in the future, Weighted average remaining contractual term (in years)"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansOutstandingOptionAwardsDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of options vested.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested, Number of Shares",
        "negatedLabel": "Vested, Shares",
        "terseLabel": "Vested or expected to vest in the future, Shares",
        "verboseLabel": "Vested"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansOutstandingOptionAwardsDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansSummaryOfOutstandingRestrictedStockUnitAndRestrictedStockAwardsDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average grant-date fair value of options vested.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested, Weighted Average Grant Date Fair Value",
        "terseLabel": "Vested"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansSummaryOfOutstandingRestrictedStockUnitAndRestrictedStockAwardsDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_SharesIssuedPricePerShare": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Per share or per unit amount of equity securities issued.",
        "label": "Shares Issued, Price Per Share"
       }
      }
     },
     "localname": "SharesIssuedPricePerShare",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockholdersEquityAdditionalInformationDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_SharesOutstanding": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares issued which are neither cancelled nor held in the treasury.",
        "label": "Shares, Outstanding",
        "periodEndLabel": "Ending balance (in shares)",
        "periodStartLabel": "Beginning balance (in shares)"
       }
      }
     },
     "localname": "SharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfStockholdersEquityDeficitUnaudited"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShortTermBorrowings": {
     "auth_ref": [
      "r20",
      "r569",
      "r598",
      "r619"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDebtScheduleOfDebtDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_LongTermDebt",
       "weight": 1.0
      },
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited": {
       "order": 1.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Reflects the total carrying amount as of the balance sheet date of debt having initial terms less than one year or the normal operating cycle, if longer.",
        "label": "Short-term Debt",
        "negatedLabel": "Less: short-term debt",
        "terseLabel": "Less: short-term debt",
        "totalLabel": "Short-term Debt, Total",
        "verboseLabel": "Short-term debt"
       }
      }
     },
     "localname": "ShortTermBorrowings",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDebtScheduleOfDebtDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShortTermDebtLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Short-term Debt [Line Items]"
       }
      }
     },
     "localname": "ShortTermDebtLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShortTermDebtTypeAxis": {
     "auth_ref": [
      "r50"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of short-term debt arrangement.",
        "label": "Short-term Debt, Type [Axis]"
       }
      }
     },
     "localname": "ShortTermDebtTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDebtAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShortTermDebtTypeDomain": {
     "auth_ref": [
      "r48"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Type of short-term debt arrangement, such as notes, line of credit, commercial paper, asset-based financing, project financing, letter of credit financing.",
        "label": "Short-term Debt, Type [Domain]"
       }
      }
     },
     "localname": "ShortTermDebtTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDebtAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ShortTermLeaseCost": {
     "auth_ref": [
      "r550",
      "r556"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureLeasesSummaryOfLeaseExpenseDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_LeaseCost",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of short-term lease cost, excluding expense for lease with term of one month or less.",
        "label": "Short-term Lease, Cost",
        "terseLabel": "Short-term lease cost"
       }
      }
     },
     "localname": "ShortTermLeaseCost",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureLeasesSummaryOfLeaseExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SignificantAccountingPoliciesTextBlock": {
     "auth_ref": [
      "r127",
      "r142"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for all significant accounting policies of the reporting entity.",
        "label": "Significant Accounting Policies [Text Block]",
        "terseLabel": "Summary of significant accounting policies"
       }
      }
     },
     "localname": "SignificantAccountingPoliciesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPolicies1"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SoftwareDevelopmentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Internally developed software for sale, licensing or long-term internal use.",
        "label": "Software Development [Member]",
        "terseLabel": "Capitalized Software [Member]"
       }
      }
     },
     "localname": "SoftwareDevelopmentMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosurePropertyAndEquipmentNetScheduleOfDepreciationExpenseDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosurePropertyAndEquipmentNetScheduleOfPropertyAndEquipmentDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesSummaryOfPropertyAndEquipmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_StandardProductWarrantyAccrual": {
     "auth_ref": [
      "r294"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesScheduleOfWarrantyAccrualsDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount as of the balance sheet date of the aggregate standard product warranty liability. Does not include the balance for the extended product warranty liability.",
        "label": "Standard Product Warranty Accrual",
        "periodEndLabel": "Balance at end of period",
        "periodStartLabel": "Balance at beginning of period",
        "totalLabel": "Balance at end of period"
       }
      }
     },
     "localname": "StandardProductWarrantyAccrual",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesScheduleOfWarrantyAccrualsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StandardProductWarrantyAccrualPayments": {
     "auth_ref": [
      "r288"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of decrease in the standard product warranty accrual from payments made in cash or in kind to satisfy claims under the terms of the standard product warranty. Excludes extended product warranties.",
        "label": "Standard Product Warranty Accrual, Decrease for Payments",
        "negatedLabel": "Settlements made during the period",
        "terseLabel": "Settlements made during the period"
       }
      }
     },
     "localname": "StandardProductWarrantyAccrualPayments",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesScheduleOfWarrantyAccrualsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease": {
     "auth_ref": [
      "r291"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in the standard product warranty accrual from changes in estimates attributable to preexisting product warranties. Excludes extended product warranties.",
        "label": "Standard Product Warranty Accrual, Increase (Decrease) for Preexisting Warranties",
        "terseLabel": "Changes in liability for pre-existing warranties"
       }
      }
     },
     "localname": "StandardProductWarrantyAccrualPreexistingIncreaseDecrease",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesScheduleOfWarrantyAccrualsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StandardProductWarrantyAccrualWarrantiesIssued": {
     "auth_ref": [
      "r289"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase in the standard product warranty accrual from warranties issued. Excludes extended product warranties.",
        "label": "Standard Product Warranty Accrual, Increase for Warranties Issued",
        "terseLabel": "Warranties issued during the period"
       }
      }
     },
     "localname": "StandardProductWarrantyAccrualWarrantiesIssued",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesScheduleOfWarrantyAccrualsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StandardProductWarrantyDescription": {
     "auth_ref": [
      "r285",
      "r292"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Describes the nature of the product warranty, including the approximate term of the product warranty, how the product warranty arose, and the events or circumstances that would require the warrantor to perform under the product warranty.",
        "label": "Standard Product Warranty Description",
        "terseLabel": "Warranty description"
       }
      }
     },
     "localname": "StandardProductWarrantyDescription",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StandardProductWarrantyPolicy": {
     "auth_ref": [
      "r293"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for standard warranties including the methodology for measuring the liability.",
        "label": "Standard Product Warranty, Policy [Policy Text Block]",
        "terseLabel": "Warranty"
       }
      }
     },
     "localname": "StandardProductWarrantyPolicy",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_StateAndLocalJurisdictionMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Designated tax department of a state or local government entitled to levy and collect income taxes from the entity.",
        "label": "State and Local Jurisdiction [Member]",
        "terseLabel": "State [Member]"
       }
      }
     },
     "localname": "StateAndLocalJurisdictionMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_StatementClassOfStockAxis": {
     "auth_ref": [
      "r25",
      "r26",
      "r27",
      "r132",
      "r135",
      "r161",
      "r162",
      "r163",
      "r165",
      "r167",
      "r179",
      "r180",
      "r181",
      "r241",
      "r299",
      "r303",
      "r304",
      "r305",
      "r308",
      "r309",
      "r351",
      "r352",
      "r356",
      "r360",
      "r367",
      "r523",
      "r685"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by the different classes of stock of the entity.",
        "label": "Class of Stock [Axis]",
        "terseLabel": "Class of Stock"
       }
      }
     },
     "localname": "StatementClassOfStockAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSaleOfInvestmentInUnconsolidatedSubsidiaryAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockholdersEquityAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementEquityComponentsAxis": {
     "auth_ref": [
      "r0",
      "r63",
      "r85",
      "r86",
      "r87",
      "r143",
      "r144",
      "r145",
      "r147",
      "r154",
      "r157",
      "r178",
      "r244",
      "r367",
      "r374",
      "r440",
      "r441",
      "r442",
      "r481",
      "r482",
      "r516",
      "r525",
      "r526",
      "r527",
      "r528",
      "r529",
      "r531",
      "r643",
      "r644",
      "r645",
      "r702"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by component of equity.",
        "label": "Equity Components [Axis]",
        "terseLabel": "Equity Components"
       }
      }
     },
     "localname": "StatementEquityComponentsAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfStockholdersEquityDeficitUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Statement [Line Items]",
        "terseLabel": "Statement [Line Items]"
       }
      }
     },
     "localname": "StatementLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureQuarterlyInformationUnauditedScheduleOfQuarterlyInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureRevisionOfPreviouslyIssuedFinancialStatementsScheduleOfConsolidatedStatementOfCashFlowsDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSegmentInformationAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSegmentInformationScheduleOfCompanysTotalRevenueByGeographicAreaDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLossUnaudited",
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfStockholdersEquityDeficitUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfCashFlowsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Cash Flows [Abstract]"
       }
      }
     },
     "localname": "StatementOfCashFlowsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureRevisionOfPreviouslyIssuedFinancialStatementsScheduleOfConsolidatedStatementOfCashFlowsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfFinancialPositionAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Financial Position [Abstract]",
        "terseLabel": "Balance sheet"
       }
      }
     },
     "localname": "StatementOfFinancialPositionAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfStockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Stockholders' Equity [Abstract]",
        "terseLabel": "Condensed Consolidated Statement of Stockholders' Equity"
       }
      }
     },
     "localname": "StatementOfStockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementTable": {
     "auth_ref": [
      "r143",
      "r144",
      "r145",
      "r178",
      "r582"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule reflecting a Statement of Income, Statement of Cash Flows, Statement of Financial Position, Statement of Shareholders' Equity and Other Comprehensive Income, or other statement as needed.",
        "label": "Statement [Table]",
        "terseLabel": "Statement [Table]"
       }
      }
     },
     "localname": "StatementTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureQuarterlyInformationUnauditedScheduleOfQuarterlyInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureRevisionOfPreviouslyIssuedFinancialStatementsScheduleOfConsolidatedStatementOfCashFlowsDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSegmentInformationAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSegmentInformationScheduleOfCompanysTotalRevenueByGeographicAreaDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansStockCompensationExpenseDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLossUnaudited",
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfStockholdersEquityDeficitUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans": {
     "auth_ref": [
      "r26",
      "r27",
      "r367",
      "r374"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares issued during the period as a result of an employee stock purchase plan.",
        "label": "Stock Issued During Period, Shares, Employee Stock Purchase Plans",
        "terseLabel": "Common stock issued"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansAdditionalInformationDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesNewIssues": {
     "auth_ref": [
      "r26",
      "r27",
      "r367",
      "r374"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of new stock issued during the period.",
        "label": "Stock Issued During Period, Shares, New Issues",
        "terseLabel": "Stock Issued During Period Shares New Issues",
        "verboseLabel": "Issuance of common stock (in shares)"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesNewIssues",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDescriptionOfBusinessAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockholdersEquityAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfStockholdersEquityDeficitUnaudited"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross": {
     "auth_ref": [
      "r367",
      "r374"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total number of shares issued during the period, including shares forfeited, as a result of Restricted Stock Awards.",
        "label": "Stock Issued During Period, Shares, Restricted Stock Award, Gross",
        "terseLabel": "Restricted stock awards vested during the period (in shares)",
        "verboseLabel": "Shares of common stock issuable upon vesting of restricted stock awards"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesRestrictedStockAwardGross",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfStockholdersEquityDeficitUnaudited"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": {
     "auth_ref": [
      "r26",
      "r27",
      "r367",
      "r374",
      "r421"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of share options (or share units) exercised during the current period.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period",
        "negatedLabel": "Exercised, Shares",
        "terseLabel": "Issuance of common stock upon exercise of stock options (in shares)",
        "verboseLabel": "Exercised, Shares"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansOutstandingOptionAwardsDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfStockholdersEquityDeficitUnaudited"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodValueNewIssues": {
     "auth_ref": [
      "r26",
      "r27",
      "r367",
      "r374"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Equity impact of the value of new stock issued during the period. Includes shares issued in an initial public offering or a secondary public offering.",
        "label": "Stock Issued During Period, Value, New Issues",
        "terseLabel": "Issuance of common stock"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodValueNewIssues",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfStockholdersEquityDeficitUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross": {
     "auth_ref": [
      "r26",
      "r27",
      "r367",
      "r374"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate value of stock related to Restricted Stock Awards issued during the period.",
        "label": "Stock Issued During Period, Value, Restricted Stock Award, Gross",
        "terseLabel": "Restricted stock awards vested during the period"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodValueRestrictedStockAwardGross",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfStockholdersEquityDeficitUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": {
     "auth_ref": [
      "r63",
      "r367",
      "r374"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Value of stock issued as a result of the exercise of stock options.",
        "label": "Stock Issued During Period, Value, Stock Options Exercised",
        "terseLabel": "Issuance of common stock upon exercise of stock options"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodValueStockOptionsExercised",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfStockholdersEquityDeficitUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockRepurchasedAndRetiredDuringPeriodShares": {
     "auth_ref": [
      "r26",
      "r27",
      "r367",
      "r374"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares that have been repurchased and retired during the period.",
        "label": "Stock Repurchased and Retired During Period, Shares",
        "negatedLabel": "Repurchase and retirement of common stock (shares)",
        "terseLabel": "Repurchase and retirement of common stock held by related parties (shares)",
        "verboseLabel": "Stock purchased and retired"
       }
      }
     },
     "localname": "StockRepurchasedAndRetiredDuringPeriodShares",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfStockholdersEquityDeficitUnaudited"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockRepurchasedAndRetiredDuringPeriodValue": {
     "auth_ref": [
      "r26",
      "r27",
      "r367",
      "r374"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Equity impact of the value of stock that has been repurchased and retired during the period. The excess of the purchase price over par value can be charged against retained earnings (once the excess is fully allocated to additional paid in capital).",
        "label": "Stock Repurchased and Retired During Period, Value",
        "negatedLabel": "Repurchase and retirement of common stock",
        "terseLabel": "Repurchase and retirement of common stock held by related parties"
       }
      }
     },
     "localname": "StockRepurchasedAndRetiredDuringPeriodValue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfStockholdersEquityDeficitUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockRepurchasedDuringPeriodShares": {
     "auth_ref": [
      "r26",
      "r27",
      "r367",
      "r374"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares that have been repurchased during the period and have not been retired and are not held in treasury. Some state laws may govern the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock.",
        "label": "Stock Repurchased During Period, Shares",
        "negatedLabel": "Repurchase of treasury stock",
        "terseLabel": "Repurchase of treasury stock, held in treasury"
       }
      }
     },
     "localname": "StockRepurchasedDuringPeriodShares",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfStockholdersEquityDeficitUnaudited"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockholdersEquity": {
     "auth_ref": [
      "r27",
      "r32",
      "r33",
      "r135",
      "r234",
      "r241",
      "r523",
      "r569"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited": {
       "order": 0.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.",
        "label": "Stockholders' Equity Attributable to Parent",
        "periodEndLabel": "Ending balance",
        "periodStartLabel": "Beginning balance",
        "terseLabel": "Stockholders equity",
        "totalLabel": "Total stockholders' equity"
       }
      }
     },
     "localname": "StockholdersEquity",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited",
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfStockholdersEquityDeficitUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stockholders' Equity Attributable to Parent [Abstract]",
        "terseLabel": "Stockholders' equity"
       }
      }
     },
     "localname": "StockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StockholdersEquityNoteDisclosureTextBlock": {
     "auth_ref": [
      "r133",
      "r352",
      "r355",
      "r356",
      "r357",
      "r358",
      "r359",
      "r360",
      "r361",
      "r362",
      "r363",
      "r364",
      "r366",
      "r374",
      "r378"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for shareholders' equity comprised of portions attributable to the parent entity and noncontrolling interest, including other comprehensive income. Includes, but is not limited to, balances of common stock, preferred stock, additional paid-in capital, other capital and retained earnings, accumulated balance for each classification of other comprehensive income and amount of comprehensive income.",
        "label": "Stockholders' Equity Note Disclosure [Text Block]",
        "terseLabel": "Stockholders' equity"
       }
      }
     },
     "localname": "StockholdersEquityNoteDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockholdersEquity1"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_StockholdersEquityReverseStockSplit": {
     "auth_ref": [
      "r375"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Description of the reverse stock split arrangement. Also provide the retroactive effect given by the reverse split that occurs after the balance sheet date but before the release of financial statements.",
        "label": "Stockholders' Equity, Reverse Stock Split",
        "terseLabel": "Stock split"
       }
      }
     },
     "localname": "StockholdersEquityReverseStockSplit",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDescriptionOfBusinessAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SubsequentEventLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Detail information of subsequent event by type. User is expected to use existing line items from elsewhere in the taxonomy as the primary line items for this disclosure, which is further associated with dimension and member elements pertaining to a subsequent event.",
        "label": "Subsequent Event [Line Items]"
       }
      }
     },
     "localname": "SubsequentEventLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSubsequentEventsAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SubsequentEventMember": {
     "auth_ref": [
      "r532",
      "r571"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Identifies event that occurred after the balance sheet date but before financial statements are issued or available to be issued.",
        "label": "Subsequent Event [Member]",
        "terseLabel": "Subsequent Event"
       }
      }
     },
     "localname": "SubsequentEventMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureCommitmentsAndContingenciesAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDescriptionOfBusinessAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSubsequentEventsAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SubsequentEventTable": {
     "auth_ref": [
      "r532",
      "r571"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Discloses pertinent information about one or more significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued.",
        "label": "Subsequent Event [Table]"
       }
      }
     },
     "localname": "SubsequentEventTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSubsequentEventsAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SubsequentEventTypeAxis": {
     "auth_ref": [
      "r532",
      "r571"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by event that occurred after the balance sheet date but before financial statements are issued or available to be issued.",
        "label": "Subsequent Event Type [Axis]"
       }
      }
     },
     "localname": "SubsequentEventTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureCommitmentsAndContingenciesAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDescriptionOfBusinessAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSubsequentEventsAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SubsequentEventTypeDomain": {
     "auth_ref": [
      "r532",
      "r571"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Event that occurred after the balance sheet date but before financial statements are issued or available to be issued.",
        "label": "Subsequent Event Type [Domain]"
       }
      }
     },
     "localname": "SubsequentEventTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureCommitmentsAndContingenciesAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDescriptionOfBusinessAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSubsequentEventsAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SubsequentEventsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsequent Events [Abstract]"
       }
      }
     },
     "localname": "SubsequentEventsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_SubsequentEventsTextBlock": {
     "auth_ref": [
      "r570",
      "r572"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued. Examples include: the sale of a capital stock issue, purchase of a business, settlement of litigation, catastrophic loss, significant foreign exchange rate changes, loans to insiders or affiliates, and transactions not in the ordinary course of business.",
        "label": "Subsequent Events [Text Block]",
        "terseLabel": "Subsequent events"
       }
      }
     },
     "localname": "SubsequentEventsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSubsequentEvents"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SubsidiarySaleOfStockAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of sale of the entity's stock.",
        "label": "Sale of Stock [Axis]",
        "terseLabel": "Sale of Stock"
       }
      }
     },
     "localname": "SubsidiarySaleOfStockAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDebtAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDescriptionOfBusinessAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockCompensationAndOtherEmployeeBenefitPlansAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfStockholdersEquityDeficitUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SupplementalCashFlowInformationAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Supplemental Cash Flow Information [Abstract]",
        "terseLabel": "Supplemental disclosures of cash flow information:"
       }
      }
     },
     "localname": "SupplementalCashFlowInformationAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureRevisionOfPreviouslyIssuedFinancialStatementsScheduleOfConsolidatedStatementOfCashFlowsDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_TaxCreditCarryforwardAmount": {
     "auth_ref": [
      "r473"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of the tax credit carryforward, before tax effects, available to reduce future taxable income under enacted tax laws.",
        "label": "Tax Credit Carryforward, Amount",
        "terseLabel": "Tax Credit Carryforward, Amount"
       }
      }
     },
     "localname": "TaxCreditCarryforwardAmount",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_TaxCreditCarryforwardAxis": {
     "auth_ref": [
      "r474"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by specific tax credit related to an unused tax credit.",
        "label": "Tax Credit Carryforward [Axis]"
       }
      }
     },
     "localname": "TaxCreditCarryforwardAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_TaxCreditCarryforwardDescription": {
     "auth_ref": [
      "r474"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A description of the origin, nature, and characteristics of the tax credit carryforward.",
        "label": "Tax Credit Carryforward, Description",
        "terseLabel": "Tax credit carryback description"
       }
      }
     },
     "localname": "TaxCreditCarryforwardDescription",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_TaxCreditCarryforwardExpirationDate": {
     "auth_ref": [
      "r473"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Expiration date of the tax credit carryforward, in YYYY-MM-DD format.",
        "label": "Tax Credit Carryforward, Expiration Date"
       }
      }
     },
     "localname": "TaxCreditCarryforwardExpirationDate",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesAdditionalInformationDetails"
     ],
     "xbrltype": "dateItemType"
    },
    "us-gaap_TaxCreditCarryforwardNameDomain": {
     "auth_ref": [
      "r474"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The name of the tax credit carryforward.",
        "label": "Tax Credit Carryforward, Name [Domain]"
       }
      }
     },
     "localname": "TaxCreditCarryforwardNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TaxesPayableCurrent": {
     "auth_ref": [
      "r51"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited": {
       "order": 4.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable for statutory income, sales, use, payroll, excise, real, property and other taxes. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Taxes Payable, Current",
        "terseLabel": "Income taxes payable",
        "totalLabel": "Taxes Payable, Current, Total"
       }
      }
     },
     "localname": "TaxesPayableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_TechnologyEquipmentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Equipment used in the creation, maintenance and utilization of information systems which include computers and peripherals.",
        "label": "Technology Equipment [Member]",
        "terseLabel": "Information Technology Equipment [Member]"
       }
      }
     },
     "localname": "TechnologyEquipmentMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosurePropertyAndEquipmentNetScheduleOfPropertyAndEquipmentDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesSummaryOfPropertyAndEquipmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ToolsDiesAndMoldsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Equipment commonly used to cut, shape, and form metal and other materials into goods for sale.",
        "label": "Tools, Dies and Molds [Member]",
        "terseLabel": "Tooling [Member]"
       }
      }
     },
     "localname": "ToolsDiesAndMoldsMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosurePropertyAndEquipmentNetScheduleOfPropertyAndEquipmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TradeAndOtherAccountsReceivablePolicy": {
     "auth_ref": [
      "r228",
      "r229",
      "r230",
      "r231",
      "r233",
      "r235"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for accounts receivable.",
        "label": "Accounts Receivable [Policy Text Block]",
        "terseLabel": "Accounts receivable, net"
       }
      }
     },
     "localname": "TradeAndOtherAccountsReceivablePolicy",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_TradeReceivablesHeldForSaleAmount": {
     "auth_ref": [
      "r226"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureAccountsReceivableNetScheduleOfAccountsReceivableNetDetails3": {
       "order": 0.0,
       "parentTag": "us-gaap_ReceivablesNetCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, before valuation allowance, of accounts receivable held for sale.",
        "label": "Accounts Receivable, Held-for-sale",
        "terseLabel": "Trade receivables"
       }
      }
     },
     "localname": "TradeReceivablesHeldForSaleAmount",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureAccountsReceivableNetScheduleOfAccountsReceivableNetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_TreasuryStockMember": {
     "auth_ref": [
      "r62",
      "r376"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Shares of an entity that have been repurchased by the entity. This stock has no voting rights and receives no dividends. Note that treasury stock may be recorded at its total cost or separately as par (or stated) value and additional paid in capital. Classified within stockholders' equity if nonredeemable or redeemable solely at the option of the issuer. Classified within temporary equity if redemption is outside the control of the issuer.",
        "label": "Treasury Stock [Member]",
        "terseLabel": "Treasury Stock"
       }
      }
     },
     "localname": "TreasuryStockMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfStockholdersEquityDeficitUnaudited"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TreasuryStockShares": {
     "auth_ref": [
      "r62",
      "r376"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of common and preferred shares that were previously issued and that were repurchased by the issuing entity and held in treasury on the financial statement date. This stock has no voting rights and receives no dividends.",
        "label": "Treasury Stock, Shares",
        "periodEndLabel": "Treasury Stock, Shares, Ending Balance",
        "periodStartLabel": "Treasury Stock, Shares, Beginning Balance",
        "terseLabel": "Treasury stock, shares",
        "totalLabel": "Treasury Stock, Shares, Total"
       }
      }
     },
     "localname": "TreasuryStockShares",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedBalanceSheetsParentheticalUnaudited"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_TreasuryStockSharesAcquired": {
     "auth_ref": [
      "r27",
      "r367",
      "r374"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares that have been repurchased during the period and are being held in treasury.",
        "label": "Treasury Stock, Shares, Acquired",
        "terseLabel": "Treasury stock, shares, acquired"
       }
      }
     },
     "localname": "TreasuryStockSharesAcquired",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockholdersEquityAdditionalInformationDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_TreasuryStockValue": {
     "auth_ref": [
      "r62",
      "r376",
      "r377"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited": {
       "order": 2.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount allocated to treasury stock. Treasury stock is common and preferred shares of an entity that were issued, repurchased by the entity, and are held in its treasury.",
        "label": "Treasury Stock, Value",
        "periodEndLabel": "Treasury Stock, Value, Ending Balance",
        "periodStartLabel": "Treasury Stock, Value, Beginning Balance",
        "terseLabel": "Treasury stock, at cost; 10,762,566 and 9,896,666 shares as of December 31, 2021 and December 31, 2020",
        "totalLabel": "Treasury Stock, Value, Total",
        "verboseLabel": "Treasury stock, value"
       }
      }
     },
     "localname": "TreasuryStockValue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureStockholdersEquityAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_TypeOfArrangementAxis": {
     "auth_ref": [
      "r506"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by collaborative arrangement and arrangement other than collaborative applicable to revenue-generating activity or operations.",
        "label": "Collaborative Arrangement and Arrangement Other than Collaborative [Axis]",
        "terseLabel": "Collaborative Arrangement and Arrangement Other than Collaborative"
       }
      }
     },
     "localname": "TypeOfArrangementAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDescriptionOfBusinessAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_UnamortizedDebtIssuanceExpense": {
     "auth_ref": [
      "r47"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The remaining balance of debt issuance expenses that were capitalized and are being amortized against income over the lives of the respective bond issues. This does not include the amounts capitalized as part of the cost of the utility plant or asset.",
        "label": "Unamortized Debt Issuance Expense",
        "terseLabel": "Unamortized debt issuance cost"
       }
      }
     },
     "localname": "UnamortizedDebtIssuanceExpense",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDebtAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UnbilledReceivablesCurrent": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount received for services rendered and products shipped, but not yet billed, for non-contractual agreements due within one year or the normal operating cycle, if longer.",
        "label": "Unbilled Receivables, Current",
        "terseLabel": "Unbilled receivables"
       }
      }
     },
     "localname": "UnbilledReceivablesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureRevenueAdditionalInformationDetails13"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UnrecognizedTaxBenefits": {
     "auth_ref": [
      "r451",
      "r461"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of unrecognized tax benefits.",
        "label": "Unrecognized Tax Benefits",
        "periodEndLabel": "Balance at end of period",
        "periodStartLabel": "Balance at beginning of period",
        "terseLabel": "Unrecognized tax benefits"
       }
      }
     },
     "localname": "UnrecognizedTaxBenefits",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesAdditionalInformationDetails",
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesScheduleOfChangesInOurAccrualsForUnrecognizedTaxBenefitsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions": {
     "auth_ref": [
      "r462"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of decrease in unrecognized tax benefits resulting from tax positions taken in prior period tax returns.",
        "label": "Unrecognized Tax Benefits, Decrease Resulting from Prior Period Tax Positions",
        "terseLabel": "Decrease for tax positions related to prior years"
       }
      }
     },
     "localname": "UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesScheduleOfChangesInOurAccrualsForUnrecognizedTaxBenefitsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued": {
     "auth_ref": [
      "r458"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount accrued for interest on an underpayment of income taxes and penalties related to a tax position claimed or expected to be claimed in the tax return.",
        "label": "Unrecognized Tax Benefits, Income Tax Penalties and Interest Accrued",
        "terseLabel": "Income Tax Interest and Penalties Accrued",
        "totalLabel": "Unrecognized Tax Benefits, Income Tax Penalties and Interest Accrued, Total"
       }
      }
     },
     "localname": "UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions": {
     "auth_ref": [
      "r463"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase in unrecognized tax benefits resulting from tax positions that have been or will be taken in current period tax return.",
        "label": "Unrecognized Tax Benefits, Increase Resulting from Current Period Tax Positions",
        "terseLabel": "Increase for tax positions related to the current year"
       }
      }
     },
     "localname": "UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesScheduleOfChangesInOurAccrualsForUnrecognizedTaxBenefitsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UnrecognizedTaxBenefitsPeriodIncreaseDecrease": {
     "auth_ref": [
      "r461"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in unrecognized tax benefits attributable to uncertain tax positions taken in tax returns.",
        "label": "Unrecognized Tax Benefits, Period Increase (Decrease)",
        "terseLabel": "Unrecognized Tax Benefits, Period Increase (Decrease)",
        "totalLabel": "Unrecognized Tax Benefits, Period Increase (Decrease), Total"
       }
      }
     },
     "localname": "UnrecognizedTaxBenefitsPeriodIncreaseDecrease",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate": {
     "auth_ref": [
      "r464"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The total amount of unrecognized tax benefits that, if recognized, would affect the effective tax rate.",
        "label": "Unrecognized Tax Benefits that Would Impact Effective Tax Rate",
        "terseLabel": "Unrecognized tax benefits impact effective income tax rate"
       }
      }
     },
     "localname": "UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UnusualRiskOrUncertaintyByNatureAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by nature of risk and uncertainty, for example, but not limited to, threat of expropriation of its assets by a foreign government, rapid technological obsolescence in the industry, risk of natural disaster from earthquake or weather events, and availability of or continuation of a labor force at a reasonable cost.",
        "label": "Unusual Risk or Uncertainty, Nature [Axis]",
        "terseLabel": "Unusual Risk or Uncertainty, Nature"
       }
      }
     },
     "localname": "UnusualRiskOrUncertaintyByNatureAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDebtAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_UnusualRiskOrUncertaintyNatureDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Describes the nature of the unusual risk or uncertainty, such as the threat of expropriation of its assets by a foreign government, rapid technological obsolescence in the industry, risk of natural disaster from earthquake or weather events, and availability of or continuation of a labor force at a reasonable cost.",
        "label": "Unusual Risk or Uncertainty, Nature [Domain]",
        "terseLabel": "Unusual Risk or Uncertainty, Nature"
       }
      }
     },
     "localname": "UnusualRiskOrUncertaintyNatureDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDebtAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_UseOfEstimates": {
     "auth_ref": [
      "r182",
      "r183",
      "r185",
      "r186",
      "r191",
      "r192",
      "r193"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles.",
        "label": "Use of Estimates, Policy [Policy Text Block]",
        "terseLabel": "Use of Estimates"
       }
      }
     },
     "localname": "UseOfEstimates",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount": {
     "auth_ref": [
      "r470"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in the valuation allowance for a specified deferred tax asset.",
        "label": "Valuation Allowance, Deferred Tax Asset, Increase (Decrease), Amount",
        "terseLabel": "Net change in total valuation allowance",
        "verboseLabel": "Valuation Allowance, Deferred Tax Asset, Increase"
       }
      }
     },
     "localname": "ValuationAllowanceDeferredTaxAssetChangeInAmount",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureIncomeTaxesAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_VariableLeaseCost": {
     "auth_ref": [
      "r551",
      "r556"
     ],
     "calculation": {
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureLeasesSummaryOfLeaseExpenseDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_LeaseCost",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of variable lease cost, excluded from lease liability, recognized when obligation for payment is incurred for finance and operating leases.",
        "label": "Variable Lease, Cost",
        "terseLabel": "Variable lease cost"
       }
      }
     },
     "localname": "VariableLeaseCost",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureLeasesSummaryOfLeaseExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_VariableRateAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of variable rate.",
        "label": "Variable Rate [Axis]"
       }
      }
     },
     "localname": "VariableRateAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDebtAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_VariableRateDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Interest rate that fluctuates over time as a result of an underlying benchmark interest rate or index.",
        "label": "Variable Rate [Domain]"
       }
      }
     },
     "localname": "VariableRateDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureDebtAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": {
     "auth_ref": [
      "r160",
      "r167"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.",
        "label": "Weighted Average Number of Shares Outstanding, Diluted",
        "terseLabel": "Diluted",
        "totalLabel": "Potential common shares excluded from diluted net loss per share",
        "verboseLabel": "Diluted weighted-average number of common shares outstanding"
       }
      }
     },
     "localname": "WeightedAverageNumberOfDilutedSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLossUnaudited"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_WeightedAverageNumberOfShareOutstandingBasicAndDiluted": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Average number of shares or units issued and outstanding that are used in calculating basic and diluted earnings per share (EPS).",
        "label": "Weighted Average Number of Shares Outstanding, Basic and Diluted",
        "terseLabel": "Weighted average shares outstanding for calculating basic and diluted loss per share"
       }
      }
     },
     "localname": "WeightedAverageNumberOfShareOutstandingBasicAndDiluted",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/DisclosureEarningsLossPerShareScheduleOfComputationOfBasicAndDilutedLossPerShareDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted Average Number of Shares Outstanding, Diluted [Abstract]",
        "terseLabel": "Weighted-average common shares outstanding:"
       }
      }
     },
     "localname": "WeightedAverageNumberOfSharesOutstandingAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLossUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": {
     "auth_ref": [
      "r159",
      "r167"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.",
        "label": "Weighted Average Number of Shares Outstanding, Basic",
        "terseLabel": "Basic",
        "totalLabel": "Weighted Average Number of Shares Outstanding, Basic, Total",
        "verboseLabel": "Weighted average shares outstanding for calculating basic and diluted loss per share"
       }
      }
     },
     "localname": "WeightedAverageNumberOfSharesOutstandingBasic",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.ftcsolar.com/20211231/taxonomy/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLossUnaudited"
     ],
     "xbrltype": "sharesItemType"
    }
   },
   "unitCount": 5
  }
 },
 "std_ref": {
  "r0": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "105",
   "URI": "http://asc.fasb.org/extlink&oid=124434974&loc=SL124442142-165695"
  },
  "r1": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "105",
   "URI": "http://asc.fasb.org/extlink&oid=124434974&loc=SL124442142-165695"
  },
  "r10": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6787-107765"
  },
  "r100": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(b)(9)(a))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r101": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.1,2)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r102": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.2(a),(d))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r103": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.4)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r104": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.8)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r105": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.9)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r106": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3179-108585"
  },
  "r107": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3213-108585"
  },
  "r108": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3213-108585"
  },
  "r109": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3255-108585"
  },
  "r11": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6801-107765"
  },
  "r110": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3255-108585"
  },
  "r111": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3291-108585"
  },
  "r112": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3291-108585"
  },
  "r113": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3291-108585"
  },
  "r114": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3367-108585"
  },
  "r115": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21D",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=SL94080555-108585"
  },
  "r116": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3521-108585"
  },
  "r117": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3536-108585"
  },
  "r118": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3536-108585"
  },
  "r119": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3536-108585"
  },
  "r12": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6904-107765"
  },
  "r120": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3602-108585"
  },
  "r121": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3602-108585"
  },
  "r122": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3602-108585"
  },
  "r123": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3044-108585"
  },
  "r124": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123431023&loc=d3e4273-108586"
  },
  "r125": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123431023&loc=d3e4297-108586"
  },
  "r126": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123431023&loc=SL98516268-108586"
  },
  "r127": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=123372394&loc=d3e18726-107790"
  },
  "r128": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=123372394&loc=d3e18823-107790"
  },
  "r129": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=123372394&loc=d3e18823-107790"
  },
  "r13": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6911-107765"
  },
  "r130": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=123372394&loc=d3e18823-107790"
  },
  "r131": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(c))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r132": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(d))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r133": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(e)(1))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r134": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(f))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r135": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r136": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(h)(1)(Note 1))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r137": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(h)(2))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r138": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(h))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r139": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(m)(1)(iii))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r14": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6935-107765"
  },
  "r140": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(m)(2)(ii))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r141": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-04(a))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e24072-122690"
  },
  "r142": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "235",
   "URI": "http://asc.fasb.org/topic&trid=2122369"
  },
  "r143": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "23",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124436220&loc=d3e21914-107793"
  },
  "r144": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124436220&loc=d3e21930-107793"
  },
  "r145": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124436220&loc=d3e21711-107793"
  },
  "r146": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(2)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794"
  },
  "r147": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(3)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794"
  },
  "r148": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22694-107794"
  },
  "r149": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22694-107794"
  },
  "r15": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e7018-107765"
  },
  "r150": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=SL124452830-107794"
  },
  "r151": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22583-107794"
  },
  "r152": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22595-107794"
  },
  "r153": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22644-107794"
  },
  "r154": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22644-107794"
  },
  "r155": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22644-107794"
  },
  "r156": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22658-107794"
  },
  "r157": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22663-107794"
  },
  "r158": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 11.M.Q2)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=122038215&loc=d3e31137-122693"
  },
  "r159": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=d3e1448-109256"
  },
  "r16": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6361739&loc=d3e7789-107766"
  },
  "r160": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=d3e1505-109256"
  },
  "r161": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=d3e1252-109256"
  },
  "r162": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=d3e1278-109256"
  },
  "r163": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "55",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=d3e2626-109256"
  },
  "r164": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "60B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=SL5780133-109256"
  },
  "r165": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "60B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=SL5780133-109256"
  },
  "r166": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=d3e1337-109256"
  },
  "r167": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257"
  },
  "r168": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257"
  },
  "r169": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=124432515&loc=d3e3630-109257"
  },
  "r17": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(1))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r170": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=109243012&loc=SL65017193-207537"
  },
  "r171": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=125512782&loc=d3e3842-109258"
  },
  "r172": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "52",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=125512782&loc=d3e4984-109258"
  },
  "r173": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "260",
   "URI": "http://asc.fasb.org/topic&trid=2144383"
  },
  "r174": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "270",
   "URI": "http://asc.fasb.org/extlink&oid=124437754&loc=d3e543-108305"
  },
  "r175": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "270",
   "URI": "http://asc.fasb.org/extlink&oid=124502072&loc=d3e1280-108306"
  },
  "r176": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "270",
   "URI": "http://asc.fasb.org/extlink&oid=124502072&loc=SL124452896-108306"
  },
  "r177": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "270",
   "URI": "http://asc.fasb.org/topic&trid=2126967"
  },
  "r178": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "272",
   "URI": "http://asc.fasb.org/extlink&oid=125520817&loc=d3e70191-108054"
  },
  "r179": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "272",
   "URI": "http://asc.fasb.org/extlink&oid=125520817&loc=d3e70229-108054"
  },
  "r18": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(13))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r180": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "272",
   "URI": "http://asc.fasb.org/extlink&oid=6373374&loc=d3e70434-108055"
  },
  "r181": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "272",
   "URI": "http://asc.fasb.org/extlink&oid=6373374&loc=d3e70478-108055"
  },
  "r182": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592"
  },
  "r183": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592"
  },
  "r184": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592"
  },
  "r185": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6161-108592"
  },
  "r186": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6191-108592"
  },
  "r187": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592"
  },
  "r188": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592"
  },
  "r189": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592"
  },
  "r19": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(14))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r190": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6404-108592"
  },
  "r191": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6061-108592"
  },
  "r192": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6132-108592"
  },
  "r193": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6143-108592"
  },
  "r194": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "275",
   "URI": "http://asc.fasb.org/topic&trid=2134479"
  },
  "r195": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8657-108599"
  },
  "r196": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8672-108599"
  },
  "r197": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8721-108599"
  },
  "r198": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8721-108599"
  },
  "r199": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599"
  },
  "r2": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "http://asc.fasb.org/extlink&oid=109222650&loc=SL51721683-107760"
  },
  "r20": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(19)(a))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r200": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599"
  },
  "r201": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(g)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599"
  },
  "r202": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599"
  },
  "r203": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599"
  },
  "r204": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8813-108599"
  },
  "r205": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "26",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8844-108599"
  },
  "r206": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8906-108599"
  },
  "r207": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8906-108599"
  },
  "r208": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8906-108599"
  },
  "r209": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8906-108599"
  },
  "r21": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(19)(b))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r210": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "31",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8924-108599"
  },
  "r211": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8933-108599"
  },
  "r212": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8933-108599"
  },
  "r213": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8933-108599"
  },
  "r214": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8933-108599"
  },
  "r215": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8933-108599"
  },
  "r216": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8933-108599"
  },
  "r217": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "34",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8981-108599"
  },
  "r218": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "40",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e9031-108599"
  },
  "r219": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e9038-108599"
  },
  "r22": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(20))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r220": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e9038-108599"
  },
  "r221": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "a",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e9038-108599"
  },
  "r222": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e9038-108599"
  },
  "r223": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "42",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e9054-108599"
  },
  "r224": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "280",
   "URI": "http://asc.fasb.org/topic&trid=2134510"
  },
  "r225": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=124259787&loc=d3e4647-111522"
  },
  "r226": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=124259787&loc=d3e4428-111522"
  },
  "r227": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=124259787&loc=d3e4531-111522"
  },
  "r228": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=123577603&loc=d3e4975-111524"
  },
  "r229": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=123577603&loc=SL6953423-111524"
  },
  "r23": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(22)(b))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r230": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=123577603&loc=d3e5212-111524"
  },
  "r231": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=123577603&loc=d3e5033-111524"
  },
  "r232": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=123577603&loc=d3e5074-111524"
  },
  "r233": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=123577603&loc=d3e5093-111524"
  },
  "r234": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 4.E)",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=122038336&loc=d3e74512-122707"
  },
  "r235": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=84159169&loc=d3e10133-111534"
  },
  "r236": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "310",
   "URI": "http://asc.fasb.org/topic&trid=2196771"
  },
  "r237": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "323",
   "URI": "http://asc.fasb.org/extlink&oid=109237563&loc=d3e33749-111570"
  },
  "r238": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "323",
   "URI": "http://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571"
  },
  "r239": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(2)",
   "Topic": "323",
   "URI": "http://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571"
  },
  "r24": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(22))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r240": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(b)",
   "Topic": "323",
   "URI": "http://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571"
  },
  "r241": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "323",
   "URI": "http://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571"
  },
  "r242": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "323",
   "URI": "http://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571"
  },
  "r243": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "323",
   "URI": "http://asc.fasb.org/topic&trid=2196965"
  },
  "r244": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437"
  },
  "r245": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)(3)",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437"
  },
  "r246": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)(4)",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437"
  },
  "r247": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=124255206&loc=SL82895884-210446"
  },
  "r248": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=124255953&loc=SL82919249-210447"
  },
  "r249": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=124255953&loc=SL82919249-210447"
  },
  "r25": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(27))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r250": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=124255953&loc=SL82919249-210447"
  },
  "r251": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(e)",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=124255953&loc=SL82919249-210447"
  },
  "r252": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(f)",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=124255953&loc=SL82919249-210447"
  },
  "r253": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=124255953&loc=SL82919249-210447"
  },
  "r254": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "326",
   "URI": "http://asc.fasb.org/topic&trid=82887179"
  },
  "r255": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "10",
   "Topic": "330",
   "URI": "http://asc.fasb.org/extlink&oid=123354056&loc=d3e3927-108312"
  },
  "r256": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "330",
   "URI": "http://asc.fasb.org/extlink&oid=116847112&loc=d3e4492-108314"
  },
  "r257": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "330",
   "URI": "http://asc.fasb.org/extlink&oid=116847112&loc=d3e4556-108314"
  },
  "r258": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB TOPIC 5.BB)",
   "Topic": "330",
   "URI": "http://asc.fasb.org/extlink&oid=27011343&loc=d3e100047-122729"
  },
  "r259": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "330",
   "URI": "http://asc.fasb.org/topic&trid=2126998"
  },
  "r26": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(28))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r260": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "05",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "340",
   "URI": "http://asc.fasb.org/extlink&oid=123349782&loc=d3e5879-108316"
  },
  "r261": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "05",
   "SubTopic": "10",
   "Topic": "340",
   "URI": "http://asc.fasb.org/extlink&oid=123349782&loc=d3e5879-108316"
  },
  "r262": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "340",
   "URI": "http://asc.fasb.org/extlink&oid=6387103&loc=d3e6435-108320"
  },
  "r263": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267"
  },
  "r264": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275"
  },
  "r265": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=123351718&loc=d3e2611-110228"
  },
  "r266": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=123351718&loc=d3e2420-110228"
  },
  "r267": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229"
  },
  "r268": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229"
  },
  "r269": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229"
  },
  "r27": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(29))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r270": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229"
  },
  "r271": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=109226691&loc=d3e2921-110230"
  },
  "r272": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=109226691&loc=d3e2921-110230"
  },
  "r273": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230"
  },
  "r274": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "360",
   "URI": "http://asc.fasb.org/topic&trid=2155823"
  },
  "r275": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "420",
   "URI": "http://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869"
  },
  "r276": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "440",
   "URI": "http://asc.fasb.org/extlink&oid=123406679&loc=d3e25336-109308"
  },
  "r277": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "440",
   "URI": "http://asc.fasb.org/extlink&oid=123406679&loc=d3e25336-109308"
  },
  "r278": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "440",
   "URI": "http://asc.fasb.org/topic&trid=2144648"
  },
  "r279": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "450",
   "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14326-108349"
  },
  "r28": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(3))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r280": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "450",
   "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14394-108349"
  },
  "r281": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "450",
   "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14435-108349"
  },
  "r282": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "450",
   "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14557-108349"
  },
  "r283": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "450",
   "URI": "http://asc.fasb.org/topic&trid=2127136"
  },
  "r284": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "10",
   "Topic": "460",
   "URI": "http://asc.fasb.org/extlink&oid=123377177&loc=d3e11281-110244"
  },
  "r285": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "460",
   "URI": "http://asc.fasb.org/extlink&oid=124440162&loc=d3e12069-110248"
  },
  "r286": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "460",
   "URI": "http://asc.fasb.org/extlink&oid=124440162&loc=d3e12069-110248"
  },
  "r287": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "460",
   "URI": "http://asc.fasb.org/extlink&oid=123368208&loc=d3e12524-110249"
  },
  "r288": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "((c)(2))",
   "Topic": "460",
   "URI": "http://asc.fasb.org/extlink&oid=123368208&loc=d3e12565-110249"
  },
  "r289": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "((c)(3))",
   "Topic": "460",
   "URI": "http://asc.fasb.org/extlink&oid=123368208&loc=d3e12565-110249"
  },
  "r29": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(1))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r290": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "((c)(3,4))",
   "Topic": "460",
   "URI": "http://asc.fasb.org/extlink&oid=123368208&loc=d3e12565-110249"
  },
  "r291": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "((c)(4))",
   "Topic": "460",
   "URI": "http://asc.fasb.org/extlink&oid=123368208&loc=d3e12565-110249"
  },
  "r292": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "460",
   "URI": "http://asc.fasb.org/extlink&oid=123368208&loc=d3e12565-110249"
  },
  "r293": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "460",
   "URI": "http://asc.fasb.org/extlink&oid=123368208&loc=d3e12565-110249"
  },
  "r294": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1),(c)(5)",
   "Topic": "460",
   "URI": "http://asc.fasb.org/extlink&oid=123368208&loc=d3e12565-110249"
  },
  "r295": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "460",
   "URI": "http://asc.fasb.org/extlink&oid=123368208&loc=d3e12565-110249"
  },
  "r296": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=99376301&loc=d3e1314-112600"
  },
  "r297": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=99376301&loc=d3e1336-112600"
  },
  "r298": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123465755&loc=SL6230698-112601"
  },
  "r299": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(i))",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442526-122756"
  },
  "r3": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "205",
   "URI": "http://asc.fasb.org/topic&trid=2122149"
  },
  "r30": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(3))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r300": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(ii))",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442526-122756"
  },
  "r301": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442526-122756"
  },
  "r302": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii))",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442526-122756"
  },
  "r303": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iv))",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442526-122756"
  },
  "r304": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(5))",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442526-122756"
  },
  "r305": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(i))",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442552-122756"
  },
  "r306": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442552-122756"
  },
  "r307": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442552-122756"
  },
  "r308": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iv))",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442552-122756"
  },
  "r309": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(5))",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442552-122756"
  },
  "r31": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(4))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r310": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r311": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r312": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r313": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r314": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(e)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r315": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(f)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r316": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r317": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r318": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(i)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r319": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r32": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r320": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1C",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495334-112611"
  },
  "r321": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1C",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495334-112611"
  },
  "r322": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1C",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495334-112611"
  },
  "r323": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495340-112611"
  },
  "r324": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495340-112611"
  },
  "r325": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495340-112611"
  },
  "r326": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1E",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495348-112611"
  },
  "r327": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1E",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495348-112611"
  },
  "r328": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1E",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495348-112611"
  },
  "r329": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1E",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495348-112611"
  },
  "r33": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(31))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r330": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1F",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495355-112611"
  },
  "r331": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1F",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495355-112611"
  },
  "r332": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1F",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(1)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495355-112611"
  },
  "r333": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1F",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(2)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495355-112611"
  },
  "r334": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1I",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495371-112611"
  },
  "r335": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1I",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495371-112611"
  },
  "r336": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1I",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495371-112611"
  },
  "r337": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1I",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495371-112611"
  },
  "r338": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(1)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466204&loc=SL6031897-161870"
  },
  "r339": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(3)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466204&loc=SL6031897-161870"
  },
  "r34": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(32))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r340": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466204&loc=SL6036836-161870"
  },
  "r341": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "69B",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466577&loc=SL123495735-112612"
  },
  "r342": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "69C",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466577&loc=SL123495737-112612"
  },
  "r343": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "69E",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466577&loc=SL123495743-112612"
  },
  "r344": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "69F",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466577&loc=SL123495745-112612"
  },
  "r345": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "40",
   "SubTopic": "50",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123467658&loc=d3e12317-112629"
  },
  "r346": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "40",
   "SubTopic": "50",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123467658&loc=d3e12355-112629"
  },
  "r347": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "470",
   "URI": "http://asc.fasb.org/topic&trid=2208564"
  },
  "r348": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(CFRR 211.02)",
   "Topic": "480",
   "URI": "http://asc.fasb.org/extlink&oid=122040564&loc=d3e177068-122764"
  },
  "r349": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=65888546&loc=d3e21300-112643"
  },
  "r35": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(4)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r350": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=d3e21553-112644"
  },
  "r351": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496158-112644"
  },
  "r352": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496158-112644"
  },
  "r353": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496158-112644"
  },
  "r354": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496158-112644"
  },
  "r355": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(g)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496158-112644"
  },
  "r356": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496158-112644"
  },
  "r357": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(i)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496158-112644"
  },
  "r358": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496158-112644"
  },
  "r359": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496171-112644"
  },
  "r36": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(4))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r360": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496171-112644"
  },
  "r361": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496171-112644"
  },
  "r362": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496180-112644"
  },
  "r363": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496189-112644"
  },
  "r364": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496189-112644"
  },
  "r365": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496189-112644"
  },
  "r366": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496189-112644"
  },
  "r367": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=d3e21463-112644"
  },
  "r368": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=d3e21475-112644"
  },
  "r369": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=d3e21484-112644"
  },
  "r37": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r370": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=d3e21488-112644"
  },
  "r371": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=d3e21506-112644"
  },
  "r372": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=d3e21521-112644"
  },
  "r373": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=d3e21538-112644"
  },
  "r374": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.3-04)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=120397183&loc=d3e187085-122770"
  },
  "r375": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 4.C)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=120397183&loc=d3e187143-122770"
  },
  "r376": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=6405813&loc=d3e23239-112655"
  },
  "r377": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=6405834&loc=d3e23315-112656"
  },
  "r378": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "505",
   "URI": "http://asc.fasb.org/topic&trid=2208762"
  },
  "r379": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123360276&loc=SL49130531-203044"
  },
  "r38": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(b))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r380": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123360276&loc=SL49130532-203044"
  },
  "r381": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130551-203045"
  },
  "r382": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130554-203045"
  },
  "r383": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130554-203045"
  },
  "r384": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130554-203045"
  },
  "r385": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130554-203045"
  },
  "r386": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130554-203045"
  },
  "r387": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130556-203045"
  },
  "r388": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(1)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130556-203045"
  },
  "r389": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(2)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130556-203045"
  },
  "r39": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(c))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r390": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130558-203045"
  },
  "r391": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130543-203045"
  },
  "r392": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130545-203045"
  },
  "r393": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130549-203045"
  },
  "r394": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130550-203045"
  },
  "r395": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123410239&loc=SL49130690-203046-203046"
  },
  "r396": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123410239&loc=SL49130690-203046-203046"
  },
  "r397": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123410239&loc=SL49130690-203046-203046"
  },
  "r398": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123410239&loc=SL49130690-203046-203046"
  },
  "r399": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123410239&loc=SL49130690-203046-203046"
  },
  "r4": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765"
  },
  "r40": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(7))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r400": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123410239&loc=SL49130690-203046-203046"
  },
  "r401": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(g)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123410239&loc=SL49130690-203046-203046"
  },
  "r402": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "606",
   "URI": "http://asc.fasb.org/topic&trid=49130388"
  },
  "r403": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(i)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r404": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(n)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r405": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "70",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=49170846&loc=d3e28014-114942"
  },
  "r406": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(a)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450702-114947"
  },
  "r407": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(d)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947"
  },
  "r408": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(a)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450673-114947"
  },
  "r409": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "80",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=35742348&loc=SL14450788-114948"
  },
  "r41": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(8))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r410": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=123468992&loc=d3e4534-113899"
  },
  "r411": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5047-113901"
  },
  "r412": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5047-113901"
  },
  "r413": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5047-113901"
  },
  "r414": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r415": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a),(g)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r416": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b),(f)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r417": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r418": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(i)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r419": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(i)-(ii)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r42": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.1)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r420": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iii)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r421": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r422": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(3)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r423": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(3)-(4)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r424": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r425": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r426": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)(1)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r427": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)(2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r428": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r429": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)(1)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r43": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.12)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r430": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)(2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r431": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(i)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r432": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(ii)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r433": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(iii)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r434": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(iv)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r435": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(g)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r436": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(1)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r437": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(1)(i)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r438": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r439": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=SL79508275-113901"
  },
  "r44": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.13(a))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r440": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333"
  },
  "r441": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)(1)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333"
  },
  "r442": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333"
  },
  "r443": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(g)(2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333"
  },
  "r444": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 14.D.2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=122041274&loc=d3e301413-122809"
  },
  "r445": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 14.F)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=122041274&loc=d3e301413-122809"
  },
  "r446": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=122142933&loc=d3e11149-113907"
  },
  "r447": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=122142933&loc=d3e11178-113907"
  },
  "r448": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "718",
   "URI": "http://asc.fasb.org/topic&trid=2228938"
  },
  "r449": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "35",
   "Subparagraph": "(a)",
   "Topic": "720",
   "URI": "http://asc.fasb.org/extlink&oid=6420018&loc=d3e36677-107848"
  },
  "r45": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.13)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r450": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "730",
   "URI": "http://asc.fasb.org/extlink&oid=6420194&loc=d3e21568-108373"
  },
  "r451": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=123427490&loc=SL37586934-109318"
  },
  "r452": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=123427490&loc=d3e32247-109318"
  },
  "r453": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=123427490&loc=d3e32280-109318"
  },
  "r454": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=123427490&loc=d3e31931-109318"
  },
  "r455": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32672-109319"
  },
  "r456": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32687-109319"
  },
  "r457": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32705-109319"
  },
  "r458": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32718-109319"
  },
  "r459": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32718-109319"
  },
  "r46": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.14)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r460": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32718-109319"
  },
  "r461": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=SL6600010-109319"
  },
  "r462": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=SL6600010-109319"
  },
  "r463": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(2)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=SL6600010-109319"
  },
  "r464": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=SL6600010-109319"
  },
  "r465": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=SL6600010-109319"
  },
  "r466": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32809-109319"
  },
  "r467": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "19",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32840-109319"
  },
  "r468": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32537-109319"
  },
  "r469": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32537-109319"
  },
  "r47": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.17)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r470": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32537-109319"
  },
  "r471": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32847-109319"
  },
  "r472": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32857-109319"
  },
  "r473": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32559-109319"
  },
  "r474": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32559-109319"
  },
  "r475": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32621-109319"
  },
  "r476": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32632-109319"
  },
  "r477": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32639-109319"
  },
  "r478": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32639-109319"
  },
  "r479": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32639-109319"
  },
  "r48": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19(a))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r480": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "217",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=124434304&loc=d3e36027-109320"
  },
  "r481": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)(2)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=123459177&loc=SL121830611-158277"
  },
  "r482": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)(3)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=123459177&loc=SL121830611-158277"
  },
  "r483": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB TOPIC 6.I.5.Q1)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817"
  },
  "r484": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB TOPIC 6.I.7)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817"
  },
  "r485": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 6.I.7)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817"
  },
  "r486": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 6.I.Fact.1)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817"
  },
  "r487": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 6.I.Fact.2)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817"
  },
  "r488": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 6.I.Fact.4)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817"
  },
  "r489": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 11.C)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=122134291&loc=d3e330215-122817"
  },
  "r49": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19(b),22(b))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r490": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(g)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=123586238&loc=d3e39076-109324"
  },
  "r491": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=123586238&loc=d3e38679-109324"
  },
  "r492": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "270",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=6424409&loc=d3e44925-109338"
  },
  "r493": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=6424122&loc=d3e41874-109331"
  },
  "r494": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "740",
   "URI": "http://asc.fasb.org/topic&trid=2144680"
  },
  "r495": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=79982066&loc=d3e1392-128463"
  },
  "r496": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=79982066&loc=d3e1486-128463"
  },
  "r497": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "30",
   "SubTopic": "30",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=116859721&loc=d3e6578-128477"
  },
  "r498": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "30",
   "SubTopic": "30",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=116859721&loc=d3e6613-128477"
  },
  "r499": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(b)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=120321790&loc=d3e6927-128479"
  },
  "r5": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765"
  },
  "r50": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r500": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(b)(1)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=120321790&loc=d3e6927-128479"
  },
  "r501": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(b)(4)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=120321790&loc=d3e6927-128479"
  },
  "r502": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(c)(2)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=120321790&loc=d3e6927-128479"
  },
  "r503": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "50",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=123385561&loc=d3e9135-128495"
  },
  "r504": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "30",
   "SubTopic": "50",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=123362884&loc=d3e9212-128498"
  },
  "r505": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "30",
   "SubTopic": "50",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=123362884&loc=d3e9215-128498"
  },
  "r506": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "808",
   "URI": "http://asc.fasb.org/extlink&oid=6931272&loc=SL5834143-161434"
  },
  "r507": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988"
  },
  "r508": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988"
  },
  "r509": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c),(3)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684"
  },
  "r51": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19,20)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r510": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(bb)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=123419778&loc=d3e5710-111685"
  },
  "r511": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=123419778&loc=d3e5710-111685"
  },
  "r512": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=125515794&loc=SL5618551-113959"
  },
  "r513": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=125515794&loc=SL5624163-113959"
  },
  "r514": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Subparagraph": "(d)",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=123477628&loc=d3e90205-114008"
  },
  "r515": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(b)(2)",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=123482062&loc=SL123482106-238011"
  },
  "r516": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)(3)",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=123482062&loc=SL123482106-238011"
  },
  "r517": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)(4)",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=123482062&loc=SL123482106-238011"
  },
  "r518": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=123482062&loc=SL123482106-238011"
  },
  "r519": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=123874694&loc=d3e19207-110258"
  },
  "r52": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19-26)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r520": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "825",
   "URI": "http://asc.fasb.org/extlink&oid=123594938&loc=d3e13531-108611"
  },
  "r521": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "825",
   "URI": "http://asc.fasb.org/extlink&oid=123594938&loc=d3e13537-108611"
  },
  "r522": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "825",
   "URI": "http://asc.fasb.org/extlink&oid=123594938&loc=d3e13537-108611"
  },
  "r523": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "825",
   "URI": "http://asc.fasb.org/extlink&oid=123596393&loc=d3e14064-108612"
  },
  "r524": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "230",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=123444420&loc=d3e33268-110906"
  },
  "r525": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32136-110900"
  },
  "r526": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900"
  },
  "r527": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(b)",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900"
  },
  "r528": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(c)",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900"
  },
  "r529": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(d)",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900"
  },
  "r53": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.20)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r530": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900"
  },
  "r531": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=6450520&loc=d3e32583-110901"
  },
  "r532": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=6450520&loc=d3e32618-110901"
  },
  "r533": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "http://asc.fasb.org/extlink&oid=124435984&loc=d3e28541-108399"
  },
  "r534": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "http://asc.fasb.org/extlink&oid=124435984&loc=d3e28551-108399"
  },
  "r535": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "http://asc.fasb.org/extlink&oid=124435984&loc=d3e28555-108399"
  },
  "r536": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "http://asc.fasb.org/extlink&oid=124429444&loc=SL124452920-239629"
  },
  "r537": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "http://asc.fasb.org/extlink&oid=114775985&loc=d3e28878-108400"
  },
  "r538": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S45",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "http://asc.fasb.org/extlink&oid=68176171&loc=SL68176184-208336"
  },
  "r539": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "840",
   "URI": "http://asc.fasb.org/extlink&oid=123389372&loc=d3e36991-112694"
  },
  "r54": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.21)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r540": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "40",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(Note 3)",
   "Topic": "840",
   "URI": "http://asc.fasb.org/extlink&oid=123403562&loc=d3e38371-112697"
  },
  "r541": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "840",
   "URI": "http://asc.fasb.org/extlink&oid=123406913&loc=d3e41499-112717"
  },
  "r542": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "840",
   "URI": "http://asc.fasb.org/extlink&oid=123406913&loc=d3e41502-112717"
  },
  "r543": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "840",
   "URI": "http://asc.fasb.org/topic&trid=2208923"
  },
  "r544": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=123391704&loc=SL77918627-209977"
  },
  "r545": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=123391704&loc=SL77918627-209977"
  },
  "r546": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=123391704&loc=SL77918631-209977"
  },
  "r547": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918666-209980"
  },
  "r548": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918673-209980"
  },
  "r549": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918686-209980"
  },
  "r55": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.22(a)(1))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r550": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918686-209980"
  },
  "r551": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918686-209980"
  },
  "r552": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(3)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918686-209980"
  },
  "r553": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(4)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918686-209980"
  },
  "r554": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918686-209980"
  },
  "r555": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918701-209980"
  },
  "r556": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "53",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=123414884&loc=SL77918982-209971"
  },
  "r557": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "http://asc.fasb.org/subtopic&trid=77888251"
  },
  "r558": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "850",
   "URI": "http://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864"
  },
  "r559": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "850",
   "URI": "http://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864"
  },
  "r56": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.22(b))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r560": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "850",
   "URI": "http://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864"
  },
  "r561": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "850",
   "URI": "http://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864"
  },
  "r562": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "850",
   "URI": "http://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864"
  },
  "r563": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "850",
   "URI": "http://asc.fasb.org/extlink&oid=6457730&loc=d3e39599-107864"
  },
  "r564": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "850",
   "URI": "http://asc.fasb.org/extlink&oid=6457730&loc=d3e39603-107864"
  },
  "r565": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "850",
   "URI": "http://asc.fasb.org/extlink&oid=6457730&loc=d3e39691-107864"
  },
  "r566": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "850",
   "URI": "http://asc.fasb.org/topic&trid=2122745"
  },
  "r567": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "852",
   "URI": "http://asc.fasb.org/extlink&oid=124433192&loc=SL2890621-112765"
  },
  "r568": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "852",
   "URI": "http://asc.fasb.org/extlink&oid=124433192&loc=SL2890621-112765"
  },
  "r569": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "852",
   "URI": "http://asc.fasb.org/extlink&oid=84165509&loc=d3e56426-112766"
  },
  "r57": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.22)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r570": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "855",
   "URI": "http://asc.fasb.org/extlink&oid=6842918&loc=SL6314017-165662"
  },
  "r571": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "855",
   "URI": "http://asc.fasb.org/extlink&oid=6842918&loc=SL6314017-165662"
  },
  "r572": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "855",
   "URI": "http://asc.fasb.org/topic&trid=2122774"
  },
  "r573": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(1)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r574": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(2)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r575": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(3)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r576": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(1)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719"
  },
  "r577": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(2)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719"
  },
  "r578": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(3)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719"
  },
  "r579": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "910",
   "URI": "http://asc.fasb.org/extlink&oid=123353855&loc=SL119991595-234733"
  },
  "r58": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.24)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r580": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "330",
   "Topic": "912",
   "URI": "http://asc.fasb.org/extlink&oid=6471895&loc=d3e55923-109411"
  },
  "r581": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "730",
   "Topic": "912",
   "URI": "http://asc.fasb.org/extlink&oid=6472174&loc=d3e58812-109433"
  },
  "r582": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 11.L)",
   "Topic": "924",
   "URI": "http://asc.fasb.org/extlink&oid=6472922&loc=d3e499488-122856"
  },
  "r583": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(a)",
   "Topic": "932",
   "URI": "http://asc.fasb.org/extlink&oid=123377692&loc=d3e61929-109447"
  },
  "r584": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(b)",
   "Topic": "932",
   "URI": "http://asc.fasb.org/extlink&oid=123377692&loc=d3e61929-109447"
  },
  "r585": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(a)",
   "Topic": "932",
   "URI": "http://asc.fasb.org/extlink&oid=123377692&loc=d3e62059-109447"
  },
  "r586": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(b)",
   "Topic": "932",
   "URI": "http://asc.fasb.org/extlink&oid=123377692&loc=d3e62059-109447"
  },
  "r587": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(a)",
   "Topic": "932",
   "URI": "http://asc.fasb.org/extlink&oid=123377692&loc=d3e62395-109447"
  },
  "r588": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(b)",
   "Topic": "932",
   "URI": "http://asc.fasb.org/extlink&oid=123377692&loc=d3e62395-109447"
  },
  "r589": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "33",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(a)",
   "Topic": "932",
   "URI": "http://asc.fasb.org/extlink&oid=123377692&loc=d3e62479-109447"
  },
  "r59": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.25)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r590": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "33",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(b)",
   "Topic": "932",
   "URI": "http://asc.fasb.org/extlink&oid=123377692&loc=d3e62479-109447"
  },
  "r591": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "35A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(a)",
   "Topic": "932",
   "URI": "http://asc.fasb.org/extlink&oid=123377692&loc=SL6807758-109447"
  },
  "r592": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "35A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(b)",
   "Topic": "932",
   "URI": "http://asc.fasb.org/extlink&oid=123377692&loc=SL6807758-109447"
  },
  "r593": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(c)(1)",
   "Topic": "932",
   "URI": "http://asc.fasb.org/extlink&oid=123377692&loc=d3e61872-109447"
  },
  "r594": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(c)(2)",
   "Topic": "932",
   "URI": "http://asc.fasb.org/extlink&oid=123377692&loc=d3e61872-109447"
  },
  "r595": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "20",
   "Topic": "940",
   "URI": "http://asc.fasb.org/extlink&oid=123384075&loc=d3e41242-110953"
  },
  "r596": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(1)(a))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r597": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(11))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r598": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(13))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r599": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(15)(1))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r6": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765"
  },
  "r60": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.28,29)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r600": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(16))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r601": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(23))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r602": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03.17)",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r603": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(13)(f))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r604": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(13)(g))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r605": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(15))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r606": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(22))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r607": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(23))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r608": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(26))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r609": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(27))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r61": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.29)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r610": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04.10)",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r611": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "235",
   "Subparagraph": "(SX 210.9-05(b)(2))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399901&loc=d3e537907-122884"
  },
  "r612": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "360",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=124429447&loc=SL124453093-239630"
  },
  "r613": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "405",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=6957935&loc=d3e64057-112817"
  },
  "r614": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "470",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=123599511&loc=d3e64711-112823"
  },
  "r615": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "825",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=123345438&loc=d3e61044-112788"
  },
  "r616": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(16))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r617": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(12))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r618": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(15)(b)(1))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r619": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(16)(a)(1))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r62": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.29,30)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r620": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(16))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r621": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(2))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r622": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(3))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r623": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r624": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(25))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r625": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(5))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r626": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(8))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r627": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03.(a),19)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r628": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(10))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r629": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(18))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r63": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.29-31)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r630": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(19))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r631": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(22))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r632": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(23))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r633": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(3)(a))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r634": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(8))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r635": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(9))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r636": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=35755530&loc=d3e11264-158415"
  },
  "r637": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4H",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=116884468&loc=SL65671331-158438"
  },
  "r638": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Subparagraph": "(d)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124506351&loc=SL117782755-158439"
  },
  "r639": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13H",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Subparagraph": "(a)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124504033&loc=SL117783719-158441"
  },
  "r64": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.3,4)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r640": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13H",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Subparagraph": "(b)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124504033&loc=SL117783719-158441"
  },
  "r641": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13H",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Subparagraph": "(c)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124504033&loc=SL117783719-158441"
  },
  "r642": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "29F",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124504033&loc=SL117819544-158441"
  },
  "r643": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r644": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)(1)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r645": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)(2)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r646": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(1)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r647": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(i)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r648": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(ii)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r649": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(iii)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r65": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.6(a)(1))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r650": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(iv)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r651": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(h)(1)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r652": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(h)(2)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r653": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "825",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=123600520&loc=SL75241803-196195"
  },
  "r654": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "210",
   "Topic": "946",
   "URI": "http://asc.fasb.org/extlink&oid=118262064&loc=SL116631418-115840"
  },
  "r655": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "210",
   "Topic": "946",
   "URI": "http://asc.fasb.org/extlink&oid=118262064&loc=SL116631419-115840"
  },
  "r656": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-06(3))",
   "Topic": "946",
   "URI": "http://asc.fasb.org/extlink&oid=120401414&loc=d3e604059-122996"
  },
  "r657": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "310",
   "Subparagraph": "(SX 210.12-29(Footnote 4))",
   "Topic": "948",
   "URI": "http://asc.fasb.org/extlink&oid=120402547&loc=d3e617274-123014"
  },
  "r658": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "210",
   "Topic": "954",
   "URI": "http://asc.fasb.org/extlink&oid=120413173&loc=SL6242262-115580"
  },
  "r659": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "210",
   "Topic": "954",
   "URI": "http://asc.fasb.org/extlink&oid=120413209&loc=SL6242269-115581"
  },
  "r66": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.6(a))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r660": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "310",
   "Topic": "954",
   "URI": "http://asc.fasb.org/extlink&oid=123364037&loc=d3e3115-115594"
  },
  "r661": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "440",
   "Subparagraph": "(a)",
   "Topic": "954",
   "URI": "http://asc.fasb.org/extlink&oid=6491277&loc=d3e6429-115629"
  },
  "r662": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "360",
   "Subparagraph": "(d)",
   "Topic": "958",
   "URI": "http://asc.fasb.org/extlink&oid=120429125&loc=d3e99779-112916"
  },
  "r663": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "360",
   "Topic": "958",
   "URI": "http://asc.fasb.org/extlink&oid=120429125&loc=d3e99893-112916"
  },
  "r664": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "360",
   "Topic": "958",
   "URI": "http://asc.fasb.org/extlink&oid=120429125&loc=SL120174063-112916"
  },
  "r665": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column B))",
   "Topic": "970",
   "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r666": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column C))",
   "Topic": "970",
   "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r667": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column D))",
   "Topic": "970",
   "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r668": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column E))",
   "Topic": "970",
   "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r669": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column F))",
   "Topic": "970",
   "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r67": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.6(b))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r670": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column G))",
   "Topic": "970",
   "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r671": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column H))",
   "Topic": "970",
   "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r672": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column I))",
   "Topic": "970",
   "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r673": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Footnote 2))",
   "Topic": "970",
   "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r674": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "310",
   "Subparagraph": "(c)",
   "Topic": "976",
   "URI": "http://asc.fasb.org/extlink&oid=6497875&loc=d3e22274-108663"
  },
  "r675": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "310",
   "Subparagraph": "(b)",
   "Topic": "978",
   "URI": "http://asc.fasb.org/extlink&oid=123360121&loc=d3e27327-108691"
  },
  "r676": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "985",
   "URI": "http://asc.fasb.org/extlink&oid=6501960&loc=d3e128462-111756"
  },
  "r677": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b"
  },
  "r678": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r679": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b-23"
  },
  "r68": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.8)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r680": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "d1-1"
  },
  "r681": {
   "Name": "Form 10-K",
   "Number": "249",
   "Publisher": "SEC",
   "Section": "310"
  },
  "r682": {
   "Name": "Form 20-F",
   "Number": "249",
   "Publisher": "SEC",
   "Section": "220",
   "Subsection": "f"
  },
  "r683": {
   "Name": "Form 40-F",
   "Number": "249",
   "Publisher": "SEC",
   "Section": "240",
   "Subsection": "f"
  },
  "r684": {
   "Name": "Forms 10-K, 10-Q, 20-F",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "13",
   "Subsection": "a-1"
  },
  "r685": {
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Paragraph": "(a)",
   "Publisher": "SEC",
   "Section": "1402"
  },
  "r686": {
   "Name": "Regulation S-T",
   "Number": "232",
   "Publisher": "SEC",
   "Section": "405"
  },
  "r687": {
   "Footnote": "2",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "28"
  },
  "r688": {
   "Footnote": "4",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "29"
  },
  "r689": {
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Paragraph": "Column B",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "28"
  },
  "r69": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.9)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r690": {
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Paragraph": "Column C",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "28"
  },
  "r691": {
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Paragraph": "Column D",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "28"
  },
  "r692": {
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Paragraph": "Column E",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "28"
  },
  "r693": {
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Paragraph": "Column F",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "28"
  },
  "r694": {
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Paragraph": "Column G",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "28"
  },
  "r695": {
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Paragraph": "Column H",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "28"
  },
  "r696": {
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Paragraph": "Column I",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "28"
  },
  "r697": {
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Paragraph": "i",
   "Publisher": "SEC",
   "Section": "3",
   "Subsection": "10"
  },
  "r698": {
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Paragraph": "(m)",
   "Publisher": "SEC",
   "Section": "4",
   "Subparagraph": "(1)(iii)",
   "Subsection": "08"
  },
  "r699": {
   "Name": "Securities Act",
   "Number": "230",
   "Publisher": "SEC",
   "Section": "405"
  },
  "r7": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(g)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765"
  },
  "r70": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=99393222&loc=SL20226024-175313"
  },
  "r700": {
   "Name": "Securities Act",
   "Number": "7A",
   "Publisher": "SEC",
   "Section": "B",
   "Subsection": "2"
  },
  "r701": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)(3)(iii)(01)",
   "Topic": "848"
  },
  "r702": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)(3)(iii)(03)",
   "Topic": "848"
  },
  "r71": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=99393222&loc=SL20226049-175313"
  },
  "r72": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=99393222&loc=SL20226052-175313"
  },
  "r73": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669646-108580"
  },
  "r74": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669646-108580"
  },
  "r75": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=d3e637-108580"
  },
  "r76": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=d3e681-108580"
  },
  "r77": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669686-108580"
  },
  "r78": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669619-108580"
  },
  "r79": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669619-108580"
  },
  "r8": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(g)(4)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765"
  },
  "r80": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669619-108580"
  },
  "r81": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669625-108580"
  },
  "r82": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669625-108580"
  },
  "r83": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=d3e557-108580"
  },
  "r84": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=124431353&loc=SL116659661-227067"
  },
  "r85": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=124431353&loc=SL124442407-227067"
  },
  "r86": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=124431353&loc=SL124442411-227067"
  },
  "r87": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=124431353&loc=SL124452729-227067"
  },
  "r88": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=124507222&loc=d3e1436-108581"
  },
  "r89": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(1))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r9": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765"
  },
  "r90": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(10))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r91": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(12))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r92": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(20))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r93": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(21))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r94": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(24))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r95": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(25))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r96": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(4))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r97": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(5))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r98": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(8))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r99": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(b)(7)(c))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  }
 },
 "version": "2.1"
}
