EFD Enrollment Guide
Complete guide to enrolling Electronic Fiscal Devices (EFDs) with MOR API. EFDs are hardware devices that sign receipts locally using ECDSA-P256, while MOR-API verifies the signatures.
VFD vs EFD
VFD (Virtual Fiscal Device)
- Cloud-based signing (MOR-API signs receipts)
- Instant registration, no hardware needed
- Best for SMEs and phone-based POS
EFD (Electronic Fiscal Device)
- On-device signing (device signs locally)
- Works offline, tamper-resistant hardware
- Best for high-volume retail and existing hardware
Enrollment Lifecycle
1
Manufacturer Registration
Hardware manufacturer registers with MOR and gets a manufacturer ID.
- Submit business registration documents
- Provide contact and representative details
- Receive MOR manufacturer registration number
POST /v1/manufacturersMOR Admin2
Device Model Submission
Submit device model specifications for type-approval.
- Specify form factor, connectivity, and security features
- Declare supported signing algorithms (ECDSA-P256)
- Indicate secure element / hardware keystore capability
POST /v1/manufacturers/{id}/modelsMOR Admin3
Type-Approval Certification
Device model goes through MOR certification workflow.
- Application submitted and documentation reviewed
- Lab testing for compliance (ECDSA-P256 + SHA-256)
- Field trial at selected merchant locations
- Final approval grants certificate number
POST /v1/certificationsMOR Admin4
Batch Device Import
Manufacturer batch-registers device serial numbers (up to 1,000 per call).
- Provide approved model ID and list of serial numbers
- Each device is created in PENDING_ACTIVATION status
- Devices are assigned ON_DEVICE signing mode automatically
POST /v1/hardware/batch-registerMOR Admin / Manufacturer5
Merchant Assignment
Assign pre-registered devices to specific merchants.
- Specify merchant ID, optional branch and station
- Device must be in PENDING_ACTIVATION status
- Validates branch quota before assignment
POST /v1/hardware/{id}/assignMOR Admin / Merchant Owner6
Public Key Registration
EFD generates ECDSA-P256 keypair on first boot and registers its public key.
- Device generates keypair in secure element (TEE)
- Public key (PEM format) sent to MOR-API
- MOR-API validates key is ECDSA P-256 (secp256r1)
- Key stored for future receipt signature verification
POST /v1/hardware/{id}/register-keyDevice (API Key)7
Receipt Signing
EFD signs receipts locally, MOR-API verifies signatures.
- Device signs receipt data with private key (ECDSA-P256 + SHA-256)
- Signed receipt submitted to MOR-API
- MOR-API verifies signature using registered public key
- Fiscal code generated upon successful verification
POST /v1/receiptsMerchant DeviceCryptographic Standard
ECDSA-P256 + SHA-256
Why ECDSA-P256?
- 128-bit security (vs 112-bit RSA-2048)
- 64-byte signatures fit QR codes on thermal receipts
- Faster on mobile/embedded devices
- 10-year retention compliance ready
Regulatory Basis
- Proclamation 1072/2018 Art. 2(4)
- MOR/EFD/2024/003 Annex A
- INSA Root CA (Proclamation 1072/2018 Art. 9)