Defensible HTS classification, in seconds.
CrossCode reads a commercial invoice and returns 10-digit HTS codes with the CBP CROSS ruling that supports each one. A licensed broker reviews every code before it leaves your shop.
In active pilots with licensed customs brokers in California and New York.
Laptop Computer, 14″ display, Intel Core i7
| # | Description | HTS Code | GRI | Citation | Confidence | Decision |
|---|---|---|---|---|---|---|
| 1 | Laptop Computer, 14″ display, Intel Core i7 | 8471.30.0100 | Rule 1 | N305124 | 96% | Accepted |
| 2 | ||||||
| 3 |
The problem
Classification is the most expensive billable hour in your shop.
The HTS schedule runs to 6,500 pages. Each heading requires consulting the schedule, the statistical notes, the section notes, and — for any ambiguous product — the GRI rules. A methodical broker spends 15 to 30 minutes per line item on a complex entry. At a fully-loaded billing rate of $85/hour, a 10-line invoice costs $300 in classification labor before a single form is filed. (HTS schedule page count: USITC 2024 edition.)
CBP's CROSS ruling database contains approximately 220,000 binding and informational rulings. Searching it manually for a prior ruling that supports your classification takes an expert; missing a contrary ruling that CBP's auditors will find takes seconds. In March 2025, CBP's focused assessment program recovered $310 million in unpaid duties — misclassification is the largest single driver. (Source: CBP Trade Statistics, Q1 2025.)
The compliance burden falls on the licensed CHB, not the importer. An incorrect classification, even if the importer provided inaccurate product descriptions, can result in a penalty under 19 U.S.C. § 1592 equivalent to the unpaid duties — plus interest — assessed against the licensed broker. 42% of CBP penalty cases cite classification errors as the primary violation. (Source: CBP Penalty Statistics, NCBFAA 2024 Annual Report.)
How it works
Three steps. Every code citable.
Upload
Paste invoice text or upload a PDF, image, or CSV. CrossCode extracts every line item, quantity, description, and country of origin. No template required.
Retrieve
For each line item, CrossCode runs a vector semantic search against the complete CBP CROSS corpus — returning the most relevant rulings by meaning, not keyword. GRI rules 1–6 are applied in sequence.
Cite
Every 10-digit HTS code is returned with the CBP CROSS ruling number that supports it, the GRI rule applied, and a confidence level. A licensed broker accepts, overrides, or flags each line before the packet is exported.
Compliance posture
Built for the audit, not the demo.
Every classification CrossCode produces is structured to survive a CBP focused assessment. Three principles govern every output.
Every code links to a verifiable CBP ruling.
Each 10-digit HTS code is paired with a CBP CROSS ruling number — binding or informational — drawn directly from the official corpus. The ruling number is rendered as a link to rulings.cbp.gov, where your counsel or CBP examiner can verify it in five seconds. There is no “AI said so” in a CrossCode output. There is a ruling number.
GRI rule 1–6 is named for every classification.
The General Rules of Interpretation are the legal framework for HTS classification. CrossCode applies them in sequence and identifies which rule resolved the classification. If a broker overrides a code, they record the rule they applied instead. The audit packet includes the GRI reasoning chain for every line item.
A licensed broker accepts, overrides, or flags before anything is exported.
CrossCode does not auto-submit. It does not file entries. It produces a proposed classification that a licensed CHB reviews line-by-line. The broker's decision — accept, override with their own code, or flag for supervisor review — is recorded in the audit packet. The licensed broker remains the approving authority on every code.
Data handling
What leaves your shop — and what doesn't.
CrossCode uses Anthropic Claude Sonnet 4.6 (with OpenAI GPT-4o-mini as a fallback) to apply GRI reasoning over the line items in your invoice. Both providers are accessed under enterprise zero-retention terms — your data is not used for training, and they retain nothing after the request returns. Before any payload leaves our perimeter, it passes through a sanitization chokepoint that enforces the following separation.
Sent for classification
Allowlist · enforced- Normalized line-item description
- Quantity and unit
- Country of origin
- Material composition
- Retrieved HTS candidates
- Retrieved CBP CROSS rulings
Never leaves your perimeter
Blocklist · enforced- Unit and total prices
- Supplier and manufacturer names
- Invoice and PO numbers
- Buyer name and address
- Bank account and routing info
- Payment and freight terms
- Raw invoice text and free-form notes
Pydantic-enforced allowlist
Every outbound payload is constructed as an immutable schema with extra="forbid". Any attempt to attach a blocked field — even by mistake — raises a validation error at the call site, not silently at the API boundary.
Append-only audit log
Every byte that crosses the perimeter is hashed and logged in a database table with no UPDATE or DELETE paths. You can subpoena the log if a CBP examiner asks what was sent.
Red-team tests in CI
The test suite injects PII marker strings into mock invoices and fails the build if any marker appears in an outbound payload. A regression in the sanitizer cannot ship to production.
Full security overview, including subprocessor list and SOC 2 status, is available on request.
What you get back
An audit packet, not just a code.
Every CrossCode export includes the HTS code, the CBP ruling that supports it, the GRI rule applied, and the broker's approval decision — formatted for attachment to the entry file.
CrossCode Classification Audit Packet
Invoice #INV-2024-1047 · exported 2024-03-14 09:22 UTC · reviewed and accepted by J. Martinez, CHB #123456
Laptop Computer, 14″, Intel Core i7, 16GB RAM, 512GB SSD
This packet constitutes the classification record for the referenced entry. Generated by CrossCode. Approved by licensed CHB on record.
ROI calculator
What your classification labor actually costs per item.
Adjust your monthly line-item volume, items per invoice, and your fully-loaded hourly cost.
Model assumptions
Manual time per line item: 8 minutes. (Industry data: entry writer at $34–40/hr burdened cost, 7–10 min/item for routine classification.)
Automation fraction: 85% of manual time eliminated. Remaining 15% is broker review — required before CBP submission.
CrossCode rate: $1.25/item for first 5,000 items/month (Growth tier), $0.90/item above 5,000 (Scale tier).
Market rate: Manual HTS classification costs $4–5/item in burdened broker labor. CrossCode delivers 75%+ cost savings with a legally defensible CBP-cited audit trail.
Entries / month
200
Labor cost saved / month
$19,267
CrossCode cost / month
$2,500
Net savings / month
$16,767
Net savings / year
$201,200
Payback period
3.9 days
Resources
Reference materials.
How GRI 1–6 actually works
A plain-language guide to the General Rules of Interpretation — the legal framework behind every HTS code. Written for entry writers, not lawyers.
What a defensible classification packet looks like
An annotated sample of a CrossCode-generated audit packet, with each element explained and its evidentiary value in a CBP focused assessment described.
CrossCode security overview
How invoice data is processed, what is retained, what is discarded, and what third-party services receive. One page, plain language.
See it on your own invoices.
30-minute call. We classify a real invoice from your shop while you watch.