What is a Verified Account?
With a Verified Account, Zonos calculates, collects, and remits duties directly to U.S. Customs and Border Protection (CBP) on your behalf. This fulfills the prepaid duty requirement for postal shipments under $800 USD entering the U.S.
Here's how it fits together:
- You generate a Declaration ID from Zonos (via API or Google Sheets).
- You submit the Declaration ID to Česká pošta with your shipment data.
- Česká pošta links the Declaration ID to a tracking number and processes your shipment.
- Zonos invoices you for duties and clearance fees.
Account setup
Step 1 — Create your Verified Account
Register for a Zonos Verified Account using the Česká pošta registration link. Complete your business address and billing setup.
Step 2 — Add a payment method
Add a payment method to your Zonos account to fund duty remittance for U.S.-bound shipments.
Step 3 — Get your API key
Log in to your Zonos Dashboard, navigate to Settings →
Integrations, and copy the value labeled API Key under Account Keys. It begins with
credential_live_. You will need this key for both integration methods.
Keep your API key secure. Do not commit it to source control or share it publicly. If you believe it has been compromised, regenerate it from the same Settings → Integrations page.
Integration methods
Choose the method that fits your technical setup. Both methods produce Declaration IDs that you then upload to Česká pošta's shipping system.
API integration
For technical customers and developers who call Zonos directly from their own system.
Endpoint
- URL:
https://api.zonos.com/graphql - Method: POST
- Content-Type:
application/json
Authentication
Pass your API key in the request header:
credentialToken: credential_live_xxxxxxxxxxxxxxxxxx
Mutation
Use the declarationCreate mutation with source set to POST:
mutation DeclarationCreate($input: DeclarationCreateInput!) {
declarationCreate(input: $input) {
id
}
}
Variables
{
"input": {
"source": "POST"
}
}
Full request body example
{
"query": "mutation DeclarationCreate($input: DeclarationCreateInput!) { declarationCreate(input: $input) { id } }",
"variables": {
"input": {
"source": "POST"
}
}
}
Successful response example
{
"data": {
"declarationCreate": {
"id": "0qmggkyktc5v5"
}
}
}
The id value is your Declaration ID. Record this for each shipment — you will submit it to
Česká pošta to receive a tracking number.
After generating Declaration IDs
Submit the Declaration ID to Česká pošta along with your shipment details. Česká pošta links the Declaration ID to the shipment and returns a tracking number. Zonos does not issue tracking numbers.
Error handling
| Error / Symptom↕ | Likely cause and fix↕ |
|---|---|
| Security requirement failed | Your API key is invalid or passed in the wrong header. Ensure you're using the API Key (not the Account Key) and the header name is exactly credentialToken. |
| HTTP 401 Unauthorized | The API key is missing from the request headers. Confirm credentialToken is included. |
errors array in response | The mutation returned a GraphQL error. Check the message field in the errors array for details. |
| Unexpected response shape | The response did not include data.declarationCreate.id. Log the full response body and verify the mutation text matches the example exactly. |
For additional API documentation, see the Supply chain API docs.
Google Sheets integration
For customers without API access — Declaration IDs are generated directly from a Google Sheets template.
This method lets you paste or import your shipment data into a spreadsheet, click one button, and receive Declaration IDs for each shipment — no coding required.
One-time setup
- Open the Česká pošta Google Sheets template and go to File → Make a copy. Always work in your own copy.
- A Zonos menu will appear in the menu bar. (Reload the page if you don't see it.)
- Click Zonos → Set API Key, paste your API key (
credential_live_...), and click OK. The key is stored privately in your copy and is never shown in the sheet. - The first time you run declarations, Google will ask for permission. Click Review permissions → your account → Allow.
Preparing your shipment data
Fill in one row per item. When multiple items travel in the same parcel, give them all the same Shipment ID — this tells the tool they belong to one declaration.
- Same Shipment ID on several rows → one declaration covering all those items.
- A row with a blank Shipment ID → treated as its own single-item shipment.
| Column↕ | Description↕ |
|---|---|
| Shipment ID | Groups items that travel together in the same parcel. |
| Customs Value of Item | The value of the item. Required — rows without a valid value will not be processed. |
| Quantity | Number of units. Leave blank to default to 1. |
| Country of Origin | Where the item was made, as a 2-letter code (e.g., CZ, CN, US). |
| Tariff Code (HS) | The item's HS/tariff code. Strongly recommended for accurate duty rates. |
| Description of Contents | A clear description of the item. Used for classification when HS code is absent. |
Creating declarations
- Paste or import your shipment data into the sheet (File → Import → Upload → Append to current sheet), one row per item.
- Click Zonos → Create Declarations from the menu bar. A summary will appear when it finishes.
- Review the results added to the right side of your sheet:
- Zonos Declaration ID — the Declaration ID for the shipment.
- Landed Cost Total — duties + taxes + fees.
- Duties, Taxes, Fees — individual breakdown.
Re-running is safe. Rows that already have a Declaration ID are skipped and never duplicated.
After creating declarations
- Check that every row has a Zonos Declaration ID and no rows show ERROR. Fix any failed rows and re-run before proceeding.
- Save or export the completed sheet in the format Česká pošta expects (e.g., File → Download → Comma-separated values).
- Upload the file to Česká pošta's shipping portal following their instructions. Česká pošta reads the Declaration ID on each row to match your shipment, then returns a tracking number and processes the parcel for dispatch.
Troubleshooting
| Problem↕ | What to do↕ |
|---|---|
| No "Zonos" menu | Reload the spreadsheet page and wait a few seconds. |
| "No API Key set" | Run Zonos → Set API Key and paste your key. |
| Nothing happened and no summary popup | The script was run from the script editor. Run it from the Zonos menu in the spreadsheet instead. |
| Can't find the Zonos menu — only see Rozšíření (Extensions) | The Zonos menu is separate from the Extensions/Rozšíření menu. Look for Zonos as its own item in the top menu bar. If it's missing, reload the page and wait a few seconds. |
| A row shows ERROR: HTTP 401/403 | Your API key is wrong or expired. Re-enter it via Zonos → Set API Key, or contact your Zonos representative. |
| A row shows ERROR about "Customs Value of Item" | That item has no usable value. Enter a positive number and run again. |
| A row shows a landed cost error | Usually a missing HS code or classification issue. Add the item's HS code and a clear description, then run again. |
| Asked to authorize again | Normal after making a new copy — click Allow. |
Billing and payments
Zonos invoices you for duties and clearance fees for each shipment associated with your Verified Account. Invoices are generated within 24 hours of receiving shipment data from Česká pošta (note: this may be several days after the shipment date). View and manage invoices in your Dashboard.
There is no subscription fee. You are only billed for duties and clearance fees per shipment.
Frequently asked questions
Do I need a subscription for a Verified Account?
No. A Verified Account is free. You are only billed for duties and the clearance fee on each U.S.-bound shipment.
What is included in a Verified Account?
- Declaration ID generation for each shipment (via API or Google Sheets)
- Access to Dashboard tools (shipments, invoices, settings)
- Invoicing for duties and clearance fees directly from Zonos
- Team member management and business settings
What will I be charged by Česká pošta vs. Zonos?
Česká pošta does not charge additional fees through Zonos. Business customers receive invoices directly from Zonos for duties and clearance fees. Postage is charged separately by Česká pošta.
Does the clearance fee apply per item or per shipment?
The clearance fee applies per shipment (parcel), not per individual item.
Can I use a Verified Account for shipments over $800 USD?
No. Shipments over $800 USD follow the same process as before the executive order.
How are duties calculated when a shipment contains items from different countries of origin?
Duties are calculated per item based on its country of origin. The totals are then summed across all items in the shipment.
How are items classified when I don't provide an HS code?
When an HS code is not provided, Zonos classifies the item from its description. Providing HS codes is strongly recommended for accurate duty rates.
Who do I contact for questions about my account or invoices?
Contact the Zonos support team at support@zonos.com.
Verified Accounts for Česká pošta
Generate Declaration IDs for every U.S.-bound shipment through a Zonos Verified Account.
A new U.S. executive order now requires all postal shipments valued under $800 USD entering the U.S. to have duties prepaid. If you're a business shipping regularly to the United States via Česká pošta, a Verified Account lets you generate Declaration IDs and remit duties without manual intervention on each shipment.
Unlike the consumer-facing Prepay app, a Verified Account is designed for volume shippers. Declaration IDs are generated via direct API integration or a Google Sheets tool — you then upload shipment data to Česká pošta's system to receive tracking numbers.
If you ship occasionally, you can use the Zonos Prepay app instead.