| | | | | | | | | | | | | | | | | | | | | |
<?xml version="1.0" encoding="windows-1252"?> |
<!-- XBRL document created with Toppan Merrill Bridge 9.9.3.5 --> |
<!-- Based on XBRL 2.1 --> |
<!-- Created on: 3/26/2021 7:41:35 PM --> |
<!-- Modified on: 3/26/2021 7:41:35 PM --> |
<linkbase xmlns="http://www.xbrl.org/2003/linkbase" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd"> |
| <roleRef xlink:type="simple" xlink:href="pfin-20201231.xsd#StatementConsolidatedBalanceSheets" roleURI="http://www.pfina.com/role/StatementConsolidatedBalanceSheets"/> |
| <roleRef xlink:type="simple" xlink:href="pfin-20201231.xsd#StatementConsolidatedStatementsOfOperationsAndComprehensiveLossIncome" roleURI="http://www.pfina.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLossIncome"/> |
| <roleRef xlink:type="simple" xlink:href="pfin-20201231.xsd#StatementConsolidatedStatementsOfCashFlows" roleURI="http://www.pfina.com/role/StatementConsolidatedStatementsOfCashFlows"/> |
| <roleRef xlink:type="simple" xlink:href="pfin-20201231.xsd#DisclosureSummaryOfAccountingPoliciesMaturityAnalysisOfAnnualUndiscountedCashFlowsDetails" roleURI="http://www.pfina.com/role/DisclosureSummaryOfAccountingPoliciesMaturityAnalysisOfAnnualUndiscountedCashFlowsDetails"/> |
| <roleRef xlink:type="simple" xlink:href="pfin-20201231.xsd#DisclosureSummaryOfAccountingPoliciesOperatingLeaseLiabilitiesDetailsCalc2" roleURI="http://www.pfina.com/role/DisclosureSummaryOfAccountingPoliciesOperatingLeaseLiabilitiesDetailsCalc2"/> |
| <roleRef xlink:type="simple" xlink:href="pfin-20201231.xsd#DisclosureAccountsReceivableAndAllowanceForDoubtfulAccountsDetails" roleURI="http://www.pfina.com/role/DisclosureAccountsReceivableAndAllowanceForDoubtfulAccountsDetails"/> |
| <roleRef xlink:type="simple" xlink:href="pfin-20201231.xsd#DisclosureInventoriesDetails" roleURI="http://www.pfina.com/role/DisclosureInventoriesDetails"/> |
| <roleRef xlink:type="simple" xlink:href="pfin-20201231.xsd#DisclosureGoodwillAndOtherIntangibleAssetsOtherIntangibleAssetsDetails" roleURI="http://www.pfina.com/role/DisclosureGoodwillAndOtherIntangibleAssetsOtherIntangibleAssetsDetails"/> |
| <roleRef xlink:type="simple" xlink:href="pfin-20201231.xsd#DisclosureGoodwillAndOtherIntangibleAssetsEstimatedAmortizationExpenseDetails" roleURI="http://www.pfina.com/role/DisclosureGoodwillAndOtherIntangibleAssetsEstimatedAmortizationExpenseDetails"/> |
| <roleRef xlink:type="simple" xlink:href="pfin-20201231.xsd#DisclosureIncomeTaxesDetails" roleURI="http://www.pfina.com/role/DisclosureIncomeTaxesDetails"/> |
| <roleRef xlink:type="simple" xlink:href="pfin-20201231.xsd#DisclosureIncomeTaxesDeferredTaxAssetsDetails" roleURI="http://www.pfina.com/role/DisclosureIncomeTaxesDeferredTaxAssetsDetails"/> |
| <roleRef xlink:type="simple" xlink:href="pfin-20201231.xsd#DisclosureIncomeTaxesReconciliationOfTaxRateDetails" roleURI="http://www.pfina.com/role/DisclosureIncomeTaxesReconciliationOfTaxRateDetails"/> |
| <calculationLink xlink:role="http://www.pfina.com/role/StatementConsolidatedBalanceSheets" xlink:type="extended" xlink:title="00100 - Statement - CONSOLIDATED BALANCE SHEETS"> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_Assets" xlink:label="loc_us-gaap_Assets"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent_637523844937358771"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets" xlink:to="us-gaap_AssetsCurrent_637523844937358771" order="1" use="optional" weight="1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_637523844937358771"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_637523844937358771" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue_637523844937358771" order="1" use="optional" weight="1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent_637523844937358771"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_637523844937358771" xlink:to="us-gaap_AccountsReceivableNetCurrent_637523844937358771" order="2" use="optional" weight="1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet_637523844937358771"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_637523844937358771" xlink:to="us-gaap_InventoryNet_637523844937358771" order="3" use="optional" weight="1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_637523844937358771"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_637523844937358771" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_637523844937358771" order="4" use="optional" weight="1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_637523844937358771"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets" xlink:to="us-gaap_PropertyPlantAndEquipmentNet_637523844937358771" order="2" use="optional" weight="1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="us-gaap_PropertyPlantAndEquipmentGross_637523844937358771"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_PropertyPlantAndEquipmentNet_637523844937358771" xlink:to="us-gaap_PropertyPlantAndEquipmentGross_637523844937358771" order="1" use="optional" weight="1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_Land" xlink:label="us-gaap_Land_637523844937358771"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_PropertyPlantAndEquipmentGross_637523844937358771" xlink:to="us-gaap_Land_637523844937358771" order="1" use="optional" weight="1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BuildingsAndImprovementsGross" xlink:label="us-gaap_BuildingsAndImprovementsGross_637523844937358771"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_PropertyPlantAndEquipmentGross_637523844937358771" xlink:to="us-gaap_BuildingsAndImprovementsGross_637523844937358771" order="2" use="optional" weight="1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_MachineryAndEquipmentGross" xlink:label="us-gaap_MachineryAndEquipmentGross_637523844937358771"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_PropertyPlantAndEquipmentGross_637523844937358771" xlink:to="us-gaap_MachineryAndEquipmentGross_637523844937358771" order="3" use="optional" weight="1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_637523844937358771"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_PropertyPlantAndEquipmentNet_637523844937358771" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_637523844937358771" order="2" use="optional" weight="-1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill_637523844937358771"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets" xlink:to="us-gaap_Goodwill_637523844937358771" order="3" use="optional" weight="1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill_637523844937358771"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill_637523844937358771" order="4" use="optional" weight="1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet_637523844937358771"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet_637523844937358771" order="5" use="optional" weight="1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_637523844937358771"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset_637523844937358771" order="6" use="optional" weight="1" priority="2"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent_637523844937358771"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets" xlink:to="us-gaap_OtherAssetsNoncurrent_637523844937358771" order="7" use="optional" weight="1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquity"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_StockholdersEquity_637523844937515176" order="1" use="optional" weight="1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PreferredStockValue" xlink:label="us-gaap_PreferredStockValue_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity_637523844937515176" xlink:to="us-gaap_PreferredStockValue_637523844937515176" order="1" use="optional" weight="1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity_637523844937515176" xlink:to="us-gaap_CommonStockValue_637523844937515176" order="2" use="optional" weight="1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity_637523844937515176" xlink:to="us-gaap_AdditionalPaidInCapitalCommonStock_637523844937515176" order="3" use="optional" weight="1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity_637523844937515176" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit_637523844937515176" order="4" use="optional" weight="1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TreasuryStockValue" xlink:label="us-gaap_TreasuryStockValue_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity_637523844937515176" xlink:to="us-gaap_TreasuryStockValue_637523844937515176" order="5" use="optional" weight="-1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity_637523844937515176" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_637523844937515176" order="6" use="optional" weight="1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_Liabilities_637523844937515176" order="2" use="optional" weight="1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities_637523844937515176" xlink:to="us-gaap_LiabilitiesCurrent_637523844937515176" order="1" use="optional" weight="1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShortTermBorrowings" xlink:label="us-gaap_ShortTermBorrowings_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_637523844937515176" xlink:to="us-gaap_ShortTermBorrowings_637523844937515176" order="1" use="optional" weight="1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountsPayableCurrent" xlink:label="us-gaap_AccountsPayableCurrent_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_637523844937515176" xlink:to="us-gaap_AccountsPayableCurrent_637523844937515176" order="2" use="optional" weight="1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccruedEmployeeBenefitsCurrent" xlink:label="us-gaap_AccruedEmployeeBenefitsCurrent_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_637523844937515176" xlink:to="us-gaap_AccruedEmployeeBenefitsCurrent_637523844937515176" order="3" use="optional" weight="1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_637523844937515176" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent_637523844937515176" order="4" use="optional" weight="1" priority="2"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherAccruedLiabilitiesCurrent" xlink:label="us-gaap_OtherAccruedLiabilitiesCurrent_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_637523844937515176" xlink:to="us-gaap_OtherAccruedLiabilitiesCurrent_637523844937515176" order="5" use="optional" weight="1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LongTermDebtCurrent" xlink:label="us-gaap_LongTermDebtCurrent_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_637523844937515176" xlink:to="us-gaap_LongTermDebtCurrent_637523844937515176" order="6" use="optional" weight="1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities_637523844937515176" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_637523844937515176" order="2" use="optional" weight="1" priority="2"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LongTermDebtNoncurrent" xlink:label="us-gaap_LongTermDebtNoncurrent_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities_637523844937515176" xlink:to="us-gaap_LongTermDebtNoncurrent_637523844937515176" order="3" use="optional" weight="1" priority="2"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherLiabilities" xlink:label="us-gaap_OtherLiabilities_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities_637523844937515176" xlink:to="us-gaap_OtherLiabilities_637523844937515176" order="4" use="optional" weight="1"/> |
| | </calculationLink> |
| <calculationLink xlink:role="http://www.pfina.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLossIncome" xlink:type="extended" xlink:title="00200 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE (LOSS) INCOME"> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTax"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTax" xlink:to="us-gaap_NetIncomeLoss_637523844937515176" order="1" use="optional" weight="1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetIncomeLoss_637523844937515176" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_637523844937515176" order="1" use="optional" weight="1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_637523844937515176" xlink:to="us-gaap_OperatingIncomeLoss_637523844937515176" order="1" use="optional" weight="1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingIncomeLoss_637523844937515176" xlink:to="us-gaap_GrossProfit_637523844937515176" order="1" use="optional" weight="1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_Revenues" xlink:label="us-gaap_Revenues_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_GrossProfit_637523844937515176" xlink:to="us-gaap_Revenues_637523844937515176" order="1" use="optional" weight="1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_GrossProfit_637523844937515176" xlink:to="us-gaap_CostOfGoodsAndServicesSold_637523844937515176" order="2" use="optional" weight="-1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingIncomeLoss_637523844937515176" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpense_637523844937515176" order="2" use="optional" weight="-1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetImpairment" xlink:label="us-gaap_GoodwillAndIntangibleAssetImpairment_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingIncomeLoss_637523844937515176" xlink:to="us-gaap_GoodwillAndIntangibleAssetImpairment_637523844937515176" order="3" use="optional" weight="-1" priority="2"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_637523844937515176" xlink:to="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_637523844937515176" order="2" use="optional" weight="1" priority="2"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherIncome" xlink:label="us-gaap_OtherIncome_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_637523844937515176" xlink:to="us-gaap_OtherIncome_637523844937515176" order="3" use="optional" weight="1" priority="2"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InterestExpense" xlink:label="us-gaap_InterestExpense_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_637523844937515176" xlink:to="us-gaap_InterestExpense_637523844937515176" order="4" use="optional" weight="-1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetIncomeLoss_637523844937515176" xlink:to="us-gaap_IncomeTaxExpenseBenefit_637523844937515176" order="2" use="optional" weight="-1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax_637523844937515176" order="2" use="optional" weight="-1"/> |
| | </calculationLink> |
| <calculationLink xlink:role="http://www.pfina.com/role/StatementConsolidatedStatementsOfCashFlows" xlink:type="extended" xlink:title="00400 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS"> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities_637523844937515176" order="1" use="optional" weight="1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_637523844937515176" xlink:to="us-gaap_NetIncomeLoss_637523844937515176" order="1" use="optional" weight="1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_637523844937515176" xlink:to="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_637523844937515176" order="2" use="optional" weight="1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="us-gaap_DepreciationDepletionAndAmortization_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_637523844937515176" xlink:to="us-gaap_DepreciationDepletionAndAmortization_637523844937515176" order="1" use="optional" weight="1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_637523844937515176" xlink:to="us-gaap_AmortizationOfIntangibleAssets_637523844937515176" order="2" use="optional" weight="1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AmortizationOfLeasedAsset" xlink:label="us-gaap_AmortizationOfLeasedAsset_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_637523844937515176" xlink:to="us-gaap_AmortizationOfLeasedAsset_637523844937515176" order="3" use="optional" weight="1" priority="2"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GainLossOnSaleOfLoansAndLeases" xlink:label="us-gaap_GainLossOnSaleOfLoansAndLeases_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_637523844937515176" xlink:to="us-gaap_GainLossOnSaleOfLoansAndLeases_637523844937515176" order="4" use="optional" weight="-1" priority="2"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AmortizationOfFinancingCosts" xlink:label="us-gaap_AmortizationOfFinancingCosts_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_637523844937515176" xlink:to="us-gaap_AmortizationOfFinancingCosts_637523844937515176" order="5" use="optional" weight="1"/> |
| | <loc xlink:type="locator" xlink:href="pfin-20201231.xsd#pfin_AmortizationOfConsiderationPayableToCustomer" xlink:label="pfin_AmortizationOfConsiderationPayableToCustomer_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_637523844937515176" xlink:to="pfin_AmortizationOfConsiderationPayableToCustomer_637523844937515176" order="6" use="optional" weight="1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="us-gaap_ProvisionForDoubtfulAccounts_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_637523844937515176" xlink:to="us-gaap_ProvisionForDoubtfulAccounts_637523844937515176" order="7" use="optional" weight="1" priority="2"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_637523844937515176" xlink:to="us-gaap_ShareBasedCompensation_637523844937515176" order="8" use="optional" weight="1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AssetImpairmentCharges" xlink:label="us-gaap_AssetImpairmentCharges_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_637523844937515176" xlink:to="us-gaap_AssetImpairmentCharges_637523844937515176" order="9" use="optional" weight="1" priority="2"/> |
| | <loc xlink:type="locator" xlink:href="pfin-20201231.xsd#pfin_GainLossOnForgivenessOfGrantObligation" xlink:label="pfin_GainLossOnForgivenessOfGrantObligation_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_637523844937515176" xlink:to="pfin_GainLossOnForgivenessOfGrantObligation_637523844937515176" order="10" use="optional" weight="-1" priority="2"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GainLossOnDispositionOfAssets1" xlink:label="us-gaap_GainLossOnDispositionOfAssets1_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_637523844937515176" xlink:to="us-gaap_GainLossOnDispositionOfAssets1_637523844937515176" order="11" use="optional" weight="-1" priority="2"/> |
| | <loc xlink:type="locator" xlink:href="pfin-20201231.xsd#pfin_RestrictedStockExpenses" xlink:label="pfin_RestrictedStockExpenses_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_637523844937515176" xlink:to="pfin_RestrictedStockExpenses_637523844937515176" order="12" use="optional" weight="1" priority="2"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredIncomeTaxesAndTaxCredits" xlink:label="us-gaap_DeferredIncomeTaxesAndTaxCredits_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_637523844937515176" xlink:to="us-gaap_DeferredIncomeTaxesAndTaxCredits_637523844937515176" order="13" use="optional" weight="1"/> |
| | <loc xlink:type="locator" xlink:href="pfin-20201231.xsd#pfin_GainLossOnSettlementOfContingentConsideration" xlink:label="pfin_GainLossOnSettlementOfContingentConsideration_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_637523844937515176" xlink:to="pfin_GainLossOnSettlementOfContingentConsideration_637523844937515176" order="14" use="optional" weight="-1" priority="2"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_637523844937515176" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable_637523844937515176" order="15" use="optional" weight="-1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="us-gaap_IncreaseDecreaseInInventories_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_637523844937515176" xlink:to="us-gaap_IncreaseDecreaseInInventories_637523844937515176" order="16" use="optional" weight="-1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_637523844937515176" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_637523844937515176" order="17" use="optional" weight="-1" priority="1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingAssets_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_637523844937515176" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingAssets_637523844937515176" order="18" use="optional" weight="-1" priority="1"/> |
| | <loc xlink:type="locator" xlink:href="pfin-20201231.xsd#pfin_IncreaseDecreaseInOtherCurrentAndAccruedLiabilities" xlink:label="pfin_IncreaseDecreaseInOtherCurrentAndAccruedLiabilities_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_637523844937515176" xlink:to="pfin_IncreaseDecreaseInOtherCurrentAndAccruedLiabilities_637523844937515176" order="19" use="optional" weight="1" priority="1"/> |
| | <loc xlink:type="locator" xlink:href="pfin-20201231.xsd#pfin_IncreaseDecreaseInCurrentOperatingLeaseLiability" xlink:label="pfin_IncreaseDecreaseInCurrentOperatingLeaseLiability_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_637523844937515176" xlink:to="pfin_IncreaseDecreaseInCurrentOperatingLeaseLiability_637523844937515176" order="20" use="optional" weight="1" priority="2"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_637523844937515176" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayable_637523844937515176" order="21" use="optional" weight="1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_637523844937515176" xlink:to="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities_637523844937515176" order="22" use="optional" weight="1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInOtherOperatingLiabilities" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_637523844937515176" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities_637523844937515176" order="23" use="optional" weight="1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities_637523844937515176" order="2" use="optional" weight="1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities_637523844937515176" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_637523844937515176" order="1" use="optional" weight="-1" priority="3"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:label="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities_637523844937515176" xlink:to="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_637523844937515176" order="2" use="optional" weight="1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PaymentsToAcquireBusinessesGross" xlink:label="us-gaap_PaymentsToAcquireBusinessesGross_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities_637523844937515176" xlink:to="us-gaap_PaymentsToAcquireBusinessesGross_637523844937515176" order="3" use="optional" weight="-1" priority="2"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities_637523844937515176" order="3" use="optional" weight="1" priority="1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PaymentsOfDividends" xlink:label="us-gaap_PaymentsOfDividends_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_637523844937515176" xlink:to="us-gaap_PaymentsOfDividends_637523844937515176" order="1" use="optional" weight="-1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProceedsFromStockOptionsExercised" xlink:label="us-gaap_ProceedsFromStockOptionsExercised_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_637523844937515176" xlink:to="us-gaap_ProceedsFromStockOptionsExercised_637523844937515176" order="2" use="optional" weight="1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_637523844937515176" xlink:to="us-gaap_PaymentsForRepurchaseOfCommonStock_637523844937515176" order="3" use="optional" weight="-1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" xlink:label="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_637523844937515176" xlink:to="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities_637523844937515176" order="4" use="optional" weight="-1" priority="2"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RepaymentsOfNotesPayable" xlink:label="us-gaap_RepaymentsOfNotesPayable_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_637523844937515176" xlink:to="us-gaap_RepaymentsOfNotesPayable_637523844937515176" order="5" use="optional" weight="-1" priority="2"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PaymentsOfDebtIssuanceCosts" xlink:label="us-gaap_PaymentsOfDebtIssuanceCosts_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_637523844937515176" xlink:to="us-gaap_PaymentsOfDebtIssuanceCosts_637523844937515176" order="6" use="optional" weight="-1" priority="2"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProceedsFromIssuanceOfOtherLongTermDebt" xlink:label="us-gaap_ProceedsFromIssuanceOfOtherLongTermDebt_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_637523844937515176" xlink:to="us-gaap_ProceedsFromIssuanceOfOtherLongTermDebt_637523844937515176" order="7" use="optional" weight="1" priority="2"/> |
| | <loc xlink:type="locator" xlink:href="pfin-20201231.xsd#pfin_ProceedsFromRepaymentsOfShortTermDebtOtherThanNotesPayable" xlink:label="pfin_ProceedsFromRepaymentsOfShortTermDebtOtherThanNotesPayable_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_637523844937515176" xlink:to="pfin_ProceedsFromRepaymentsOfShortTermDebtOtherThanNotesPayable_637523844937515176" order="8" use="optional" weight="1" priority="2"/> |
| | <loc xlink:type="locator" xlink:href="pfin-20201231.xsd#pfin_ProceedsFromGrants" xlink:label="pfin_ProceedsFromGrants_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_637523844937515176" xlink:to="pfin_ProceedsFromGrants_637523844937515176" order="9" use="optional" weight="1" priority="2"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents" xlink:label="us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents_637523844937515176" order="4" use="optional" weight="1"/> |
| | </calculationLink> |
| <calculationLink xlink:role="http://www.pfina.com/role/DisclosureSummaryOfAccountingPoliciesMaturityAnalysisOfAnnualUndiscountedCashFlowsDetails" xlink:type="extended" xlink:title="40102 - Disclosure - SUMMARY OF ACCOUNTING POLICIES - Maturity analysis of the annual undiscounted cash flows (Details)"> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_637523844937515176" order="1" use="optional" weight="1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_OperatingLeaseLiability_637523844937515176" order="2" use="optional" weight="1"/> |
| | </calculationLink> |
| <calculationLink xlink:role="http://www.pfina.com/role/DisclosureSummaryOfAccountingPoliciesOperatingLeaseLiabilitiesDetailsCalc2" xlink:type="extended" xlink:title="40102 - Disclosure - SUMMARY OF ACCOUNTING POLICIES - Operating lease liabilities (Details) - Calc 2"> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_637523844937515176" order="1" use="optional" weight="1" priority="2"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_637523844937515176" order="2" use="optional" weight="1" priority="2"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_637523844937515176" order="3" use="optional" weight="1" priority="2"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_637523844937515176" order="4" use="optional" weight="1" priority="2"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_637523844937515176" order="5" use="optional" weight="1" priority="2"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_637523844937515176" order="6" use="optional" weight="1" priority="2"/> |
| | </calculationLink> |
| <calculationLink xlink:role="http://www.pfina.com/role/DisclosureAccountsReceivableAndAllowanceForDoubtfulAccountsDetails" xlink:type="extended" xlink:title="40401 - Disclosure - ACCOUNTS RECEIVABLE AND ALLOWANCE FOR DOUBTFUL ACCOUNTS (Details)"> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="loc_us-gaap_AccountsReceivableNetCurrent"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountsReceivableGrossCurrent" xlink:label="us-gaap_AccountsReceivableGrossCurrent_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AccountsReceivableNetCurrent" xlink:to="us-gaap_AccountsReceivableGrossCurrent_637523844937515176" order="1" use="optional" weight="1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AccountsReceivableNetCurrent" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_637523844937515176" order="2" use="optional" weight="-1"/> |
| | </calculationLink> |
| <calculationLink xlink:role="http://www.pfina.com/role/DisclosureInventoriesDetails" xlink:type="extended" xlink:title="40501 - Disclosure - INVENTORIES (Details)"> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaap_InventoryNet"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InventoryRawMaterials" xlink:label="us-gaap_InventoryRawMaterials_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_InventoryNet" xlink:to="us-gaap_InventoryRawMaterials_637523844937515176" order="1" use="optional" weight="1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InventoryWorkInProcess" xlink:label="us-gaap_InventoryWorkInProcess_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_InventoryNet" xlink:to="us-gaap_InventoryWorkInProcess_637523844937515176" order="2" use="optional" weight="1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InventoryFinishedGoods" xlink:label="us-gaap_InventoryFinishedGoods_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_InventoryNet" xlink:to="us-gaap_InventoryFinishedGoods_637523844937515176" order="3" use="optional" weight="1"/> |
| | </calculationLink> |
| <calculationLink xlink:role="http://www.pfina.com/role/DisclosureGoodwillAndOtherIntangibleAssetsOtherIntangibleAssetsDetails" xlink:type="extended" xlink:title="40602 - Disclosure - GOODWILL AND OTHER INTANGIBLE ASSETS - Other intangible assets - (Details)"> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherIntangibleAssetsNet" xlink:label="us-gaap_OtherIntangibleAssetsNet_637031342657523981"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherFiniteLivedIntangibleAssetsGross" xlink:label="us-gaap_OtherFiniteLivedIntangibleAssetsGross_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OtherIntangibleAssetsNet_637031342657523981" xlink:to="us-gaap_OtherFiniteLivedIntangibleAssetsGross_637523844937515176" order="1" use="optional" weight="1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OtherIntangibleAssetsNet_637031342657523981" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_637523844937515176" order="2" use="optional" weight="-1"/> |
| | </calculationLink> |
| <calculationLink xlink:role="http://www.pfina.com/role/DisclosureGoodwillAndOtherIntangibleAssetsEstimatedAmortizationExpenseDetails" xlink:type="extended" xlink:title="40604 - Disclosure - GOODWILL AND OTHER INTANGIBLE ASSETS - Estimated amortization expense (Details)"> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_637523844937515176" order="1" use="optional" weight="1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_637523844937515176" order="2" use="optional" weight="1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_637523844937515176" order="3" use="optional" weight="1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_637523844937515176" order="4" use="optional" weight="1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_637523844937515176" order="5" use="optional" weight="1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_637523844937515176" order="6" use="optional" weight="1"/> |
| | </calculationLink> |
| <calculationLink xlink:role="http://www.pfina.com/role/DisclosureIncomeTaxesDetails" xlink:type="extended" xlink:title="41101 - Disclosure - INCOME TAXES (Details)"> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit_637031342658810650"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeTaxExpenseBenefit_637031342658810650" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefit_637523844937515176" order="1" use="optional" weight="1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CurrentFederalTaxExpenseBenefit" xlink:label="us-gaap_CurrentFederalTaxExpenseBenefit_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CurrentIncomeTaxExpenseBenefit_637523844937515176" xlink:to="us-gaap_CurrentFederalTaxExpenseBenefit_637523844937515176" order="1" use="optional" weight="1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:label="us-gaap_CurrentStateAndLocalTaxExpenseBenefit_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CurrentIncomeTaxExpenseBenefit_637523844937515176" xlink:to="us-gaap_CurrentStateAndLocalTaxExpenseBenefit_637523844937515176" order="2" use="optional" weight="1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CurrentForeignTaxExpenseBenefit" xlink:label="us-gaap_CurrentForeignTaxExpenseBenefit_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CurrentIncomeTaxExpenseBenefit_637523844937515176" xlink:to="us-gaap_CurrentForeignTaxExpenseBenefit_637523844937515176" order="3" use="optional" weight="1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeTaxExpenseBenefit_637031342658810650" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit_637523844937515176" order="2" use="optional" weight="1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredFederalIncomeTaxExpenseBenefit_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefit_637523844937515176" xlink:to="us-gaap_DeferredFederalIncomeTaxExpenseBenefit_637523844937515176" order="1" use="optional" weight="1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefit_637523844937515176" xlink:to="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_637523844937515176" order="2" use="optional" weight="1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredForeignIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredForeignIncomeTaxExpenseBenefit_637523844937515176"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefit_637523844937515176" xlink:to="us-gaap_DeferredForeignIncomeTaxExpenseBenefit_637523844937515176" order="3" use="optional" weight="1"/> |
| | </calculationLink> |
| <calculationLink xlink:role="http://www.pfina.com/role/DisclosureIncomeTaxesDeferredTaxAssetsDetails" xlink:type="extended" xlink:title="41102 - Disclosure - INCOME TAXES - Deferred tax assets (Details)"> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:label="us-gaap_DeferredTaxAssetsLiabilitiesNet_637031342658840564"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsNet" xlink:label="us-gaap_DeferredTaxAssetsNet_637523844937671444"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsLiabilitiesNet_637031342658840564" xlink:to="us-gaap_DeferredTaxAssetsNet_637523844937671444" order="1" use="optional" weight="1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts_637523844937671444"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsNet_637523844937671444" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts_637523844937671444" order="1" use="optional" weight="1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance_637523844937671444"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsNet_637523844937671444" xlink:to="us-gaap_DeferredTaxAssetsValuationAllowance_637523844937671444" order="2" use="optional" weight="-1" priority="2"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsInventory" xlink:label="us-gaap_DeferredTaxAssetsInventory_637523844937671444"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsNet_637523844937671444" xlink:to="us-gaap_DeferredTaxAssetsInventory_637523844937671444" order="3" use="optional" weight="1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves_637523844937671444"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsNet_637523844937671444" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves_637523844937671444" order="4" use="optional" weight="1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_637523844937671444"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsNet_637523844937671444" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_637523844937671444" order="5" use="optional" weight="1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsGoodwillAndIntangibleAssets" xlink:label="us-gaap_DeferredTaxAssetsGoodwillAndIntangibleAssets_637523844937671444"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsNet_637523844937671444" xlink:to="us-gaap_DeferredTaxAssetsGoodwillAndIntangibleAssets_637523844937671444" order="6" use="optional" weight="1"/> |
| | <loc xlink:type="locator" xlink:href="pfin-20201231.xsd#pfin_DeferredTaxAssetsAcquisitionCosts" xlink:label="pfin_DeferredTaxAssetsAcquisitionCosts_637523844937671444"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsNet_637523844937671444" xlink:to="pfin_DeferredTaxAssetsAcquisitionCosts_637523844937671444" order="7" use="optional" weight="1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsDomestic" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsDomestic_637523844937671444"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsNet_637523844937671444" xlink:to="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsDomestic_637523844937671444" order="8" use="optional" weight="1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal_637523844937671444"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsNet_637523844937671444" xlink:to="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal_637523844937671444" order="9" use="optional" weight="1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsOther" xlink:label="us-gaap_DeferredTaxAssetsOther_637523844937671444"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsNet_637523844937671444" xlink:to="us-gaap_DeferredTaxAssetsOther_637523844937671444" order="10" use="optional" weight="1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxLiabilitiesPrepaidExpenses" xlink:label="us-gaap_DeferredTaxLiabilitiesPrepaidExpenses_637523844937671444"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsLiabilitiesNet_637031342658840564" xlink:to="us-gaap_DeferredTaxLiabilitiesPrepaidExpenses_637523844937671444" order="2" use="optional" weight="-1"/> |
| | <loc xlink:type="locator" xlink:href="pfin-20201231.xsd#pfin_DeferredTaxLiabilitiesDepreciation" xlink:label="pfin_DeferredTaxLiabilitiesDepreciation_637523844937671444"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsLiabilitiesNet_637031342658840564" xlink:to="pfin_DeferredTaxLiabilitiesDepreciation_637523844937671444" order="3" use="optional" weight="-1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" xlink:label="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets_637523844937671444"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsLiabilitiesNet_637031342658840564" xlink:to="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets_637523844937671444" order="4" use="optional" weight="-1"/> |
| | </calculationLink> |
| <calculationLink xlink:role="http://www.pfina.com/role/DisclosureIncomeTaxesReconciliationOfTaxRateDetails" xlink:type="extended" xlink:title="41104 - Disclosure - INCOME TAXES - Reconciliation of tax rate (Details)"> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_637523844937671444"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_637523844937671444" order="1" use="optional" weight="1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_637523844937671444"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_637523844937671444" order="2" use="optional" weight="1" priority="2"/> |
| | <loc xlink:type="locator" xlink:href="pfin-20201231.xsd#pfin_EffectiveIncomeTaxRateReconciliationCoronavirusAidReliefAndEconomicSecurityActPercent" xlink:label="pfin_EffectiveIncomeTaxRateReconciliationCoronavirusAidReliefAndEconomicSecurityActPercent_637523844937671444"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="pfin_EffectiveIncomeTaxRateReconciliationCoronavirusAidReliefAndEconomicSecurityActPercent_637523844937671444" order="3" use="optional" weight="1" priority="2"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_637523844937671444"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_637523844937671444" order="4" use="optional" weight="1"/> |
| | <loc xlink:type="locator" xlink:href="pfin-20201231.xsd#pfin_EffectiveIncomeTaxRateReconciliationPermanentDifferencesPercent" xlink:label="pfin_EffectiveIncomeTaxRateReconciliationPermanentDifferencesPercent_637523844937671444"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="pfin_EffectiveIncomeTaxRateReconciliationPermanentDifferencesPercent_637523844937671444" order="5" use="optional" weight="1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_637523844937671444"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_637523844937671444" order="6" use="optional" weight="1"/> |
| | <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_637523844937671444"/> |
| | <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_637523844937671444" order="7" use="optional" weight="1"/> |
| | </calculationLink> |
| </linkbase> |