Skip to Content
API ReferenceWarehouse & Chain Procedures

Warehouse & Chain Procedure Declarations

This guide covers creating declarations for customs warehouse operations and chain procedures (Ketenregeling), which allow successive customs operations with simplified formalities.

Required Scopes: declarations:write, declarations:submit

Overview

Customs warehouses allow goods to be stored under customs supervision without paying import duties until they are released for free circulation. Chain procedures (Ketenregeling) enable streamlined processing when goods move through successive customs procedures.

Key Concepts

  • Warehouse Entry (Placement): Placing goods into a customs warehouse (procedure 71 from 00)
  • Warehouse Exit (Release): Removing goods from warehouse to free circulation (procedure 40 from 71)
  • Chain Procedures: Linked customs operations with simplified requirements
  • Advance Notification: Required for symbol D declarations before goods physically arrive

Warehouse Entry (Placement under Procedure 71)

Place imported goods into a customs warehouse where they can be stored without paying duties.

Basic Warehouse Entry

curl -X POST "https://app.borderbolt.com/api/v1/declarations/create" \ -H "Authorization: Bearer your-access-token" \ -H "Content-Type: application/json" \ -d '{ "reference": "WH-ENTRY-2026-001", "submit_when_valid": false, "dms_version": "4.1", "declaration": { "imex": "IM", "office": "NL000396", "symbol": "A", "procedure": { "current": "71", "previous": "00" }, "importer": { "customer_code": "CUST001" }, "warehouse": { "licence": "NLCWP123456789012", "licence_type": "U" }, "goods_location": { "type": "A", "identification_type": "U", "country": "NL", "city": "Amsterdam" }, "items": [ { "description": "Electronic Components", "hs_code": "85423190", "taric": "00", "country_of_origin": "CN", "gross_weight": 500.00, "net_weight": 450.00, "invoice_value": 10000.00 } ] } }'

Response

{ "success": true, "declaration": { "id": 12350, "reference": "WH-ENTRY-2026-001", "status": "DRF", "workflow": "import", "declaration_type": "H2", "submitted": false, "created_at": "2026-04-21T10:00:00.000000Z" } }

The system automatically determines declaration_type: "H2" based on procedure code 71 (customs warehousing).

Warehouse Entry with Chain Procedures (DMS 4.1)

Enable chain procedures to allow future warehouse exits with simplified requirements:

curl -X POST "https://app.borderbolt.com/api/v1/declarations/create" \ -H "Authorization: Bearer your-access-token" \ -H "Content-Type: application/json" \ -d '{ "reference": "WH-ENTRY-CHAIN-2026-001", "submit_when_valid": false, "dms_version": "4.1", "declaration": { "imex": "IM", "office": "NL000396", "symbol": "Z", "procedure": { "current": "71", "previous": "00" }, "use_iiaa_procedure": true, "use_ketenregeling": true, "chain_continuation_possible": "yes", "eidr_type": "max", "importer": { "customer_code": "CUST001" }, "warehouse": { "licence": "NLCWP123456789012", "licence_type": "U" }, "authorizations": [ { "type": "EIR", "id": "NLEIRNL123456789012" }, { "type": "CWP", "id": "NLCWPNL123456789012" } ], "goods_location": { "type": "A", "identification_type": "U", "country": "NL", "city": "Amsterdam" }, "items": [ { "description": "Electronic Components", "hs_code": "85423190", "taric": "00", "country_of_origin": "CN", "gross_weight": 500.00, "net_weight": 450.00, "invoice_value": 10000.00 } ] } }'

Chain Procedure Fields

FieldRequiredTypeDescription
use_iiaa_procedureNobooleanEnable Entry in Declarant’s Records procedure
use_ketenregelingNobooleanEnable chain procedures (Ketenregeling)
chain_continuation_possibleNostringyes, no, or blank — Allow chain continuation
eidr_typeConditionalstringmin or max — Data set level (required if IIAA procedure used)

Authorization Required: Chain procedures require valid EIR (Entry in Records) and CWP (Customs Warehouse) authorizations. Use symbol Z for IIAA (DMS 4.1 only).

Advance Declaration for Warehouse Entry (Symbol D)

For advance declarations (lodged before goods arrive), send an advance notification after physical arrival:

# 1. Create warehouse entry declaration with symbol D curl -X POST "https://app.borderbolt.com/api/v1/declarations/create" \ -H "Authorization: Bearer your-access-token" \ -H "Content-Type: application/json" \ -d '{ "reference": "WH-ENTRY-ADV-2026-001", "submit_when_valid": true, "dms_version": "4.1", "declaration": { "imex": "IM", "office": "NL000396", "symbol": "D", "procedure": { "current": "71", "previous": "00" }, "use_iiaa_procedure": true, "eidr_type": "max", "importer": { "customer_code": "CUST001" }, "warehouse": { "licence": "NLCWP123456789012", "licence_type": "U" }, "items": [...] } }' # 2. After acceptance and physical arrival, send advance notification curl -X POST "https://app.borderbolt.com/api/v1/declarations/12350/send-presentation" \ -H "Authorization: Bearer your-access-token"

Warehouse Exit (Release to Free Circulation)

Release goods from warehouse to free circulation (procedure 40 from 71).

Basic Warehouse Exit

curl -X POST "https://app.borderbolt.com/api/v1/declarations/create" \ -H "Authorization: Bearer your-access-token" \ -H "Content-Type: application/json" \ -d '{ "reference": "WH-EXIT-2026-001", "submit_when_valid": false, "dms_version": "4.1", "declaration": { "imex": "IM", "office": "NL000396", "symbol": "A", "procedure": { "current": "40", "previous": "71" }, "importer": { "customer_code": "CUST001" }, "warehouse": { "licence": "NLCWP123456789012", "licence_type": "U" }, "items": [ { "description": "Electronic Components", "hs_code": "85423190", "taric": "00", "country_of_origin": "CN", "gross_weight": 250.00, "net_weight": 225.00, "invoice_value": 5000.00, "previous_documents": [ { "type": "NCLE", "id": "WH-ENTRY-2026-001" } ] } ] } }'

Warehouse Exit with Chain Procedures

For goods entered with chain procedures enabled, the exit uses simplified requirements:

curl -X POST "https://app.borderbolt.com/api/v1/declarations/create" \ -H "Authorization: Bearer your-access-token" \ -H "Content-Type: application/json" \ -d '{ "reference": "WH-EXIT-CHAIN-2026-001", "submit_when_valid": false, "dms_version": "4.1", "declaration": { "imex": "IM", "office": "NL000396", "symbol": "A", "procedure": { "current": "40", "previous": "71" }, "use_iiaa_procedure": true, "use_ketenregeling": true, "importer": { "customer_code": "CUST001" }, "warehouse": { "licence": "NLCWP123456789012", "licence_type": "U" }, "authorizations": [ { "type": "EIR", "id": "NLEIRNL123456789012" } ], "items": [ { "description": "Electronic Components", "hs_code": "85423190", "taric": "00", "country_of_origin": "CN", "gross_weight": 250.00, "net_weight": 225.00, "invoice_value": 5000.00, "previous_documents": [ { "type": "NCLE", "id": "WH-ENTRY-2026-001" } ] } ] } }'

No Advance Notification Required: Warehouse exits with chain procedures do not require an advance notification. They are processed immediately as regular declarations.

Other Warehouse Exit Procedures

Procedure 44 (Release for Free Circulation with Simultaneous Re-export)

curl -X POST "https://app.borderbolt.com/api/v1/declarations/create" \ -H "Authorization: Bearer your-access-token" \ -H "Content-Type: application/json" \ -d '{ "declaration": { "imex": "IM", "office": "NL000396", "procedure": { "current": "44", "previous": "71" }, "importer": { "customer_code": "CUST001" }, ... } }'

Procedure 51 (Active Improvement)

Release warehouse goods for active improvement (processing):

curl -X POST "https://app.borderbolt.com/api/v1/declarations/create" \ -H "Authorization: Bearer your-access-token" \ -H "Content-Type: application/json" \ -d '{ "declaration": { "imex": "IM", "office": "NL000396", "procedure": { "current": "51", "previous": "71" }, "importer": { "customer_code": "CUST001" }, ... } }'

Procedure 53 (Temporary Importation)

curl -X POST "https://app.borderbolt.com/api/v1/declarations/create" \ -H "Authorization: Bearer your-access-token" \ -H "Content-Type: application/json" \ -d '{ "declaration": { "imex": "IM", "office": "NL000396", "procedure": { "current": "53", "previous": "71" }, "importer": { "customer_code": "CUST001" }, ... } }'

Field Reference

Warehouse Object

FieldRequiredTypeDescription
licenceYesstringWarehouse authorization number (format: NLCWP + 12 digits)
licence_typeYesstringWarehouse type code (e.g. U for public warehouse, R for private)

Previous Documents for Warehouse Exit

When exiting warehouse (40/71, 44/71, etc.), reference the warehouse entry at item level:

FieldRequiredTypeMaxDescription
typeYesstring4NCLE for warehouse entry reference, N951 for summary declaration
idNostring70Entry declaration reference or identifier

You may also reference transit documents if goods arrived under transit:

{ "previous_documents": [ { "type": "NCLE", "id": "WH-ENTRY-2026-001" }, { "type": "N821", "id": "26NL123456789012345" } ] }

Authorizations

Chain procedures require specific authorization codes:

Authorization TypeDescription
EIREntry in Records
CWPCustoms Warehouse Procedure
CGUComprehensive Guarantee
C514Chain procedure authorization
C506Monthly payment credit
C505Guarantee waiver

Complete Workflow Example

Here’s a complete workflow for warehouse entry and exit with chain procedures:

Step 1: Create and Submit Warehouse Entry Declaration

curl -X POST "https://app.borderbolt.com/api/v1/declarations/create" \ -H "Authorization: Bearer your-access-token" \ -H "Content-Type: application/json" \ -d '{ "reference": "WH-ENTRY-001", "submit_when_valid": true, "dms_version": "4.1", "declaration": { "imex": "IM", "office": "NL000396", "symbol": "D", "procedure": { "current": "71", "previous": "00" }, "use_iiaa_procedure": true, "use_ketenregeling": true, "chain_continuation_possible": "yes", "eidr_type": "max", "importer": { "customer_code": "CUST001" }, "warehouse": { "licence": "NLCWP123456789012", "licence_type": "U" }, "authorizations": [ { "type": "EIR", "id": "NLEIRNL123456789012" }, { "type": "CWP", "id": "NLCWPNL123456789012" } ], "goods_location": { "type": "A", "identification_type": "U", "country": "NL", "city": "Amsterdam" }, "items": [ { "description": "Electronic Components", "hs_code": "85423190", "taric": "00", "country_of_origin": "CN", "gross_weight": 500.00, "net_weight": 450.00, "invoice_value": 10000.00 } ] } }'

Step 2: Send Advance Notification (After Physical Arrival)

Required only for symbol D (advance) declarations:

curl -X POST "https://app.borderbolt.com/api/v1/declarations/12350/send-presentation" \ -H "Authorization: Bearer your-access-token"

Step 3: Create and Submit Warehouse Exit Declaration

curl -X POST "https://app.borderbolt.com/api/v1/declarations/create" \ -H "Authorization: Bearer your-access-token" \ -H "Content-Type: application/json" \ -d '{ "reference": "WH-EXIT-001", "submit_when_valid": true, "dms_version": "4.1", "declaration": { "imex": "IM", "office": "NL000396", "symbol": "A", "procedure": { "current": "40", "previous": "71" }, "use_iiaa_procedure": true, "use_ketenregeling": true, "importer": { "customer_code": "CUST001" }, "warehouse": { "licence": "NLCWP123456789012", "licence_type": "U" }, "authorizations": [ { "type": "EIR", "id": "NLEIRNL123456789012" } ], "items": [ { "description": "Electronic Components", "hs_code": "85423190", "taric": "00", "country_of_origin": "CN", "gross_weight": 250.00, "net_weight": 225.00, "invoice_value": 5000.00, "previous_documents": [ { "type": "NCLE", "id": "WH-ENTRY-001" } ] } ] } }'

Common Validation Errors

ErrorDescriptionSolution
declaration.procedure.current requiredProcedure code missingAdd procedure.current and procedure.previous
declaration.items.*.hs_code too longHS code must be 8 digitsUse 8-digit GN code; put the 2-digit TARIC suffix in taric field
declaration.office requiredOffice code missingProvide a valid customs office code (e.g. NL000396)
Missing previous documentWarehouse exit missing entry referenceAdd previous_documents with type: "NCLE" at item level
declaration.symbol invalidSymbol Z used without DMS 4.1Symbol Z is only available for DMS 4.1 declarations

Next Steps

Last updated on