Customs declaration OCR

Declarations in. Goods items out.

Upload export, import and transit declarations as PDFs or scans, forward them by e-mail or send them to the API. Parsevix returns the MRN, the parties, the route, the invoice amount and every goods item with its commodity code, origin and masses as structured data.

  • MRN, parties and route as fields
  • Every goods item with code, origin and masses
  • Your own fields, defined once

No credit card · 20 free pages every month

The fields to define

Your customs schema, set up once.

There is no ready-made Customs Declaration category: you create one in your project, with fields like these 31. Every declaration after that comes back in the same shape. Without a category, Parsevix can extract without a schema and use the declaration's own labels as keys.

Dates come back as ISO dates, masses and amounts as plain numbers, codes as printed. A field the declaration doesn't contain, such as import VAT on an export, is left out, not guessed.

Declaration

  • declaration_typestring
  • declaration_numberstring
  • declaration_datedate
  • customs_officestring
  • declarant_namestring

Exporter

exporter_infoobject

  • exporter_namestring
  • exporter_addressstring
  • exporter_eoristring

Consignee

consignee_infoobject

  • consignee_namestring
  • consignee_addressstring
  • consignee_idstring

Route and transport

  • country_of_dispatchstring
  • country_of_destinationstring
  • delivery_termsstring
  • transport_modestring
  • transport_documentstring

Invoice and totals

  • invoice_numberstring
  • invoice_amountnumber
  • currencystring
  • total_packagesnumber
  • total_gross_massnumber

Goods items

goods_itemsarray

  • descriptionstring
  • commodity_codestring
  • country_of_originstring
  • procedure_codestring
  • packagesnumber
  • gross_massnumber
  • net_massnumber
  • customs_valuenumber

Duties (import)

  • customs_dutynumber
  • import_vatnumber

Made for trade documents

Every declaration, the same fields.

Declarations reach you from forwarders, brokers and customs systems, as PDFs, printouts and scans. This is what Parsevix does with them.

01

Goods items with their codes

Each goods item comes back with its description, commodity code, country of origin, procedure code, packages, gross and net mass and value, in the declaration's order, ready to check against your product data.

Parsevix reads the codes as printed. It doesn't classify goods, check commodity codes or work out duties.

  • 02

    Export, import, transit

    The declaration type comes back as a field, so export declarations, import declarations, transit documents and accompanying documents can share one category.

  • 03

    Every party with its numbers

    Exporter, consignee and declarant come back with their names, addresses and customs numbers such as the EORI number, as the declaration prints them.

  • 04

    Masses and packages as numbers

    Gross and net mass and the number of packages come back as plain numbers, per item and in total.

  • 05

    Values, duties and import VAT

    The invoice amount, each item's value and, on import declarations, the customs duty and import VAT come back as numbers with their currency.

  • 06

    No category yet?

    Extract without a schema: Parsevix returns every field it finds, named with the declaration's own labels. Turn it into a category once you know the fields you need.

  • 07

    Declarations in any language

    The language is detected on every page. A declaration in another language fills the same fields, with ISO dates and plain numbers.

How declarations get in

Upload them, forward them or send them from your system.

Dashboard

Upload declarations as PDFs or scans. Check each result next to its page, with every value marked where it was printed, and approve it.

E-mail address

Paid plans

Every project gets its own address. Have your forwarder or broker send declarations to it, and each attachment becomes a document.

API

Send declarations from your ERP or trade system and get the JSON in the same response, or receive results by signed webhook or through Zapier.

Request

curl https://parsevix.com/api/v1/extract \
  -H "X-API-Key: $PARSEVIX_API_KEY" \
  -F file=@export-declaration.pdf \
  -F category="Customs Declaration"

The request stays open until the document is read and answers with the JSON.

  • POST /documentsUpload without waiting; the result arrives by webhook or callback.
  • POST /extract-autoNo category: every field Parsevix finds, named as in the document.
  • POST /classifyOnly the document's category, for 1 credit.
Full API reference

Response · trimmed

{
"status": "Completed",
"category": "Customs Declaration",
"pageCount": 2,
"language": "en",
"extracted": {
"declaration_number": "26GBEXA7K2M9Q4T1P2",
"country_of_destination": "US",
"invoice_amount": 28665.00,
…
},
…
}

Security & compliance

  • PII maskedautomatically, before the AI step
  • Encryptedin transit and at rest
  • No AI trainingon your documents
  • API files deletedafter processing

Priced per page, not per feature.

Every plan reads, sorts and masks documents the same way. Picking the category is included, and a document that fails costs nothing.

See pricing
credit per page
1
free pages every month
20
a month for 500 pages
$39

Customs declaration FAQ

Customs declarations,
answered.

What trade teams ask before they send their first declarations.

Still have a question?

Write to us. A person reads every message.

PDF, Word (DOCX), PNG, JPG and TIFF, up to 10 MB and 30 pages each. Scans and printouts work too; every page is read as an image.

No. Create a category in your project with the fields you need, such as the ones on this page; it takes a few minutes and is used for every declaration after that. Or extract without a schema and get the declaration's own labels as keys.

No. It extracts what the declaration states into fields. It doesn't assign or check commodity codes, work out duties or file anything with customs.

No. Parsevix reads documents: PDFs, Word files and images. Messages in XML or EDIFACT are not accepted.

One credit per page: a two-page declaration uses two. Choosing the category is included, and if a document fails, its credits are given back.

Declarations uploaded in the dashboard or sent by e-mail stay in your project until you delete them. Files sent through the API are deleted after processing unless you turn on keeping them for the project. Your documents are never used to train AI.