PHPackages                             ecolabor/filament-swiss-uid-search - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Search &amp; Filtering](/categories/search)
4. /
5. ecolabor/filament-swiss-uid-search

ActiveLibrary[Search &amp; Filtering](/categories/search)

ecolabor/filament-swiss-uid-search
==================================

Filament v4 plugin for searching Swiss companies via the UID (Unternehmens-Identifikationsnummer) webservice

v0.1.0(4mo ago)00[2 PRs](https://github.com/ecolabor/filament-swiss-uid-search/pulls)MITPHPPHP ^8.2CI passing

Since Jan 3Pushed 1mo agoCompare

[ Source](https://github.com/ecolabor/filament-swiss-uid-search)[ Packagist](https://packagist.org/packages/ecolabor/filament-swiss-uid-search)[ Docs](https://github.com/ecolabor/filament-swiss-uid-search)[ RSS](/packages/ecolabor-filament-swiss-uid-search/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (8)Versions (7)Used By (0)

Filament Swiss UID Search
=========================

[](#filament-swiss-uid-search)

[![Tests](https://camo.githubusercontent.com/8fd0ff3d814d3d3cae5151a56c04de50d51ad8cb36bab6bd04368bbff0e031d2/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f65636f6c61626f722f66696c616d656e742d73776973732d7569642d7365617263682f74657374732e796d6c3f6272616e63683d6d61696e266c6162656c3d7465737473267374796c653d666c61742d737175617265)](https://github.com/ecolabor/filament-swiss-uid-search/actions/workflows/tests.yml)[![Latest Version on Packagist](https://camo.githubusercontent.com/e2db381e5c08cd8b2e5f8893bb301119ac83789cea58dacef4bdb8e42c983618/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f65636f6c61626f722f66696c616d656e742d73776973732d7569642d7365617263682e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/ecolabor/filament-swiss-uid-search)[![Total Downloads](https://camo.githubusercontent.com/6d6e7c2036c254503aa512fa846cb530daac4da5c4d2212183b05217b474343b/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f65636f6c61626f722f66696c616d656e742d73776973732d7569642d7365617263682e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/ecolabor/filament-swiss-uid-search)[![PHP Version](https://camo.githubusercontent.com/b2ad0c2ed06422066464aec946d391527d4073cfb9b6eec06eb95d27d14fa1e4/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f65636f6c61626f722f66696c616d656e742d73776973732d7569642d7365617263682e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/ecolabor/filament-swiss-uid-search)[![License](https://camo.githubusercontent.com/ae6577f0b01e226323ba2382e6c1795b4d342acb5c9f0b1d629021adf55cb980/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f65636f6c61626f722f66696c616d656e742d73776973732d7569642d7365617263682e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/ecolabor/filament-swiss-uid-search)

Ein Filament v4 Plugin zur Suche nach Schweizer Unternehmen über den UID-Webservice (Unternehmens-Identifikationsnummer) des Bundesamts für Statistik.

Features
--------

[](#features)

- 🔍 **UID-Suchfeld** mit automatischer Firmenabfrage und Live-Validierung
- 🏢 **Firmensuche** nach Name mit Filteroptionen (Kanton, Ort)
- 🔄 **Automatisches Befüllen** von Formularfeldern
- ✅ **Live-Validierung** der UID mit visuellem Feedback (✓/✗)
- 🎴 **Company Card** Komponente für schöne Firmendarstellung
- 🇨🇭 **Schweizer Lokalisierung** (de\_CH, fr\_CH, it\_CH) + Fallbacks (de, fr, it, en)
- 🎨 **Native Filament v4 Integration** - passt sich automatisch an dein Theme an
- 🌓 **Dark Mode** Support

Installation
------------

[](#installation)

```
composer require ecolabor/filament-swiss-uid-search
```

### Plugin registrieren

[](#plugin-registrieren)

Fügen Sie das Plugin zu Ihrem Panel hinzu:

```
use Ecolabor\FilamentSwissUidSearch\FilamentSwissUidSearchPlugin;

public function panel(Panel $panel): Panel
{
    return $panel
        // ...
        ->plugin(
            FilamentSwissUidSearchPlugin::make()
                ->defaultLanguage('de')
                ->searchLimit(50)
        );
}
```

Verwendung
----------

[](#verwendung)

### UID-Suchfeld

[](#uid-suchfeld)

Das `UidSearch`-Feld ermöglicht die direkte Suche nach einer UID-Nummer mit **Live-Validierung**:

```
use Ecolabor\FilamentSwissUidSearch\Forms\Components\UidSearch;

public static function form(Form $form): Form
{
    return $form
        ->schema([
            UidSearch::make('uid')
                ->label('UID-Nummer')
                ->showValidationIndicator()  // Zeigt ✓ oder ✗ während der Eingabe
                ->mapName('company_name')
                ->mapStreet('street')
                ->mapZipCode('zip_code')
                ->mapCity('city')
                ->mapCanton('canton')
                ->mapLegalForm('legal_form'),

            TextInput::make('company_name')
                ->label('Firmenname'),

            TextInput::make('street')
                ->label('Strasse'),

            TextInput::make('zip_code')
                ->label('PLZ'),

            TextInput::make('city')
                ->label('Ort'),

            TextInput::make('canton')
                ->label('Kanton'),

            TextInput::make('legal_form')
                ->label('Rechtsform'),
        ]);
}
```

**Features des UidSearch-Feldes:**

- 🇨🇭 Schweizer Flagge als Prefix
- ✅ Live-Validierung mit Prüfziffer-Check
- 🔍 Such-Button zum Abrufen der Firmendaten
- 🔄 Automatisches Befüllen der verknüpften Felder

### Firmensuche nach Name

[](#firmensuche-nach-name)

Das `CompanySearch`-Feld öffnet ein Modal zur Firmensuche:

```
use Ecolabor\FilamentSwissUidSearch\Forms\Components\CompanySearch;

CompanySearch::make('company_search')
    ->label('Firma suchen')
    ->mapUid('uid')
    ->mapName('company_name')
    ->mapStreet('street')
    ->mapZipCode('zip_code')
    ->mapCity('city')
    ->searchLimit(100)
```

### Search Action

[](#search-action)

Alternativ können Sie eine Action verwenden:

```
use Ecolabor\FilamentSwissUidSearch\Actions\SearchUidAction;

public static function form(Form $form): Form
{
    return $form
        ->schema([
            // ... Ihre Felder
        ])
        ->headerActions([
            SearchUidAction::make()
                ->mapUid('uid')
                ->mapName('company_name')
                ->mapStreet('street')
                ->mapZipCode('zip_code')
                ->mapCity('city'),
        ]);
}
```

### Custom Callback

[](#custom-callback)

Sie können auch einen eigenen Callback definieren:

```
UidSearch::make('uid')
    ->onCompanySelected(function (UidEntity $entity, Set $set) {
        // Ihre eigene Logik hier
        $set('custom_field', $entity->vatNumber);

        // Log oder andere Aktionen
        logger()->info('Firma ausgewählt', ['uid' => $entity->uid]);
    })
```

### Company Card Komponente

[](#company-card-komponente)

Die `company-card` Blade-Komponente ermöglicht eine schöne Darstellung von Unternehmensdaten:

```

```

**Props:**

PropTypDefaultBeschreibung`company``UidEntity|array`requiredDas Unternehmensobjekt`showVatNumber``bool``true`MWST-Nummer anzeigen`showLegalForm``bool``true`Rechtsform anzeigen`showAddress``bool``true`Adresse anzeigen`showStatus``bool``true`Status-Badge anzeigen`selectable``bool``false`Klickbar machen`selected``bool``false`Als ausgewählt markieren**In einer Livewire-Komponente:**

```
@foreach($companies as $company)

@endforeach
```

Alle Field Mappings
-------------------

[](#alle-field-mappings)

MethodeBeschreibung`mapUid($field)`UID-Nummer (formatiert)`mapName($field)`Firmenname`mapStreet($field)`Strasse mit Hausnummer`mapHouseNumber($field)`Nur Hausnummer`mapZipCode($field)`Postleitzahl`mapCity($field)`Ort`mapCanton($field)`Kantonskürzel (z.B. "ZH")`mapLegalForm($field)`Rechtsform`mapVatNumber($field)`MWST-NummerPlugin Konfiguration
--------------------

[](#plugin-konfiguration)

```
FilamentSwissUidSearchPlugin::make()
    ->defaultLanguage('de')        // API-Sprache
    ->searchLimit(50)              // Max. Suchergebnisse
    ->showVatNumber(true)          // MWST-Nr. anzeigen
    ->showLegalForm(true)          // Rechtsform anzeigen
    ->showAddress(true)            // Adresse anzeigen
```

Konfiguration
-------------

[](#konfiguration)

Veröffentlichen Sie die Konfigurationsdatei:

```
php artisan vendor:publish --tag=filament-swiss-uid-search-config
```

Übersetzungen / Lokalisierung
-----------------------------

[](#übersetzungen--lokalisierung)

Das Plugin unterstützt sowohl Standard-Locales als auch Schweizer Regionen:

LocaleSpracheHinweis`de`DeutschStandard`de_CH`SchweizerdeutschSchweizer Konventionen (ss statt ß)`fr`FranzösischStandard`fr_CH`Französisch (Schweiz)IDE statt UID`it`ItalienischStandard`it_CH`Italienisch (Schweiz)IDI statt UID`en`EnglischInternational### Schweizer Terminologie

[](#schweizer-terminologie)

Die Schweizer Varianten verwenden die offiziellen Begriffe:

- 🇩🇪 **UID** = Unternehmens-Identifikationsnummer
- 🇫🇷 **IDE** = Identificateur des entreprises
- 🇮🇹 **IDI** = Numero d'identificazione delle imprese

### Übersetzungen anpassen

[](#übersetzungen-anpassen)

Veröffentlichen Sie die Sprachdateien:

```
php artisan vendor:publish --tag=filament-swiss-uid-search-translations
```

Die Dateien werden nach `resources/lang/vendor/filament-swiss-uid-search/` kopiert.

Styling &amp; Theming
---------------------

[](#styling--theming)

Das Plugin verwendet ausschliesslich **Filament's native CSS-Klassen und Tailwind**. Dadurch passt es sich automatisch an dein bestehendes Theme an:

- ✅ **Primary Color** - Buttons und Aktionen nutzen deine `primary` Farbe
- ✅ **Dark Mode** - Vollständige Unterstützung für Light/Dark Mode
- ✅ **Status Colors** - `success`, `danger`, `warning` für Validierung
- ✅ **Keine Custom CSS** - Kein Überschreiben deines Designs

Das Plugin erbt automatisch alle Theme-Anpassungen, die du in deinem `AdminPanelProvider` definiert hast.

Abhängigkeiten
--------------

[](#abhängigkeiten)

Dieses Plugin benötigt das `ecolabor/laravel-swiss-uid-search` Laravel-Package:

```
composer require ecolabor/laravel-swiss-uid-search
```

Testing
-------

[](#testing)

```
composer test
```

Lizenz
------

[](#lizenz)

MIT License. Siehe [LICENSE](LICENSE.md) für weitere Informationen.

Credits
-------

[](#credits)

- [ecolabor GmbH](https://github.com/ecolabor)
- Basierend auf dem [UID-Webservice](https://www.uid.admin.ch/) des Bundesamts für Statistik

###  Health Score

34

—

LowBetter than 77% of packages

Maintenance84

Actively maintained with recent releases

Popularity0

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

129d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/7e55c39cf6ca99dcd60fce33605c952043ea170420a912c21569ea422c3b06ec?d=identicon)[manuel-ballmer](/maintainers/manuel-ballmer)

---

Top Contributors

[![manuelballmer](https://avatars.githubusercontent.com/u/5159179?v=4)](https://github.com/manuelballmer "manuelballmer (2 commits)")

---

Tags

searchlaravelUIDenterpriseidentificationfilamentcompanyswitzerlandswiss

###  Code Quality

TestsPest

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/ecolabor-filament-swiss-uid-search/health.svg)

```
[![Health](https://phpackages.com/badges/ecolabor-filament-swiss-uid-search/health.svg)](https://phpackages.com/packages/ecolabor-filament-swiss-uid-search)
```

###  Alternatives

[spatie/laravel-site-search

A site search engine

300129.1k](/packages/spatie-laravel-site-search)[webbingbrasil/filament-advancedfilter

Advanced filter component for filament admin.

146132.1k](/packages/webbingbrasil-filament-advancedfilter)[kainiklas/filament-scout

Filament Plugin to integrate Scout into Global Search and Table Search.

3573.3k](/packages/kainiklas-filament-scout)[guava/filament-modal-relation-managers

Allows you to embed relation managers inside filament modals.

7565.0k4](/packages/guava-filament-modal-relation-managers)[eightynine/filament-docs

Elegant documentation system for your Filament application with search, navigation, and markdown support

122.5k1](/packages/eightynine-filament-docs)[tapp/filament-value-range-filter

Filament country code field.

2362.2k](/packages/tapp-filament-value-range-filter)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
