@repo/shared / EFLineItemType
Line item data for a single article in a CBP entry summary. Populates the 40-Record and related records.
Each line item corresponds to one HTS classification. PGA data for the line is provided separately
via the corresponding PGA *Type interface, keyed by MapType identifier.
| Property | Type | Description |
|---|---|---|
adCaseNonReimbursementStatement? | boolean | Importer's non-reimbursement disclosure statement for AD/CVD. Y = importer certifies no agreement exists for the manufacturer, producer, seller, or exporter to reimburse any AD or CVD duties assessed. Applies only to lines that have an AD case (not CVD-only lines). Required for AD/CVD entry types (03, 07, 34, 38) and FTZ/Warehouse/TIB lines with AD/CVD cases. Maps to the 40-Record position 60. |
adCvdCase? | {bondCashClaimCode?: "B" | "C";caseNumber?: string;depositRate?: number;dutyAmount?: number;nonReimbursementDeclarationId?: string;quantity?: number;rateType?: "A" | "S";valueOfGoodsAmount?: number;}[] | AD/CVD Case Detail (53-Record). Required for AD/CVD entry types (03, 07, 34, 38); conditionally required when the Entry Type is FTZ (06), Warehouse (21), Re-Warehouse (22), or TIB (23) and the article is subject to AD/CVD. Up to 2 case records may be submitted per line item. AD/CVD case info is not allowed on Article Set Header lines. |
adCvdCertification? | boolean | Type 06 – AD/CVD Certification (54-Record). When true, emits the literal "ADCVD CERT" declaration indicating the importer certifies compliance with antidumping and countervailing duty requirements. No sub-fields. |
aluminumCastCountryCode? | string | ISO 2-character country code where the aluminum was cast. |
aluminumPrimarySmeltApplicabilityCode? | "Y" | "N" | Y = primary smelter country is known; N = unknown. |
aluminumPrimarySmeltCountryCode? | string | ISO 2-character country code of the primary smelter. Space-fill when applicability code is N. |
aluminumProductExclusionIdentifier? | string | Approved Section 232 aluminum product exclusion identifier (ALUnnnnnn / APRnnnnnn). Max 9 AN. |
aluminumSecondarySmeltApplicabilityCode? | "Y" | "N" | Y = secondary smelter country is known; N = unknown. |
aluminumSecondarySmeltCountryCode? | string | ISO 2-character country code of the secondary smelter. Space-fill when applicability code is N. |
articleSetIndicator? | "X" | " " | "V" | Indicates whether this line item is part of an article 'set' as defined by GRI 3(b) and 3(c) — mixtures, composite goods, or goods put up in sets for retail sale. 'X' = set header line (the line whose HTS classification governs the set). 'V' = set component line (subordinate line sharing the header's classification). AD/CVD case information is only allowed on Component lines, not Header lines. Maps to the 40-Record. |
avocadoFee? | number | Avocado Fee (62-Record, code 107). Amount in USD with 2 implied decimals. |
beefFee? | number | Beef Fee (62-Record, code 053). Amount in USD with 2 implied decimals. |
bifacialCertification? | boolean | Type 09 – 201 Bifacial Certification (54-Record). When true, emits the literal "201BIFAC CERT" declaration indicating the solar panels are bifacial and exempt from Section 201 safeguard duties. No sub-fields. |
blueberryFee? | number | Blueberry Fee (62-Record, code 106). Amount in USD with 2 implied decimals. |
cbmaAllocationQuantity? | number | Allocated quantity of the CBMA rate tier with 4 implied decimal places. Use 0 for entries on or after 1/1/2023. Max 12 N encoded. |
cbmaControlledGroupName? | string | Name of the controlled group or importer. Use XXXXXXXXXX for entries on or after 1/1/2023. Max 10 chars. |
cbmaFlavorContentCreditIndicator? | "Y" | "N" | Y = eligible for flavor content credit; N = not eligible. |
cbmaForeignProducerIdentifier? | string | TTB Foreign Producer Identifier assigned to the foreign producer (10 AN). |
cbmaForeignProducerName? | string | Legal name of the foreign producer (max 21 chars). |
cbmaRateDesignationCode? | string | CBMA Rate Designation Code identifying the applicable reduced rate tier (6 AN). |
censusWarningOverrides? | {overrideCode?: | "01" | "02" | "03" | "06" | "07" | "11" | "12" | "21" | "22" | "23" | "51" | "10" | "20" | "50" | "14" | "15" | "16" | "17" | "18" | "19" | "26" | "04" | "05" | "08" | "09" | "13" | "25" | "27" | "24" | "49";warningCode?: | "27A" | "27P" | "27B" | "27M" | "27D" | "27F" | "27C" | "28E" | "27G" | "27I" | "27H" | "27Q";}[] | Census Warning Condition Override (CW02-Record). Preemptively overrides anticipated Census Bureau statistical warnings before they are generated by ACE. Evaluation is performed on every submission — overrides do not carry over from a previous submission and must be re-submitted each time. The post-acceptance CW Transaction is an alternative. See AE Table 10 (Override Codes) and AE Table 11 (Warning/Override Combinations) for valid pairings. |
chapter1to97s? | {description?: string;dutyAmount?: number;htsNumber?: string;quantities?: {quantity?: number;unitOfMeasure?: string;}[]; valueOfGoodsAmount?: number;}[] | Tariff/Value/Quantity detail groupings (50-Record). Each entry represents one HTS classification for this article. Up to 32 50-Records may be submitted per line item. Mandatory for every line item. |
chapter98s? | {currentHTSNumber?: string;description?: string;dutyAmount?: number;htsNumber?: string;sanctionDisclaim?: boolean;valueOfGoodsAmount?: number;}[] | Chapter 98 HTS numbers for special classification provisions (e.g., 9802.00.40 – goods exported for repair/alteration made pursuant to warranty, 9802.00.80 – American Goods Returned). Each entry includes the Chapter 98 HTS number with associated value and duty. |
chapter99s? | {currentHTSNumber?: string;description?: string;dutyAmount?: number;htsNumber?: string;quantities?: {quantity?: number;unitOfMeasure?: string;}[]; sanctionDisclaim?: boolean;valueOfGoodsAmount?: number;}[] | Chapter 99 HTS numbers for executive order and trade remedy provisions (e.g., Section 232 steel/aluminum, Section 301 tariffs). Each entry includes the Chapter 99 HTS number paired with value, duty, and quantity data. AD/CVD case information is not allowed on lines containing 9802.00.40 or 9802.00.50. |
charges? | number | Aggregate cost (excluding duty) of freight, insurance, and other non-dutiable charges, reported in whole U.S. dollars. Required when the total article value exceeds $1,250, except for informal entry types (11/12), U.S. Insular Possession origin, passenger/hand-carried (MOT 60), or article set components. Report zeroes if not used. Maps to the 40-Record positions 27-36. |
christmasTreeFee? | number | Christmas Tree Fee (62-Record, code 125). Amount in USD with 2 implied decimals. |
commercialDescription? | string | Commercial description of the article in complete commercial terminology in English (44-Record). Broad or generalized language is unacceptable. Tariff language alone is not acceptable. Can be up to 999 lines of 70 characters each. |
consigneeEntity? | EntityReference | Consignee entity (SE50 "CN" only, Cargo Release). The U.S. party on whose account the merchandise is shipped. Entity identifier required (or name+address for low-value informal <$2500). Mandatory when certifying for Cargo Release. |
consolidatorEntity? | EntityReference | Consolidator entity (SE50 "CS" only, Cargo Release). Full name and address via SE50-56 grouping. Optional when certifying for Cargo Release. |
cottonFee? | number | Cotton Fee (62-Record, code 056). Amount in USD with 2 implied decimals. |
countryOfExport? | string | ISO 2-character country code of the last country whose commerce the article was part of before shipment to the U.S. Mandatory for most entry types; allowed (not required) for FTZ (06). Maps to the 40-Record. |
countryOfOrigin? | string | ISO 2-character country code from which the article originated (19 CFR 102). Report '**' if the country of origin is unknown. Mandatory for all entry types. Maps to the 40-Record. |
dairyProductFee? | number | Dairy Product Fee (62-Record, code 110). Amount in USD with 2 implied decimals. |
dateOfExportation? | Date | The date the exporting vessel departed the last port in the exporting country. For non-vessel shipments, the date the article left the exporting country. Mandatory for most entry types; allowed for FTZ (06). Maps to the 40-Record positions 13-18. |
feeExemption? | boolean | Code indicating the article is exempt from a specific user fee. '1' = Cotton (class 056) fee exempt — the article is a cotton product. '2' = Other agriculture fee exempt — importer has obtained an organic product exemption certificate from USDA. Note: the preferred method for organic exemption is License/Certificate/Permit Type Code '22' on the 52-Record; use of fee exemption code '2' will be discontinued in a future release. Maps to the 40-Record position 58. |
foreignExporterEntity? | EntityReference | Foreign Exporter entity (47-Record "E" only). The last named foreign party on the invoice with a substantial financial interest in the goods. Uses MID algorithm same as Manufacturer. Conditional (C7): required when an AD/CVD case is present for entry types 03, 06, 07, 21, 22, 23, 34, 38; allowed for all others. |
foreignPortOfLading? | string | 5-character Schedule K code identifying the foreign port where the merchandise was laden onto the importing vessel. Mandatory for vessel shipments (MOT 10/11); allowed for air shipments if known. See 'Schedule K – Classification of Foreign Ports by Geographic Trade Area and Country'. Maps to the 40-Record positions 37-41. |
ftzLineItemQuantity? | number | Quantity of units removed from the FTZ and entered into U.S. commerce. Must be greater than zero; reported in whole units. Cannot exceed the FTZ Line Item Quantity on the matching SE41-Record of the corresponding Cargo Release. Mandatory for Entry Type 06 (FTZ). Maps to the 41-Record positions 10-19. |
ftzMerchandiseStatusCode? | "D" | "P" | "N" | Status of the FTZ merchandise being withdrawn into U.S. commerce. P = Privileged Foreign (duty rate determined at time of zone admission); N = Non-Privileged Foreign (duty rate determined at time of entry); D = Domestic (no duty). Mandatory only for Entry Type 06 (FTZ). Maps to the 41-Record position 3. |
ftzPrivilegedMerchandiseFilingDate? | Date | For Privileged Foreign merchandise (41-Record status = 'P'), the date the merchandise entered the FTZ. This date is used in the Duty Rate Date Matrix Hierarchy to determine the applicable duty rate. Space fill if merchandise is not Privileged Foreign. Maps to the 41-Record positions 4-9. |
grossShippingWeight? | number | Gross shipping weight of the article in kilograms. Weight must include all packaging but exclude carrier equipment (shipping containers, etc.). Maps to the 40-Record positions 42-51. |
hmfFee? | number | Harbor Maintenance Fee (62-Record, code 501). Required when MOT is vessel (10/11) or border water-borne (12). Do not submit for informal/FTZ/re-warehouse/warehouse withdrawal entry types. Amount in USD with 2 implied decimals. |
honeyFee? | number | Honey Fee (62-Record, code 055). Amount in USD with 2 implied decimals. |
invoices? | {invoiceId?: string;invoiceLineRanges?: {begin?: number;end?: number;}[]; invoiceNumber?: string;supplierIdCode?: string;}[] | Invoice line references linking this line item to supplier invoices (42-Record). For EIP (Electronic Invoice Processing) summaries, each element contains a Supplier ID, invoice number, and line ranges. The array may repeat up to 9,999 times in EIP mode. In non-EIP mode, the 42-Record is not allowed — validate that the array length is not greater than 1. |
irTaxAccountingClassCode? | "016" | "017" | "018" | "022" | CBP accounting class code identifying the specific Internal Revenue tax type applicable to this article (e.g., distilled spirits, wine, beer, tobacco). See AE Table 13 for valid codes. The 60-Record may be reported once per line item. Maps to the 60-Record positions 3-5. |
irTaxAmount? | number | Estimated Internal Revenue tax amount for the article in U.S. dollars and cents (two decimal places implied). Report zero if tax is required but computes to less than $0.01. Maps to the 60-Record positions 6-15. |
koreanExportSteelCertificateNumber? | string | Official Certificate of Exportation Number issued by the Korean government (max 9 AN). Required for steel imports from South Korea subject to quota. |
limeFee? | number | Lime Fee (62-Record, code 102). Amount in USD with 2 implied decimals. |
mangoFee? | number | Mango Fee (62-Record, code 108). Amount in USD with 2 implied decimals. |
manufacturerEntity? | EntityReference | Manufacturer/Supplier entity (47-Record "M" + SE50 "MF"). The manufacturer identifier (MID) is computed per CBP Directive 3500-13. Mandatory for most formal entry types; allowed for informal (11/12); conditional (C5) for re-warehouse (22) and TIB (23). When certifying for Cargo Release, a matching SE50-56 grouping with full name and address is also generated. |
mpfFee? | number | Formal Merchandise Processing Fee (62-Record, code 499). Required for most formal entries. Do not submit when the article is an Article Set Component, or when the entry type is 11/12 (Informal). Amount in USD with 2 implied decimals. |
mushroomFee? | number | Mushroom Fee (62-Record, code 103). Amount in USD with 2 implied decimals. |
naftaNetCost? | boolean | Indicates that the NAFTA origin determination for this article was made using the 'net cost' (average) method, as opposed to the transaction value method. Y = net cost method applies. Space fill if not applicable or not NAFTA. Maps to the 40-Record position 57. |
otherRevenueAccountingClassCode? | "672" | CBP accounting class code for conditional other revenue types not covered by standard duty or IR tax (e.g., 672 = Coffee Imports to Puerto Rico duty assessment). See AE Table 17 for valid codes. The 61-Record may be reported once per line item. Maps to the 61-Record positions 3-5. |
otherRevenueAmount? | number | Estimated other revenue amount for the article in U.S. dollars and cents (two decimal places implied). Report zero if revenue is required but computes to less than $0.01. Maps to the 61-Record positions 6-15. |
pecanFee? | number | Pecan Fee (62-Record, code 124). Amount in USD with 2 implied decimals. |
permitNumber? | string | The license, certificate, or permit number as issued by the governing authority. Format requirements vary by type code (e.g., steel licenses are up to 9 characters). Maps to the 52-Record. |
permitTypeCode? | | "01" | "02" | "03" | "06" | "07" | "11" | "12" | "21" | "22" | "23" | "31" | "10" | "30" | "14" | "16" | "17" | "18" | "19" | "26" | "04" | "05" | "08" | "09" | "13" | "25" | "27" | "28" | "29" | Code identifying the type of special-use license, certificate, or permit required for import. Examples: 01 = Steel Import License, 05 = Beef Export Certificate, 14 = Agricultural License, 22 = Organic Product Exemption Certificate, 28 = Aluminum Import License. Only one 52-Record is allowed per line item. Maps to the 52-Record positions 3-4. |
pgas? | Partial<PGAGridType>[] | PGA (Partner Government Agency) line-level data associated with this line item, for display in the UI grid. Not used for CATAIR string generation at this level; PGA data is encoded separately in the PGA grouping. |
porkFee? | number | Pork Fee (62-Record, code 054). Amount in USD with 2 implied decimals. |
potatoFee? | number | Potato Fee (62-Record, code 090). Amount in USD with 2 implied decimals. |
productClaimCode? | "F" | "M" | "H" | "C" | "G" | Code indicating a special product classification claim. 'C' = Craft Beverage Modernization Act (CBMA) claim — required when claiming a reduced IR tax rate for imported alcohol under the CBMA program; must be accompanied by a 54-Record of type 05 (CBMA Product Detail) and a 60-Record IR tax amount. Maps to the 40-Record. |
pscReasonCodes? | {reasonCode?: | "L01" | "L02" | "L03" | "L04" | "L05" | "L06" | "L07" | "L08" | "L09" | "L10" | "L11" | "L12" | "L13" | "L14" | "L15" | "L16" | "L17" | "L18" | "L19" | "L20" | "L21" | "L22" | "L23" | "L24" | "L25" | "L26" | "L27" | "L28" | "L29" | "L30" | "L31";}[] | Post Summary Correction Line Reason Codes (63-Record). A set of up to 5 unique categorical codes identifying what changed on this line item in a PSC filing. Conditional — only submitted when the 10-Record PSC Indicator is 'Y'. Do not submit if the line has not changed. Per CATAIR, codes are categorical (one code covers all changes of that category on the line), not per-field. Common codes: L01 = Invoice change, L02 = SPI/trade agreement change, L03 = Classification change, L04 = Value change, L05 = Charges change, L06 = Duty change, L07 = COO change, L08 = COE change, L31 = Gross Weight change. |
raspberryFee? | number | Raspberry Fee (62-Record, code 057). Amount in USD with 2 implied decimals. |
relatedParties? | boolean | Indicates whether the buyer and seller are related parties as defined in Section 402(g)(1) of the Tariff Act of 1930. Y = related companies; N = not related. Mandatory for most formal entry types; allowed (not required) for informal (11/12). Maps to the 40-Record position 56. |
rulingNumber? | number | Administrative number assigned by CBP to a binding ruling or a pre-importation review program (PIRP) ruling (43-Record). Report only the numeric portion — do not include any single alpha prefix (e.g., report the number without the leading 'N' or 'H'). |
rulingType? | "R" | "P" | "C" | Type of administrative ruling number being cited (43-Record). C = Pre-Classification number (specific to the importer and merchandise). P = Pre-Approval number (specific to the importer and merchandise). R = Binding Ruling number issued by CBP. Only one ruling may be submitted per line item. |
sanctions? | {fields?: {name?: string;value?: string;}[]; type?: "FSHNG INFO" | "MINE INFO";}[] | Cargo Sanctions Additional Information (SE62-Record). Conditional record providing sanction-related data associated with this line item, such as OFAC sanction type, data source field name, and data source value. |
shipToEntity? | EntityReference | Delivered To / Ship To Party entity (47-Record "C" + SE50 "ST"). The U.S. party scheduled to physically receive the merchandise after release from CBP custody. Identifier ≤12 characters in party number format. Never required; allowed for all entry types. CBP auto-converts 47-Record "C" to SE50 "ST" for Cargo Release — a separate SE50 record is not generated. |
shipToShoreCraneCertification? | boolean | Type 10 – Ship-to-Shore Crane Certification (54-Record). When true, emits the literal "301STS CERT" declaration indicating the cranes are ship-to-shore cranes exempt from Section 301 tariffs. No sub-fields. |
softwoodLumberDeclarationIndicator? | "Y" | "N" | Y = subject to export measures; N = not subject |
softwoodLumberExportCharges? | number | Export charges in whole U.S. dollars (zero-padded to 10 digits). |
softwoodLumberExportPrice? | number | Export price in whole U.S. dollars (zero-padded to 10 digits). |
softwoodLumberFee? | number | Softwood Lumber Fee (62-Record, code 105). Amount in USD with 2 implied decimals. |
softwoodLumberImportCharges? | number | Import charges in whole U.S. dollars (zero-padded to 10 digits; zero-fill if absent). |
soldToEntity? | EntityReference | Sold To / Buyer entity (47-Record "S" + SE50 "BY"). The U.S. party to whom the imported merchandise was sold or agreed to be sold. Identifier ≤12 characters in party number format. Mandatory for most formal entry types; allowed for informal (11/12). CBP auto-converts 47-Record "S" to SE50 "BY" for Cargo Release — a separate SE50 record is not generated. |
sorghumFee? | number | Sorghum Fee (62-Record, code 109). Amount in USD with 2 implied decimals. |
steelMeltAndPourCountryCode? | string | ISO 2-character country code where the steel was melted and poured, or 'OTH' when the article is a derivative product with an unknown country of melt and pour. |
steelProductExclusionIdentifier? | string | Approved Section 232 steel product exclusion identifier (STLnnnnnn / SPRnnnnnn / STXnnnnnn). Max 9 AN. |
stuffingLocationEntity? | EntityReference | Scheduled Container Stuffing Location entity (SE50 "LG" only, Cargo Release). Full name and address via SE50-56 grouping. Optional when certifying for Cargo Release. |
sugarFee? | number | Sugar Fee (62-Record, code 079). Amount in USD with 2 implied decimals. |
textileCategory? | number | Textile quota category number for articles subject to quota/visa requirements. Used in conjunction with the visa number on the 52-Record. Maps to the 40-Record. |
textileDateOfExportation? | Date | For textile goods reported with a visa: the date the article was exported from the Country of Origin. Distinct from the general Date of Exportation (which is the departure date from the last foreign port). Maps to the 40-Record positions 19-24. |
tradeAgreement? | | "A" | "D" | "R" | "P" | "Y" | "CA" | "CO" | "IL" | "MA" | "PA" | "S" | "B" | "E" | "AU" | "B#" | "BH" | "C" | "C#" | "CL" | "J" | "J+" | "JO" | "JP" | "K" | "K#" | "KR" | "L" | "L#" | "MX" | "N" | "NP" | "OM" | "PE" | "P+" | "S+" | "SG" | "W" | "Z" | Code identifying an applicable trade agreement or special program that may reduce or eliminate duty and/or MPF (e.g., AU = Australia FTA, BH = Bahrain FTA, CA = NAFTA Canada, IL = Israel, JP = US-Japan). See AE Table 8 for the full list. Space fill if not applicable. Maps to the 40-Record positions 25-26. |
visa? | string | Standard visa number for quota/visa-controlled articles (e.g., textiles). Reported via a 52-Record with the appropriate License/Certificate/Permit Type Code. For non-standard visas, use type code '20'. |
watermelonFee? | number | Watermelon Fee (62-Record, code 104). Amount in USD with 2 implied decimals. |