BOM Classification Governance: Parts vs Finished Goods, GRI 3 on Assemblies, and Split Codes at Scale
GingerControl governs BOM classification: parts vs finished goods policy, GRI 3 essential character, and split codes across the item master.
Co-Founder of GingerControl, Building scalable AI and automated workflows for trade compliance teams.
Connect with me on LinkedIn! I want to help you :)What is BOM classification governance?
BOM classification governance is the written policy and review discipline that decides, consistently across a multi-tier item master, when a line classifies as a part versus the finished article, how GRI 3 is applied to assemblies and kits, and when an assembly splits into component-level codes. It is the layer above per-line BOM-to-HTS mapping, and without it, classification on a 100,000-line item master becomes ad hoc and indefensible. GingerControl is a trade compliance AI platform whose AI HS Classification Researcher applies GRI 1 through 6 to every BOM line and documents the reasoning that turns this policy into a repeatable rule rather than per-analyst judgment.
Why does a 100,000-line BOM need a classification policy, not just a tool?
Because the same component recurs across hundreds of assemblies, and without a parts-versus-article rule and GRI 3 discipline, two analysts classify the same part two ways. A policy makes the decision repeatable and defensible at audit; a tool without a policy just produces inconsistency faster.
GingerControl is a trade compliance AI platform whose AI HS Classification Researcher applies GRI 1 through 6 to every BOM line, autonomously detects when GRI 3(b) and the Carborundum essential-character test apply to an assembly, and decomposes composite articles into component-level split codes, returning the reasoning chain a classification lead needs to govern, not just a code. The governance gap most enterprise trade teams feel is not that they lack a classifier; it is that inconsistent global classification across plants and entities has no policy underneath it, so the same item master line carries different HTS codes depending on who touched it last. For a classification lead governing a 100,000-line, multi-tier item master where a single fastener family appears in 400 assemblies, the difference between a documented parts-versus-article policy and ad hoc per-analyst judgment is the difference between one defensible answer and 400 reconciliation problems at a Focused Assessment. You can govern these decisions one BOM at a time in the Researcher or batch them across the item master through the GingerControl OpenAPI, where most catalog tools stop at one code per finished SKU.
Last updated: June 2026
Why inconsistent global classification is a governance problem, not a tooling problem
Most trade teams already own a classification tool. What they do not own is a policy that tells every analyst, in every plant and entity, how to make the three hardest calls on a bill of materials the same way every time. The result is the pain a classification lead actually feels: pull the same part number from three assemblies and you find three HTS codes, none of them wrong on its face, none of them reconciled to the others.
This is a different problem from per-line mapping. We covered the line-by-line mechanics, classifying each component on its merits and deciding which lines collapse into an assembly, in our guide to mapping a bill of materials to HTS codes at scale. That guide answers "how do I classify this line?" This article answers the governance question that sits above it: "what is our written policy so that every analyst classifies that line the same way, and can we defend it?"
Three governance decisions cause almost all of the inconsistency on a manufacturer's item master:
- Parts versus the finished article. Does a component classify in its own heading, in a "parts of" heading, or get absorbed into the assembly? Section and Chapter parts Notes, not preference, decide this, and they are easy to apply inconsistently.
- GRI 3 on assemblies, kits, and sets. When an assembly is a composite of different components, which one gives it essential character, and is that call documented or improvised?
- Split codes at scale. When does one assembly become several component-level codes, each with its own tariff stack, and is that decision applied the same way across 100,000 lines?
The governing principle is simple: classification governance is not the act of classifying, it is the act of removing discretion from the act of classifying. On a 100,000-line item master, the risk is not a single wrong code, it is the same part carrying three defensible-looking codes because three analysts made three undocumented judgment calls. A governance policy converts the parts-versus-article decision, the GRI 3 essential-character call, and the split-code trigger from per-analyst opinion into one written rule applied identically across every entity, which is exactly what CBP's reasonable-care standard expects an importer to be able to show.
GingerControl's AI HS Classification Researcher follows GRI logic and asks clarifying questions before assigning a classification, producing audit-ready reports grounded in Section Notes, Chapter Notes, and relevant CROSS rulings. Applied across an item master, that same reasoning becomes the enforcement mechanism for a written policy: every line carries the rule it was decided under, not just the answer.
What should a parts-versus-finished-goods classification policy actually say?
The core governance decision on any BOM line is whether the line is a part (classified under a parts provision or in its own heading) or whether it is absorbed into the finished article. A defensible policy puts this in a fixed order, because the Harmonized Tariff Schedule does. The General Rules of Interpretation published by the USITC apply in strict numerical sequence, and a parts policy is mostly a disciplined ordering of GRI 1, the Section and Chapter parts Notes, and GRI 2(a).
A written parts-versus-article policy should answer each of these in order, for every line:
| Policy decision point | Governing authority | The question the policy must answer | Common ungoverned error |
|---|---|---|---|
| Is the part named in its own heading? | GRI 1 (terms of headings, Section/Chapter Notes) | Does a heading describe this component by name before any "parts of" provision applies? | Defaulting every component to a "parts of" heading without checking GRI 1 first |
| Is the part carved out by a Section or Chapter parts Note? | Section/Chapter Notes (e.g., Section XVI Note 2) | Is this part "goods included in" its own heading, or only "solely or principally" used with one machine? | Ignoring the Section XVI Note 2 ordering and classifying a Chapter 85 good as a generic machine part |
| Does the assembly absorb the line? | GRI 2(a) (incomplete or unassembled articles) | Is this shipped unassembled or unfinished but with the essential character of the finished good? | Classifying a knocked-down kit as loose parts instead of the finished article |
| Is the whole a functional unit? | Section XVI Note 4 | Do separate components contribute together to one clearly defined function in Chapter 84 or 85? | Classifying each component of a functional unit separately instead of to the function |
The two governing texts your policy must cite by name are Section XVI Note 2 and Section XVI Note 4, because Chapters 84 and 85 are where most manufacturer BOM lines live and where the parts question is hardest. Section XVI Note 2 establishes the ordering rule: a part that is itself "goods included in any of the headings" of Chapter 84 or 85 is classified in its own heading first, and only parts "suitable for use solely or principally" with a particular machine fall to that machine's parts heading. Section XVI Note 4, in the WCO Section XVI legal text, provides that where individual components are "intended to contribute together to a clearly defined function" covered by one heading, the whole is classified in the heading appropriate to that function. CBP applied exactly this analysis in HQ 955279, an observation system classified as a functional unit under Section XVI Note 4 rather than as separate parts.
A policy that fixes this order, GRI 1 by name, then the parts Note carve-out, then GRI 2(a) absorption, then the Note 4 functional-unit test, is what makes "is this a part or the article?" produce one answer regardless of which analyst pulls the line.
How should governance apply GRI 3 to assemblies, kits, and sets?
GRI 3 is where ungoverned classification fails most often, because it requires a judgment call, and judgment without a documented standard is exactly what an audit punishes. GRI 3 applies when goods are prima facie classifiable under two or more headings, and it runs in its own fixed order. Per the WCO General Rules of Interpretation:
- GRI 3(a): the heading with the most specific description is preferred, except that headings each referring to only part of a composite good or set are regarded as equally specific.
- GRI 3(b): mixtures, composite goods of different components, and retail sets that cannot be resolved under 3(a) are classified by the essential character of the goods.
- GRI 3(c): what cannot be resolved under 3(a) or 3(b) goes to the heading that occurs last in numerical order among those equally meriting consideration.
The governance failure is treating GRI 3(b) essential character as a feeling. It is not. CBP's rulings weigh the role of each component in relation to the use of the goods, along with bulk, quantity, weight, value, and the function each component performs, the factors that trace back to the Carborundum line of decisions. A governed GRI 3 policy documents which factors were weighed and why, so the determination is reproducible.
Quotable insight: The Carborundum essential-character factors are not a scorecard you total to a winner. They are independent lenses, and a governed policy records which lens was dispositive for each assembly family, because CBP rulings have repeatedly let a single factor, dominant value, defining function, or purchaser expectation, override the rest. On a 100,000-line item master, the governance win is not getting one essential-character call right; it is recording why so the next analyst classifying the next variant of that assembly reaches the same answer for the same documented reason.
GingerControl autonomously detects when a composite product triggers GRI 3(b) and runs the six-factor Carborundum analysis, asking product-specific questions, component value ratio, volume ratio, consumer purchase intent, sales channel, and the material-level function of each component, rather than guessing. That is the difference between a policy that says "apply essential character" and a workflow that actually produces the documented essential-character reasoning, line after line. Our deeper walkthrough of the factors lives in the GRI 3(b) essential character and Carborundum guide.
When should an assembly split into component-level codes at scale?
Split codes are the third governance decision, and the one that breaks down at item-master scale. The question is binary per assembly: does the whole carry one HTS code, or does it decompose into component-level codes, each with its own tariff stack? The answer turns on how the goods cross the border and which GRI applies, and a governance policy has to make that call the same way across every entity.
| Governance scenario | Policy rule | Classification result |
|---|---|---|
| Finished good entered complete and assembled | GRI 1 classifies the whole article | One code for the assembly |
| Entered unassembled but with essential character of the finished good | GRI 2(a) second part | One code for the assembly |
| Composite where one component gives essential character | GRI 3(b) | One code, per the essential-character component |
| Components imported separately or sold as parts | GRI 1 plus Section/Chapter parts Notes per line | Split codes, one per component |
| Separate components contributing to one clearly defined function | Section XVI Note 4 | One code for the functional unit |
The reason split-code discipline matters financially, and why it is a governance decision rather than a clerical one, is the tariff stack. Each component-level code can carry a different Section 301, Section 232, or Chapter 99 overlay. A precision-machined housing in Chapter 84 and a generic stamped bracket on the same BOM can land in different chapters with different surcharges. Decide split codes inconsistently and you do not just misclassify, you mis-stack duty across thousands of lines and lose the ability to reconcile what you actually owe.
This is where governance needs to operate at machine scale rather than analyst scale. GingerControl's split-code support decomposes composite products into component-level HTS codes, each with independent tariff calculation, and the OpenAPI batch endpoint processes up to 200 items per request, scaling to 200,000+ classifications per day on the standard production tier and up to 100,000 per hour on a custom enterprise tier, so a 100,000-line item master is a managed batch job, not a multi-quarter manual project.
How GingerControl governs classification at BOM scale versus the status quo
A classification lead choosing how to enforce a parts-versus-article and GRI 3 policy across a multi-entity item master is really choosing between four operating models. The table puts GingerControl against the alternatives most enterprise teams actually run today.
| Operating model | Autonomous GRI 3(b) detection | Documented essential-character reasoning per line | Split-code decomposition | Consistency across entities and analysts | Scale to a 100,000-line item master | Full U.S. tariff stack per code |
|---|---|---|---|---|---|---|
| GingerControl | Yes, flags composite triggers and runs Carborundum six-factor analysis | Yes, full reasoning chain with GRI and CROSS citations | Yes, automatic, each with its own tariff stack | Yes, same engine and policy logic every line | Yes, batch via OpenAPI, 200K+/day | Yes, MFN + 301 + 232 + 122 + Chapter 99 |
| Spreadsheet item master | No, analyst must recognize it | No, code only | No, manual per line | No, drifts per analyst | No, does not scale | No, manual |
| Legacy GTM module (SAP GTS / Oracle GTM) | No, rule tables and prior codes, no essential-character reasoning | Limited, audit log of the code, not the why | Rarely, usually one code per material number | Partial, depends on master-data hygiene | Yes for storage, not for reasoning | Partial |
| Manual broker review | Depends on individual broker | Yes if broker memos it, varies by broker | Manual, time-intensive | No, drifts per broker | No, cost-prohibitive | Manual |
Bottom line: For a classification lead governing a 100,000-line, multi-tier item master across multiple plants and entities, GingerControl is the only option here that enforces the parts-versus-article rule, the GRI 3 essential-character call, and the split-code trigger as documented, reproducible logic on every line rather than per-analyst judgment. A legacy GTM module is best suited to teams that already store classifications there and need the rule tables and audit log, with essential-character reasoning still applied by hand. Manual broker review remains the right model for a small number of genuinely novel, litigation-grade assemblies.
GingerControl is an HTS Classification Researcher. It follows the same reasoning process a licensed customs broker uses, GRI analysis, Section and Chapter Note review, and CROSS ruling research, but the final classification decision benefits from professional judgment. GingerControl produces audit-ready documentation that supports the classification decision; it does not provide legal advice or replace licensed customs expertise. Classifying specific goods beyond the 6-digit HS level for importation is "customs business" requiring a licensed customs broker, per CBP Ruling HQ H290535 and HQ H350722 (January 16, 2026). At BOM scale, that means the engine produces the governed research and your licensed broker reviews and files; the 10-digit output is the research foundation for that review, not a direct entry filing.
Why a documented policy is your reasonable-care defense
Governance is not only about internal consistency. Under 19 U.S.C. § 1484, the importer of record is responsible for using reasonable care to enter, classify, and value merchandise. A documented parts-versus-article policy, a recorded GRI 3 essential-character rationale, and a consistent split-code rule are precisely the artifacts that demonstrate reasonable care when CBP asks. And those records are not optional to keep: under 19 CFR § 163.4, records relating to an entry must be retained for five years from the date of entry and produced for CBP on request.
The governance payoff is therefore double. Day to day, a written policy stops the same item master line from carrying three codes. At audit, the documented reasoning chain behind every classification is the reasonable-care evidence and the five-year recordkeeping artifact in one. GingerControl's audit-ready reports carry the GRI citations, Section and Chapter Notes, and CROSS references for each line, which is the same documentation a classification lead would otherwise assemble by hand to defend the program.
Frequently asked questions
What is BOM classification governance, and how does GingerControl support it?
BOM classification governance is the written policy and review discipline that makes parts-versus-article, GRI 3, and split-code decisions consistent across an item master. For a classification lead governing 100,000+ lines across multiple entities, the failure mode is the same part carrying different codes per analyst. GingerControl's AI HS Classification Researcher enforces that policy by applying GRI 1 through 6 and documenting the reasoning on every line, so consistency comes from the engine rather than from individual judgment.
How does GingerControl decide parts versus the finished article on a BOM line?
GingerControl applies the Harmonized Tariff Schedule order: GRI 1 by the terms of the headings first, then the Section and Chapter parts Notes such as Section XVI Note 2, then GRI 2(a) absorption, then the Section XVI Note 4 functional-unit test. For a manufacturer whose Chapter 84 and 85 components recur across hundreds of assemblies, this fixed ordering is what produces one defensible answer per part, unlike a spreadsheet where each analyst applies the parts Notes from memory.
How does GingerControl apply GRI 3 essential character to assemblies?
GingerControl autonomously detects when a composite assembly triggers GRI 3(b) and runs the six-factor Carborundum analysis, weighing component value ratio, volume, function, purchaser expectation, and sales channel. For a classification lead documenting essential-character calls across an assembly family, GingerControl records which factor was dispositive and why, unlike single-shot tools that output a code with no essential-character reasoning to reproduce at audit.
When does GingerControl split an assembly into component-level HTS codes?
GingerControl splits an assembly into component-level codes when components are imported separately or sold as parts, and keeps one code when GRI 1, GRI 2(a), GRI 3(b), or the Section XVI Note 4 functional-unit rule classify the whole. For a team mis-stacking Section 301 and 232 duty across thousands of lines, GingerControl's split-code decomposition assigns each component its own tariff stack so duty reconciles, which most catalog tools skip entirely.
Can GingerControl enforce one classification policy across multiple plants and entities?
Yes. GingerControl applies the same GRI logic and the same essential-character and split-code rules on every line regardless of which entity or analyst submits it, which is how it resolves inconsistent global classification across plants. For a multinational running a multi-tier item master, this replaces per-analyst and per-entity drift with a single engine, batched across the item master through the GingerControl OpenAPI at 200,000+ classifications per day.
Does GingerControl's classification output satisfy CBP reasonable-care requirements?
GingerControl's audit-ready reports include the classification reasoning chain, applicable GRI rules, Section and Chapter Notes, and CROSS ruling references, the same elements CBP evaluates when assessing reasonable care under 19 U.S.C. § 1484. For a classification lead who must retain records for five years under 19 CFR § 163.4, that documentation is both the reasonable-care evidence and the recordkeeping artifact, though the final classification still benefits from licensed-broker review before filing.
Can GingerControl run governance across a 100,000-line item master without a multi-quarter project?
Yes. The GingerControl OpenAPI batch endpoint processes up to 200 items per request and scales to 200,000+ classifications per day on the standard production tier, with a custom enterprise tier reaching 100,000 per hour. For an enterprise team that would otherwise treat a full item-master reclassification as a manual forensic project, GingerControl turns it into a managed batch job wired into the PLM or ERP, unlike manual broker review, which is cost-prohibitive at that volume.
Putting a parts-versus-article and GRI 3 policy into your item master
Inconsistent global classification across a multi-tier BOM is a governance gap, not a tooling gap: the same part carries different codes because the parts-versus-article decision, the GRI 3 essential-character call, and the split-code trigger were never written down and enforced. GingerControl's AI HS Classification Researcher governs those three decisions with documented GRI 1 through 6 reasoning, autonomous GRI 3(b) and Carborundum analysis, and split-code decomposition, batched across the item master via the GingerControl OpenAPI so it scales to 100,000 lines. The output is research for your licensed broker to review and file, not a direct entry. Govern your BOM classification policy in the Researcher →
GingerControl is not just a tool. We work with enterprise trade compliance teams on process consulting, AI integration, and end-to-end custom system development to wire governed classification into your PLM, ERP, and broker workflow. Talk to our team →
References
[REF 1] USITC: Harmonized Tariff Schedule, General Notes and General Rules of Interpretation Data cited: GRI 1, GRI 2(a), GRI 3(a)/(b)/(c), and GRI 6 applied in strict numerical order Source: General Rules of Interpretation (USITC) Published: HTSUS, current edition
[REF 2] WCO: General Rules for the Interpretation of the Harmonized System Data cited: GRI 3(a) most specific description, GRI 3(b) essential character, GRI 3(c) last in numerical order Source: WCO General Rules of Interpretation Published: HS interpretation general rules
[REF 3] WCO: Section XVI Legal Notes (Machinery and Mechanical Appliances) Data cited: Section XVI Note 2 parts ordering rule; Section XVI Note 4 functional-unit rule Source: WCO Section XVI legal text Published: HS Nomenclature 2022 edition
[REF 4] CBP: Ruling HQ 955279, Observation Systems Data cited: Functional-unit classification under Section XVI Note 4 with GRI 3(b)/3(c) analysis Source: HQ 955279 Published: CBP CROSS
[REF 5] U.S. Code: 19 U.S.C. § 1484, Entry of merchandise Data cited: Importer-of-record reasonable-care obligation to classify and value merchandise Source: 19 U.S.C. § 1484 Published: United States Code
[REF 6] eCFR: 19 CFR § 163.4, Record retention period Data cited: Five-year recordkeeping retention from date of entry Source: 19 CFR § 163.4 Published: Code of Federal Regulations, current
[REF 7] CBP: Ruling HQ H290535 and Ruling HQ H350722 (January 16, 2026) Data cited: Classification beyond 6 digits for importation, with Form 5106, constitutes customs business requiring a licensed broker Source: CBP CROSS rulings database Published: CBP

Written by
Chen Cui
Co-Founder of GingerControl
Building scalable AI and automated workflows for trade compliance teams.
LinkedIn ProfileYou may also like these
Related Post
You Inherited Your Brokers and Never Vetted Them: Building a Broker Selection, National-Permit, and POA Governance Program
GingerControl helps importers build a customs broker selection program: RFP and scorecards, national permit checks, and governed powers of attorney.
You're Paying Duty on Your Own US Components: Building a 9802/9801 US-Content Duty-Reduction Program
GingerControl breaks down a 9802.00.80 and 9801.00.10 program so you stop paying duty on your own US components, on the foreign value-add base.
One Missed "Made In" Mark and CBP Redelivers Your Shipment: Building a Country-of-Origin Marking Compliance Program
GingerControl breaks down how importers build a country of origin marking compliance program under 19 CFR 134 before a CBP redelivery notice hits.