XML 57 R43.htm IDEA: XBRL DOCUMENT
v3.21.2

Summary of Significant Accounting Policies (Details Textuals 2) - USD ($) $ in Thousands | 12 Months Ended
--- | ---
Jul. 31, 2021 | Jul. 31, 2020 | Jul. 31, 2019
Property, Plant and Equipment [Line Items] |  |  |
Software development costs, gross | $ 66,200 | $ 52,600 |
Accumulated amortization | 43,400 | 33,500 |
Share-based Payment Arrangement, Disclosure [Abstract] |  |  |
Proceeds from the exercise of stock options | 39,049 | 71,640 | $ 34,398
Share-based Payment Arrangement, Expense, Tax Benefit | $ 29,800 | $ 92,500 | $ 46,100
Minimum | Leasehold improvements |  |  |
Property, Plant and Equipment [Line Items] |  |  |
Useful life (in years) | 7 years |  |
Minimum | Internally developed or purchased software |  |  |
Property, Plant and Equipment [Line Items] |  |  |
Useful life (in years) | 3 years |  |
Minimum | Transportation and other equipment |  |  |
Property, Plant and Equipment [Line Items] |  |  |
Useful life (in years) | 3 years |  |
Minimum | Office furniture and equipment |  |  |
Property, Plant and Equipment [Line Items] |  |  |
Useful life (in years) | 3 years |  |
Minimum | Buildings and leasehold improvements |  |  |
Property, Plant and Equipment [Line Items] |  |  |
Useful life (in years) | 7 years |  |
Maximum | Leasehold improvements |  |  |
Property, Plant and Equipment [Line Items] |  |  |
Useful life (in years) | 10 years |  |
Maximum | Internally developed or purchased software |  |  |
Property, Plant and Equipment [Line Items] |  |  |
Useful life (in years) | 7 years |  |
Maximum | Transportation and other equipment |  |  |
Property, Plant and Equipment [Line Items] |  |  |
Useful life (in years) | 20 years |  |
Maximum | Office furniture and equipment |  |  |
Property, Plant and Equipment [Line Items] |  |  |
Useful life (in years) | 5 years |  |
Maximum | Buildings and leasehold improvements |  |  |
Property, Plant and Equipment [Line Items] |  |  |
Useful life (in years) | 40 years |  |

X
- Definition For each balance sheet presented, the amount of accumulated amortization for capitalized computer software costs. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Publisher FASB -Name Accounting Standards Codification -Topic 985 -SubTopic 20 -Section 50 -Paragraph 1 -URI http://asc.fasb.org/extlink&oid=6501960&loc=d3e128462-111756 + Details
Name: | us-gaap_CapitalizedComputerSoftwareAccumulatedAmortization
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Amount before accumulated amortization of capitalized costs for computer software, including but not limited to, acquired and internally developed computer software. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Publisher FASB -Name Accounting Standards Codification -Topic 985 -SubTopic 20 -Section 50 -Paragraph 1 -URI http://asc.fasb.org/extlink&oid=6501960&loc=d3e128462-111756 + Details
Name: | us-gaap_CapitalizedComputerSoftwareGross
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition Amount of tax benefit for recognition of expense of award under share-based payment arrangement. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (h)(1)(i) -URI http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901 + Details
Name: | us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Definition Amount of cash inflow from exercise of option under share-based payment arrangement. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2A -Subparagraph (a) -URI http://asc.fasb.org/extlink&oid=120381028&loc=SL79508275-113901 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 230 -SubTopic 10 -Section 45 -Paragraph 14 -Subparagraph (a) -URI http://asc.fasb.org/extlink&oid=123570139&loc=d3e3255-108585 + Details
Name: | us-gaap_ProceedsFromStockOptionsExercised
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table. + References No definition available. + Details
Name: | us-gaap_PropertyPlantAndEquipmentLineItems
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment. + References No definition available. + Details
Name: | us-gaap_PropertyPlantAndEquipmentUsefulLife
Namespace Prefix: | us-gaap_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

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

X
- Details
Name: | srt_RangeAxis=srt_MinimumMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_SoftwareAndSoftwareDevelopmentCostsMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_TransportationEquipmentMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_OfficeEquipmentMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingAndBuildingImprovementsMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_RangeAxis=srt_MaximumMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |