| | | | | | | | | | | | | | | | | | | | | |
<?xml version="1.0" encoding="windows-1252"?> |
<!-- XBRL Document Created with the Workiva Platform --> |
<!-- Copyright 2024 Workiva --> |
<!-- r:ca424a21-72e3-4c8d-a098-d321ae30b98f,g:feaa5624-a50c-40e5-8e97-5c63f6acffa4 --> |
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:pfie="http://www.profireenergy.com/20231231" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:dtr-types1="http://www.xbrl.org/dtr/type/2020-01-21" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2022-03-31" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.profireenergy.com/20231231"> |
| <xs:import namespace="http://fasb.org/srt/2023" schemaLocation="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd"/> |
| <xs:import namespace="http://fasb.org/us-gaap/2023" schemaLocation="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd"/> |
| <xs:import namespace="http://www.w3.org/1999/xlink" schemaLocation="http://www.xbrl.org/2003/xlink-2003-12-31.xsd"/> |
| <xs:import namespace="http://www.xbrl.org/2003/instance" schemaLocation="http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd"/> |
| <xs:import namespace="http://www.xbrl.org/2003/linkbase" schemaLocation="http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd"/> |
| <xs:import namespace="http://www.xbrl.org/dtr/type/2020-01-21" schemaLocation="https://www.xbrl.org/dtr/type/2020-01-21/types.xsd"/> |
| <xs:import namespace="http://www.xbrl.org/dtr/type/2022-03-31" schemaLocation="https://www.xbrl.org/dtr/type/2022-03-31/types.xsd"/> |
| <xs:import namespace="http://xbrl.org/2005/xbrldt" schemaLocation="http://www.xbrl.org/2005/xbrldt-2005.xsd"/> |
| <xs:import namespace="http://xbrl.sec.gov/country/2023" schemaLocation="https://xbrl.sec.gov/country/2023/country-2023.xsd"/> |
| <xs:import namespace="http://xbrl.sec.gov/dei/2023" schemaLocation="https://xbrl.sec.gov/dei/2023/dei-2023.xsd"/> |
| <xs:import namespace="http://xbrl.sec.gov/ecd/2023" schemaLocation="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd"/> |
| <xs:annotation> |
| | <xs:appinfo> |
| | | <link:linkbaseRef xmlns:xlink="http://www.w3.org/1999/xlink" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="pfie-20231231_pre.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:type="simple"/> |
| | | <link:linkbaseRef xmlns:xlink="http://www.w3.org/1999/xlink" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="pfie-20231231_def.xml" xlink:role="http://www.xbrl.org/2003/role/definitionLinkbaseRef" xlink:type="simple"/> |
| | | <link:linkbaseRef xmlns:xlink="http://www.w3.org/1999/xlink" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="pfie-20231231_lab.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:type="simple"/> |
| | | <link:linkbaseRef xmlns:xlink="http://www.w3.org/1999/xlink" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="pfie-20231231_cal.xml" xlink:role="http://www.xbrl.org/2003/role/calculationLinkbaseRef" xlink:type="simple"/> |
| | | <link:roleType id="Cover" roleURI="http://www.profireenergy.com/role/Cover"> |
| <link:definition> 0000001 - Document - Cover </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType id="AuditInformation" roleURI="http://www.profireenergy.com/role/AuditInformation"> |
| <link:definition> 0000002 - Document - Audit Information </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType id="ConsolidatedBalanceSheets" roleURI="http://www.profireenergy.com/role/ConsolidatedBalanceSheets"> |
| <link:definition> 0000003 - Statement - Consolidated Balance Sheets </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType id="ConsolidatedBalanceSheetsParenthetical" roleURI="http://www.profireenergy.com/role/ConsolidatedBalanceSheetsParenthetical"> |
| <link:definition> 0000004 - Statement - Consolidated Balance Sheets (Parenthetical) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType id="ConsolidatedStatementsofOperationsandComprehensiveIncome" roleURI="http://www.profireenergy.com/role/ConsolidatedStatementsofOperationsandComprehensiveIncome"> |
| <link:definition> 0000005 - Statement - Consolidated Statements of Operations and Comprehensive Income </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType id="ConsolidatedStatementsofStockholdersEquity" roleURI="http://www.profireenergy.com/role/ConsolidatedStatementsofStockholdersEquity"> |
| <link:definition> 0000006 - Statement - Consolidated Statements of Stockholders' Equity </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType id="ConsolidatedStatementsofCashFlows" roleURI="http://www.profireenergy.com/role/ConsolidatedStatementsofCashFlows"> |
| <link:definition> 0000007 - Statement - Consolidated Statements of Cash Flows </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType id="ORGANIZATIONANDSUMMARYOFSIGNIFICANTACCOUNTINGPOLICIES" roleURI="http://www.profireenergy.com/role/ORGANIZATIONANDSUMMARYOFSIGNIFICANTACCOUNTINGPOLICIES"> |
| <link:definition> 0000008 - Disclosure - ORGANIZATION AND SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType id="FINANCIALINSTRUMENTSANDINVESTMENTS" roleURI="http://www.profireenergy.com/role/FINANCIALINSTRUMENTSANDINVESTMENTS"> |
| <link:definition> 0000009 - Disclosure - FINANCIAL INSTRUMENTS AND INVESTMENTS </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType id="INVENTORIES" roleURI="http://www.profireenergy.com/role/INVENTORIES"> |
| <link:definition> 0000010 - Disclosure - INVENTORIES </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType id="PREPAIDEXPENSESANDOTHERCURRENTASSETS" roleURI="http://www.profireenergy.com/role/PREPAIDEXPENSESANDOTHERCURRENTASSETS"> |
| <link:definition> 0000011 - Disclosure - PREPAID EXPENSES AND OTHER CURRENT ASSETS </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType id="PROPERTYANDEQUIPMENT" roleURI="http://www.profireenergy.com/role/PROPERTYANDEQUIPMENT"> |
| <link:definition> 0000012 - Disclosure - PROPERTY AND EQUIPMENT </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType id="INTANGIBLEASSETS" roleURI="http://www.profireenergy.com/role/INTANGIBLEASSETS"> |
| <link:definition> 0000013 - Disclosure - INTANGIBLE ASSETS </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType id="ACCRUEDLIABILITIES" roleURI="http://www.profireenergy.com/role/ACCRUEDLIABILITIES"> |
| <link:definition> 0000014 - Disclosure - ACCRUED LIABILITIES </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType id="LEASES" roleURI="http://www.profireenergy.com/role/LEASES"> |
| <link:definition> 0000015 - Disclosure - LEASES </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType id="STOCKHOLDERSEQUITY" roleURI="http://www.profireenergy.com/role/STOCKHOLDERSEQUITY"> |
| <link:definition> 0000016 - Disclosure - STOCKHOLDERS' EQUITY </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType id="REVENUE" roleURI="http://www.profireenergy.com/role/REVENUE"> |
| <link:definition> 0000017 - Disclosure - REVENUE </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType id="STOCKBASEDCOMPENSATION" roleURI="http://www.profireenergy.com/role/STOCKBASEDCOMPENSATION"> |
| <link:definition> 0000018 - Disclosure - STOCK-BASED COMPENSATION </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType id="PROVISIONFORINCOMETAXES" roleURI="http://www.profireenergy.com/role/PROVISIONFORINCOMETAXES"> |
| <link:definition> 0000019 - Disclosure - PROVISION FOR INCOME TAXES </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType id="BASICANDDILUTEDEARNINGSPERSHARE" roleURI="http://www.profireenergy.com/role/BASICANDDILUTEDEARNINGSPERSHARE"> |
| <link:definition> 0000020 - Disclosure - BASIC AND DILUTED EARNINGS PER SHARE </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType id="SEGMENTINFORMATION" roleURI="http://www.profireenergy.com/role/SEGMENTINFORMATION"> |
| <link:definition> 0000021 - Disclosure - SEGMENT INFORMATION </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType id="COMMITMENTSANDCONTINGENCIES" roleURI="http://www.profireenergy.com/role/COMMITMENTSANDCONTINGENCIES"> |
| <link:definition> 0000022 - Disclosure - COMMITMENTS AND CONTINGENCIES </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType id="GOVERNMENTASSISTANCE" roleURI="http://www.profireenergy.com/role/GOVERNMENTASSISTANCE"> |
| <link:definition> 0000023 - Disclosure - GOVERNMENT ASSISTANCE </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType id="SUBSEQUENTEVENTS" roleURI="http://www.profireenergy.com/role/SUBSEQUENTEVENTS"> |
| <link:definition> 0000024 - Disclosure - SUBSEQUENT EVENTS </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType id="ORGANIZATIONANDSUMMARYOFSIGNIFICANTACCOUNTINGPOLICIESPolicies" roleURI="http://www.profireenergy.com/role/ORGANIZATIONANDSUMMARYOFSIGNIFICANTACCOUNTINGPOLICIESPolicies"> |
| <link:definition> 9954471 - Disclosure - ORGANIZATION AND SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Policies) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType id="FINANCIALINSTRUMENTSANDINVESTMENTSTables" roleURI="http://www.profireenergy.com/role/FINANCIALINSTRUMENTSANDINVESTMENTSTables"> |
| <link:definition> 9954472 - Disclosure - FINANCIAL INSTRUMENTS AND INVESTMENTS (Tables) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType id="INVENTORIESTables" roleURI="http://www.profireenergy.com/role/INVENTORIESTables"> |
| <link:definition> 9954473 - Disclosure - INVENTORIES (Tables) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType id="PREPAIDEXPENSESANDOTHERCURRENTASSETSTables" roleURI="http://www.profireenergy.com/role/PREPAIDEXPENSESANDOTHERCURRENTASSETSTables"> |
| <link:definition> 9954474 - Disclosure - PREPAID EXPENSES AND OTHER CURRENT ASSETS (Tables) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType id="PROPERTYANDEQUIPMENTTables" roleURI="http://www.profireenergy.com/role/PROPERTYANDEQUIPMENTTables"> |
| <link:definition> 9954475 - Disclosure - PROPERTY AND EQUIPMENT (Tables) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType id="INTANGIBLEASSETSTables" roleURI="http://www.profireenergy.com/role/INTANGIBLEASSETSTables"> |
| <link:definition> 9954476 - Disclosure - INTANGIBLE ASSETS (Tables) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType id="ACCRUEDLIABILITIESTables" roleURI="http://www.profireenergy.com/role/ACCRUEDLIABILITIESTables"> |
| <link:definition> 9954477 - Disclosure - ACCRUED LIABILITIES (Tables) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType id="LEASESTables" roleURI="http://www.profireenergy.com/role/LEASESTables"> |
| <link:definition> 9954478 - Disclosure - LEASES (Tables) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType id="STOCKHOLDERSEQUITYTables" roleURI="http://www.profireenergy.com/role/STOCKHOLDERSEQUITYTables"> |
| <link:definition> 9954479 - Disclosure - STOCKHOLDERS' EQUITY (Tables) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType id="REVENUETables" roleURI="http://www.profireenergy.com/role/REVENUETables"> |
| <link:definition> 9954480 - Disclosure - REVENUE (Tables) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType id="STOCKBASEDCOMPENSATIONTables" roleURI="http://www.profireenergy.com/role/STOCKBASEDCOMPENSATIONTables"> |
| <link:definition> 9954481 - Disclosure - STOCK-BASED COMPENSATION (Tables) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType id="PROVISIONFORINCOMETAXESTables" roleURI="http://www.profireenergy.com/role/PROVISIONFORINCOMETAXESTables"> |
| <link:definition> 9954482 - Disclosure - PROVISION FOR INCOME TAXES (Tables) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType id="BASICANDDILUTEDEARNINGSPERSHARETables" roleURI="http://www.profireenergy.com/role/BASICANDDILUTEDEARNINGSPERSHARETables"> |
| <link:definition> 9954483 - Disclosure - BASIC AND DILUTED EARNINGS PER SHARE (Tables) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType id="SEGMENTINFORMATIONTables" roleURI="http://www.profireenergy.com/role/SEGMENTINFORMATIONTables"> |
| <link:definition> 9954484 - Disclosure - SEGMENT INFORMATION (Tables) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType id="COMMITMENTSANDCONTINGENCIESTables" roleURI="http://www.profireenergy.com/role/COMMITMENTSANDCONTINGENCIESTables"> |
| <link:definition> 9954485 - Disclosure - COMMITMENTS AND CONTINGENCIES (Tables) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType id="ORGANIZATIONANDSUMMARYOFSIGNIFICANTACCOUNTINGPOLICIESDetails" roleURI="http://www.profireenergy.com/role/ORGANIZATIONANDSUMMARYOFSIGNIFICANTACCOUNTINGPOLICIESDetails"> |
| <link:definition> 9954486 - Disclosure - ORGANIZATION AND SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Details) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType id="FINANCIALINSTRUMENTSANDINVESTMENTSScheduleofAdjustedCostUnrealizedGainsLossesandFairValueDetails" roleURI="http://www.profireenergy.com/role/FINANCIALINSTRUMENTSANDINVESTMENTSScheduleofAdjustedCostUnrealizedGainsLossesandFairValueDetails"> |
| <link:definition> 9954487 - Disclosure - FINANCIAL INSTRUMENTS AND INVESTMENTS - Schedule of Adjusted Cost, Unrealized Gains (Losses) and Fair Value (Details) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType id="FINANCIALINSTRUMENTSANDINVESTMENTSScheduleofPreTaxUnrealizedLossesonInvestmentsDetails" roleURI="http://www.profireenergy.com/role/FINANCIALINSTRUMENTSANDINVESTMENTSScheduleofPreTaxUnrealizedLossesonInvestmentsDetails"> |
| <link:definition> 9954488 - Disclosure - FINANCIAL INSTRUMENTS AND INVESTMENTS - Schedule of Pre-Tax Unrealized Losses on Investments (Details) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType id="FINANCIALINSTRUMENTSANDINVESTMENTSScheduleofMaturitiesofBondsDetails" roleURI="http://www.profireenergy.com/role/FINANCIALINSTRUMENTSANDINVESTMENTSScheduleofMaturitiesofBondsDetails"> |
| <link:definition> 9954489 - Disclosure - FINANCIAL INSTRUMENTS AND INVESTMENTS - Schedule of Maturities of Bonds (Details) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType id="INVENTORIESDetails" roleURI="http://www.profireenergy.com/role/INVENTORIESDetails"> |
| <link:definition> 9954490 - Disclosure - INVENTORIES (Details) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType id="PREPAIDEXPENSESANDOTHERCURRENTASSETSDetails" roleURI="http://www.profireenergy.com/role/PREPAIDEXPENSESANDOTHERCURRENTASSETSDetails"> |
| <link:definition> 9954491 - Disclosure - PREPAID EXPENSES AND OTHER CURRENT ASSETS (Details) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType id="PROPERTYANDEQUIPMENTScheduleofPropertyandEquipmentandEstimatedUsefulLivesDetails" roleURI="http://www.profireenergy.com/role/PROPERTYANDEQUIPMENTScheduleofPropertyandEquipmentandEstimatedUsefulLivesDetails"> |
| <link:definition> 9954492 - Disclosure - PROPERTY AND EQUIPMENT - Schedule of Property and Equipment and Estimated Useful Lives (Details) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType id="PROPERTYANDEQUIPMENTScheduleofDepreciationandAmortizationExpenseDetails" roleURI="http://www.profireenergy.com/role/PROPERTYANDEQUIPMENTScheduleofDepreciationandAmortizationExpenseDetails"> |
| <link:definition> 9954493 - Disclosure - PROPERTY AND EQUIPMENT - Schedule of Depreciation and Amortization Expense (Details) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType id="INTANGIBLEASSETSNarrativeDetails" roleURI="http://www.profireenergy.com/role/INTANGIBLEASSETSNarrativeDetails"> |
| <link:definition> 9954494 - Disclosure - INTANGIBLE ASSETS - Narrative (Details) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType id="INTANGIBLEASSETSScheduleofFiniteLivedIntangibleAssetsDetails" roleURI="http://www.profireenergy.com/role/INTANGIBLEASSETSScheduleofFiniteLivedIntangibleAssetsDetails"> |
| <link:definition> 9954495 - Disclosure - INTANGIBLE ASSETS - Schedule of Finite-Lived Intangible Assets (Details) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType id="INTANGIBLEASSETSScheduleofEstimatedAmortizationExpenseDetails" roleURI="http://www.profireenergy.com/role/INTANGIBLEASSETSScheduleofEstimatedAmortizationExpenseDetails"> |
| <link:definition> 9954496 - Disclosure - INTANGIBLE ASSETS - Schedule of Estimated Amortization Expense (Details) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType id="INTANGIBLEASSETSScheduleofIndefiniteLivedIntangibleAssetsDetails" roleURI="http://www.profireenergy.com/role/INTANGIBLEASSETSScheduleofIndefiniteLivedIntangibleAssetsDetails"> |
| <link:definition> 9954497 - Disclosure - INTANGIBLE ASSETS - Schedule of Indefinite-Lived Intangible Assets (Details) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType id="ACCRUEDLIABILITIESDetails" roleURI="http://www.profireenergy.com/role/ACCRUEDLIABILITIESDetails"> |
| <link:definition> 9954498 - Disclosure - ACCRUED LIABILITIES (Details) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType id="LEASESScheduleofComponentsofLeaseRightofUseAssetsandLiabilitiesDetails" roleURI="http://www.profireenergy.com/role/LEASESScheduleofComponentsofLeaseRightofUseAssetsandLiabilitiesDetails"> |
| <link:definition> 9954499 - Disclosure - LEASES - Schedule of Components of Lease Right-of-Use Assets and Liabilities (Details) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType id="LEASESNarrativeDetails" roleURI="http://www.profireenergy.com/role/LEASESNarrativeDetails"> |
| <link:definition> 9954500 - Disclosure - LEASES - Narrative (Details) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType id="LEASESScheduleofComponentsofFinancingLeaseCostDetails" roleURI="http://www.profireenergy.com/role/LEASESScheduleofComponentsofFinancingLeaseCostDetails"> |
| <link:definition> 9954501 - Disclosure - LEASES - Schedule of Components of Financing Lease Cost (Details) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType id="LEASESScheduleofFutureMinimumLeasePaymentstoDiscountedLeaseLiabilityDetails" roleURI="http://www.profireenergy.com/role/LEASESScheduleofFutureMinimumLeasePaymentstoDiscountedLeaseLiabilityDetails"> |
| <link:definition> 9954502 - Disclosure - LEASES - Schedule of Future Minimum Lease Payments to Discounted Lease Liability (Details) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType id="LEASESScheduleofFutureMinimumLeasePaymentstoDiscountedLeaseLiabilityDetails_1" roleURI="http://www.profireenergy.com/role/LEASESScheduleofFutureMinimumLeasePaymentstoDiscountedLeaseLiabilityDetails_1"> |
| <link:definition> 9954502 - Disclosure - LEASES - Schedule of Future Minimum Lease Payments to Discounted Lease Liability (Details) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType id="STOCKHOLDERSEQUITYNarrativeDetails" roleURI="http://www.profireenergy.com/role/STOCKHOLDERSEQUITYNarrativeDetails"> |
| <link:definition> 9954503 - Disclosure - STOCKHOLDERS' EQUITY - Narrative (Details) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType id="STOCKHOLDERSEQUITY2023EIPNarrativeDetails" roleURI="http://www.profireenergy.com/role/STOCKHOLDERSEQUITY2023EIPNarrativeDetails"> |
| <link:definition> 9954504 - Disclosure - STOCKHOLDERS' EQUITY - 2023 EIP (Narrative) (Details) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType id="STOCKHOLDERSEQUITY2023LTIPNarrativeDetails" roleURI="http://www.profireenergy.com/role/STOCKHOLDERSEQUITY2023LTIPNarrativeDetails"> |
| <link:definition> 9954505 - Disclosure - STOCKHOLDERS' EQUITY - 2023 LTIP (Narrative) (Details) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType id="STOCKHOLDERSEQUITYScheduleofPerformanceMetricsDetails" roleURI="http://www.profireenergy.com/role/STOCKHOLDERSEQUITYScheduleofPerformanceMetricsDetails"> |
| <link:definition> 9954506 - Disclosure - STOCKHOLDERS' EQUITY - Schedule of Performance Metrics (Details) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType id="STOCKHOLDERSEQUITY2022EIPandLTIPNarrativeDetails" roleURI="http://www.profireenergy.com/role/STOCKHOLDERSEQUITY2022EIPandLTIPNarrativeDetails"> |
| <link:definition> 9954507 - Disclosure - STOCKHOLDERS' EQUITY - 2022 EIP and LTIP (Narrative) (Details) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType id="STOCKHOLDERSEQUITY2021LTIPNarrativeDetails" roleURI="http://www.profireenergy.com/role/STOCKHOLDERSEQUITY2021LTIPNarrativeDetails"> |
| <link:definition> 9954508 - Disclosure - STOCKHOLDERS' EQUITY - 2021 LTIP (Narrative) (Details) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType id="STOCKHOLDERSEQUITYStockOptionsNarrativeDetails" roleURI="http://www.profireenergy.com/role/STOCKHOLDERSEQUITYStockOptionsNarrativeDetails"> |
| <link:definition> 9954509 - Disclosure - STOCKHOLDERS' EQUITY - Stock Options (Narrative) (Details) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType id="REVENUENarrativeDetails" roleURI="http://www.profireenergy.com/role/REVENUENarrativeDetails"> |
| <link:definition> 9954510 - Disclosure - REVENUE - Narrative (Details) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType id="REVENUEScheduleofDisaggregationofRevenueDetails" roleURI="http://www.profireenergy.com/role/REVENUEScheduleofDisaggregationofRevenueDetails"> |
| <link:definition> 9954511 - Disclosure - REVENUE - Schedule of Disaggregation of Revenue (Details) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType id="STOCKBASEDCOMPENSATIONNarrativeDetails" roleURI="http://www.profireenergy.com/role/STOCKBASEDCOMPENSATIONNarrativeDetails"> |
| <link:definition> 9954512 - Disclosure - STOCK-BASED COMPENSATION - Narrative (Details) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType id="STOCKBASEDCOMPENSATIONScheduleofOutstandingOptionsRestrictedStockAwardsandRestrictedStockUnitsDetails" roleURI="http://www.profireenergy.com/role/STOCKBASEDCOMPENSATIONScheduleofOutstandingOptionsRestrictedStockAwardsandRestrictedStockUnitsDetails"> |
| <link:definition> 9954513 - Disclosure - STOCK-BASED COMPENSATION - Schedule of Outstanding Options, Restricted Stock Awards, and Restricted Stock Units (Details) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType id="STOCKBASEDCOMPENSATIONScheduleofStockOptionActivityDetails" roleURI="http://www.profireenergy.com/role/STOCKBASEDCOMPENSATIONScheduleofStockOptionActivityDetails"> |
| <link:definition> 9954514 - Disclosure - STOCK-BASED COMPENSATION - Schedule of Stock Option Activity (Details) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType id="STOCKBASEDCOMPENSATIONScheduleofRestrictedStockActivityDetails" roleURI="http://www.profireenergy.com/role/STOCKBASEDCOMPENSATIONScheduleofRestrictedStockActivityDetails"> |
| <link:definition> 9954515 - Disclosure - STOCK-BASED COMPENSATION - Schedule of Restricted Stock Activity (Details) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType id="PROVISIONFORINCOMETAXESNarrativeDetails" roleURI="http://www.profireenergy.com/role/PROVISIONFORINCOMETAXESNarrativeDetails"> |
| <link:definition> 9954516 - Disclosure - PROVISION FOR INCOME TAXES - Narrative (Details) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType id="PROVISIONFORINCOMETAXESScheduleofComponentsofIncomeTaxExpenseBenefitDetails" roleURI="http://www.profireenergy.com/role/PROVISIONFORINCOMETAXESScheduleofComponentsofIncomeTaxExpenseBenefitDetails"> |
| <link:definition> 9954517 - Disclosure - PROVISION FOR INCOME TAXES - Schedule of Components of Income Tax Expense (Benefit) (Details) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType id="PROVISIONFORINCOMETAXESScheduleofEffectiveIncomeTaxRateReconciliationDetails" roleURI="http://www.profireenergy.com/role/PROVISIONFORINCOMETAXESScheduleofEffectiveIncomeTaxRateReconciliationDetails"> |
| <link:definition> 9954518 - Disclosure - PROVISION FOR INCOME TAXES - Schedule of Effective Income Tax Rate Reconciliation (Details) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType id="PROVISIONFORINCOMETAXESScheduleofComponentsofDeferredTaxAssetsandLiabilitiesDetails" roleURI="http://www.profireenergy.com/role/PROVISIONFORINCOMETAXESScheduleofComponentsofDeferredTaxAssetsandLiabilitiesDetails"> |
| <link:definition> 9954519 - Disclosure - PROVISION FOR INCOME TAXES - Schedule of Components of Deferred Tax Assets and Liabilities (Details) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType id="BASICANDDILUTEDEARNINGSPERSHAREDetails" roleURI="http://www.profireenergy.com/role/BASICANDDILUTEDEARNINGSPERSHAREDetails"> |
| <link:definition> 9954520 - Disclosure - BASIC AND DILUTED EARNINGS PER SHARE (Details) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType id="SEGMENTINFORMATIONDetails" roleURI="http://www.profireenergy.com/role/SEGMENTINFORMATIONDetails"> |
| <link:definition> 9954521 - Disclosure - SEGMENT INFORMATION (Details) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType id="COMMITMENTSANDCONTINGENCIESNarrativeDetails" roleURI="http://www.profireenergy.com/role/COMMITMENTSANDCONTINGENCIESNarrativeDetails"> |
| <link:definition> 9954522 - Disclosure - COMMITMENTS AND CONTINGENCIES - Narrative (Details) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType id="COMMITMENTSANDCONTINGENCIESScheduleofFutureMinimumLeasePaymentsforOperatingLeasesDetails" roleURI="http://www.profireenergy.com/role/COMMITMENTSANDCONTINGENCIESScheduleofFutureMinimumLeasePaymentsforOperatingLeasesDetails"> |
| <link:definition> 9954523 - Disclosure - COMMITMENTS AND CONTINGENCIES - Schedule of Future Minimum Lease Payments for Operating Leases (Details) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType id="GOVERNMENTASSISTANCEDetails" roleURI="http://www.profireenergy.com/role/GOVERNMENTASSISTANCEDetails"> |
| <link:definition> 9954524 - Disclosure - GOVERNMENT ASSISTANCE (Details) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType id="SUBSEQUENTEVENTSDetails" roleURI="http://www.profireenergy.com/role/SUBSEQUENTEVENTSDetails"> |
| <link:definition> 9954525 - Disclosure - SUBSEQUENT EVENTS (Details) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | </xs:appinfo> |
| | </xs:annotation> |
| <xs:element id="pfie_SharebasedCompensationArrangementbySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValueAbstract" abstract="true" name="SharebasedCompensationArrangementbySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValueAbstract" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:stringItemType"/> |
| <xs:element id="pfie_TwoThousandTwentyOneLTIPMember" abstract="true" name="TwoThousandTwentyOneLTIPMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/> |
| <xs:element id="pfie_LeaseLiabilityCurrent" abstract="false" name="LeaseLiabilityCurrent" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/> |
| <xs:element id="pfie_WarehouseSpaceOneMember" abstract="true" name="WarehouseSpaceOneMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/> |
| <xs:element id="pfie_PerformanceMetricDomain" abstract="true" name="PerformanceMetricDomain" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/> |
| <xs:element id="pfie_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueGrantsInPeriod" abstract="false" name="SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueGrantsInPeriod" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/> |
| <xs:element id="pfie_DeferredTaxAssetsAmortization" abstract="false" name="DeferredTaxAssetsAmortization" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/> |
| <xs:element id="pfie_CostOfGoodsSoldProductMember" abstract="false" name="CostOfGoodsSoldProductMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/> |
| <xs:element id="pfie_SharebasedCompensationArrangementbySharebasedPaymentAwardNonvestedOptionsOutstandingWeightedAverageRemainingContractualTerm" abstract="false" name="SharebasedCompensationArrangementbySharebasedPaymentAwardNonvestedOptionsOutstandingWeightedAverageRemainingContractualTerm" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:durationItemType"/> |
| <xs:element id="pfie_PerformanceBasedRestrictedStockUnitsMember" abstract="true" name="PerformanceBasedRestrictedStockUnitsMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/> |
| <xs:element id="pfie_OperatingLossCarryforwardsValuationAllowancePercentage" abstract="false" name="OperatingLossCarryforwardsValuationAllowancePercentage" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:percentItemType"/> |
| <xs:element id="pfie_EmployeeRetentionCreditReductionInPayrollTaxExpenseMember" abstract="true" name="EmployeeRetentionCreditReductionInPayrollTaxExpenseMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/> |
| <xs:element id="pfie_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsInPeriodWeightedAverageExercisePrice" abstract="false" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsInPeriodWeightedAverageExercisePrice" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:decimalItemType"/> |
| <xs:element id="pfie_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsVestedAndExpectedToVestWeightedAverageExercisePrice" abstract="false" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsVestedAndExpectedToVestWeightedAverageExercisePrice" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="xbrli:decimalItemType"/> |
| <xs:element id="pfie_BelowTargetMember" abstract="true" name="BelowTargetMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/> |
| <xs:element id="pfie_PayrollTaxCreditRemainingBalanceReceived" abstract="false" name="PayrollTaxCreditRemainingBalanceReceived" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/> |
| <xs:element id="pfie_AmortizationExpenseMember" abstract="false" name="AmortizationExpenseMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/> |
| <xs:element id="pfie_ScheduleOfShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingAndExercisableTableTextBlock" abstract="false" name="ScheduleOfShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingAndExercisableTableTextBlock" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:textBlockItemType"/> |
| <xs:element id="pfie_LeaseLiabilityToBePaidYearOne" abstract="false" name="LeaseLiabilityToBePaidYearOne" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/> |
| <xs:element id="pfie_LaborExpenseOffsetCanadaGrantPrograms" abstract="false" name="LaborExpenseOffsetCanadaGrantPrograms" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/> |
| <xs:element id="pfie_ConsultingAgreementTerm" abstract="false" name="ConsultingAgreementTerm" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:durationItemType"/> |
| <xs:element id="pfie_CashPaidForAbstract" abstract="true" name="CashPaidForAbstract" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:stringItemType"/> |
| <xs:element id="pfie_TwoThousandTwentyThreeLTIPMember" abstract="true" name="TwoThousandTwentyThreeLTIPMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/> |
| <xs:element id="pfie_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageIntrinsicValue" abstract="false" name="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageIntrinsicValue" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:perShareItemType"/> |
| <xs:element id="pfie_LeaseLiabilityToBePaidYearAfterYearFive" abstract="false" name="LeaseLiabilityToBePaidYearAfterYearFive" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/> |
| <xs:element id="pfie_MaturitiesDomain" abstract="false" name="MaturitiesDomain" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/> |
| <xs:element id="pfie_ShareBasedCompensationArrangementByShareBasedPaymentAwardPerformanceMetricPercentageEBITDA" abstract="false" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardPerformanceMetricPercentageEBITDA" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="dtr-types1:percentItemType"/> |
| <xs:element id="pfie_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonvestedExpirationsInPeriod" abstract="false" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonvestedExpirationsInPeriod" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:sharesItemType"/> |
| <xs:element id="pfie_LeaseLiabilityToBePaidYearFour" abstract="false" name="LeaseLiabilityToBePaidYearFour" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/> |
| <xs:element id="pfie_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsExercisesInPeriodWeightedAverageExercisePrice" abstract="false" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsExercisesInPeriodWeightedAverageExercisePrice" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:decimalItemType"/> |
| <xs:element id="pfie_SharebasedCompensationArrangementbySharebasedPaymentAwardNonvestedEquityInstrumentsOtherthanOptionsOutstandingWeightedAverageRemainingContractualTerm" abstract="false" name="SharebasedCompensationArrangementbySharebasedPaymentAwardNonvestedEquityInstrumentsOtherthanOptionsOutstandingWeightedAverageRemainingContractualTerm" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:durationItemType"/> |
| <xs:element id="pfie_LeaseRightOfUseAsset" abstract="false" name="LeaseRightOfUseAsset" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/> |
| <xs:element id="pfie_StockRepurchaseProgramCoolingOffPeriod" abstract="false" name="StockRepurchaseProgramCoolingOffPeriod" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:durationItemType"/> |
| <xs:element id="pfie_EmployeeRetentionCreditInterestIncomeMember" abstract="true" name="EmployeeRetentionCreditInterestIncomeMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/> |
| <xs:element id="pfie_NumberOfLeases" abstract="false" name="NumberOfLeases" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:integerItemType"/> |
| <xs:element id="pfie_RevenueRecognitionPaymentPeriodAfterSatisfactionOfObligation" abstract="false" name="RevenueRecognitionPaymentPeriodAfterSatisfactionOfObligation" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:durationItemType"/> |
| <xs:element id="pfie_AggregateIntrinsicValueAbstract" abstract="true" name="AggregateIntrinsicValueAbstract" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:stringItemType"/> |
| <xs:element id="pfie_AboveTargetMember" abstract="true" name="AboveTargetMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/> |
| <xs:element id="pfie_TargetPayoutPercentage" abstract="false" name="TargetPayoutPercentage" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="dtr-types1:percentItemType"/> |
| <xs:element id="pfie_SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsVestedandExpectedtoVestWeightedAverageRemainingContractualTerms" abstract="false" name="SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsVestedandExpectedtoVestWeightedAverageRemainingContractualTerms" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:durationItemType"/> |
| <xs:element id="pfie_WeightedAverageRemainingContractualLifeUnvestedAbstract" abstract="true" name="WeightedAverageRemainingContractualLifeUnvestedAbstract" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:stringItemType"/> |
| <xs:element id="pfie_LessthanOneYearMember" abstract="false" name="LessthanOneYearMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/> |
| <xs:element id="pfie_WeightedAverageRemainingContractualLifeAbstract" abstract="true" name="WeightedAverageRemainingContractualLifeAbstract" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:stringItemType"/> |
| <xs:element id="pfie_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsOutstandingWeightedAverageExercisePriceAbstract" abstract="true" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsOutstandingWeightedAverageExercisePriceAbstract" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:stringItemType"/> |
| <xs:element id="pfie_ShareBasedCompensationArrangementByShareBasedPaymentAwardPerformanceMetricPercentageTotalShareholderReturn" abstract="false" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardPerformanceMetricPercentageTotalShareholderReturn" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="dtr-types1:percentItemType"/> |
| <xs:element id="pfie_FourLargestCustomersMember" abstract="true" name="FourLargestCustomersMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/> |
| <xs:element id="pfie_WeightedAverageRemainingContractualLifeEquityInstrumentsOtherthanOptionsUnvestedAbstract" abstract="true" name="WeightedAverageRemainingContractualLifeEquityInstrumentsOtherthanOptionsUnvestedAbstract" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:stringItemType"/> |
| <xs:element id="pfie_PayrollTaxCreditOffsetForFees" abstract="false" name="PayrollTaxCreditOffsetForFees" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/> |
| <xs:element id="pfie_WeightMember" abstract="true" name="WeightMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/> |
| <xs:element id="pfie_OtherFundsMember" abstract="true" name="OtherFundsMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/> |
| <xs:element id="pfie_SharebasedCompensationArrangementbySharebasedPaymentAwardOptionsExercisableWeightedAverageGrantDateFairValue" abstract="false" name="SharebasedCompensationArrangementbySharebasedPaymentAwardOptionsExercisableWeightedAverageGrantDateFairValue" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:perShareItemType"/> |
| <xs:element id="pfie_ShareBasedPaymentArrangementVestingPeriodAnnualInstallmentPeriod" abstract="false" name="ShareBasedPaymentArrangementVestingPeriodAnnualInstallmentPeriod" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:durationItemType"/> |
| <xs:element id="pfie_A2023EquityIncentivePlanMember" abstract="true" name="A2023EquityIncentivePlanMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/> |
| <xs:element id="pfie_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExpirationsInPeriodIntrinsicValue" abstract="false" name="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExpirationsInPeriodIntrinsicValue" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/> |
| <xs:element id="pfie_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestWeightedAverageGrantDateFairValue" abstract="false" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestWeightedAverageGrantDateFairValue" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:perShareItemType"/> |
| <xs:element id="pfie_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsVestedAndExercisableWeightedAverageExercisePrice" abstract="false" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsVestedAndExercisableWeightedAverageExercisePrice" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="xbrli:decimalItemType"/> |
| <xs:element id="pfie_PayrollTaxCredit" abstract="false" name="PayrollTaxCredit" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/> |
| <xs:element id="pfie_SharebasedCompensationArrangementbySharebasedPaymentAwardOptionsExercisableAbstract" abstract="true" name="SharebasedCompensationArrangementbySharebasedPaymentAwardOptionsExercisableAbstract" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:stringItemType"/> |
| <xs:element id="pfie_LeaseAssetsAndLiabilitiesTableTextBlock" abstract="false" name="LeaseAssetsAndLiabilitiesTableTextBlock" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:textBlockItemType"/> |
| <xs:element id="pfie_DeferredTaxLiabilitiesCompensationAndBenefitsShareBasedCompensationCost" abstract="false" name="DeferredTaxLiabilitiesCompensationAndBenefitsShareBasedCompensationCost" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/> |
| <xs:element id="pfie_LeaseLiabilityToBePaidYearFive" abstract="false" name="LeaseLiabilityToBePaidYearFive" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/> |
| <xs:element id="pfie_LeaseLiabilityUndiscountedExcessAmount" abstract="false" name="LeaseLiabilityUndiscountedExcessAmount" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/> |
| <xs:element id="pfie_ExercisePriceRange2Member" abstract="true" name="ExercisePriceRange2Member" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/> |
| <xs:element id="pfie_IncentiveCompensationWeight" abstract="false" name="IncentiveCompensationWeight" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:pureItemType"/> |
| <xs:element id="pfie_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisedInPeriodWeightedAverageGrantDateFairValue" abstract="false" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisedInPeriodWeightedAverageGrantDateFairValue" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:perShareItemType"/> |
| <xs:element id="pfie_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageExercisePrice" abstract="false" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageExercisePrice" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="xbrli:decimalItemType"/> |
| <xs:element id="pfie_ReSellMember" abstract="true" name="ReSellMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/> |
| <xs:element id="pfie_A1To2YearsMember" abstract="false" name="A1To2YearsMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/> |
| <xs:element id="pfie_SharebasedCompensationArrangementbySharebasedPaymentAwardOptionsOutstandingWeightedAverageGrantDateFairValue" abstract="false" name="SharebasedCompensationArrangementbySharebasedPaymentAwardOptionsOutstandingWeightedAverageGrantDateFairValue" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="dtr-types1:perShareItemType"/> |
| <xs:element id="pfie_TwoThousandTwentyTwoLTIPMember" abstract="true" name="TwoThousandTwentyTwoLTIPMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/> |
| <xs:element id="pfie_LeasedEquipmentMember" abstract="true" name="LeasedEquipmentMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/> |
| <xs:element id="pfie_EffectiveIncomeTaxRateReconciliationUnrealizedGainLossOnInvestments" abstract="false" name="EffectiveIncomeTaxRateReconciliationUnrealizedGainLossOnInvestments" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:percentItemType"/> |
| <xs:element id="pfie_RestrictedStockAwardsRSAsMember" abstract="true" name="RestrictedStockAwardsRSAsMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/> |
| <xs:element id="pfie_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndUnvestedExercisableOutstandingNumber" abstract="false" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndUnvestedExercisableOutstandingNumber" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="xbrli:sharesItemType"/> |
| <xs:element id="pfie_DefinedContributionRetirementPlanMember" abstract="false" name="DefinedContributionRetirementPlanMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/> |
| <xs:element id="pfie_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriodWeightedAverageExercisePrice" abstract="false" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriodWeightedAverageExercisePrice" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:decimalItemType"/> |
| <xs:element id="pfie_SharebasedCompensationArrangementbySharebasedPaymentAwardOptionsOutstandingAbstract" abstract="true" name="SharebasedCompensationArrangementbySharebasedPaymentAwardOptionsOutstandingAbstract" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:stringItemType"/> |
| <xs:element id="pfie_SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedandExpectedtoVestOutstandingNumber" abstract="false" name="SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedandExpectedtoVestOutstandingNumber" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="xbrli:sharesItemType"/> |
| <xs:element id="pfie_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageGrantDateFairValue" abstract="false" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageGrantDateFairValue" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="dtr-types1:perShareItemType"/> |
| <xs:element id="pfie_PercentageOfBonusPaidInStock" abstract="false" name="PercentageOfBonusPaidInStock" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="dtr-types1:percentItemType"/> |
| <xs:element id="pfie_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageExercisePrice" abstract="false" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageExercisePrice" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:decimalItemType"/> |
| <xs:element id="pfie_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExercisableWeightedAverageGrantDateFairValue" abstract="false" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExercisableWeightedAverageGrantDateFairValue" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="dtr-types:perShareItemType"/> |
| <xs:element id="pfie_WeightedAverageExchangeRate" abstract="false" name="WeightedAverageExchangeRate" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:pureItemType"/> |
| <xs:element id="pfie_DeferredTaxAssetsDeferredExpenseCapitalizedExpenses" abstract="false" name="DeferredTaxAssetsDeferredExpenseCapitalizedExpenses" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/> |
| <xs:element id="pfie_ElectronicsMember" abstract="true" name="ElectronicsMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/> |
| <xs:element id="pfie_VicePresidentOfOperationsMember" abstract="true" name="VicePresidentOfOperationsMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/> |
| <xs:element id="pfie_ValueOfEquityAwardsSurrenderedByEmployeesForTaxLiability" abstract="false" name="ValueOfEquityAwardsSurrenderedByEmployeesForTaxLiability" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/> |
| <xs:element id="pfie_LeaseLiabilityToBePaidMaturityTableTextBlock" abstract="false" name="LeaseLiabilityToBePaidMaturityTableTextBlock" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:textBlockItemType"/> |
| <xs:element id="pfie_AccruedReceivablesCurrent" abstract="false" name="AccruedReceivablesCurrent" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/> |
| <xs:element id="pfie_EffectiveIncomeTaxRateReconciliationAdjustmentsToDeferredTaxBalancesPercent" abstract="false" name="EffectiveIncomeTaxRateReconciliationAdjustmentsToDeferredTaxBalancesPercent" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:percentItemType"/> |
| <xs:element id="pfie_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueExercisesInPeriod" abstract="false" name="SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueExercisesInPeriod" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/> |
| <xs:element id="pfie_ContractWithCustomerReturnPeriod" abstract="false" name="ContractWithCustomerReturnPeriod" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:durationItemType"/> |
| <xs:element id="pfie_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriodIntrinsicValue" abstract="false" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriodIntrinsicValue" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/> |
| <xs:element id="pfie_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" abstract="false" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:decimalItemType"/> |
| <xs:element id="pfie_LeaseLiabilityToBePaidYearThree" abstract="false" name="LeaseLiabilityToBePaidYearThree" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/> |
| <xs:element id="pfie_IncreaseDecreaseInPayrollTaxes" abstract="false" name="IncreaseDecreaseInPayrollTaxes" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/> |
| <xs:element id="pfie_SharebasedCompensationArrangementbySharebasedPaymentAwardNonvestedOptionsForfeitedWeightedAverageExercisePrice" abstract="false" name="SharebasedCompensationArrangementbySharebasedPaymentAwardNonvestedOptionsForfeitedWeightedAverageExercisePrice" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:perShareItemType"/> |
| <xs:element id="pfie_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfPerformanceMetrics" abstract="false" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfPerformanceMetrics" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:integerItemType"/> |
| <xs:element id="pfie_AdjustedCost" abstract="false" name="AdjustedCost" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/> |
| <xs:element id="pfie_PrepaidInventory" abstract="false" name="PrepaidInventory" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/> |
| <xs:element id="pfie_A2To5YearsMember" abstract="false" name="A2To5YearsMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/> |
| <xs:element id="pfie_ShareBasedCompensationArrangementByShareBasedPaymentAwardPerformanceMetricsTableTextBlock" abstract="false" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardPerformanceMetricsTableTextBlock" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:textBlockItemType"/> |
| <xs:element id="pfie_TargetMember" abstract="true" name="TargetMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/> |
| <xs:element id="pfie_PayrollTaxCreditInterestIncomeRecognized" abstract="false" name="PayrollTaxCreditInterestIncomeRecognized" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/> |
| <xs:element id="pfie_TheNationalResearchCouncilOfCanadaIndustrialResearchAssistanceProgramMember" abstract="true" name="TheNationalResearchCouncilOfCanadaIndustrialResearchAssistanceProgramMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/> |
| <xs:element id="pfie_LeaseLiability" abstract="false" name="LeaseLiability" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/> |
| <xs:element id="pfie_IncentiveCompensationWeightSafetyAndEnvironmentPercentage" abstract="false" name="IncentiveCompensationWeightSafetyAndEnvironmentPercentage" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:percentItemType"/> |
| <xs:element id="pfie_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsOutstandingWeightedAverageExercisePrice" abstract="false" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsOutstandingWeightedAverageExercisePrice" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="xbrli:decimalItemType"/> |
| <xs:element id="pfie_InventoryRelatedLiabilitiesCurrent" abstract="false" name="InventoryRelatedLiabilitiesCurrent" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/> |
| <xs:element id="pfie_ChiefBusinessDevelopmentOfficerMember" abstract="true" name="ChiefBusinessDevelopmentOfficerMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/> |
| <xs:element id="pfie_VicePresidentOfProductionDevelopmentMember" abstract="true" name="VicePresidentOfProductionDevelopmentMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/> |
| <xs:element id="pfie_ShareBasedPaymentArrangementNumberOfAgreements" abstract="false" name="ShareBasedPaymentArrangementNumberOfAgreements" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:integerItemType"/> |
| <xs:element id="pfie_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfCommonSharesIssuedPerUnitVested" abstract="false" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfCommonSharesIssuedPerUnitVested" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="xbrli:integerItemType"/> |
| <xs:element id="pfie_ContractWithCustomerProductWarrantyTerm" abstract="false" name="ContractWithCustomerProductWarrantyTerm" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:durationItemType"/> |
| <xs:element id="pfie_WeightedAverageRemainingContractualLifeEquityInstrumentsOtherthanOptionsAbstract" abstract="true" name="WeightedAverageRemainingContractualLifeEquityInstrumentsOtherthanOptionsAbstract" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:stringItemType"/> |
| <xs:element id="pfie_SharebasedCompensationArrangementbySharebasedPaymentAwardNonvestedOptionsOutstandingWeightedAverageExercisePriceAbstractAbstract" abstract="true" name="SharebasedCompensationArrangementbySharebasedPaymentAwardNonvestedOptionsOutstandingWeightedAverageExercisePriceAbstractAbstract" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:stringItemType"/> |
| <xs:element id="pfie_StockIssuedDuringPeriodSharesEmployeeStockOwnershipPlanAfterTax" abstract="false" name="StockIssuedDuringPeriodSharesEmployeeStockOwnershipPlanAfterTax" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:sharesItemType"/> |
| <xs:element id="pfie_PercentageOfBonusPaidInCash" abstract="false" name="PercentageOfBonusPaidInCash" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="xbrli:pureItemType"/> |
| <xs:element id="pfie_ExercisePriceRange3Member" abstract="true" name="ExercisePriceRange3Member" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/> |
| <xs:element id="pfie_TwoThousandTwentyThreeEIPMember" abstract="true" name="TwoThousandTwentyThreeEIPMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/> |
| <xs:element id="pfie_ShareBasedCompensationArrangementNumberOfAwardAgreements" abstract="false" name="ShareBasedCompensationArrangementNumberOfAwardAgreements" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="xbrli:integerItemType"/> |
| <xs:element id="pfie_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirationsInPeriodWeightedAverageIntrinsicValue" abstract="false" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirationsInPeriodWeightedAverageIntrinsicValue" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:perShareItemType"/> |
| <xs:element id="pfie_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsAndEquityInstrumentsOtherThanOptionsGrantsInPeriodGross" abstract="false" name="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsAndEquityInstrumentsOtherThanOptionsGrantsInPeriodGross" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:sharesItemType"/> |
| <xs:element id="pfie_LeaseLiabilityNoncurrent" abstract="false" name="LeaseLiabilityNoncurrent" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/> |
| <xs:element id="pfie_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOtherThanOptionsVestedAndUnvestedExercisableWeightedAverageExercisePrice" abstract="false" name="ShareBasedCompensationArrangementsByShareBasedPaymentAwardOtherThanOptionsVestedAndUnvestedExercisableWeightedAverageExercisePrice" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="xbrli:decimalItemType"/> |
| <xs:element id="pfie_PerformanceMetricAxis" abstract="true" name="PerformanceMetricAxis" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrldt:dimensionItem" type="xbrli:stringItemType"/> |
| <xs:element id="pfie_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageExercisePriceAbstract" abstract="true" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageExercisePriceAbstract" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:stringItemType"/> |
| <xs:element id="pfie_ManufacturedMember" abstract="true" name="ManufacturedMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/> |
| <xs:element id="pfie_TwoThousandTwentyTwoEIPMember" abstract="true" name="TwoThousandTwentyTwoEIPMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/> |
| <xs:element id="pfie_ExercisePriceRange1Member" abstract="true" name="ExercisePriceRange1Member" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/> |
| <xs:element id="pfie_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOtherThanOptionsExpirationsInPeriodWeightedAverageExercisePrice" abstract="false" name="ShareBasedCompensationArrangementsByShareBasedPaymentAwardOtherThanOptionsExpirationsInPeriodWeightedAverageExercisePrice" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:decimalItemType"/> |
| <xs:element id="pfie_OutstandingMember" abstract="true" name="OutstandingMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/> |
| <xs:element id="pfie_SharebasedCompensationArrangementbySharebasedPaymentAwardNonvestedOptionsOutstandingWeightedAverageExercisePrice" abstract="false" name="SharebasedCompensationArrangementbySharebasedPaymentAwardNonvestedOptionsOutstandingWeightedAverageExercisePrice" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="dtr-types1:perShareItemType"/> |
| <xs:element id="pfie_TimeBasedUnitsMember" abstract="true" name="TimeBasedUnitsMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/> |
| <xs:element id="pfie_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestWeightedAverageGrantDateFairValue" abstract="false" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestWeightedAverageGrantDateFairValue" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="dtr-types1:perShareItemType"/> |
| <xs:element id="pfie_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageExercisePrice" abstract="false" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageExercisePrice" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:decimalItemType"/> |
| <xs:element id="pfie_LeaseLiabilityToBePaid" abstract="false" name="LeaseLiabilityToBePaid" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/> |
| <xs:element id="pfie_FairValueOfOptionsRestrictedStockAndRestrictedStockUnitsVestedDuringThePeriod" abstract="false" name="FairValueOfOptionsRestrictedStockAndRestrictedStockUnitsVestedDuringThePeriod" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/> |
| <xs:element id="pfie_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsAndEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" abstract="false" name="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsAndEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:perShareItemType"/> |
| <xs:element id="pfie_WarehouseSpaceTwoMember" abstract="true" name="WarehouseSpaceTwoMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/> |
| <xs:element id="pfie_SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedWeightedAverageGrantDateFairValueAbstractAbstract" abstract="true" name="SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedWeightedAverageGrantDateFairValueAbstractAbstract" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:stringItemType"/> |
| <xs:element id="pfie_MaturitiesAxis" abstract="true" name="MaturitiesAxis" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrldt:dimensionItem" type="xbrli:stringItemType"/> |
| <xs:element id="pfie_ShareBasedCompensationArrangementByShareBasedPaymentAwardPerformanceMetricPercentageRelativeTotalShareholderReturn" abstract="false" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardPerformanceMetricPercentageRelativeTotalShareholderReturn" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="dtr-types1:percentItemType"/> |
| <xs:element id="pfie_A5To10YearsMember" abstract="false" name="A5To10YearsMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/> |
| <xs:element id="pfie_ConsultingAgreementQuarterlyPayments" abstract="false" name="ConsultingAgreementQuarterlyPayments" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/> |
| <xs:element id="pfie_Over10YearsMember" abstract="false" name="Over10YearsMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/> |
| <xs:element id="pfie_LeaseLiabilityToBePaidYearTwo" abstract="false" name="LeaseLiabilityToBePaidYearTwo" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/> |
| <xs:element id="pfie_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirationsInPeriodIntrinsicValue" abstract="false" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirationsInPeriodIntrinsicValue" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/> |
| <xs:element id="pfie_CostOfGoodSoldServiceMember" abstract="false" name="CostOfGoodSoldServiceMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/> |
| <xs:element id="pfie_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisedInPeriodWeightedAverageGrantDateFairValue" abstract="false" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisedInPeriodWeightedAverageGrantDateFairValue" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:perShareItemType"/> |
| <xs:element id="pfie_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodIntrinsicValue" abstract="false" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodIntrinsicValue" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/> |
| <xs:element id="pfie_PaymentsToEmployeesPercentageOfSalary" abstract="false" name="PaymentsToEmployeesPercentageOfSalary" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:pureItemType"/> |
| <xs:element id="pfie_AuditInformationAbstract" abstract="true" name="AuditInformationAbstract" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:stringItemType"/> |
| <xs:element id="pfie_PercentageOfAwardCoveredByMetric" abstract="false" name="PercentageOfAwardCoveredByMetric" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="dtr-types1:percentItemType"/> |
| </xs:schema> |