Drawback Advisor
Finds recoverable duty across a book of cleared entries and prepares the claim.
Deterministic orchestrator. Surfaces CBP duty drawback opportunities on imports that have been (or could be) re-exported, destroyed, or used in manufacturing of exported goods. Up to 99% of duties + fees paid can be recovered under 19 USC 1313 / 19 CFR Part 190 (the TFTEA-modernized drawback regulation — Part 191 is the legacy rule, retained only for pre-2019 claims).
Most mid-market importers leave drawback on the table because the recordkeeping is punishing and broker contingency fees (15–25% of recovered amount) eat small claims. An automated agent flips that math — every dollar drawback-eligible becomes visible, classifiable, and one click from filing an electronic type-47 drawback entry in ACE (the modern equivalent of the legacy paper Form 7551).
Live now: import-side claim management + status workflow, export-record ingestion + an automatic import↔export matcher over the org's real cleared entries (unused-merchandise AND manufacturing/BOM), and generation of the ACE type-47 drawback entry package (electronic CBP Form 7551) that bundles matched claims by provision. Roadmap: actual ACE transmission to CBP (needs the broker-transmit connection).
What it does
Reads the importer's persisted entries (we already have these from the customs clearance flow) and identifies claims that fit one of four CBP-recognized drawback categories:
- Direct identification — same article imported and then exported (often re-export of unsold inventory).
- Substitution — similar commercial fungible goods substituted (8- digit HTS match works for most commodities).
- Manufacturing — imported merchandise consumed in production of a subsequently exported good (e.g. components into finished goods).
- Unused merchandise — imported and destroyed under CBP supervision without entering commerce.
For each match, computes the recoverable amount as 99% × (duty + fees) and tracks the claim through its lifecycle:
eligible → claimed (type-47 drawback entry filed in ACE) → paid (refund received)
↘ denied (CBP rejected)
↘ expired (5-year window closed)
Critical date: drawback must be filed within a uniform 5 years of the date of import (TFTEA standardized this; the old 3-year-from-export window survives only for the niche 1313(d) flavoring/spirits category). The agent surfaces every claim within 180 days of that 5-year window closing as "at risk of forfeiture."
Inputs
{
// Per claim — derived at seed time + updated as broker takes actions
shipmentId: string; // the original import
claimType: 'direct_id' | 'substitution' | 'manufacturing' | 'unused';
dutyPaidCents: number; // sum of HTSUS duty + Section 301 + IEEPA + Fentanyl
feesPaidCents: number; // MPF + HMF
importDate: string; // entry date — 5-year clock starts here
// Optional, set as broker progresses
exportDate?: string; // export proof; the 5-year clock runs from import (TFTEA)
cbpForm?: '7551' | '7552' | 'TFTEA';
cbpClaimNumber?: string;
}
It also accepts (shipped):
- Export records — the proof-of-export list (
ingest-exports), used for both 1313(j) unused-merchandise matching (Phase 1) and as the proof-of-export for finished manufactured goods (Phase 2). - Products + bills of materials (
ingest-products) — finished goods and their component parts, enabling manufacturing-drawback matching at the component level (19 USC 1313(a)/(b)).
Outputs
{
kpis: {
totalRecoverableCents: number; // eligible + claimed
paidYtdCents: number; // refunds received this calendar year
filedYtdCount: number; // claims filed this year
expiringSoonCount: number; // < 180 days to expiry
expiringSoonCents: number;
byStatus: Record<'eligible'|'claimed'|'paid'|'expired'|'denied', { count, cents }>;
};
claims: DrawbackClaim[]; // full list with status, dates, recoverable, CBP refs
}
Per-claim shape includes daysToExpiry, so the UI can sort/filter by urgency at a glance.
When it runs
- Drawback recovery screen — primary surface, accessible from the sidebar (DATA section between Suppliers and Post-entry audit).
- GET /api/customs-clearance/drawback — KPI + list endpoint, used by the screen and any importer-facing portal.
- POST /api/customs-clearance/drawback/:id/status — broker advances the claim (eligible → claimed → paid). Writes filed_at / paid_at timestamps.
Planned — the agent will also fire automatically (today the matcher is broker-initiated):
- On entry release/cleared — assess if drawback-eligible (origin, commodity, importer's typical export pattern).
- On export-record ingestion — match against eligible imports.
- Nightly cron — re-check expiry windows on open claims, flag any crossing the 180-day boundary.
Dependencies
- Cleared shipment data (from the customs-clearance module) with duty + fees breakdown.
- CBP ADCVD case database — to handle a special case where AD/CVD cash deposits ARE drawback-eligible. (Roadmap, Q4.)
- HTS Classifier (Agent #1) — for substitution-drawback matching at the 8-digit subheading.
- Document Extractor (Agent #2) — for richer export-record ingestion (commercial invoice + BoL extraction); today ingestion is CSV, the document-driven path is planned (Q4).
This is an orchestrator in the same family as Agent #7 (Audit Responder) and Agent #8 (Landed Cost Simulator) — it composes the output of other agents into a user-facing artifact.
What success looks like
| Goal | What we hold it to |
|---|---|
| Surface recoverable duty across the importer's book | Every drawback-eligible dollar of duty + fees on the org's cleared entries becomes visible, matched, and classified by provision |
| Flag claims nearing their filing deadline | Claims within 180 days of the 5-year import window surface prominently as "at risk of forfeiture" |
| One click from eligible to filed-ready | A matched claim bundles into an ACE type-47 entry package ready for broker review — no manual recordkeeping |
| Never auto-file | Filing always requires broker review + sign-off; the agent records the state change, it never transmits to CBP |
The industry-wide proxy: estimated $1–2B+ left on the table annually by US importers who don't file drawback they're entitled to. The agent's job is to make that money visible.
What it does NOT do
- Does NOT auto-file with CBP. Filing always requires broker review
- sign-off. The UI ships with "File" / "Mark paid" buttons that record the state change but don't transmit.
- Automatically matches imports to exports over the org's real cleared entries — this is live. You ingest export records and the matcher pairs them against eligible imports (unused-merchandise and manufacturing/BOM), computes the lesser-of recovery, and surfaces unmatched high-duty imports as leads. What's still planned is auto-triggering the match without a broker kicking it off (on entry release, and a nightly expiry sweep) — see the roadmap.
- Uses the TFTEA substitution standard: same 8-digit HTS — except when the import's 8-digit subheading is described as "other," in which case substitution requires a matching 10-digit classification (and neither described as "other"). The matching service enforces this.
- Applies the lesser-of rule: recovery is capped at 99% of the lesser of (a) duties/fees paid on the import, or (b) duties/fees that would apply to the exported article if it were imported. For same-HTS substitution these usually coincide; they diverge when trade-program stacking differs between the two.
- Does NOT handle complex substitution rules at the commercial-interchangeability standard (the old pre-TFTEA rule). We use the TFTEA "same 8-digit HTS" standard, which is the post-2018 default.
- Does NOT apply to all duty types. Some are non-drawback-eligible (e.g. some MPF amounts, certain Section 232 components). The recoverable formula uses 99% × (duty + fees) as a conservative ceiling; broker validates per-claim.
- Does NOT integrate with TFTEA accelerated payment (which lets importers receive 50% of expected refund up front against a bond). That's a Phase 3 partnership build with surety carriers.
- Manufacturing bill-of-materials matching is now shipped (Phase 2 —
matchManufacturingDrawback). What it does NOT yet do: multi-level (nested) BOMs, yield/scrap factors, or specific-manufacturing-ruling constraints — v1 is a single-level BOM with value-apportioned per-line duty; a broker validates each claim.
Why this is a high-leverage agent
Most agents we ship are cost-aware — they help the broker file correctly the first time. This is the only agent that's revenue-aware — it surfaces cash that's already been paid to CBP and can be recovered.
For an importer doing $50M+ in dutiable imports per year:
- Conservative recovery rate: 5–10% of duty paid
- On $5M annual duty exposure: $250K–$500K recovered per year
- Broker contingency fee at industry standard 15–25%: $40K–$125K
- Importer net: $200K–$400K/yr
That's a renewable line item, year-over-year, that didn't exist before the agent. It changes the broker-customer conversation from "fee for service" to "revenue share on recovered duty."
Roadmap
- Phase 1 — Claims workflow. Live. Persisted claims, broker workflow (file → paid), KPI screen, manual broker review.
- Phase 1 — Unused-merchandise matcher. Live. Real export-record ingestion (CSV) plus a runtime import↔export matcher over the org's actual cleared entries: direct-ID (10-digit) vs substitution (8-digit, guarding
.00"other" baskets), lesser-of recovery, org-scoped writes, unmatched high-duty imports surfaced as leads.ingest-exports+match-drawbackCLIs,POST /drawback/match. - Phase 2 — Manufacturing / BOM matcher. Live. Products + BOMs (
ingest-products) explode against the org's finished-good exports; imported components are attributed to exported goods with value-apportioned per-line duty, never over-claiming the imported quantity.match-manufacturing-drawbackCLI,POST /drawback/match-manufacturing. Next: multi-level BOMs, yield/scrap factors, specific-manufacturing-ruling constraints. - Phase 3 — ACE type-47 entry generation. Live. Filable claims are bundled by 19 USC 1313 provision into an ACE type-47 entry (electronic CBP Form 7551); the transmittable CATAIR-style message is generated + persisted and the bundled claims flip to filed.
generate-drawback-entryCLI,POST /drawback/entries, Entries tab. Honest boundary: this GENERATES the entry package; it does not transmit to CBP, so the CBP entry + claim numbers stay null until the broker-transmit connection exists.
Planned, after the above:
- Q4 2026 — Richer export-record ingestion via the Document Extractor (Agent #2) — BoLs and AES filings, not just CSV.
- Q4 2026 — ACE transmission so entries actually file with CBP (the remaining Phase 3 piece — needs the broker's certified ABI connection).
- Q1 2027 — TFTEA accelerated payment integration (surety carrier partnership) — 50% of expected refund up front against a bond.
Strategic positioning
The Drawback Advisor turns Commers from "AI-native customs broker software" into "AI-native trade financial optimization." Same data, same agents, new surface — but the conversation with the importer shifts from "we save you time" to "we recover money you'd otherwise forfeit."
For a Port of Miami audience: their importer base running cleared entries through Miami → Latin America re-exports is exactly the profile where drawback matters most. Hub-and-spoke trade flows are drawback-heavy by structure. Pitching this as "your importers can now see and recover the drawback they're entitled to on Miami-routed cargo" is a real differentiator.
Put your own book of entries through Commers.