XML 42 R30.htm IDEA: XBRL DOCUMENT
v3.20.4

Note 4 - Revenue Recognition (Details Textual) $ in Millions | 3 Months Ended | 9 Months Ended
--- | --- | ---
Oct. 31, 2020 USD ($) | Oct. 31, 2020 USD ($)
Costs Incurred for Uncompleted Contracts, Anticipated Collection Period (Year) |  | 1 year
Middle East [Member] |  |
Unbilled Receivables, Current | $ 1.4 | $ 1.4
Other Nonoperating Income (Expense) [Member] |  |
Expense Related to Encashment | $ 0.6 | $ 0.6

X
- Definition Represents the duration of time within which costs incurred for uncompleted contracts are anticipated to be collected. + References No definition available. + Details
Name: | ppih_CostsIncurredForUncompletedContractsAnticipatedCollectionPeriod
Namespace Prefix: | ppih_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- Definition Represents expense related to encashment. + References No definition available. + Details
Name: | ppih_ExpenseRelatedToEncashment
Namespace Prefix: | ppih_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition Amount received for services rendered and products shipped, but not yet billed, for non-contractual agreements due within one year or the normal operating cycle, if longer. + References No definition available. + Details
Name: | us-gaap_UnbilledReceivablesCurrent
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Details
Name: | srt_StatementGeographicalAxis=us-gaap_MiddleEastMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_IncomeStatementLocationAxis=us-gaap_OtherNonoperatingIncomeExpenseMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |