NVWA CZZ (Zaaizaden)
API Endpoint & JSON functions
|
Endpoint |
| /erpservices/importdossier |
| JSON Element | Spec | Description |
| applicationReferenceId | "minLength": 1, "type": "string", |
Your application reference id. Used to communicate about this specific item. |
| doNotSaveWhenInvalid | "type": "boolean", "nullable": true |
A boolean indicating whether not save the item when it is invalid for submission. (default = false, so by default invalid data will be saved). When “true,” it is especially recommended to be able to process/display feedback from the link in the ERP package, which is t he reason why the data was not saved. |
| doSubmitWhenValid | "type": "boolean", "description": "A value indicating whether to submit the declaration when it is valid (default = false).", "nullable": true |
A value indicating whether to submit the declaration when it is valid (default = false) |
Stap 1: Aanvraag

| Nr. | JSON Element | Specifiation | Comment |
| 1 | DossierNumber | "dossierNumber": { "maxLength": 30, "minLength": 1, "type": "string" } |
Dossiernaam in Shipment (Order number, Delivery number, transport number, etc). |
| 2 |
nvwaExportCertificateRequests. |
"referenceNumber": { "maxLength": 100, "type": "string", "nullable": true } |
A unique reference that can be added to the certificate request for administration purposes. |
| 3 | nvwaExportCertificateRequests. exportConsignment. exportExitDateTime |
"exportExitDateTime": { "type": "string", "format": "date-time" } |
The ExportExitDateTime is the "expiration date" of the inspection. After this date, a request won't be handled any further by e-CertNL. In addition, the ExportExitDateTime is the reference day for the export characteristics. |
Stap 2: Vestiging
| Nr. | JSON Element | Spefications | Comment |
| 1 | nvwaExportCertificateRequests. exportConsignment. branchLocationInternalCode |
"branchLocationInternalCode": { "type": "string", "nullable": true } |
This code references a location that needs to be configured within Shipment. (On the Shipment website, see: Adresboek > Adres bewerken > Locaties > Interne code) The configured location should contain: - Address details, i.e. city, street, number, postalcode, etc - ECertNL account information This information is used in order to validate the certificate request and to submit the certificate request to NVWA. |
| 2 | nvwaExportCertificateRequests. exportConsignment. sectorCode |
"sectorCode": { "type": "string", "nullable": false }, |
CAT (Aardappels, groente en fruit), CFA (Fyto Algemeen), CZZ (Zaaizaden), CDV (Diervoeder), CEV (Exportverklaringen), CVA (Veterinair Algemeen), CVI (Vis), CVV (Vlees en Vleesproducten), CZU (Zuivel) |
Stap 3: Afzender

| Nr. | JSON Element | Spefications | Comment |
| 1 | nvwaExportCertificateRequests. exportConsignment. consignor. internalCode |
"internalCode": { "type": "string", "nullable": true }, |
Gets or sets the Internal code, set in addressbook consignor |
We reccommend to link up the consignor to the Shipment Addressbook, using the same link to element internalCode :
"consignorTrader": { "internalCode": "STRATECH_API", },
Stap 4: Geadresseerde

| Nr | JSON Element | Spefications | Description |
| 1 | nvwaExportCertificateRequests. exportConsignment. consignee. Address. Name |
"name": { "maxLength": 255, "minLength": 1, "type": "string" } |
Sets the name of the consignee. |
| 2 | nvwaExportCertificateRequests. exportConsignment. consignee. Address. nameAddition |
"nameAddition": { "maxLength": 255, "type": "string", "nullable": true } |
Contains additional information that normally does not fit into the address line containing the name. The additional information will be put onto a 2nd line. |
| 3 | nvwaExportCertificateRequests. exportConsignment. consignee. Address. StreetAndNumber |
"streetAndNumber": { |
The street and number. |
| 4 | nvwaExportCertificateRequests. exportConsignment. consignee. Address. streetAndNumberAddition |
"streetAndNumberAddition": { "maxLength": 255, "type": "string", "nullable": true } |
Contains additional information that normally does not fit into the address line containing the street and number. The additional information will be put onto a 2nd line. Examples for additional information: - A floor number (1st floor, 2nd floor, etc) - The name of the building - The department (when the mail is intended for a specific department within an organisation) |
| 5 | nvwaExportCertificateRequests. exportConsignment. consignee. Address. zipCode |
"zipCode": { "maxLength": 12, "type": "string", "nullable": true } |
The zip code. |
| 6 | nvwaExportCertificateRequests. exportConsignment. consignee. Address. city |
"city": { "maxLength": 70, "minLength": 1, "type": "string" } |
The city. |
| 7 | nvwaExportCertificateRequests. exportConsignment. consignee. Address. extraAddressLine |
"extraAddressLine": { "maxLength": 255, "type": "string", "nullable": true } |
An optional extra address line. When the address is formatted, the extra address line comes after the zipcode and is the final line of the address. |
| 8a | nvwaExportCertificateRequests. exportConsignment. consignee. Address. Country. Code |
"code": { "maxLength": 2, "type": "string", "nullable": true } |
The code (CL248). |
| 8b | nvwaExportCertificateRequests. exportConsignment. consignee. Address. Country. Name |
"name": { "maxLength": 70, "type": "string", "nullable": true } |
The name of the country. |
Stap 5: Exportdocumenten
| Nr | JSON Element | Spefications | Comment |
| 1 |
nvwaExportCertificateRequests. |
"countryCode": { "maxLength": 2, "minLength": 2, "type": "string", "nullable": true } |
Countrycode agreement (also known as the destination country or third country) is a key concept within the export procedures of the Dutch Food and Consumer Product Safety Authority (NVWA). It refers to the specific country outside the European Union with which agreements have been made regarding the veterinary or phytosanitary requirements that an export product must meet. |
| 2 |
nvwaExportCertificateRequests. |
"certificateName": { "maxLength": 70, "minLength": 1, "type": "string" } |
The name of the certificate When declaring certificates for NVWA Phytosanitary procedures, the exact naming conventions and model designations must perfectly match the official master data strings configured in the NVWA Portal / e-CertNL. Any character mismatch or alternative translation will cause an immediate electronic validation failure during message processing.Depending on the country of destination, the product type, and the origin of the goods, you must select the exact string from the official NVWA registry. The most common phytosanitary certificates applicable are:
|
| 3 |
nvwaExportCertificateRequests. |
"language": { "maxLength": 4, "minLength": 1, "type": "string" } |
The language of the certificate that's requested. Supported codes: "EN", "FR", "NL", "PT", "ES". If a certificate contains two languages, combine the language codes (ex. "ESEN"). |
| 4 |
nvwaExportCertificateRequests. |
"numberOfCopies": { "maximum": 9, "minimum": 1, "type": "integer", "format": "int32" } |
The number of copies to request |
| 5 |
nvwaExportCertificateRequests. |
"type": "string" "NietVerstrekken", "Lokaal", "Centraal" |
The certificateMethodOfProvisionCode is a technical system code that specifies the logistical delivery method of an export certificate. It instructs the e-CertNL system and inspectorates exactly how and where the physical paper document or digital data message must be made available to the exporter or the receiving customs authorities once it has been approved by the NVWA. |
| 6 | nvwaExportCertificateRequests. exportConsignment. exportCertificateHandlingInstructions. certificateShippingTypeCode |
"type": "string" "Afhalen", "ViaPost" |
certificateShippingTypeCode defines the logistical method used to deliver or distribute the finalized, printed export certificates from the Netherlands Food and Consumer Product Safety Authority (NVWA) back to the exporting company or its designated customs broker. Rather than transport modes for the cargo, this code dictates the route of the physical security-paper documents. |
| 7 |
nvwaExportCertificateRequests. |
"certificateHandlingAddress": { "maxLength": 2000, "type": "string", "nullable": true } |
The postal address where the certificates need to be mailed to (in case of delivery by mail). |
Stap 6: Zending
| Nr | JSON Element |
Spefications | Comment |
| 1 |
nvwaExportCertificateRequests. |
"warehouseLocationInternalCode": { "type": "string", "nullable": true } |
This code references a location that needs to be configured within Shipment. (See: Adresboek > Adres bewerken > Locaties > Interne code) The configured location should contain: - Address details, i.e. city, street, number, postalcode, etc This information about the warehouse location is added to the certificate request. |
| 2a | nvwaExportCertificateRequests. exportConsignment. applicableCertificateCharacteristics. typeCode |
"typeCode": { "maxLength": 70, "minLength": 1, "type": "string" } |
The type of the characteristic. Airwaybill nummer = AIRWAYBILL_NUMMER Airwaybill nummer Zending Bestemmingsplaats = BESTEMMINGSPLAATS Bill of lading nummer = BILL_OF_LADING_NUMMER Grensovergang = GRENSOVERGANG Identificatiemarkering = IDENTIFICATIEMARKERING Keuringsdienst document nummer =KEURINGSDIENST_DOCUMENT_NUMMER KEURINGSDIENST_DOCUMENT_NUMMER Lc nummer = LC_NUMMER Ordernummer = ORDERNUMMER Permit nummer = PERMIT_NUMMER Aanvraag door kcb = AANVRAAG_DOOR_KCB Ibp product = IBP_PRODUCT Behandeling actief ingredient = BEHANDELING_ACTIEF_INGREDIENT Behandeling concentratie = BEHANDELING_CONCENTRATIE Behandelwijze = BEHANDELWIJZE Behandeling additionele informatie = BEHANDELING_ADDITIONELE_INFORMATIE Behandeling datum = BEHANDELING_DATUM Behandeling temperatuur = BEHANDELING_TEMPERATUUR Behandeling tijdsduur = BEHANDELING_TIJDSDUUR Waardepapier nummer = WAARDEPAPIER_NUMMER |
| 2b | nvwaExportCertificateRequests. exportConsignment.. applicableCertificateCharacteristics. valueCode |
"valueCode": { "maxLength": 240, "minLength": 1, "type": "string" } |
The value of the characteristic. Below are the available options for this value. |
| 3a | nvwaExportCertificateRequests. exportConsignment. applicableExportCharacteristics. typeCode |
"typeCode": { "maxLength": 70, "minLength": 1, "type": "string" } |
The type of the characteristic. |
| 3b | nvwaExportCertificateRequests. exportConsignment. applicableExportCharacteristics. valueCode |
"valueCode": { "maxLength": 240, "minLength": 1, "type": "string" } |
The value of the characteristic. |
| 4 | nvwaExportCertificateRequests. exportConsignment. loadingEvent. occurenceDateTime |
"occurenceDateTime": { "type": "string", "format": "date-time", "nullable": true } |
The date of departure (shipping) of the goods. If the OccurenceDateTime has a value, this value will be used on the certificate instead of the ExportExitDateTime. Note: The OccurenceDateTime is also the date on which the certificate is certified. |
| 5 | nvwaExportCertificateRequests. exportConsignment. loadingEvent. occurenceLocationCityName |
"occurenceLocationCityName": { "maxLength": 70, "type": "string", "nullable": true } |
The name of the city where the departure takes place. |
| 6 | nvwaExportCertificateRequests. exportConsignment. transportEquipment. transportType |
"transportType": { "maxLength": 500, "minLength": 1, "type": "string" } |
The type of transport. The following values will be automatically translated by EcertNL to the language of the certificate: binnenvaartschip boot handbagage koerier passagier post trein vliegtuig vrachtauto vrachtwagen wegvervoer zeeschip Any other values will not be translated. |
| 7 | nvwaExportCertificateRequests. exportConsignment. transportEquipment. transportIdentification |
"transportIdentification": { "maxLength": 500, "type": "string", "nullable": true } |
The identification of the means of transport, e.g. licenseplate number, flight number, etc. |
| 8 | nvwaExportCertificateRequests. exportConsignment. transportEquipment. containerNumber |
"containerNumber": { "maxLength": 500, "type": "string", "nullable": true } |
Container number |
| 9 | nvwaExportCertificateRequests. exportConsignment. transportEquipment. affixedSeal |
"affixedSeal": { "maxLength": 499, "type": "string", "nullable": true } |
The seal number that's affixed. |
Stap 7: Artikelen (overview)

| Nr | JSON Element | Spefications | Comment |
| 1 |
nvwaExportCertificateRequests. |
"quantity": { "type": "integer", "format": "int64", "nullable": true } |
The quantity. |
| 2 |
nvwaExportCertificateRequests. |
"unitCode": { "maxLength": 100, "type": "string", "nullable": true } |
The unit code. When declaring packaging and commercial units (Handelseenheden) for NVWA fytosanitary or veterinary export declarations, the descriptive names (such as "Ampoule, non-protected" or "Cage") and their corresponding alphanumeric codes must perfectly match the official master data tables used on the NVWA Portal / e-CertNL.The NVWA system strictly utilizes the international UNECE Recommendation 21 package type codes. Any slight deviation in spelling, casing, or code pairing will trigger an immediate system validation error (Schema validation failure) and block the processing of your export application.Data Mapping Examples:
|
Stap 7: Artikelen (Algemeen)

| Nr | JSON Element | Spefications | Comment |
| 1 |
nvwaExportCertificateRequests. |
"sequenceNumber": { "type": "integer", "format": "int32" } |
Item number within the certificaterequest starting from 1 incremented by 1 for every item. |
| 2 | nvwaExportCertificateRequests. exportConsignment. includedTradeLineItems. descriptionText |
"descriptionText": { "maxLength": 70, "type": "string", "nullable": true } |
Description of the product. This description will be printed on the certificate. |
| 3 | nvwaExportCertificateRequests. exportConsignment. includedTradeLineItems. stockKeepingUnit |
"stockKeepingUnit": { "maxLength": 80, "type": "string" } |
The stock keeping unit is not a value that will be sent to e-CertNL, it is only used within this application. Within this application, the stock keeping unit can be used as a reference to a goods item template. If a template is found with the given stock keeping unit, the values of the template will be copied to the trade line item. This will only set values of properties which are empty, meaning that properties from the template will never overwrite properties in the trade line item that already have a value. In case of an update, only new trade line items will be read from the template, if the update contains an item with the same ApplicableProduct.ProductName as the original, the template data will not be used for that item. Note that different combinations of branch and sector can have different templates for a given stock keeping unit, i.e. the chosen branch and sector determines which template will be used. |
| 4 | nvwaExportCertificateRequests. exportConsignment. includedTradeLineItems. applicableProduct. productName |
"productName": { "maxLength": 120, "minLength": 1, "type": "string" } |
The name of the product as known in ECertNL. You can apply line breaks by using "/n" |
| 5 | nvwaExportCertificateRequests. exportConsignment. includedTradeLineItems. applicableProduct. descriptionText |
"descriptionText": { "maxLength": 70, "type": "string", "nullable": true } |
Description of the product. This description will be printed on the certificate. |
| 6 | nvwaExportCertificateRequests. exportConsignment. includedTradeLineItems. warehouseLocationInternalCode |
For the storage location, we recommend using the warehouseLocationInternalCode. If, for any reason, you do not wish to use this, you must provide all the information as specified in item 7. |
|
| 7 | "warehouseLocation": { "ibpInspectionLocation": "12345", "additionalDetails": null, "postalAddress": { "nameLine1": "Name Location", "nameLine2": "Additional name", "streetAndNumberLine1": "Street+number", "streetAndNumberLine2": "Street+number", "extraAddressLine": "Additional adresline", "postcodeCode": "1234AB", "countryName": "Netherlands", "cityName": "Enchede" } }, |
||
| 8 | nvwaExportCertificateRequests. exportConsignment. includedTradeLineItems. measure. grossVolume |
"grossVolume": { "maximum": 999999999999999, "minimum": 0, "type": "number", "format": "double" } |
The gross volume. |
| 9 | nvwaExportCertificateRequests. exportConsignment. includedTradeLineItems. measure. netVolume |
"netVolume": { "maximum": 999999999999999, "minimum": 0, "type": "number", "format": "double", "nullable": true } |
The net volume. The net volume can't be more than the GrossVolume. |
| 10 | nvwaExportCertificateRequests. exportConsignment. includedTradeLineItems. measure. unitCode |
"unitCode": { "maxLength": 100, "type": "string", "nullable": true } |
The unit code. Examples: 500: Gram (gr) 505: Kilogram (kg) 510: Meter (m) 515: Liter (ltr) 081: Stuks |
| 11 | nvwaExportCertificateRequests. exportConsignment. includedTradeLineItems. chargeableUnit. quantity |
"quantity": { "type": "integer", "format": "int64", "nullable": true } |
The quantity. |
| 12 | nvwaExportCertificateRequests. exportConsignment. includedTradeLineItems. chargeableUnit. unitCode |
"unitCode": { "maxLength": 100, "type": "string", "nullable": true } |
The unit code. |
| 13a | nvwaExportCertificateRequests. exportConsignment. includedTradeLineItems. applicableCertificateCharacteristics. typeCode |
"typeCode": { "maxLength": 70, "minLength": 1, "type": "string" } |
The type of the characteristic. Behandeling actief ingredient = BEHANDELING_ACTIEF_INGREDIENT Behandeling additionele inform = BEHANDELING_ADDITIONELE_INFORMATIE Behandeling concentratie = BEHANDELING_CONCENTRATIE Behandeling datum = BEHANDELING_DATUM Behandeling temperatuur = BEHANDELING_TEMPERATUUR Behandeling tijdsduur = BEHANDELING_TIJDSDUUR Behandelwijze = BEHANDELWIJZE Taric code = TARIC_CODE Handelskenmerk = HANDELSKENMERK |
| 13b | nvwaExportCertificateRequests. exportConsignment. includedTradeLineItems. applicableCertificateCharacteristics. valueCode |
"valueCode": { "maxLength": 240, "minLength": 1, "type": "string" } |
The value code. |
| 14a | nvwaExportCertificateRequests. exportConsignment. includedTradeLineItems. applicableExportCharacteristics. typeCode |
"typeCode": { "maxLength": 70, "minLength": 1, "type": "string" } |
Doel = DOEL Ivi nummer = IVI_NUMMER Origine = ORIGINE Vorm = VORM |
| 14b | nvwaExportCertificateRequests. exportConsignment. includedTradeLineItems. applicableExportCharacteristics. valueCode |
"typeCode": { "maxLength": 70, "minLength": 1, "type": "string" } |
The type of the characteristic. |
Stap 7: Artikelen (Grondstoffen)

| Nr | JSON Element | Spefications | Comment |
| 1 | nvwaExportCertificateRequests. exportConsignment. includedTradeLineItems. materials. sequenceNumeric |
"sequenceNumber": { "type": "integer", "format": "int32" } |
Item number starting from 1 incremented by 1 for every item. |
| 2 | nvwaExportCertificateRequests. exportConsignment. includedTradeLineItems. materials. applicableProduct. description |
"descriptionText": { "maxLength": 100, "type": "string", "nullable": true } |
The applicable export characteristics |
| 3 | nvwaExportCertificateRequests. exportConsignment. includedTradeLineItems. materials. applicableProduct. productName |
"productName": { "maxLength": 120, "minLength": 1, "type": "string" } |
The name of the product as known in ECertNL. |
| 4 | nvwaExportCertificateRequests. exportConsignment. includedTradeLineItems. materials. applicableProduct. productName |
"productName": { "maxLength": 120, "minLength": 1, "type": "string" } |
The name of the product as known in ECertNL. |
| 5 | nvwaExportCertificateRequests. exportConsignment. includedTradeLineItems. materials. measure. grossVolume |
"grossVolume": { "maximum": 999999999999999, "minimum": 0, "type": "number", "format": "double", "nullable": true } |
The gross volume. |
| 6 | nvwaExportCertificateRequests. exportConsignment. includedTradeLineItems. materials. measure. netVolume |
"netVolume": { "maximum": 999999999999999, "minimum": 0, "type": "number", "format": "double", "nullable": true } |
The net volume. The net volume can't be more than the GrossVolume. |
| 7 | nvwaExportCertificateRequests. exportConsignment. includedTradeLineItems. materials. measure. unitCode |
"unitCode": { "maxLength": 100, "type": "string", "nullable": true } |
The unit code. Examples: 500: Gram (gr) 505: Kilogram (kg) 510: Meter (m) 515: Liter (ltr) 081: Stuks |
| 8 | nvwaExportCertificateRequests. exportConsignment. includedTradeLineItems. materials. chargeableUnit. quantity |
"quantity": { "type": "integer", "format": "int64", "nullable": true } |
The quantity. |
| 9 | nvwaExportCertificateRequests. exportConsignment. includedTradeLineItems. materials. chargeableUnit. unitCode |
"unitCode": { "maxLength": 100, "type": "string", "nullable": true } |
The unit code. When declaring packaging and commercial units (Handelseenheden) for NVWA fytosanitary or veterinary export declarations, the descriptive names (such as "Ampoule, non-protected" or "Cage") and their corresponding alphanumeric codes must perfectly match the official master data tables used on the NVWA Portal / e-CertNL.The NVWA system strictly utilizes the international UNECE Recommendation 21 package type codes. Any slight deviation in spelling, casing, or code pairing will trigger an immediate system validation error (Schema validation failure) and block the processing of your export application.Data Mapping Examples:
|
| 10a | nvwaExportCertificateRequests. exportConsignment. includedTradeLineItems. materials. applicableCertificateCharacteristics. typeCode |
"typeCode": { "maxLength": 70, "minLength": 1, "type": "string" } |
The type of the characteristic. |
| 10b | nvwaExportCertificateRequests. exportConsignment. includedTradeLineItems. materials. applicableCertificateCharacteristics. valueCode |
"valueCode": { "maxLength": 240, "minLength": 1, "type": "string" } |
The value code. |
| 11a |
nvwaExportCertificateRequests. |
"typeCode": { "maxLength": 70, "minLength": 1, "type": "string" } |
The type of the characteristic. |
| 11b |
nvwaExportCertificateRequests. |
"valueCode": { "maxLength": 240, "minLength": 1, "type": "string" } |
The value code. |


