How the work gets done

Drawback Advisor

Finds recoverable duty across a book of cleared entries and prepares the claim.

8 min readUpdated Jul 17, 2026

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:

  1. Direct identification — same article imported and then exported (often re-export of unsold inventory).
  2. Substitution — similar commercial fungible goods substituted (8- digit HTS match works for most commodities).
  3. Manufacturing — imported merchandise consumed in production of a subsequently exported good (e.g. components into finished goods).
  4. 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

GoalWhat we hold it to
Surface recoverable duty across the importer's bookEvery drawback-eligible dollar of duty + fees on the org's cleared entries becomes visible, matched, and classified by provision
Flag claims nearing their filing deadlineClaims within 180 days of the 5-year import window surface prominently as "at risk of forfeiture"
One click from eligible to filed-readyA matched claim bundles into an ACE type-47 entry package ready for broker review — no manual recordkeeping
Never auto-fileFiling 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-drawback CLIs, 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-drawback CLI, 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-entry CLI, 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.

Ready to see it live?

Put your own book of entries through Commers.