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 Admin
2

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 Admin
3

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 Admin
4

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 / Manufacturer
5

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 Owner
6

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 Device

Cryptographic 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)