Cookie preferences
We use cookies for essential functionality. With your consent, we also use analytics (Google, PostHog) and marketing pixels (Meta, LinkedIn) to improve LandedFees. You can withdraw consent anytime in Settings.
Product
What shipped, when. Every feature, fix, and improvement in one feed. Last updated August 24, 2026.
Deterministic parser replaces the CBP Form 7501 extraction stub. Every 7501 field (entry number, importer, HTS lines, duty totals) is now parsed rule-based rather than inferred, cutting round-trips to the vision model and shrinking p95 extract latency from 4.1s to 0.6s. Category: engine.
Durable per-processor GDPR erasure queue (LFQG-110). Every
external processor (Dodo, Brevo, Resend, PostHog, GA4, Meta, LinkedIn)
gets its own row in deletion_jobs with attempts + exponential backoff
Vendor artifact cleanup on consent revocation (LFQG-111). Withdrawing analytics or marketing consent now flushes the paired cookies, localStorage keys, and live SDK state in the same tick as the cookie write so nothing lingers past the decision.
Loading, error, and global-error route boundaries
(LFQG-113). Every App Router segment now has an explicit loading.tsx
and error.tsx, so a slow query or unhandled throw renders a scoped
fallback instead of the browser's default white screen.
SaaS baseline wave. Six core surfaces shipped in one merge: audit log, seat add-on checkout, dunning grace window, RBAC enforcement on write endpoints, dashboard billing page, and role escalation guard on team invites (LFQG-101 through LFQG-106).
Official SDKs for the LandedFees API. TypeScript
package published as @landedfees/sdk, Python as landedfees. Both
wrap the five v1 endpoints (calc, calc/bulk, classify, compare,
rates) with typed request and response models.
Continuous audit engine. Toggle nightly re-audit on any
saved calculation from /dashboard/settings/continuous-audit; every
run writes a history row so trends across tariff-regime shifts are
visible without re-uploading invoices.
CBAM projection layer for EU-destined imports in chapters 25, 27, 31, 72, 73, 76. The calculator now flags quarterly-report obligations and estimates default embedded emissions where declarations are not yet available.
Five new native customs form parsers land: CBSA B3 (Canada), EU SAD, IN Bill of Entry, MX Pedimento, AU N10 Import Declaration. Every parser is deterministic PDF-first (no vision round-trip) and populates the audit engine directly.
Adversarial devil's-advocate pass on the HS classifier. When two classifier heads agree with high confidence, a third adversarial pass looks for confident-agreement traps (typically chapter-boundary cases the training data over-represented) before emitting the final code.
Mobile responsive sweep: coverage matrix now stacks to cards under 768px, icon tap targets bumped to 44 by 44 minimum, horizontal-scroll fade indicators added on lists that overflow.
Findings per-row Resolve and Route-to-task actions on
the /findings list. Every duty-leakage or misclassification finding
can now be closed in place or forwarded to the tasks queue in one
click instead of pivoting through the detail page.
Currency handling normalized. formatMoneyCents
and formatMoneyConverted promoted to lib/utils/currency and every
dashboard tile now uses narrowSymbol formatting so INR, JPY, CNY
render without wide-fallback glyph swaps.
Legacy sidebar labels renamed to match the DcAppShell taxonomy, so the enterprise shell and legacy shell never disagree on a nav destination for the same route.
Reversed the 2026-07-25 duplicate-content demotion. Bare
paths are now the canonical for English (dropping the /en prefix
Google was seeing as a duplicate cluster), non-en pages carry an
explicit noindex until real per-locale translations ship, and the
lane and rulings sitemaps drop the /en/ prefix to match.
Session wave: audit engine tightening, marketing readiness pass, and anonymity hardening across public leaderboards so no seed-user names or emails leak from historical calculations.
Section 232 14-derivative comment window content pack. Five long-form guides cover the T-9 importer playbook, aluminum powder inclusion analysis, brass wind-instrument scope, USTR exemption Annex key HS codes, and a Section 122 sunset-plus-25 retrospective on the revised duty stack.
Four direct-fetch tariff ingesters land: GCC common external tariff, EU TARIC, CARICOM CET, and WITS TRAINS. GitHub Actions crons refresh each on its own cadence so residual coverage gaps get filled without a manual re-run.
Enterprise design-system phase 3. Design tokens,
primitives, AppShell, sidebar, command palette, and breadcrumbs
land as one wave. Every authed route now composes against the same
chrome and a Cmd+K search trigger.
Trade Decision Graph writers, queries, and audit route wire-up. Every classification, valuation, and origin decision is written to the graph so downstream audits can trace an entry back to the specific rate rows, ruling citations, and engine version that produced it.
USITC AD/CVD ingest workflow ships behind a temporary schedule pause. The Azure egress bypass for Akamai's origin fence works locally; the scheduled run stays off until we confirm the deployed runner IP is in the accepted range.
Missing something you expected to see? Email info@growyourbrand.io. For API deprecations specifically, see the developer changelog.