Lynbro Soge Lookup

Описание

Lynbro Soge Lookup puts official Danish registry data on your WordPress site in minutes — no coding:

  • 🚗 Vehicle lookup — visitors enter a registration number (nummerplade) or VIN and get the official Danish Motor Register (DMR) record: make, model, variant, fuel, power in both kW and hestekræfter, first registration, environmental zone and more.
  • 💰 Green owner tax — the yearly and half-yearly grøn ejerafgift with the efficiency class, straight on the card (works on the free tier).
  • 🔍 The questions a buyer actually asks — on a paid Soge.dk plan the card also answers them: the official inspection history (syn) with the exact odometer reading and report PDF for every inspection, mileage history with rollback detection, current insurance, debt registered on the car (and it says so plainly when there is none), official valuations, open safety recalls, battery & range for EVs and EU safety alerts. Pick the sections you want under Integrations — they load after the page appears, so they never slow it down.
  • 🏢 Company lookup — search the Central Business Register (CVR) by CVR number or company name, or embed a fixed company card (for example your own company details in the footer).
  • 🧩 Form prefill (vehicle × company) — the visitor types a plate/VIN and/or a CVR and your form fields fill automatically: vehicle details from DMR, company & billing details from CVR. Auto-fill finds common fields for you (WooCommerce billing, address fields) with no setup; for custom fields, map each field with a simple preset or CSS selector.
  • 🗂 Store it on the entry — look a car or company up once in the editor and the fields are saved as this entry’s custom fields. Then show any field with ordinary WordPress blocks, in your own design: no shortcode, no markup from us. Perfect for a dealer’s stock pages.
  • 🔎 Findable by plate — once a car is stored on an entry, your site’s own search finds it by registration number or VIN, even when neither appears in the text.
  • 🛞 WooCommerce “fits your car?” — put a plate-lookup box on product pages so customers check whether a part fits their car before buying.

Works with the plugins you already use: WooCommerce (classic checkout & the Checkout Block), Contact Form 7, WPForms, Gravity Forms, Fluent Forms, Formidable, Ninja Forms, Elementor Forms (plus a drag-and-drop Elementor widget), Easy Digital Downloads, Bookly and any plain HTML form. A Gutenberg Soge.dk Form Prefill block gives you a visual field-mapping panel with one-click presets.

Til danske websites: opslag af nummerplade, VIN og CVR direkte på dit site — bil- og virksomhedsdata fra Motorregisteret (DMR) og Det Centrale Virksomhedsregister (CVR), inklusive grøn ejerafgift og synsrapporter.

Perfect for car dealers, workshops and inspection stations («check a car» on your site), auto-service booking (plate car, CVR B2B invoice), tyre & parts shops, leasing/insurance quotes, B2B sites that verify business partners, directories and automotive blogs.

An admin that tells you what is going on: a Dashboard with a connection test, Statistics showing how many lookups went to Soge.dk and how many your cache absorbed (so you can see your quota being saved), a Log that explains failed calls in plain language instead of raw status codes, a Languages tab showing which translation your site is actually running, plus Feedback and About.

How it works: create a free account on Soge.dk (no card required), paste your API key into the plugin settings, then drop a shortcode, block or widget anywhere:

  • [soge_vehicle] — vehicle search form for visitors
  • [soge_vehicle identifier="AB12345"] — fixed vehicle card, rendered server-side (SEO-indexable)
  • [soge_company] — company search form
  • [soge_company cvr="25052943"] — fixed company card
  • [soge_prefill] — combined plate + CVR prefill for any form. With auto-fill on it needs no configuration; add c_*/v_* attributes with CSS selectors (or use the block’s mapping panel) to target custom fields. See Lynbro Soge Lookup Integrations for the full field reference.
  • [soge_fitment make="RENAULT"] — a “does this part fit your car?” plate-lookup box for product or landing pages
  • Gutenberg blocks: Soge.dk Vehicle Lookup, Soge.dk Company Lookup and Soge.dk Form Prefill (with a visual field-mapping panel)
  • A classic widget for non-block themes, and a native Elementor widget

Built to be safe and thrifty:

  • Your API key is stored encrypted and used only server-side — it never reaches visitors’ browsers.
  • Lookups are cached (1–48 h, configurable) so repeated views don’t consume your Soge.dk quota.
  • Public search forms are rate-limited per visitor IP (only a salted hash of the IP is stored — never the raw IP).
  • Everything in this plugin is free and fully functional — nothing is switched off to sell you an upgrade. Some data sections (inspection history, insurance, mileage, registered debt, valuations, recalls) are returned by the Soge.dk service only on its paid plans; the plugin simply shows what your plan includes and quietly skips the rest.

Developer-friendly: filters soge_lookup_vehicle_sections, soge_lookup_company_sections, soge_lookup_vehicle_data, soge_lookup_company_data, soge_lookup_api_response, soge_lookup_cache_ttl, soge_lookup_rate_limit, soge_lookup_fitment_attribute, soge_lookup_product_fits, soge_lookup_integrations; actions soge_lookup_vehicle, soge_lookup_b2b_company; and a JS soge_lookup_vehicle / soge_lookup_company CustomEvent on every lookup. A structured JSON route GET /wp-json/soge-lookup/v1/data?type=vehicle|company&q=… returns normalized records for your own integrations. An opt-in bridge (soge_lookup_enable_dk_accounting_bridge) can power our CVR Checkout for WooCommerce plugin’s CVR field from Soge.dk.

External Services

This plugin connects to the Soge.dk API (operated by LynBro ApS, Denmark) to fetch Danish vehicle (DMR) and company (CVR) registry data. A free Soge.dk account and API key are required.

  • What is sent: the lookup value entered by you or your visitor (registration number, VIN, CVR number or company-name search text) together with your site’s Soge.dk API key. Requests go to https://soge.dk/api/v1/….
  • When: only when a lookup form is submitted, a fixed card is rendered and its cache has expired, or you press «Test connection» in the settings.
  • What is not sent: no personal data about your visitors (no IPs, names, emails or cookies) is transmitted to Soge.dk by this plugin.
  • Service provider: LynBro ApS — Terms of Service · Privacy Policy
  • Links only: inspection reports and photos are shown as links to the official Danish inspection portal (findsynsrapport.esyn.dk). Nothing is requested from that site by the plugin — the link opens only if a visitor clicks it.

One optional feature contacts the Lynbro portal at https://plugins.lynbro.dk:

  • Feedback — sent only when you write a message and click «Send feedback» on the Feedback tab. It posts your message, the chosen category, the plugin version, your site’s address, your site language and (only if you type one) your email address, to https://plugins.lynbro.dk/v1/feedback. Nothing is sent automatically, and nothing about your visitors or your lookups is included. Service provider: LynBro ApS — Terms & Privacy.

Скриншоты

Блоки

Этот плагин предоставляет 3 блока.

  • Soge.dk Form Prefill Prefill any form (WooCommerce, Contact Form 7, WPForms, Elementor, booking…) from a Danish plate or CVR.
  • Soge.dk Company Lookup Danish company lookup (CVR) via Soge.dk — a visitor search form or a fixed company card.
  • Soge.dk Vehicle Lookup Danish vehicle lookup (nummerplade/VIN) via Soge.dk — a visitor search form or a fixed vehicle card.

Установка

  1. Install via the Plugins screen (or upload to /wp-content/plugins/lynbro-soge-lookup).
  2. Activate the plugin.
  3. Get a free API key at soge.dk (no card required).
  4. Paste the key under Lynbro Soge Lookup — CVR & DMR Settings and press Test connection.
  5. Add a shortcode, block or widget to any page.

Часто задаваемые вопросы

Do I need a Soge.dk account?

Yes — a free account. The plugin talks to the official Soge.dk API and needs your own API key. The free tier includes basic vehicle and company lookups with a monthly quota; caching in this plugin stretches that quota a long way.

Is the plugin itself fully functional for free?

Yes. Every feature of this plugin works with a free key. Extended data sections (inspection history, insurance, odometer, recalls, company ownership and financials) are provided by the Soge.dk service on its paid plans; if your plan doesn’t include them, those sections are simply skipped.

How do I prefill my booking/quote form from a plate or CVR?

Add the Soge.dk Form Prefill block (or the [soge_prefill] shortcode) to the page with your form. With auto-fill on, common fields (WooCommerce billing, address fields) are found for you — no setup. For custom fields, use the block’s field-mapping panel with one-click presets, or add CSS selectors like c_name="#billing_company", v_make="#car_make". When the visitor looks up a plate or CVR, those fields fill. Tip: in the shortcode, use element IDs for selectors (a ] inside an attribute value breaks WordPress shortcodes — the block panel has no such limit).

How do I show vehicle data in my own design?

Open the entry, use the Soge.dk data panel in the sidebar, enter a plate and press Fetch vehicle — the fields are stored on that entry. Then add a normal Heading or Paragraph block and bind it to the stored field (the plugin registers a «Soge.dk vehicle & company» binding source; core’s post-meta binding works as well). Requires WordPress 6.5+ for bindings, and a post type that supports custom fields.

Can visitors find a car by its registration number?

Yes. If the car is stored on an entry (see the panel above), your theme’s normal search form finds it by plate, VIN or CVR — no special search page needed. The plugin only widens the query for terms that look like an identifier, so everyday searches stay as fast as before. Use the soge_lookup_search_meta_keys filter to change which fields are searched.

Which forms and shops are supported?

WooCommerce (classic checkout and the Checkout Block), Contact Form 7, WPForms, Gravity Forms, Fluent Forms, Formidable, Ninja Forms, Elementor Forms (plus a native Elementor widget), Easy Digital Downloads, Bookly and plain HTML forms. Enable the ones you use on the Integrations tab — detected plugins are marked “Active on this site”.

How does “fits your car?” work on WooCommerce?

Enable it on the Integrations tab (or place [soge_fitment]). On a product page the customer enters their plate; we look up the car and, if you tag parts with a make attribute (default pa_maerke, changeable via soge_lookup_fitment_attribute), tell them whether it looks like a match. It never hides products — shops can react with the soge_lookup_vehicle event or soge_lookup_product_fits filter.

Does this add a CVR field to the WooCommerce checkout?

No — this plugin prefills forms you place with [soge_prefill]. For a dedicated CVR field and company autofill built into the WooCommerce checkout (classic and Blocks), use our companion plugin CVR Checkout for WooCommerce.

Which data sources does Soge.dk use?

Official Danish registries: the Motor Register (DMR/Motorregister) for vehicles and the Central Business Register (CVR/Virk) for companies. Data is refreshed continuously; vehicle data updates weekly.

Can visitors abuse the search form and burn my quota?

The plugin rate-limits lookups per visitor IP (default 10/minute, configurable) and caches every answer, so repeat queries are served locally. You can also avoid public forms entirely and use only fixed cards.

The plugin says the key is in use on other servers

A Soge.dk key may be used on several devices at once — how many depends on your plan. This message means all of those slots are busy (for example the same key also runs on a staging site or from a local terminal). Give this site its own key, or rotate the key in your Soge.dk account to free the slots. Keys are never blocked for this.

The rate limit seems to trigger for many visitors at once

The per-IP limit uses the address your server sees. Behind some proxies or CDNs many visitors can share one IP; raise the limit in Settings (up to 120/min) or adjust it with the soge_lookup_rate_limit filter.

Does it work with my language?

The plugin is fully internationalised, and WordPress installs a translation for your site automatically when one exists on translate.wordpress.org — nothing to download by hand. The Languages tab shows which one your site is running.

Two different things are called «language» here, so to be clear: the plugin’s own interface follows your WordPress language, while the «full report» links that open on Soge.dk have their own setting (Danish, English or Ukrainian) because that is a property of the destination, not a translation.

Can I fix a translation in my language?

Yes, and it is welcome. Translations for this plugin live on translate.wordpress.org — that is where a string becomes the one WordPress delivers to every site.

If you would rather read the whole thing as a file, the drafts for 34 languages are public on GitHub, with a note on the Danish registry terms that are easy to get wrong (syn, grøn ejerafgift, reklamebeskyttelse). Correct them there by pull request if that suits you better; no WordPress.org account needed.

Danish, Ukrainian and Russian are checked by a speaker. Every other language began as a draft, so a native speaker’s correction is worth more than another automated pass. If you want to take charge of a language, ask to become its translation editor for this plugin — that is the role that can approve a locale — and we will support the request.

Отзывы

Нет отзывов об этом плагине.

Участники и разработчики

«Lynbro Soge Lookup» — проект с открытым исходным кодом. В развитие плагина внесли свой вклад следующие участники:

Участники

«Lynbro Soge Lookup» переведён на 2 языка. Благодарим переводчиков за их работу.

Перевести «Lynbro Soge Lookup» на ваш язык.

Заинтересованы в разработке?

Посмотрите код, проверьте SVN репозиторий, или подпишитесь на журнал разработки по RSS.

Журнал изменений

0.5.3

  • The block editor is translatable now: the block names, descriptions, search keywords and the whole Form Prefill sidebar were never in the translation catalogue, because they live in JavaScript and block.json rather than PHP. Every language can reach 100% at last.

0.5.2

  • The Languages tab now points at both places a translation can be improved: translate.wordpress.org, where a correction becomes the version WordPress delivers, and a public GitHub repository where the drafts for 34 languages can be read and corrected as plain files, without an account.

0.5.1

  • Translations now arrive the WordPress way, from translate.wordpress.org, instead of being bundled — so they update on their own and anyone can improve them. The Languages tab shows what your site is actually running.
  • Nothing this plugin has to say now appears outside its own screen: the review invitation and the feedback result moved onto the plugin’s own page, and activating it no longer redirects you anywhere.

0.5.0

  • New Statistics tab: requests to Soge.dk versus answers served from cache, the share your cache saved, what is being looked up (vehicles, companies, extended sections) and a 14-day history. All counted locally — no visitor data, nothing sent anywhere.
  • New Log tab: failed calls now explain themselves («the key was rejected», «not included in your plan», «your server could not reach soge.dk»), so a broken key is no longer indistinguishable from a network problem. The log keeps far more history and can be cleared.
  • New Languages tab: the translation your site is running, and a link to contribute one on translate.wordpress.org.
  • New Feedback and About tabs, and a «Settings» link on the plugins list. After two weeks of use you get one polite, dismissible review request — once, on this plugin’s own screen, never again if you say no.
  • The Dashboard is now an overview that links to the detail instead of holding all of it.

0.4.3

  • Fixed: the Elementor widget never appeared in the editor. Elementor announces itself while its own file loads — before this plugin is read — so the registration ran too late to take effect. It now registers reliably, in its own «Soge Lookup» panel category.

0.4.2

  • Extended vehicle data is now yours to choose: eight sections — inspections, mileage, insurance, registered debt, valuations, recalls, battery and range, EU safety alerts — each switchable in Integrations. Three are on by default; every section is a separate live registry call, so the card stays fast unless you ask for more.
  • A car with no registered debt now says so explicitly instead of showing nothing — for a buyer that is the answer worth reading.

0.4.1

  • Site search now finds entries by the stored registration number, VIN or CVR — useful for a dealer’s stock pages, where the plate lives in a field rather than the text. Ordinary word searches are untouched: the extra lookup only runs for terms that actually look like an identifier.

0.4.0

  • The plugin is now a data layer, not just a widget. A new «Soge.dk data» panel in the editor sidebar looks a plate or CVR up once and stores the result as the entry’s custom fields (make, model, variant, VIN, first registration, fuel, mileage, weight, and the company equivalents).
  • Show any stored field with core blocks through the Block Bindings API — bind a heading to the vehicle title, a paragraph to the mileage, and style it however your theme does. Works with core’s own post-meta binding too.
  • Mileage keeps the card’s formatting when bound, so a registry-rounded figure still reads «≈ 239,000».

0.3.4

  • Lookups are never served from a page cache: the plugin’s own REST responses now carry no-store headers. WordPress only sends those for logged-in users by default, and some cache plugins cache the REST API out of the box — which could hand one visitor’s lookup to the next.

0.3.3

  • Fixed a malformed request URL on sites that use plain permalinks: every lookup and every vehicle card fired one failing request before falling back. Results were correct, but the extra round trip is gone.

0.3.2

  • Inspection verdicts are shown in words («Godkendt») instead of registry codes, using the service’s own wording.
  • Fixed: yes/no values from the service (such as an active insurance policy) showed as «1» instead of «Yes».
  • Updated the message shown when a key is busy — Soge.dk keys work on several servers at once and are never blocked; the plugin now explains how many slots your plan has and how to free them.

0.3.1

  • Company autofill now uses the service’s dedicated autocomplete endpoint — the same result in ~5 KB instead of ~750 KB, so prefilling a form is far faster and much easier on your monthly quota.
  • Safety recalls are labelled precisely: «for this model» when the service matched the exact model, «for this make» when the notice covers the whole brand.
  • Model year is filled from the first registration date when the registry leaves it empty.
  • Odometer readings taken from the weekly registry dump are marked as approximate (≈), since the exact figure per inspection is listed in the mileage history.

0.3.0

  • Vehicle cards are now a full report: green owner tax (grøn ejerafgift) with efficiency class, power in hestekræfter as well as kW, and the environmental-zone status.
  • On paid Soge.dk plans the card adds official inspection history (date, verdict, exact odometer reading, report PDF), mileage history with rollback detection, insurance status and open safety recalls.
  • Faster pages: the card is rendered from one fast registry call, and the live sections (which query external registries) load afterwards over REST instead of blocking the page render.
  • The unreliable mileage figure in the registry dump is no longer shown — the real mileage comes from the inspection history.
  • Empty sections (e.g. a car with no recalls) are hidden instead of showing an empty block.

0.2.0

  • Integrations: auto-fill common form fields with no setup (WooCommerce billing, address fields) plus a scored matcher for any form; per-plugin enable/disable with live detection on the Integrations tab.
  • New Soge.dk Form Prefill Gutenberg block with a visual field-mapping panel and one-click presets, and a native Elementor widget.
  • WooCommerce: «fits your car?» plate lookup on product pages ([soge_fitment]) and a neutral soge_lookup_vehicle / soge_lookup_product_fits API; soge_lookup_b2b_company action on a validated CVR.
  • Opt-in bridge to power CVR Checkout for WooCommerce from Soge.dk (soge_lookup_enable_dk_accounting_bridge).
  • Verified live: form autofill, WooCommerce Checkout Block billing autofill, and fitment — Plugin Check 0/0.

0.1.0

  • Initial release: vehicle lookup (plate/VIN), company lookup (CVR/name), shortcodes, Gutenberg blocks, classic widget, REST proxy with per-IP rate limiting, encrypted key storage, transient caching, connection test, statistics and error log.
  • Form prefill: the [soge_prefill] shortcode fills any form’s fields from a plate (vehicle) and/or CVR (company) — the vehicle × company intersection for workshop booking, quotes and B2B forms.
  • Structured JSON route GET /soge-lookup/v1/data and filters soge_lookup_vehicle_data / soge_lookup_company_data for custom integrations.