PRODUCT • DOCUMENT INTELLIGENCE

Upload a document. Get verified evidence.

BorderAudit's AI extracts every relevant field from your trade documents — invoices, Statements on Origin, supplier declarations — then cross-references against your customs data and validates against trade agreement requirements. In seconds, not hours.

AI-powered extraction
Automated cross-referencing
HMRC-ready evidence

Document extraction result

AI VERIFIED

SUPPLIER INVOICE — INV-2025-0847

Invoice numberINV-2025-0847✓ VERIFIED
Invoice date2025-01-14✓ VERIFIED
Total value€47,250.00✓ VERIFIED
REX numberATREX-DE-2019-04521✓ VERIFIED
Exporter nameMueller Textilien GmbH✓ VERIFIED
Origin statementEU originating (TCA Art. 56)EXTRACTED
HS code (declared)6204.62.31⚠ MISMATCH

⚠ Classification alert: Declared HS code 6204.62.31 does not match supplier's product description “knitted cotton trousers” — expected heading 6103 or 6104.

What the AI extracts and verifies

Each document type triggers a different extraction and validation pipeline — matched to trade agreement requirements.

Supplier invoice extraction

AI reads your supplier invoices and extracts every field that matters for customs compliance — then cross-references each one against your declaration data.

Structured field extraction

Invoice number, date, value, currency, line items, supplier details, EORI numbers — extracted with layout-aware AI that handles real-world document variation.

Declaration cross-referencing

Extracted values compared against your HMRC customs records. Mismatches between invoice values and declared customs values are flagged immediately.

Fuzzy matching for real-world documents

Supplier names, addresses, and reference numbers are matched with intelligent tolerance — handling abbreviations, formatting differences, and OCR artefacts.

page.tsx

globals.css

import { cn } from "@/lib/utils";
import clsx from  "clsx";
import { PropsWithChildren } from "react";

type NoteProps = PropsWithChildren & {
 title?: string;
 type?: "note" | "danger" | "warning" | "success";
 className?: string;
 };

export default function Note({
 children,
 title = "Note",
 type = "note",
 className,
 }: NoteProps ) {
 const noteClassNames = clsx({
 "dark:bg-stone-950/25 bg-stone-50": type == "note",
 "dark:bg-red-950 bg-red-100 border-red-200 dark:border-red-900":
 type === "danger",
 "dark:bg-orange-950 bg-orange-100 border-orange-200 dark:border-orange-900":
 type === "warning",
 "dark:bg-green-950 bg-green-100 border-green-200 dark:border-green-900":
 type === "success",
  });
@import "tailwindcss";

@plugin "tailwindcss-animate";

@import "../styles/syntax.css" layer(utilities);
@import "../styles/theme.css" layer(utilities);

@custom-variant dark (&:where(.dark, .dark *));

@theme inline {
 --color-brand: var(--brand);
 --color-brand-foreground: var(--brand-foreground);
 --color-light: var(--light);
 --color-light-foreground: var(--light-foreground);
 --color-background: var(--background);
 --color-foreground: var(--foreground);
 --color-sidebar-ring: var(--sidebar-ring);

What document intelligence catches

Value mismatches

Invoice says €47,250 but the declaration shows €42,750. A discrepancy that would trigger an HMRC query — or invalidate a preference claim entirely.

Classification conflicts

Supplier describes "knitted cotton trousers" but the declaration uses a woven garment HS code. Wrong chapter, wrong duty rate, wrong preference eligibility.

Revoked REX registrations

The Statement on Origin cites a REX number that was revoked 3 months ago. Without live registry validation, this becomes a rejected claim.

Invalid origin statement text

The origin declaration uses outdated wording that doesn't match the TCA Article 56 requirements. Technically non-compliant even if the goods genuinely qualify.

Exporter name mismatches

The invoice says "Mueller Textilien GmbH" but the REX registry has "Müller Textil GmbH". Fuzzy matching catches these — manual checking might not.

Expired certificates

A EUR.1 certificate was issued 14 months ago and has expired. The goods still qualify but the preference claim needs a replacement document.

Three steps to verified evidence

1. Upload your documents

Drag and drop supplier invoices, Statements on Origin, EUR.1 certificates, or any trade document. PDF, image, or scan — the AI handles all formats.

2. AI extracts and cross-references

Within seconds, every relevant field is extracted, matched against your customs declaration data, and validated against the applicable trade agreement requirements.

3. Review flagged discrepancies

Verified fields are marked green. Mismatches and missing data are flagged with specific explanations. Fix issues before they become rejected reclaims.

Frequently asked questions

Stop finding discrepancies after HMRC does