# eFTI readiness (https://docs-ecmrhub-v2.lucaspiera.com/docs/efti)

> What Hub does with eFTI data today (validation and a list of gaps) and what it does not do.

eFTI is the EU framework for electronic freight transport information (Regulation (EU)
2020/1056). Authorities will read transport data from certified eFTI platforms through eFTI
gates.

## What Hub does [#what-hub-does]

- **Knows which fields eFTI needs.** `ecmrhub fields` marks every field eFTI requires beyond what
  issuing a CMR requires (`eftiRequired`), with code lists and formats.
- **Validates the data** against those formats: codes from their lists, precision of numbers,
  country codes, the trailer rule.
- **Lists the gaps.** `ecmrhub drafts check` and `ecmrhub efti check` return `eftiGaps`: the keys of
  fields eFTI needs and the draft or document does not have. The check runs locally and sends
  nothing.

```bash
ecmrhub efti check <documentId> --json
ecmrhub efti check --data note.json --json
```

```json
{ "ok": true, "errors": {}, "missingRequired": [], "eftiGaps": ["..."] }
```

Gaps do not block issuing a CMR. Tell the user which fields are missing; they decide whether to
fill them.

## What Hub does not do [#what-hub-does-not-do]

- It does not register documents in an eFTI gate and does not send data to authorities.
- It is not a certified eFTI platform. Do not tell users that a document is "eFTI compliant" or
  "registered"; say that the eFTI data is complete or which fields are missing.

> **For agents:** Never promise eFTI registration, certification or availability to inspectors. Report gaps only.

> **In build (CLI and dashboard):** `ecmrhub efti check` and eFTI readiness of documents in the dashboard are part of phase 1. The
> field list and the gap check exist today in the shared field definitions used by the SDK.
