eID 2 FMP
NL EN FR
← Back to eID 2 FMP

Manual

Read the Belgian identity card on iPhone or iPad, and get the data straight into FileMaker Go.

1

What you need

eID 2 FMP runs on an iPhone or iPad with iOS or iPadOS 26.5 or later. To read a card you need two things that are not in the app.

  • A Bluetooth card reader. The Zetes Sipiro M BT 4.0, also sold as the FEITIAN bR301BLE. That is the model the app was built and tuned against.
  • A Belgian identity card. The contact chip, not the NFC side.

And for the bridge to FileMaker

  • FileMaker Go on the same device, version 19 or later.
  • A FileMaker file with the extended privilege fmurlscript enabled. Without it, Go refuses every script that comes from outside.

Where to buy a reader

  • Indicative price — € 85 excl. VAT
  • Delivery — 1 to 2 working days
  • Shipping — free from two units
  • Available ateidshop.be
  • In the box — the reader and a USB-A to USB-C charging cable, 24 months warranty
This is the price of the device, not of the app: eID 2 FMP is free to install and the first ten readings cost nothing. Price and delivery time checked on 21 August 2026. We do not sell these readers ourselves and earn nothing from this referral — check the current price at the shop.
This reader is made for phones and tablets. An ordinary USB reader for a PC will not work with an iPhone.

2

Pairing the card reader

You do not pair the reader through the iOS Bluetooth settings, but inside the app. That is not an eID 2 FMP quirk: these readers do not announce themselves as a keyboard or a headset, so they never show up in that list.

  1. Switch the reader onHold the button until the blue light blinks.
  2. Open eID 2 FMP and tap LezerThe search screen opens and starts scanning immediately.
  3. Wait for your device to appearReaders of this brand are listed first, with an indication of how close they are. Other Bluetooth devices nearby are shown too — useful to confirm that scanning works at all.
  4. Tap itThat is all. The choice is remembered, also after quitting the app.
The first time, iOS asks for Bluetooth permission. Refuse it and the list stays empty with the message Geen toestemming voor Bluetooth. You can fix that in Settings → eID 2 FMP → Bluetooth.
A Bluetooth card reader talks to one device at a time. If it is still connected to an iPad across the room, your iPhone will find it but will not manage to pair.

3

Reading a card

  1. Insert the cardChip facing up, all the way in.
  2. Press Kaart lezenThe app connects to the reader, powers up the card and reads the identity file.
  3. Read the resultSurname, given names, date of birth, nationality, card number, expiry date, address and the portrait.

The first read after launching takes the longest — some ten seconds. The app still has to find the reader over the air, pair with it and power up the card. Every read after that is quick.

Clearing

The Wissen button discards the result. Nothing is stored anyway: close the app and the reading is gone. More about that in chapter 10.

The APDU traffic

Top left there is APDU-verkeer. It shows every command sent to the card and every answer that came back, status words included. That is where the name Lab comes from, and it is the first place to look when a read fails.

4

What is read

eID 2 FMP reads the identity file on the card. That is the freely readable part: no PIN, no certificate and no authorisation from any authority is needed. Any ordinary card reader reads the same thing.

FieldContents
achternaamSurname
voornamenAll given names as printed on the card
volledigeNaamGiven names and surname together, ready to display
geboortedatumAs on the card, as text
geboorteplaatsContact chip only
geslachtM or V
nationaliteitUsually Belg
documentnummerThe card number
vervaldatumValid until
straatStreet and number
postcodePostal code
gemeenteMunicipality
adresThe three address fields on one line
pasfotoThe portrait from the card, as JPEG

What does not happen

  • The app does not use the card's authentication or digital signature functions, so it never asks for a PIN.
  • The app does not use the card's certificates.
  • The app contacts no government service and not the national register.
The national register number is in the same file on the card, but eID 2 FMP skips it. It does not appear on screen, it does not travel to FileMaker, and there is no setting to change that. In Belgium that number is separately regulated: an ordinary business needs a legal basis to process it, and rarely has one.

5

Setting up eID 2 FMP for FileMaker

At the top of the main screen there is FileMaker. That is where you say where the data should go.

  1. BestandThe name of your FileMaker file, without .fmp12.
  2. ScriptThe script that receives the data. eIDOntvangen by default.
  3. HostLeave empty for a file on the device itself. Otherwise the address or name of your FileMaker Server.
  4. Automatisch versturenOn by default. As soon as a card is read it goes straight to FileMaker, with no intermediate step. At a counter, every extra tap is one too many.
  5. PasfotoIn the URL as base64 (the default), via the clipboard, or not at all.

Why the photo has to take a detour

The fmp:// scheme allows one script parameter, and everything has to fit through a URL. The portrait on a Belgian eID is small — a few kilobytes — so base64 fits comfortably. Should the URL become too long anyway, eID 2 FMP falls back to the clipboard and says so. You catch that with the Paste script step.

6

Building the FileMaker side

On the FileMaker side you need a table, a script and one setting.

1. The privilege

File → Manage → Security → Extended Privileges → tick fmurlscript for the privilege set you use. Forget this and nothing happens, without any error message.

2. The fields

Create text fields with the same names as in chapter 4, a container field Pasfoto, and a text field ID with auto-enter Get ( UUID ).

3. The script eIDOntvangen

Set Variable [ $json ; Get ( ScriptParameter ) ]

Set Field [ Persoon::Achternaam
          ; JSONGetElement ( $json ; "achternaam" ) ]
Set Field [ Persoon::Voornamen
          ; JSONGetElement ( $json ; "voornamen" ) ]
Set Field [ Persoon::Geboortedatum
          ; JSONGetElement ( $json ; "geboortedatum" ) ]
# ... and so on for every field

Set Variable [ $foto ; JSONGetElement ( $json ; "pasfoto" ) ]
If [ not IsEmpty ( $foto ) ]
    Set Field [ Persoon::Pasfoto
              ; Base64Decode ( $foto ; "pasfoto.jpg" ) ]
End If

Commit Records/Requests [ With dialog: Off ]
The parameter is JSON. eID 2 FMP leaves empty fields out, so JSONGetElement on a missing field simply returns empty text — you never overwrite anything with an error.

7

Letting FileMaker ask for a card

So far eID 2 FMP pushed the data to FileMaker. It also works the other way around: a button in your file that opens eID 2 FMP, has a card read, and gets the answer back in the same record.

New Record/Request
Commit Records/Requests [ With dialog: Off ]

Set Variable [ $terug ; Value:
    "fmp://$/" & Get ( FileName ) & "?script=eIDOntvangen" ]

Open URL [ With dialog: Off ;
    "eid2fmp://lees" &
    "?terug="   & GetAsURLEncoded ( $terug ) &
    "&sleutel=" & GetAsURLEncoded ( Persoon::ID ) ]

What happens then: eID 2 FMP comes to the front with a yellow bar FileMaker wacht op een kaart, reads by itself, and jumps back to FileMaker with the data and the key in it. Your eIDOntvangen script can use that key to find the right record.

If your file is on a server, replace fmp://$/ with fmp://yourserver/.
Use GetAsURLEncoded around the return address. Without it things break as soon as your return URL carries a second parameter.

8

The self-test

Under FileMaker → Zelftest the app runs nine checks. Each one says what was tested and, when it fails, what you can do about it.

  • whether the card reader SDK is actually built in
  • whether Bluetooth permission has been granted
  • whether a reader has been chosen
  • whether that reader is on the air right now
  • whether FileMaker Go is installed on this device
  • whether file and script have been filled in
  • whether the URL stays within a safe length
  • whether your FileMaker Server is reachable, if you named one
  • whether the file is open — the app cannot know that for certain, and says so

There is also a test with a made-up card. It sends sample data to your FileMaker file without any card or reader involved. If FileMaker opens with a filled-in record, the whole chain is sound and only the reading itself remains to be tested.

9

When it does not work

eID 2 FMP does not come up when I press the button in FileMaker

Then the URL never left. iOS never launches an app invisibly in the background: either it comes to the front, or nothing happens. As a check, type eid2fmp://lees in Safari — the app should open with a red bar De oproep bevatte geen terug-adres. If it does, the scheme works and the problem is in your calculation.

eID 2 FMP opens with a red bar

The call arrived but has no return address, or the address is unusable. The bar shows exactly what came in.

The read fails

  • geen lezer — the SDK does not see the device. Is it on? Charged? Still attached to another device?
  • verbinden mislukt — it is seen but will not pair. Switch it off and on.
  • a SCardConnect error — the card does not power up. Push it all the way in, chip facing up.

The data arrives, the photo does not

Check that the container field really is a container and not a text field, and that you give Base64Decode a file name — without that name FileMaker does not know what kind of file it is holding.

Nothing happens in FileMaker

Nine times out of ten fmurlscript is off, or the script name is not exactly right. Go does not report that: it simply does nothing.

10

Privacy in short

  • The data stays on the device. There is no server of ours and nothing is sent to us.
  • Nothing is stored. Close the app or press Wissen and the reading is gone.
  • The card is only read when you ask for it, or when FileMaker asks for it.
  • Send it on to FileMaker and the data goes to your file — on the device or on your server. Where it lives after that is your decision.
If you choose via the clipboard for the portrait, that photo sits on the device's clipboard until the next copy — and on a Mac in the same iCloud environment, there too. Base64 does not have that drawback.

The full text is in the privacy policy.

← Back to eID 2 FMP