Import Declaration Schema
API_VOP_1_decHfr_import_v5_restrict.xsd
1. Overview
This XML Schema Definition (XSD) defines the structure for declaring high fiscal risk goods transport originating from another European Union Member State and terminating within the territory of Bulgaria.
1.1 Purpose
The import schema is used when goods subject to high fiscal risk supervision are transported from an EU Member State to Bulgaria. This applies to intra-community acquisitions of specified goods.
1.2 Version Information
1.3 What's New in Version 5
A new optional attribute "unit of measure" (quantitytype) for transported goods has been added. This attribute is mandatory only from 01.05.2025 when declaring transport of goods with new commodity codes added to the List of High Fiscal Risk Goods pursuant to Order № ЗМФ-237/31.03.2025 of the Minister of Finance. Entities declaring transports with commodity codes outside those added by the Order are not required to use version 5 and may continue declaring with version 4 of the XSD schemas.
2. Root Element: decHfrImport
The root element contains all declaration data for the import transport. It consists of one main section (part1) with all required and optional information about the recipient, senders, goods, transport details, and declaration metadata.
Documentation: Submission of data for the transport of goods with high fiscal risk, originating from the territory of another European Union Member State and terminating within the territory of the country
3. Main Declaration Section (part1)
3.1 Recipient/Buyer Information (recipient)
MANDATORY. Identifies the recipient/buyer of the goods in Bulgaria, acquirer in triangular operation, or final recipient in a chain of consecutive deliveries of high fiscal risk goods.
| Field | Type | Required | Description |
| ident | string (9-13 digits with leading zeros) | Yes | Identification number of Recipient/Buyer - ЕГН/ЛНЧ/ЛН/Сл. номер на НАП or ЕИК по ЗТРРЮЛНЦ/ЕИК по БУЛСТАТ/Сл. номер на НАП |
| identtype | integer enum | Yes | 1=ЕИК по БУЛСТАТ/ЕИК по ЗТРРЮЛНЦ, 2=ЕГН, 3=ЛНЧ/ЛН, 5=Сл. номер на НАП |
3.2 Unique Transport Number (uin)
OPTIONAL. 13 characters. Used only for corrections to previously submitted declarations. Must not be filled for initial submission.
3.3 Carrier Information (carrier)
OPTIONAL. Information about the entity performing the transport. If filled, must provide either reprperson (physical person) OR reprfirm (legal entity).
Carrier - Physical Person (reprperson):
| Field | Type | Required | Description |
| isperson | boolean | Yes | Flag for physical person |
| egn | string (10 chars) | Yes | Identification number |
| name | string (max 200) | Yes | Name - Latin or Cyrillic characters allowed |
| identtype | integer enum | Yes | 2=ЕГН, 3=ЛНЧ/ЛН, 5=Сл. номер на НАП, 6=Other number |
Carrier - Legal Entity (reprfirm):
| Field | Type | Required | Description |
| isfirm | boolean | Yes | Flag for legal entity |
| bulstat | string (max 15) | Yes | Identification number. VIN starting with BG is NOT allowed. |
| name | string (max 200) | Yes | Name - Latin or Cyrillic characters allowed |
| identtype | integer enum | Yes | 1=ЕИК по БУЛСТАТ/ЕИК по ЗТРРЮЛНЦ, 5=Сл. номер на НАП, 6=Other number, 9=VIN number |
3.4 Transport Organizer (organizer)
OPTIONAL. Entity organizing the transport. Same structure as carrier - must provide either reprperson (physical person) OR reprfirm (legal entity).
Organizer - Physical Person (reprperson):
| Field | Type | Required | Description |
| isperson | boolean | Yes | Flag for physical person |
| egn | string (10 chars) | Yes | Identification number |
| name | string (max 200) | Yes | Name - Latin or Cyrillic characters and digits allowed |
| identtype | integer enum | Yes | 2=ЕГН, 3=ЛНЧ/ЛН, 5=Сл. номер на НАП, 6=Other number |
Organizer - Legal Entity (reprfirm):
| Field | Type | Required | Description |
| isfirm | boolean | Yes | Flag for legal entity |
| bulstat | string (max 15) | Yes | Identification number. VIN starting with BG is NOT allowed. |
| name | string (max 200) | Yes | Name - Latin or Cyrillic characters allowed |
| identtype | integer enum | Yes | 1=ЕИК по БУЛСТАТ/ЕИК по ЗТРРЮЛНЦ, 5=Сл. номер на НАП, 6=Other number, 9=VIN number |
3.5 Vehicle Registration
| Field | Type | Required | Description |
| regvehicle | string (max 15) | Yes | Registration number of the main road vehicle. Only uppercase Latin letters and digits allowed, no spaces. |
| regtrailer1 | string (max 15) | No | Registration number of additional road vehicle - trailer. Only uppercase Latin letters and digits allowed, no spaces. |
| regtrailer2 | string (max 15) | No | Registration number of additional road vehicle - trailer. Only uppercase Latin letters and digits allowed, no spaces. |
3.6 Transfer Operations (Overloading/Reloading)
| Field | Type | Required | Description |
| istransfer | boolean | Yes | Flag - Overloaded goods (transfer point) |
| transferaddress | addressdetailed | Conditional | Address of transshipment (REQUIRED if istransfer=true) |
| transferdate | date | Conditional | Date of transshipment (REQUIRED if istransfer=true). Date and time must be after NRA data receipt and before earliest goods receipt date/time. If transhipment from other transport type is filled, transfer date/time must be after that. |
| transfertime | string (HH:MM) | Conditional | Time of transshipment (REQUIRED if istransfer=true). Same validation rules as transferdate. |
| transcarrier | carrier | Conditional | New carrier details (REQUIRED if istransfer=true) |
Transfer Address (transferaddress):
| Field | Type | Required | Description |
| ekatte | string (5 chars) | Yes | Settlement code (required if istransfer=true) |
| street | string (max 100) | No | Street name |
| numb | string (max 5) | No | Street number |
| localaddress | string (max 100) | Yes | Full address details - Required if street and numb are not filled |
Carrier at Transfer (transcarrier):
| Field | Type | Required | Description |
| reprperson / reprfirm | section | Yes | Physical person or Legal entity - same structure as main carrier |
| transregvehicle | string (max 15) | No | Main vehicle registration at transfer - uppercase Latin and digits only |
| transregtrailer1 | string (max 15) | No | Additional vehicle registration at transfer |
| transregtrailer2 | string (max 15) | No | Additional vehicle registration at transfer |
3.7 Transhipment from Other Transport Type (transhipment)
OPTIONAL. For goods carried by water, rail, or air transport requiring transshipment to road transport.
| Field | Type | Required | Description |
| istranshipment | boolean | Yes (in block) | Flag for transhipment from other transport type |
| transporttype | string (1 char) | Conditional | Required if istranshipment=true. 1=Water (Воден), 2=Railway (Железопътен), 3=Air (Въздушен) |
| transdate | date (YYYY-MM-DD) | Conditional | Required if istranshipment=true. Date must be after NRA receipt but before goods receipt. Date/time of transhipment from other transport must be less than transfer date at initial declaration. Cannot be corrected in status "Awaiting confirmation". |
| transtime | string (HH:MM) | Conditional | Required if istranshipment=true. Same validation as transdate. |
| transaddress | address | Conditional | Required if istranshipment=true. Address of transshipment from other transport type. |
Transhipment Address (transaddress):
| Field | Type | Required | Description |
| ekatte | string (5 chars) | Yes | Settlement code |
| street | string (max 100) | No | Street name |
| numb | string (max 5) | No | Street number |
| localaddress | string (max 100) | Yes | Full address - Required if street and numb are not filled |
3.8 Sender/Supplier Data (cr)
MANDATORY. Information about sender(s)/supplier(s). Can have multiple entries.
| Field | Type | Required | Description |
| crident | string (max 15) | Yes | Identification number/VIN number of sender/supplier. VIN syntactic validation is performed. |
| cridenttype | integer enum | Yes | 1=ЕИК по БУЛСТАТ/ЕИК по ЗТРРЮЛНЦ, 5=Сл. номер на НАП, 6=Other number, 9=VIN number |
| crname | string (max 200) | Yes | Name/Title of sender/supplier. Latin or Cyrillic characters and digits allowed. |
| tident | string (max 15) | No | Third party ID (triangular operation). VIN syntactic validation is performed if filled. |
| tidenttype | integer enum | No | 1=ЕИК по БУЛСТАТ/ЕИК по ЗТРРЮЛНЦ, 5=Сл. номер на НАП, 6=Other number, 9=VIN number |
| tname | string (max 200) | No | Third party name. Latin or Cyrillic characters and digits allowed. |
| country | country (2 chars) | Yes | Origin country (EU Member State excluding Bulgaria, ISO 3166-1 alpha-2 code) |
3.9 Address and Goods (address/goods)
Each sender can have multiple delivery addresses, and each address can have multiple goods.
Address Fields (receivedaddress):
| Field | Type | Required | Description |
| ekatte | string (5 chars) | Yes | Settlement code |
| street | string (max 100) | No | Street name |
| numb | string (max 5) | No | Street number |
| localaddress | string (max 100) | Yes | Full address - Required if street and numb are not filled |
| receiveddate | date (YYYY-MM-DD) | Yes | Date of receipt/unloading. Must be after NRA receipt date/time. Must be after transfer date/time and transhipment date/time (both at initial submission and correction). When multiple addresses are declared, receipt times must be different. |
| receivedtime | string (HH:MM) | No | Time of receipt. Must be after NRA receipt date/time. If not filled, 23:59 on the specified date is assumed. |
Goods Fields:
| Field | Type | Required | Description |
| code | string (max 20) | Yes | Combined Nomenclature commodity code from the list of high fiscal risk goods |
| quantitytype | string (max 50) | Conditional | Unit of measure. MANDATORY only for goods codes included in Order № ЗМФ-237/31.03.2025 (from 01.05.2025). Allowed values: "кг" (kg), "м2" (m²), "броя" (pieces). Do NOT fill for codes not included in the cited Order. Declaration is rejected if not filled for 4-digit codes per the Order. |
| quantitynet | decimal (3 decimal places) | Yes | Net quantity. Must be > 0.00. Must not exceed quantitygross value. |
| quantitygross | decimal (3 decimal places) | No | Gross quantity. Must be >= 0.00. Must be >= quantitynet value. |
| price | decimal | Yes | Value of goods in leva. Must be > 0.00 when purpose is "01" (delivery) or "05" (storage mode until demand). |
| purpose | string (2 chars) | Yes | Purpose code: 01-07 (see Purpose Codes table) |
| purposeother | string (max 1000) | Conditional | Description - Required when purpose is "02" (complaint) or "06" (other) |
3.10 Contact Information
| Field | Type | Required | Description |
| cname | string (max 200) | Yes | Contact person name (first name and family name) |
| cphonecode | string (max 10) | Yes | Phone country code |
| cphone | string (max 10) | Yes | Phone number |
| cpemail | string (max 200) | Yes | Email address for correspondence of the obligated person for fiscal control proceedings. Must be a valid email address. |
3.11 Declarant Information
| Field | Type | Required | Description |
| dname | string (max 200) | Yes | Name of declarant. Filled from the electronic signature used to submit the data. |
| iscorrect | boolean | Yes | Declaration confirmation: "I declare that the information provided in this form is true and accurate. I am aware that I bear responsibility under Art. 313 of the Penal Code for false information." |
4. Purpose Codes
| Code | Bulgarian | English |
| 01 | доставка на стока | Delivery of goods |
| 02 | рекламация на стока | Product complaint |
| 03 | дарение на стока | Donation of goods |
| 04 | обработка на стоката | Processing of the goods |
| 05 | режим складиране на стока до поискване | Goods storage mode until demand |
| 06 | друго | Other |
| 07 | преминаване с претоварни операции | Transit with transshipment operations |
5. Simple Data Types
| Type | Base | Constraints | Description |
| egn | string | length: 10, pattern: [0-9]{10} | Personal ID number (ЕГН) |
| bulstat | string | maxLength: 15 | Company/personal ID. VIN starting with BG not allowed. |
| vin | string | maxLength: 15, pattern: [A-Z0-9\+\*]{1,15} | VIN/foreign ID |
| identtype | integer | enum: 1, 2, 3, 5 | ID type for Bulgarian recipient entities: 1=ЕИК по БУЛСТАТ/ЕИК по ЗТРРЮЛНЦ, 2=ЕГН, 3=ЛНЧ/ЛН, 5=Сл. номер на НАП |
| egntype | integer | enum: 2, 3, 5, 6 | ID type for physical persons: 2=ЕГН, 3=ЛНЧ/ЛН, 5=Сл. номер на НАП, 6=Other number |
| vintype | integer | enum: 1, 5, 6, 9 | ID type for foreign/legal entities: 1=ЕИК по БУЛСТАТ/ЕИК по ЗТРРЮЛНЦ, 5=Сл. номер на НАП, 6=Other number, 9=VIN number |
6. Validation Rules Summary
7. Schema Information
End of Documentation
Based on: Описание на XSD-схеми за подаване на данни за деклариране на превози на стоки с висок фискален риск, Версия 5, Април 2025 г., НАП