{% extends "base.html" %} {% block title %}{{ company.name }} - Norda Biznes Partner{% endblock %} {% block extra_css %} {% endblock %} {% block content %}
Powrót do katalogu {% if current_user.is_authenticated %} Mój pulpit {% endif %}
{{ company.name }}
{% if company.category %} {{ company.category.name }} {% endif %} {# Badge jakości usunięty - zbędny i mylący dla użytkowników #}

{{ company.name }}

{% if can_edit_profile %} Edytuj profil {% elif company_managers %} {% endif %} {% if is_admin %} {% endif %} {% if not can_enrich %} (tylko admin lub wlasciciel) {% endif %}
{% if company.description_short %}

{{ company.description_short }}

{% endif %}
{% set sm_bar = {} %} {% if social_media %} {% for sm in social_media %} {% if sm.is_valid != false %} {% set _ = sm_bar.update({sm.platform: sm}) %} {% endif %} {% endfor %} {% endif %}
{% if company.websites %} {% for w in company.websites %} {{ w.label if w.label else ('WWW' if w.is_primary else w.url|replace('https://', '')|replace('http://', '')|replace('www.', '')|truncate(20, True)) }} {% endfor %} {% elif company.website %} WWW {% else %} Brak WWW {% endif %} {% if company.email %} Email {% else %} Brak email {% endif %} {% if company.phone %} Telefon {% else %} Brak telefonu {% endif %} {% if company.address_city %} {{ company.address_city }} {% else %} Brak lokalizacji {% endif %} {% if sm_bar.get('facebook') %} Facebook {% endif %} {% if sm_bar.get('instagram') %} Instagram {% endif %} {% if sm_bar.get('linkedin') %} LinkedIn {% endif %} {% if sm_bar.get('youtube') %} YouTube {% endif %} {% if sm_bar.get('twitter') %} X {% endif %} {% if sm_bar.get('tiktok') %} TikTok {% endif %}
{# Audit links - separate row, visible only to authorized users #} {% if is_audit_owner %}
Audyt GBP Audyt SEO Audyt Social Audyt IT
{% endif %} {% set about_description = company.description_full or (ai_insights.business_summary if ai_insights else none) or (website_analysis.content_summary if website_analysis else none) %} {% if about_description %}

O firmie

{{ about_description }}
{% if company.founding_history %}

Historia i doświadczenie

{{ company.founding_history }}
{% endif %} {% if company.core_values %}

Wartości i misja

{{ company.core_values }}
{% endif %}
{% endif %} {% set www_services = website_analysis.services_extracted if website_analysis and website_analysis.services_extracted else [] %} {% set www_keywords = website_analysis.main_keywords if website_analysis and website_analysis.main_keywords else [] %} {% if www_services or www_keywords or company.services or company.competencies or company.services_offered or company.technologies_used %}

Usługi i kompetencje

{# Services description (text field from company edit) #} {% if company.services_offered %}
{{ company.services_offered }}
{% endif %} {# Technologies #} {% if company.technologies_used %}

Technologie i specjalizacje

{{ company.technologies_used }}
{% endif %} {# Operational area & languages - compact row #} {% if company.operational_area or company.languages_offered %}
{% if company.operational_area %}
Obszar działania
{{ company.operational_area }}
{% endif %} {% if company.languages_offered %}
Języki obsługi
{{ company.languages_offered }}
{% endif %}
{% endif %} {# Company services from database #} {% if company.services %}

Usługi

{% for cs in company.services %} {% if cs.service %} {{ cs.service.name }} {% endif %} {% endfor %}
{% endif %} {# Company competencies from database #} {% if company.competencies %}

Kompetencje

{% for cc in company.competencies %} {% if cc.competency %} {{ cc.competency.name }} {% endif %} {% endfor %}
{% endif %} {# Data from company website #} {% if www_services or www_keywords %}

Ze strony www firmy

{% if website_content and website_content.url %} {{ website_content.url|replace('https://', '')|replace('http://', '')|truncate(30) }} → {% endif %}
{% for service in www_services %} {{ service }} {% endfor %} {% for keyword in www_keywords %} {{ keyword }} {% endfor %}
{% endif %}
{% endif %} {% if people and not (company.krs and company.data_source == 'KRS API') %}

Zarząd i Wspólnicy

{% set role_colors = {'zarzad': '#e74c3c', 'wspolnik': '#2ecc71', 'prokurent': '#f39c12', 'wlasciciel_jdg': '#9b59b6'} %} {% set role_icons = {'zarzad': 'briefcase', 'wspolnik': 'users', 'prokurent': 'file-signature', 'wlasciciel_jdg': 'user-tie'} %} {% set role_names = {'zarzad': 'Zarząd', 'wspolnik': 'Wspólnicy', 'prokurent': 'Prokurenci', 'wlasciciel_jdg': 'Właściciel JDG'} %} {# Group people by role_category #} {% set grouped = {} %} {% for cp in people %} {% if cp.role_category not in grouped %} {% set _ = grouped.update({cp.role_category: []}) %} {% endif %} {% set _ = grouped[cp.role_category].append(cp) %} {% endfor %}
{% for category in ['zarzad', 'wspolnik', 'prokurent', 'wlasciciel_jdg'] %} {% if category in grouped %}

{% if category == 'zarzad' %} {% elif category == 'wspolnik' %} {% elif category == 'prokurent' %} {% else %} {% endif %} {{ role_names[category] }}

{% for cp in grouped[category] %}
{{ cp.person.imiona }} {{ cp.person.nazwisko }}
{{ cp.role }} {% if cp.shares_percent %} {{ '{:.2f}'.format(cp.shares_percent) }}% udziałów {% endif %}
{% endfor %} {# Source attribution for this category #} {% set first_cp = grouped[category][0] %} {% if first_cp.source %}
Źródło: {% if 'ekrs' in first_cp.source %}ekrs.ms.gov.pl (KRS){% elif 'dane.biznes' in first_cp.source %}dane.biznes.gov.pl (CEIDG){% else %}{{ first_cp.source }}{% endif %} {% if first_cp.fetched_at %} · Pobrano: {{ first_cp.fetched_at.strftime('%Y-%m-%d') }} {% endif %}
{% endif %}
{% endif %} {% endfor %}
{% endif %} {% if company.owner_first_name and not company.krs and not people %}

Właściciel

{{ company.owner_first_name }} {{ company.owner_last_name }}
Właściciel jednoosobowej działalności gospodarczej
Źródło: CEIDG • Dane publiczne
{% endif %} {% if company.ceidg_id or (company.krs and company.data_source == 'KRS API') %}

Dane z rejestrów urzędowych {% if company.ceidg_id %} CEIDG {% elif company.krs and company.data_source == 'KRS API' %} KRS {% endif %}

{% if company.ceidg_id %} Dane pobrane z Centralnej Ewidencji i Informacji o Działalności Gospodarczej (CEIDG) {% else %} Dane pobrane z Krajowego Rejestru Sądowego (KRS) {% endif %}
{% if company.ceidg_fetched_at %} Pobrano: {{ company.ceidg_fetched_at.strftime('%d.%m.%Y %H:%M') }} • {% elif company.krs_fetched_at %} Pobrano: {{ company.krs_fetched_at.strftime('%d.%m.%Y %H:%M') }} • {% elif company.last_verified_at %} Zweryfikowano: {{ company.last_verified_at.strftime('%d.%m.%Y %H:%M') }} • {% endif %} {% if company.ceidg_id %} ID: {{ company.ceidg_id[:8] }}... {% elif company.krs %} KRS: {{ company.krs }} {% endif %}
Sprawdź w rejestrze →
{% if company.ceidg_id %} {% if company.ceidg_status %}
Status działalności
{{ company.ceidg_status }}
{% endif %} {% if company.owner_first_name %}
Właściciel
{{ company.owner_first_name }} {{ company.owner_last_name }}
Jednoosobowa działalność gospodarcza
{% endif %} {% if company.business_start_date %}
Data rozpoczęcia działalności
{{ company.business_start_date.strftime('%d.%m.%Y') }}
{% set years_active = ((now.date() - company.business_start_date).days / 365.25)|int %} {% if years_active > 0 %}
{{ years_active }} lat na rynku
{% endif %}
{% endif %} {% if company.pkd_code %}
PKD główny
{{ company.pkd_code }}
{% if company.pkd_description %}
{{ company.pkd_description }}
{% endif %}
{% endif %} {% if company.ceidg_raw_data %} {% set raw = company.ceidg_raw_data %} {% if raw.email or raw.telefon or raw.www %}
Dane kontaktowe z CEIDG
{% if raw.email %}
Email
{{ raw.email }}
{% endif %} {% if raw.telefon %}
Telefon
{{ raw.telefon }}
{% endif %} {% if raw.www %}
Strona WWW
{{ raw.www }}
{% endif %}
{% endif %} {% if raw.pkd and raw.pkd|length > 1 %}
Wszystkie kody PKD ({{ raw.pkd|length }})
{% for pkd in raw.pkd %} {{ pkd.kod }}{% if pkd.kod == company.pkd_code %} ★{% endif %} {% endfor %}
{% endif %} {% if raw.zarzadcaSukcesyjny %}
Zarządca sukcesyjny
{{ raw.zarzadcaSukcesyjny.imie }} {{ raw.zarzadcaSukcesyjny.nazwisko }}
{% endif %} {% if raw.adresyDzialalnosciDodatkowe and raw.adresyDzialalnosciDodatkowe|length > 0 %}
Dodatkowe miejsca działalności ({{ raw.adresyDzialalnosciDodatkowe|length }})
{% for addr in raw.adresyDzialalnosciDodatkowe %}
{{ addr.opisNietypowegoMiejsca|default('Lokalizacja') }}
{{ addr.ulica }} {{ addr.budynek }}{% if addr.lokal %}/{{ addr.lokal }}{% endif %}
{{ addr.kod }} {{ addr.miasto }}
{% endfor %}
{% endif %} {% endif %} {% endif %} {% if company.krs and company.data_source == 'KRS API' and not company.ceidg_id %} {% set krs = company.krs_raw_data or {} %} {% if company.legal_form %}
Forma prawna
{{ company.legal_form }}
{% endif %} {% if company.capital_amount %}
Kapitał zakładowy
{{ '{:,.2f}'.format(company.capital_amount).replace(',', ' ') }} PLN
{% if krs.kapital and krs.kapital.waluta %}
Waluta: {{ krs.kapital.waluta }}
{% endif %}
{% endif %}
Numer KRS
{{ company.krs }}
{% if krs.nip %}
NIP
{{ krs.nip[:3] }}-{{ krs.nip[3:6] }}-{{ krs.nip[6:8] }}-{{ krs.nip[8:] }}
{% endif %} {% if krs.regon %}
REGON
{{ krs.regon }}
{% endif %} {% if company.krs_registration_date or (krs.daty and krs.daty.rejestracji) %}
Data rejestracji w KRS
{% if company.krs_registration_date %} {{ company.krs_registration_date.strftime('%d.%m.%Y') }} {% else %} {{ krs.daty.rejestracji }} {% endif %}
{% if company.krs_registration_date %} {% set years_active = ((now.date() - company.krs_registration_date).days / 365.25)|int %} {% if years_active > 0 %}
{{ years_active }} lat działalności
{% endif %} {% endif %}
{% endif %} {% if (krs.kontakt_krs and (krs.kontakt_krs.email or krs.kontakt_krs.www or krs.kontakt_krs.adres_epuap)) or company.phone %}
Dane kontaktowe
{% if company.phone %}
Telefon
{{ company.phone }}
{% endif %} {% if krs.kontakt_krs and krs.kontakt_krs.email %}
Email (KRS)
{{ krs.kontakt_krs.email }}
{% endif %} {% if krs.kontakt_krs and krs.kontakt_krs.www %}
Strona WWW (KRS)
{{ krs.kontakt_krs.www }}
{% endif %} {% if krs.kontakt_krs and krs.kontakt_krs.adres_epuap %}
Adres ePUAP (BAE)
{{ krs.kontakt_krs.adres_epuap }}
{% endif %}
{% endif %} {% if krs.umowa_spolki and (krs.umowa_spolki.data_umowy or krs.umowa_spolki.czas_trwania) %}
Umowa spółki
{% if krs.umowa_spolki.data_umowy %}
Data zawarcia/zmiany umowy
{{ krs.umowa_spolki.data_umowy }}
{% endif %} {% if krs.umowa_spolki.czas_trwania %}
Czas trwania spółki
{{ krs.umowa_spolki.czas_trwania }}
{% endif %} {% if krs.umowa_spolki.informacja_o_udzialach %}
Informacja o udziałach
{{ krs.umowa_spolki.informacja_o_udzialach }}
{% endif %}
{% endif %} {% if company.krs_representation or krs.sposob_reprezentacji %}
{% if krs.nazwa_organu %}{{ krs.nazwa_organu }} - {% endif %}Sposób reprezentacji
{{ company.krs_representation or krs.sposob_reprezentacji }}
{% endif %} {% if krs.zarzad and krs.zarzad|length > 0 %}
Zarząd ({{ krs.zarzad|length }} {{ 'osoba' if krs.zarzad|length == 1 else 'osoby' if krs.zarzad|length < 5 else 'osób' }})
{% for osoba in krs.zarzad %}
{{ osoba.imie[0] if osoba.imie else '?' }}{{ osoba.nazwisko[0] if osoba.nazwisko else '' }}
{{ osoba.imie }} {% if osoba.imie_drugie %}{{ osoba.imie_drugie }} {% endif %}{{ osoba.nazwisko }}
{% if osoba.funkcja %}
{{ osoba.funkcja }}
{% endif %}
{% endfor %}
{% endif %} {% if krs.wspolnicy and krs.wspolnicy|length > 0 %}
Wspólnicy ({{ krs.wspolnicy|length }})
{% for wspolnik in krs.wspolnicy %}
{{ wspolnik.imie[0] if wspolnik.imie else '?' }}{{ wspolnik.nazwisko[0] if wspolnik.nazwisko else '' }}
{{ wspolnik.imie }} {{ wspolnik.nazwisko }}
{% if wspolnik.udzialy %}
Udziały: {{ wspolnik.udzialy }} {% if wspolnik.calosc_udzialow %}(100%){% endif %}
{% endif %}
{% endfor %}
{% endif %} {% if company.krs_activities and company.krs_activities|length > 0 %}
Przedmiot działalności z KRS ({{ company.krs_activities|length }} PKD)
{% for pkd in company.krs_activities %} {{ pkd }} {% endfor %}
{% elif krs.przedmiot_dzialalnosci and krs.przedmiot_dzialalnosci|length > 0 %}
Przedmiot działalności z KRS ({{ krs.przedmiot_dzialalnosci|length }} PKD)
{% for pkd in krs.przedmiot_dzialalnosci %}
{{ pkd.kod if pkd.kod else pkd }}{% if pkd.glowna %} ★{% endif %} {{ pkd.opis if pkd.opis else '' }}{% if pkd.glowna %} (główna){% endif %}
{% endfor %}
{% endif %} {% if krs.sprawozdania_finansowe and krs.sprawozdania_finansowe|length > 0 %}
Sprawozdania finansowe ({{ krs.sprawozdania_finansowe|length }})
{% for sf in krs.sprawozdania_finansowe %}
Złożono: {{ sf.data_zlozenia }}
{{ sf.za_okres }}
{% endfor %}
{% endif %} {% if krs.adres and (krs.adres.ulica or krs.adres.miejscowosc) %}
Adres siedziby z KRS
{% if krs.adres.ulica %}{{ krs.adres.ulica }}{% endif %} {% if krs.adres.nr_domu %} {{ krs.adres.nr_domu }}{% endif %} {% if krs.adres.nr_lokalu %}/{{ krs.adres.nr_lokalu }}{% endif %}
{% if krs.adres.kod_pocztowy %}{{ krs.adres.kod_pocztowy }} {% endif %}{{ krs.adres.miejscowosc or '' }}
{% if krs.adres.powiat or krs.adres.wojewodztwo %}
{% if krs.adres.powiat %}pow. {{ krs.adres.powiat }}, {% endif %}woj. {{ krs.adres.wojewodztwo or '' }}
{% endif %}
{% endif %} {% if krs.czy_opp %}
Status OPP
Organizacja Pożytku Publicznego
Można przekazać 1,5% podatku
{% endif %} {% if krs.rejestr and (krs.rejestr.sygnatura_akt or krs.rejestr.sad_rejestrowy or krs.rejestr.dzien_konczacy_rok_obrotowy) %}
Dane rejestrowe
{% if krs.rejestr.sygnatura_akt %}
Sygnatura akt: {{ krs.rejestr.sygnatura_akt }}
{% endif %} {% if krs.rejestr.sad_rejestrowy %}
Sąd dokonujący wpisu: {{ krs.rejestr.sad_rejestrowy }}
{% endif %} {% if krs.rejestr.dzien_konczacy_rok_obrotowy %}
Dzień kończący rok obrotowy: {{ krs.rejestr.dzien_konczacy_rok_obrotowy }}
{% endif %}
{% endif %} {% if krs.metadata or krs.daty %}
Informacje o odpisie KRS
{% if krs.metadata %} {% if krs.metadata.stan_z_dnia %}
Stan na dzień: {{ krs.metadata.stan_z_dnia }}
{% endif %} {% if krs.metadata.data_odpisu %}
Data odpisu: {{ krs.metadata.data_odpisu }}
{% endif %} {% endif %} {% if krs.daty %} {% if krs.daty.ostatniego_wpisu %}
Ostatni wpis: {{ krs.daty.ostatniego_wpisu }}{% if krs.daty.numer_ostatniego_wpisu %} (nr {{ krs.daty.numer_ostatniego_wpisu }}){% endif %}
{% endif %} {% endif %} {% if company.krs_fetched_at %}
Pobrano z API: {{ company.krs_fetched_at.strftime('%d.%m.%Y %H:%M') }}
{% endif %}
{% endif %} {% endif %}
{% endif %} {% if not (company.krs and company.data_source == 'KRS API') and not company.ceidg_id %}

Informacje prawne i biznesowe

{% if company.legal_name %}
Pełna nazwa prawna
{{ company.legal_name }}
Źródło: Rejestr KRS
{% endif %} {# Determine legal form from database or infer from name/KRS #} {% set legal_form = company.legal_form %} {% if not legal_form %} {% if 'sp. z o.o' in company.name|lower or 'spółka z ograniczoną odpowiedzialnością' in company.name|lower %} {% set legal_form = 'Spółka z ograniczoną odpowiedzialnością (sp. z o.o.)' %} {% elif 's.a.' in company.name|lower or 'spółka akcyjna' in company.name|lower %} {% set legal_form = 'Spółka akcyjna (S.A.)' %} {% elif 'sp.j.' in company.name|lower or 'spółka jawna' in company.name|lower %} {% set legal_form = 'Spółka jawna (sp.j.)' %} {% elif 'sp.k.' in company.name|lower or 'spółka komandytowa' in company.name|lower %} {% set legal_form = 'Spółka komandytowa (sp.k.)' %} {% elif 'sp.p.' in company.name|lower or 'spółka partnerska' in company.name|lower %} {% set legal_form = 'Spółka partnerska (sp.p.)' %} {% elif company.krs %} {% set legal_form = 'Spółka prawa handlowego' %} {% else %} {% set legal_form = 'Jednoosobowa działalność gospodarcza (JDG)' %} {% endif %} {% endif %}
Forma prawna
{{ legal_form }}
{% if company.legal_form %} Źródło: Dane zweryfikowane {% elif company.krs %} Źródło: Ustalono z KRS/nazwy {% else %} Źródło: Ustalono automatycznie {% endif %}
{% set display_nip = effective_nip or company.nip %} {% if display_nip %}
NIP
{{ display_nip[:3] }}-{{ display_nip[3:6] }}-{{ display_nip[6:8] }}-{{ display_nip[8:] }}
{% if not company.nip and company.parent_company_id %} NIP firmy nadrzędnej {% else %} Źródło: Rejestr KRS {% endif %}
{% endif %} {% if company.regon %}
REGON
{{ company.regon }}
Źródło: GUS REGON
{% endif %} {% if company.krs %}
KRS
{{ company.krs }}
{% if company.krs_pdf_path %}
Odpis PDF
{% endif %}
Źródło: Krajowy Rejestr Sądowy {% if company.krs_last_audit_at %} Audyt KRS: {{ company.krs_last_audit_at.strftime('%d.%m.%Y') }} {% endif %}
{% endif %} {% if company.year_established %}
Rok założenia
{{ company.year_established }}
{{ 2025 - company.year_established }} lat na rynku
Źródło: Rejestr KRS
{% endif %} {% if company.business_start_date %}
Data rozpoczęcia
{{ company.business_start_date.strftime('%d.%m.%Y') }}
Źródło: CEIDG
{% endif %} {% if company.member_since %}
Członek Izby NORDA od
{{ company.member_since.strftime('%d.%m.%Y') }}
{% set years_member = ((now.date() - company.member_since).days / 365.25)|int %} {% if years_member > 0 %}
{{ years_member }} lat w Izbie
{% endif %}
Źródło: Izba NORDA
{% endif %} {% if pkd_codes or company.pkd_code %}
PKD - Przedmiot działalności
{% if pkd_codes %} {% for pkd in pkd_codes %}
{% if pkd.is_primary %} GŁÓWNY {% endif %} {{ pkd.pkd_code }}
{% if pkd.pkd_description %}
{{ pkd.pkd_description }}
{% endif %}
{% endfor %} {% else %}
{{ company.pkd_code }}
{% if company.pkd_description %}
{{ company.pkd_description }}
{% endif %} {% endif %}
Źródło: {% if pkd_codes %}eKRS{% else %}CEIDG{% endif %} {% if pkd_codes %}({{ pkd_codes|length }} {% if pkd_codes|length == 1 %}kod{% elif pkd_codes|length < 5 %}kody{% else %}kodów{% endif %}){% endif %}
{% endif %} {% if company.employees_count or company.employee_count_range %}
Liczba pracowników
{% if company.employees_count %}{{ company.employees_count }}{% else %}{{ company.employee_count_range }}{% endif %}
Źródło: Dane deklarowane
{% endif %} {% if company.capital_amount %}
Kapitał zakładowy
{{ '{:,.2f}'.format(company.capital_amount).replace(',', ' ') }} PLN
Źródło: Rejestr KRS
{% endif %}
{% endif %} {# Koniec warunku: not (company.krs and company.data_source == 'KRS API') and not company.ceidg_id #} {% if not (company.krs and company.data_source == 'KRS API') and not company.ceidg_id %}

Dane kontaktowe

{% set source_names = {'website': 'Strona WWW', 'krs': 'Rejestr KRS', 'google_business': 'Google Business', 'facebook': 'Facebook', 'manual': 'Wprowadzono ręcznie', 'brave_search': 'Wyszukiwarka', 'ceidg': 'CEIDG', 'norda_biznes': 'Norda Biznes', 'website_scrape': 'Strona WWW (auto)'} %} {% set source_colors = {'website': '#3b82f6', 'krs': '#10b981', 'google_business': '#f59e0b', 'facebook': '#1877f2', 'manual': '#6366f1', 'brave_search': '#ef4444', 'ceidg': '#10b981', 'norda_biznes': '#667eea', 'website_scrape': '#06b6d4'} %} {# Collect all known phones for deduplication #} {% set known_phones = [] %} {% set phones_from_contacts = contacts|selectattr('contact_type', 'equalto', 'phone')|list if contacts else [] %} {% for c in phones_from_contacts %}{% set _ = known_phones.append(c.value|replace(' ', '')|replace('+48', '')|replace('-', '')) %}{% endfor %} {% if company.phone %}{% set _ = known_phones.append(company.phone|replace(' ', '')|replace('+48', '')|replace('-', '')) %}{% endif %} {# Collect all known emails for deduplication #} {% set known_emails = [] %} {% set emails_from_contacts = contacts|selectattr('contact_type', 'equalto', 'email')|list if contacts else [] %} {% for c in emails_from_contacts %}{% set _ = known_emails.append(c.value|lower) %}{% endfor %} {% if company.email %}{% set _ = known_emails.append(company.email|lower) %}{% endif %}
{% set phones = contacts|selectattr('contact_type', 'equalto', 'phone')|list if contacts else [] %} {% if phones %} {% for contact in phones %}
Telefon{% if contact.purpose %} - {{ contact.purpose }}{% endif %}
{{ contact.value }}
{% if contact.is_primary %} GŁÓWNY {% endif %}
{% if contact.source %}
Źródło: {{ source_names.get(contact.source, contact.source) }} {% if contact.source_date %} ({{ contact.source_date.strftime('%d.%m.%Y') }}) {% endif %}
{% endif %}
{% endfor %} {% endif %} {% if website_content and website_content.phone_numbers %} {% for phone in website_content.phone_numbers %} {% set phone_normalized = phone|replace(' ', '')|replace('+48', '')|replace('-', '') %} {% if phone_normalized not in known_phones %}
Telefon
{{ phone }}
Źródło: Strona WWW (auto) {% if website_content.scraped_at %} ({{ website_content.scraped_at.strftime('%d.%m.%Y') }}) {% endif %}
{% endif %} {% endfor %} {% endif %} {% if company.phone %} {% set phone_normalized = company.phone|replace(' ', '')|replace('+48', '')|replace('-', '') %} {% set phone_in_contacts = phone_normalized in known_phones %} {% if not phone_in_contacts %}
Telefon
{{ company.phone }}
GŁÓWNY
Źródło: Dane firmy
{% endif %} {% endif %} {% set emails = contacts|selectattr('contact_type', 'equalto', 'email')|list if contacts else [] %} {% if emails %} {% for contact in emails %}
Email{% if contact.purpose %} - {{ contact.purpose }}{% endif %}
{{ contact.value }}
{% if contact.is_primary %} GŁÓWNY {% endif %}
{% if contact.source %}
Źródło: {{ source_names.get(contact.source, contact.source) }} {% if contact.source_date %} ({{ contact.source_date.strftime('%d.%m.%Y') }}) {% endif %}
{% endif %}
{% endfor %} {% endif %} {% if website_content and website_content.email_addresses %} {% for email in website_content.email_addresses %} {% if email|lower not in known_emails %}
Email
{{ email }}
Źródło: Strona WWW (auto) {% if website_content.scraped_at %} ({{ website_content.scraped_at.strftime('%d.%m.%Y') }}) {% endif %}
{% endif %} {% endfor %} {% endif %} {% if company.email %} {% set email_in_contacts = emails_from_contacts|selectattr('value', 'equalto', company.email)|list|length > 0 if emails_from_contacts else false %} {% if not email_in_contacts %}
Email
{{ company.email }}
GŁÓWNY
Źródło: Dane firmy
{% endif %} {% endif %} {% if company.address_full or company.address_street %}
Adres siedziby
{% if company.address_full %} {{ company.address_full }} {% else %} {{ company.address_street }}, {{ company.address_postal }} {{ company.address_city }} {% endif %}
Źródło: Rejestr KRS
{% endif %}
{% endif %} {# Koniec warunku: not (company.krs and company.data_source == 'KRS API') and not company.ceidg_id dla sekcji "Dane kontaktowe" #}

Social Media

{% set platforms = ['facebook', 'instagram', 'youtube', 'linkedin', 'tiktok', 'twitter'] %} {% set platform_names = {'facebook': 'Facebook', 'instagram': 'Instagram', 'youtube': 'YouTube', 'linkedin': 'LinkedIn', 'tiktok': 'TikTok', 'twitter': 'X (Twitter)'} %} {% set platform_colors = {'facebook': '#1877f2', 'instagram': '#E4405F', 'youtube': '#ff0000', 'linkedin': '#0a66c2', 'tiktok': '#000000', 'twitter': '#000000'} %} {% set sm_dict = {} %} {% if social_media %} {% for sm in social_media %} {% set _ = sm_dict.update({sm.platform: sm}) %} {% endfor %} {% endif %}
{% for platform in platforms %} {% set sm = sm_dict.get(platform) %}
{% if platform == 'facebook' %} {% elif platform == 'instagram' %} {% elif platform == 'youtube' %} {% elif platform == 'linkedin' %} {% elif platform == 'tiktok' %} {% elif platform == 'twitter' %} {% endif %}
{{ platform_names[platform] }}
{% if sm %}
Aktywny profil
{% else %}
Brak profilu
{% endif %}
{% if sm %}
{% if sm.page_name %}
Nazwa profilu:
{{ sm.page_name }}
{% endif %}
Link:
{% if sm.followers_count %}
{{ sm.followers_count|default(0) }}
{% if platform == 'youtube' %}Subskrybentów{% else %}Obserwujących{% endif %}
{% if sm.total_posts %}
{{ sm.total_posts }}
{% if platform == 'youtube' %}Filmów{% else %}Postów{% endif %}
{% endif %}
{% endif %}
Odwiedź profil {% else %}
Firma nie posiada profilu na {{ platform_names[platform] }}
{% endif %}
{% endfor %}
{# ====================================================================== REKOMENDACJE - TYMCZASOWO UKRYTE Powód: Oczekiwanie na akceptację zarządu Norda (trwają rozmowy) Data ukrycia: 2026-02-01 Aby włączyć: zmień "False" na "True" w linii poniżej ====================================================================== #} {% if False %} {# REKOMENDACJE DISABLED - zmień na True aby włączyć #}

⭐ REKOMENDACJE {% if recommendations %}({{ recommendations|length }} rekomendacji){% endif %}

{% if current_user.is_authenticated %}
Dodaj rekomendację
{% endif %} {% if recommendations %}
{% for rec in recommendations %}
{{ rec.user.first_name[0] if rec.user.first_name else rec.user.email[0].upper() }}
{{ rec.user.first_name }} {{ rec.user.last_name }}
{% if rec.user.company %} {{ rec.user.company.name }} {% endif %}
{{ rec.created_at.strftime('%d.%m.%Y') }}
{% if rec.service_category %}
{{ rec.service_category }}
{% endif %}
{{ rec.recommendation_text }}
{% if rec.show_contact %}
Kontakt z rekomendującym:
{% if rec.user.email %} {% endif %} {% if rec.user.phone %} {% endif %}
{% endif %} {% if current_user.is_authenticated and current_user.id == rec.user_id %}
{% endif %}
{% endfor %}
{% else %}
Brak rekomendacji. Bądź pierwszy!
{% if current_user.is_authenticated %} Dodaj pierwszą rekomendację {% endif %}
{% endif %}
{% endif %} {# END REKOMENDACJE DISABLED #} {% if company.website and website_analysis %}

Strona WWW

Adres strony
{{ company.website|replace('https://', '')|replace('http://', '')|replace('www.', '') }}
Odwiedź stronę
{% if company.websites %} {% set extra_websites = company.websites|rejectattr('is_primary')|list %} {% if extra_websites %} {% for w in extra_websites %}
{% if w.label %}
{{ w.label }}
{% endif %} {{ w.url|replace('https://', '')|replace('http://', '')|replace('www.', '') }}
Odwiedź
{% endfor %} {% endif %} {% endif %}
Certyfikat SSL
{% if website_analysis.has_ssl %}
Aktywny
{% else %}
Brak
{% endif %}
{% if website_analysis.has_ssl %}
{% if website_analysis.ssl_issuer %}
Wystawca: {{ website_analysis.ssl_issuer }}
{% endif %} {% if website_analysis.ssl_expires_at %}
Ważny do {{ website_analysis.ssl_expires_at.strftime('%d.%m.%Y') }}
{% endif %}
{% endif %}
Wersja mobilna
{% if website_analysis.is_mobile_friendly %}
Responsywna
{% else %}
Brak
{% endif %}
Czas ładowania
{% if website_analysis.load_time_ms %}
{{ (website_analysis.load_time_ms / 1000)|round(2) }}s
{% else %}
Brak danych
{% endif %}
{% if website_analysis.load_time_ms %}
{% if website_analysis.load_time_ms < 500 %} Doskonały - błyskawicznie {% elif website_analysis.load_time_ms < 1000 %} Bardzo dobry - poniżej 1s {% elif website_analysis.load_time_ms < 2000 %} Dobry - akceptowalny {% elif website_analysis.load_time_ms < 3000 %} Przeciętny - do poprawy {% elif website_analysis.load_time_ms < 4000 %} Wolny - wymaga optymalizacji {% else %} Bardzo wolny - krytyczny {% endif %}
{% endif %}
Technologia / CMS
{% if website_analysis.cms_detected %}
{{ website_analysis.cms_detected }}
{% else %}
Nieznany
{% endif %}
Hosting
{% if website_analysis.hosting_provider %}
{{ website_analysis.hosting_provider }}
{% else %}
Nieznany
{% endif %}
Serwer
{% if website_analysis.server_software %}
{{ website_analysis.server_software }}
{% else %}
Nieznany
{% endif %}
Wykonawca strony
{% if website_analysis.site_author %}
{{ website_analysis.site_author }}
{% else %}
Nieznany
{% endif %}
{% if website_analysis.site_author %} {# Extract domain from site_author - look for word containing .pl/.com/.eu #} {% set author_text = website_analysis.site_author %} {% set extracted_domain = namespace(value='') %} {% for word in author_text.replace('/', ' ').replace('–', ' ').replace('-', ' ').replace(',', ' ').split() %} {% set word_lower = word|lower|trim %} {% if extracted_domain.value == '' and (word_lower.endswith('.pl') or word_lower.endswith('.com') or word_lower.endswith('.eu') or word_lower.endswith('.net') or word_lower.endswith('.org')) %} {% set extracted_domain.value = word_lower %} {% endif %} {% endfor %} {% if extracted_domain.value %} {% set author_url = 'https://' ~ extracted_domain.value %} Odwiedź {% endif %} {% endif %}
{% if website_analysis.google_rating %}
Ocena Google
{{ website_analysis.google_rating }}/5 {% if website_analysis.google_reviews_count %}({{ website_analysis.google_reviews_count }} opinii){% endif %}
{% endif %}
{% elif company.website %}

Strona WWW

Adres strony
{{ company.website|replace('https://', '')|replace('http://', '')|replace('www.', '') }}
Odwiedź stronę
{% else %}

Strona WWW

Brak strony internetowej
Ta firma nie posiada jeszcze strony internetowej lub jej adres nie jest znany. {% if company.phone or company.email %} Skontaktuj się bezpośrednio używając danych kontaktowych podanych powyżej. {% endif %}
Jeśli znasz adres strony tej firmy, poinformuj nas przez formularz kontaktowy.
{% endif %} {% if website_analysis and website_analysis.seo_audited_at and is_audit_owner %}

Analiza SEO ({{ website_analysis.seo_audited_at.strftime('%d.%m.%Y') }})

{% set overall_score = website_analysis.seo_overall_score or website_analysis.pagespeed_seo_score %} {% if overall_score is not none %} {# Unified 5-level color scale: 0-29 red, 30-49 orange, 50-69 amber, 70-89 lime, 90-100 green #}
{{ overall_score }}
{% if overall_score >= 90 %}Doskonały wynik SEO{% elif overall_score >= 70 %}Dobry wynik SEO{% elif overall_score >= 50 %}Przeciętny wynik SEO{% elif overall_score >= 30 %}Wynik SEO wymaga poprawy{% else %}Słaby wynik SEO{% endif %}
{% if overall_score >= 90 %}Strona jest bardzo dobrze zoptymalizowana{% elif overall_score >= 70 %}Strona jest dobrze zoptymalizowana{% elif overall_score >= 50 %}Strona wymaga optymalizacji w kilku obszarach{% elif overall_score >= 30 %}Strona wymaga znaczącej optymalizacji{% else %}Strona wymaga pilnej optymalizacji SEO{% endif %}
{% endif %}
{% if website_analysis.pagespeed_seo_score is not none %}{{ website_analysis.pagespeed_seo_score }}{% else %}-{% endif %}
SEO
{% if website_analysis.pagespeed_performance_score is not none %}{{ website_analysis.pagespeed_performance_score }}{% else %}-{% endif %}
Wydajność
{% if website_analysis.pagespeed_accessibility_score is not none %}{{ website_analysis.pagespeed_accessibility_score }}{% else %}-{% endif %}
Dostępność
{% if website_analysis.pagespeed_best_practices_score is not none %}{{ website_analysis.pagespeed_best_practices_score }}{% else %}-{% endif %}
Best Practices

SEO On-Page

Meta Title {% if website_analysis.meta_title %} OK {% else %} Brak {% endif %}
Meta Description {% if website_analysis.meta_description %} OK {% else %} Brak {% endif %}
Nagłówki H1 {% if website_analysis.h1_count is not none %} {{ website_analysis.h1_count }}{% if website_analysis.h1_count == 1 %} (OK){% elif website_analysis.h1_count == 0 %} (Brak){% else %} (Za dużo){% endif %} {% else %} - {% endif %}
Obrazy bez Alt {% if website_analysis.images_without_alt is not none %} {{ website_analysis.images_without_alt }}{% if website_analysis.images_without_alt == 0 %} (OK){% endif %} {% else %} - {% endif %}
Linki wewnętrzne {% if website_analysis.internal_links_count is not none %} {{ website_analysis.internal_links_count }} {% else %} - {% endif %}
Linki zewnętrzne {% if website_analysis.external_links_count is not none %} {{ website_analysis.external_links_count }} {% else %} - {% endif %}

SEO Techniczny

Canonical URL {% if website_analysis.has_canonical %} OK {% else %} Brak {% endif %}
Indeksowanie {% if website_analysis.is_indexable or website_analysis.is_indexable is none %} Dozwolone {% else %} Zablokowane {% endif %}
Dane strukturalne {% if website_analysis.has_structured_data %} OK {% else %} Brak {% endif %}
Open Graph {% if website_analysis.has_og_tags %} OK {% else %} Brak {% endif %}
Viewport (mobile) {% if website_analysis.viewport_configured %} OK {% else %} Brak {% endif %}
Język strony {% if website_analysis.html_lang %} {{ website_analysis.html_lang }} {% else %} Brak {% endif %}
{% if website_analysis.largest_contentful_paint_ms or website_analysis.cumulative_layout_shift is not none %}

Core Web Vitals

LCP
{% if website_analysis.largest_contentful_paint_ms is not none %}{{ (website_analysis.largest_contentful_paint_ms / 1000)|round(1) }}s{% else %}-{% endif %}
Largest Contentful Paint
INP
{% if website_analysis.first_input_delay_ms is not none %}{{ website_analysis.first_input_delay_ms }}ms{% else %}-{% endif %}
Interaction to Next Paint
CLS
{% if website_analysis.cumulative_layout_shift is not none %}{{ website_analysis.cumulative_layout_shift|round(3) }}{% else %}-{% endif %}
Cumulative Layout Shift
{% endif %} {% if website_analysis.structured_data_types and website_analysis.structured_data_types|length > 0 %}

Wykryte dane strukturalne (Schema.org)

{% for schema_type in website_analysis.structured_data_types %} {{ schema_type }} {% endfor %}
{% endif %}
Legenda: 90-100 (dobry) 50-89 (średni) 0-49 (słaby)
{% endif %} {% if gbp_audit and gbp_audit.completeness_score is not none and is_audit_owner %}

Audyt Google Business Profile ({{ gbp_audit.audit_date.strftime('%d.%m.%Y') }})

{# Unified 5-level color scale: 0-29 red, 30-49 orange, 50-69 amber, 70-89 lime, 90-100 green #}
{{ gbp_audit.completeness_score }}
{% if gbp_audit.completeness_score >= 90 %}Doskonały profil GBP{% elif gbp_audit.completeness_score >= 70 %}Dobry profil GBP{% elif gbp_audit.completeness_score >= 50 %}Przeciętny profil GBP{% elif gbp_audit.completeness_score >= 30 %}Profil GBP wymaga uzupełnienia{% else %}Słaby profil GBP{% endif %}
{% if gbp_audit.completeness_score >= 90 %}Profil Google Business jest kompletny i dobrze zoptymalizowany{% elif gbp_audit.completeness_score >= 70 %}Profil jest dobrze uzupełniony{% elif gbp_audit.completeness_score >= 50 %}Profil wymaga uzupełnienia kilku informacji{% elif gbp_audit.completeness_score >= 30 %}Profil wymaga znaczącego uzupełnienia{% else %}Profil wymaga pilnego uzupełnienia{% endif %}
{% if gbp_audit.review_count is not none %}{{ gbp_audit.review_count }}{% else %}-{% endif %}
Opinii
{% if gbp_audit.average_rating is not none %}{{ gbp_audit.average_rating|round(1) }}{% else %}-{% endif %}
Średnia ocen
{% if gbp_audit.photo_count is not none %}{{ gbp_audit.photo_count }}{% else %}-{% endif %}
Zdjęć
{{ gbp_audit.completeness_score }}%
Kompletność

Informacje podstawowe

Nazwa firmy {% if gbp_audit.has_name %} OK {% else %} Brak {% endif %}
Adres {% if gbp_audit.has_address %} OK {% else %} Brak {% endif %}
Telefon {% if gbp_audit.has_phone %} OK {% else %} Brak {% endif %}
Strona www {% if gbp_audit.has_website %} OK {% else %} Brak {% endif %}
Godziny otwarcia {% if gbp_audit.has_hours %} OK {% else %} Brak {% endif %}

Treści i zaangażowanie

Opis firmy {% if gbp_audit.has_description %} OK {% else %} Brak {% endif %}
Kategorie {% if gbp_audit.has_categories %} OK {% else %} Brak {% endif %}
Usługi/produkty {% if gbp_audit.has_services %} OK {% else %} Brak {% endif %}
Zdjęcia {% if gbp_audit.has_photos %} {{ gbp_audit.photo_count or 'OK' }} {% else %} Brak {% endif %}
Opinie klientów {% if gbp_audit.has_reviews %} {{ gbp_audit.review_count }} {% else %} Brak {% endif %}
{% if gbp_audit.google_maps_url %}
Zobacz w Google Maps
{% endif %}
{% endif %} {% if social_media and social_media|length > 0 and is_audit_owner %}

Audyt Social Media

{% set active_platforms = social_media|selectattr('is_valid', 'equalto', true)|list|length %} {% set total_platforms = 6 %} {% set social_score = ((active_platforms / total_platforms) * 100)|int %} {% set total_followers = social_media|selectattr('followers_count')|sum(attribute='followers_count') %} {# Unified 5-level color scale: 0-29 red, 30-49 orange, 50-69 amber, 70-89 lime, 90-100 green #}
{{ social_score }}
{% if social_score >= 90 %}Doskonała obecność w Social Media{% elif social_score >= 70 %}Dobra obecność w Social Media{% elif social_score >= 50 %}Przeciętna obecność w Social Media{% elif social_score >= 30 %}Obecność wymaga rozbudowy{% else %}Słaba obecność w Social Media{% endif %}
{{ active_platforms }}/{{ total_platforms }} platform · {{ social_score }}% {% if total_followers > 0 %} · {{ "{:,}".format(total_followers|int).replace(",", " ") }} obserwujących{% endif %}
{% set platform_icons = { 'facebook': {'icon': '', 'color': '#1877F2'}, 'instagram': {'icon': '', 'color': '#E4405F'}, 'linkedin': {'icon': '', 'color': '#0A66C2'}, 'youtube': {'icon': '', 'color': '#FF0000'}, 'twitter': {'icon': '', 'color': '#000000'}, 'tiktok': {'icon': '', 'color': '#000000'} } %} {% for sm in social_media %}
{{ platform_icons[sm.platform]['icon']|safe if sm.platform in platform_icons else '' }}
{{ sm.platform }}
{% if sm.followers_count %}
{{ "{:,}".format(sm.followers_count|int).replace(",", " ") }} obserwujących
{% elif sm.page_name %}
{{ sm.page_name|truncate(20) }}
{% else %}
Aktywny profil
{% endif %} {% if sm.check_status == 'needs_verification' %} Do weryfikacji {% elif sm.is_valid %} Zweryfikowany {% endif %}
{% endfor %}
{% endif %} {% if it_audit and it_audit.overall_score is not none and is_audit_owner %}

Audyt IT ({{ it_audit.audit_date.strftime('%d.%m.%Y') }})

{# Unified 5-level color scale: 0-29 red, 30-49 orange, 50-69 amber, 70-89 lime, 90-100 green #}
{{ it_audit.overall_score }}
{% if it_audit.overall_score >= 90 %}Doskonała infrastruktura IT{% elif it_audit.overall_score >= 70 %}Dobra infrastruktura IT{% elif it_audit.overall_score >= 50 %}Przeciętna infrastruktura IT{% elif it_audit.overall_score >= 30 %}Infrastruktura IT wymaga rozwoju{% else %}Słaba infrastruktura IT{% endif %}
{% if it_audit.overall_score >= 90 %}Nowoczesna i dobrze zabezpieczona infrastruktura{% elif it_audit.overall_score >= 70 %}Infrastruktura na dobrym poziomie{% elif it_audit.overall_score >= 50 %}Infrastruktura wymaga modernizacji{% elif it_audit.overall_score >= 30 %}Infrastruktura wymaga znaczącej rozbudowy{% else %}Infrastruktura wymaga pilnej modernizacji{% endif %}
{{ it_audit.overall_score }}
Ogólny wynik
{% if it_audit.security_score is not none %}{{ it_audit.security_score }}{% else %}-{% endif %}
Bezpieczeństwo
{% if it_audit.collaboration_score is not none %}{{ it_audit.collaboration_score }}{% else %}-{% endif %}
Współpraca
{% if it_audit.maturity_level == 'advanced' %}Zaawansowany{% elif it_audit.maturity_level == 'established' %}Rozwinięty{% elif it_audit.maturity_level == 'developing' %}Rozwijający{% else %}Podstawowy{% endif %}
Poziom dojrzałości

Chmura i tożsamość

Microsoft 365 {% if it_audit.has_m365 %} Tak {% else %} Nie {% endif %}
Azure AD / Entra ID {% if it_audit.has_azure_ad %} Tak {% else %} Nie {% endif %}
Google Workspace {% if it_audit.has_google_workspace %} Tak {% else %} Nie {% endif %}

Bezpieczeństwo

MFA (2FA) {% if it_audit.has_mfa %} Tak {% else %} Nie {% endif %}
VPN {% if it_audit.has_vpn %} Tak {% else %} Nie {% endif %}
EDR {% if it_audit.has_edr %} Tak {% else %} Nie {% endif %}
{% endif %} {# Company Events - UKRYTE (2026-01-11) - do przywrócenia w przyszłości {% if events %}

Aktualności i wydarzenia Zobacz wszystkie →

{% for event in events %}
{% if event.event_type == 'product_launch' %}📦 Nowy produkt{% endif %} {% if event.event_type == 'company_milestone' %}🏆 Kamień milowy{% endif %} {% if event.event_type == 'company_news' %}📰 Aktualność{% endif %} {% if event.event_type == 'education_event' %}🎓 Szkolenie{% endif %} {% if event.event_type == 'company_info' %}ℹ️ Informacja{% endif %} {% if event.event_type == 'financial_report' %}💰 Raport finansowy{% endif %} {% if event.event_type == 'contract_win' %}🤝 Nowy kontrakt{% endif %} {% if event.event_type == 'event' %}📅 Wydarzenie{% endif %}

{{ event.title }}

{{ event.description|truncate(200) if event.description|length > 200 else event.description }}

{% if event.event_date %}
{{ event.event_date.strftime('%d.%m.%Y') }}
{% endif %} {% if event.source_url %}
Źródło
{% endif %}
{% endfor %}
{% endif %} #} {% if company_managers is defined and company_managers %} {% endif %}

Wzbogacanie danych AI...

0%
Przygotowywanie...
{% endblock %}