XML 60 R49.htm IDEA: XBRL DOCUMENT
v3.22.2

Unbilled Receivables - Additional Information (Details) $ in Millions | Jul. 03, 2022 USD ($) contract | Dec. 31, 2021 USD ($) contract
--- | --- | ---
Contracts In Process [Line Items] |  |
Net unbilled receivables | $ 7,819 | $ 8,498
Combat Systems | Two Large International Contracts |  |
Contracts In Process [Line Items] |  |
Net unbilled receivables | $ 2,200 | $ 3,300
Number of contracts | contract | 2 | 2
Combat Systems | Wheeled Armored Vehicle |  |
Contracts In Process [Line Items] |  |
Net unbilled receivables | $ 745 |
Combat Systems | Tracked Vehicle |  |
Contracts In Process [Line Items] |  |
Net unbilled receivables | $ 1,500 |

X
- Definition Contracts In Process [Line Items] + References No definition available. + Details
Name: | gd_ContractsInProcessLineItems
Namespace Prefix: | gd_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Number Of Contracts + References No definition available. + Details
Name: | gd_NumberOfContracts
Namespace Prefix: | gd_
Data Type: | xbrli:integerItemType
Balance Type: | na
Period Type: | instant

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: | us-gaap_StatementBusinessSegmentsAxis=gd_CombatSystemsMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_MajorCustomersAxis=gd_LargeInternationalCustomerMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_MajorCustomersAxis=gd_LargeInternationalWheelArmoredVehicleCustomerMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_MajorCustomersAxis=gd_TrackedVehicleCustomerMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |