Address Pro plugin screenshot
Dark mode ready
Multilingual support
Supports v5.x

Address Pro

Community

International address capture, verification, and geocoding for Filament 4 and 5 — country-aware forms, Google Maps autocomplete, postal verification (USPS, Smarty, Google), 256 countries with 17,000+ subdivisions bundled, and multiple integration patterns supported out of the box.

Tags: Analytics Developer Tool Forms Form Layout Panels Spatie Integration
Supported versions:
5.x 4.x
Third-party plugin. This is built by the community, not the Filament team. Filament does not review, endorse, or vet the security of plugins outside the filament/ namespace. Review the source and install at your own risk. Found malware or an unresolved security issue the author won't address? Report it .
Viewflex avatar Author: Viewflex

Documentation

International address capture, verification, and management — built for Filament.

Every application that handles addresses faces the same problem: international formats vary wildly, verification APIs have different coverage and pricing, and building a form that works correctly across 256 countries is a project in itself. Filament Address Pro is the complete solution.

Address listing with Needs Review filter


#Address Form

The form dynamically adapts fields, labels, and validation rules to each country's address format. Switch the country dropdown and the form reconfigures instantly — correct fields, correct labels, correct validation, every time.

Address form — US address with autocomplete

  • Four input modesautocomplete (Google Places), geocoding (blur auto-fill), manual, or auto (best available based on configured API keys)
  • Google Places Autocomplete — fills all fields from a single selection using session-token billing (billed per selection, not per keystroke)
  • Blur geocoding — auto-fills address components when users tab away; handles paste-and-tab workflows
  • Live preview — formatted address updates in real time in both international and domestic formats
  • Duplicate detection — warns when a new address matches an existing record on the same entity

#Subdivision Reference Data

17,000+ authoritative subdivisions (states, provinces, cities, districts) ship with the package — no external data subscription required. Addresses reference subdivisions by ID, so GROUP BY administrative_area_id groups cleanly by canonical record — not inflated by "NY", "N.Y.", and "New York" landing in separate buckets. A Japanese speaker searching "東京都" and an English speaker searching "Tokyo" resolve to the same subdivision.

  • Fuzzy matching — resolves typos and abbreviations at write time (Masachusetts → Massachusetts, TX → Texas, 東京都 → Tokyo-to)
  • Postal code resolution — typing a postal code auto-populates subdivision fields for supported countries (FR, DE, ES, IT, NL)
  • Local names — dropdowns display local names alongside English, enabling search in either language
  • Hierarchical queries — parent-child chains support country → state → city → district drill-down

#Verification

Standardization dialog — user input vs. verified version

Multi-provider verification pipeline with smart auto-routing:

  • USPS — free, DPV confirmation, US addresses
  • Smarty — 240+ countries, DeliveryPoint precision
  • Google Address Validation — ~40 countries
  • provider=auto — routes by country automatically: USPS for US, Smarty-first for 155 DPV-precision countries, Google-first for all others

Interactive mode shows a side-by-side dialog — user input vs. standardized version — so the user stays in control. Silent mode runs verification on save with no dialog, ideal for public-facing forms.

Geocoding confidence scoring flags low-confidence results for review. Sanity checks catch blank street lines, empty cities, and cross-country postal code mismatches. Quality scoring (0–100) rates each address on completeness, verification status, coordinates, and recency.


#Bulk Operations

Import dialog with fuzzy subdivision matching

  • Import — CSV/Excel with fuzzy subdivision matching, entity type whitelisting, and per-row error reporting. Queued automatically for large files.
  • Export — CSV/Excel with formatted output; includes subdivision IDs for lossless round-trip imports
  • Bulk verification — verify multiple addresses in batch with change detection and review workflow; chunked and queued for large sets
  • Bulk quality scoring — recalculate scores across your entire address dataset in batch

#Admin Panel

Admin dashboard widgets — API cost tracking and quota monitoring

Three delivery options — zero-config built-in provider, add to an existing panel, or publish a fully customizable copy.

  • Four dashboard widgets — address stats, API cost tracking, USPS and Smarty quota monitoring
  • API cache browser — inspect cached geocoding and verification responses
  • Audit log viewer — per-request cost analytics across all providers
  • Authorization — policy-based access control with automatic Spatie Permission detection

#Quick Start

composer require viewflex/filament-address-pro

php artisan addresses:install

Add your Google Maps API keys to .env:

GOOGLE_MAPS_SERVER_KEY=your_server_key
GOOGLE_MAPS_BROWSER_KEY=your_browser_key

Add the trait to any model:

use Viewflex\FilamentAddress\Concerns\HasAddresses;

class User extends Authenticatable
{
    use HasAddresses;
}

Add the relation manager to its Filament resource:

use Viewflex\FilamentAddress\Filament\RelationManagers\AddressesRelationManager;

public static function getRelations(): array
{
    return [AddressesRelationManager::class];
}

Visit /addressing — the full address management panel is live.


#Requirements

  • PHP 8.2+
  • Laravel 11, 12, or 13
  • Filament 4.0 or 5.0
  • Google Maps API keys (for autocomplete and geocoding modes; not required for manual mode)

#Documentation

Full documentation is available at docs.viewflex.net/filament-address-pro


#Support

support@viewflex.net · GitHub Issues · Documentation

The author

Viewflex avatar Author: Viewflex

Since 2004, asking the right questions, building beautiful machines. Working with Laravel and its ecosystem intensively since 2014, I've authored several popular open source Laravel packages. Simply in love with Filament.

Plugins
1