Kundeportal og deling

Del fakturaer via links uden login, lad kunder se, downloade og betale online, og se præcis hvornår de åbnede dem

Portaloversigt

Kundeportalen er den kundevendte side af Invotify — alt, hvad din kunde ser og gør uden nogensinde at oprette en konto. Du genererer et sikkert delingslink, sender det til din kunde, og de får en ren, brandet side, hvor de kan læse fakturaen, downloade PDF'en og (på Pro) betale online. Imens får du en stille registrering af præcis hvornår og hvor de åbnede den.

Hvad portalen gør:

  • Offentlig fakturavisning — Et token-baseret link åbner fakturaen i browseren. Intet login, ingen adgangskode, ingen friktion for kunden.
  • PDF-download — Kunden downloader en pixelperfekt A4-PDF af sin faktura med ét klik.
  • Onlinebetaling (Pro) — En "Betal nu"-knap fører kunden til en sikker Stripe-checkout for fuld eller delvis betaling.
  • Visningssporing — Hver åbning logges: hvornår, hvorfra, antal visninger og tidsstempel for første/seneste visning.
  • E-mailpræferencer — Afmelding med ét klik og granulær styring af, hvilke e-mails kunden modtager.

To linktyper:

  • Enkeltfaktura-link (/invoice/{token}) — Viser én bestemt faktura med dens fulde detaljer og en download-/betalingshandling.
  • Kundeportal-link (/portal/{token}) — En samlet visning af kundens seneste fakturaer, deres samlede udestående saldo, eventuelt forfaldsflag og kreditnotasaldo, hver faktura med sin egen betalingshandling.

Planer: Offentlig visning, PDF-download, visningssporing og styring af e-mailpræferencer er tilgængelige på alle planer. Onlinebetaling fra portalen kræver en Pro-plan med Stripe tilsluttet.

Hver portalside er brandet med dit virksomhedsnavn og logo, bærer en stille "Powered by Invotify"-sidefod og er markeret noindex, så den aldrig dukker op i søgemaskiner.

Links uden login

Token-baserede URL'er åbner øjeblikkeligt i enhver browser. Ingen konto nødvendig for kunden.

Selvbetjent PDF

Kunder downloader deres egen A4-PDF-kopi, når de har brug for den.

Betal online (Pro)

En Betal nu-knap fører til sikker Stripe-checkout — fuld eller delvis.

Visningssporing

Vid hvornår, hvor og hvor mange gange kunden åbnede linket.

Deling af en faktura

Deling af en faktura opretter et unikt, svært-at-gætte delingstoken og gør det til et offentligt link, din kunde kan åbne uden at logge ind. Token'et er en tilfældig UUID — det kan ikke gættes ved at tælle et tal op — og det peger på præcis én faktura.

Sådan virker delingstoken'et:

  • Generering af et link opretter et share_token for fakturaen og returnerer en URL af formen https://your-app/invoice/{token}.
  • Hvis et token allerede findes for den faktura, returnerer Invotify det samme — at dele igen vil ikke ændre linket eller ødelægge en URL, du allerede har sendt.
  • Linket er den eneste legitimation. Enhver med det kan se fakturaen, så behandl det som et privat link.
  • Du kan tilbagekalde et delingslink når som helst. Tilbagekaldelse rydder token'et, og den gamle URL holder øjeblikkeligt op med at virke (den returnerer "ikke fundet"). Generér et nyt link for at dele igen.

Tilladelser: Generering eller tilbagekaldelse af et delingslink kræver tilladelsen "Manage invoices", så kun autoriserede teammedlemmer kan blotlægge en faktura.

Hvad kunden modtager: Når du sender en faktura via e-mail, kan linket (og på Pro et betalingslink) rejse med den. Du kan også kopiere delings-URL'en og sende den via enhver kanal — chat, din egen e-mailklient, en beskedapp.

Deling af PDF'en til WhatsApp, Telegram, Slack og co.: Delingsdialogen på fakturaer og tilbud overdrager den genererede PDF direkte til din enheds delingsark (på telefoner, tablets og moderne desktopbrowsere). Tryk på WhatsApp, Telegram, Slack eller Messenger, og PDF'en er allerede vedhæftet — vælg modtageren og send. På browsere uden understøttelse af fildeling via delingsark falder Invotify tilbage til at downloade PDF'en og åbne appen, så du kan vedhæfte den manuelt.

Trin

  1. 1

    Åbn fakturaen

    Gå til fakturadetalje-siden for den faktura, du vil dele.

  2. 2

    Generér delingslinket

    Opret et delingslink. Invotify danner et unikt token og returnerer den offentlige URL (/invoice/{token}).

  3. 3

    Kopier eller send

    Kopier URL'en for at dele via enhver kanal, eller send fakturaen via e-mail, så linket rejser med den.

  4. 4

    Tilbagekald efter behov

    Hvis et link ikke længere skal virke, så tilbagekald det. Token'et ryddes, og URL'en holder øjeblikkeligt op med at virke.

Tips
  • Token'et er en tilfældig UUID, ikke et fortløbende id — links kan ikke gættes ved at tælle op
  • Genddeling af en faktura genbruger det eksisterende token, så en URL, du allerede har sendt, bliver ved med at virke
  • Tilbagekald et link i det øjeblik, det skal udløbe — der er ingen separat adgangskode at administrere
Vigtigt
  • Enhver med linket kan se fakturaen — del det kun med den tiltænkte modtager
  • Tilbagekaldelse af et delingslink er permanent: den gamle URL ødelægges, og et helt nyt link skal genereres for at dele igen

Kundeportalen (se, download, betal)

Når en kunde åbner et delingslink, lander de på en ren, mobilvenlig side, der ikke kræver login. Der er to oplevelser afhængigt af linket.

Enkeltfaktura-side (`/invoice/{token}`): Kunden ser hele fakturaen — dit virksomhedsnavn og logo, fakturanummeret og status, udstedelses- og forfaldsdatoer, faktureringsoplysninger, hver linjepost med antal og totaler samt eventuelle noter, du tilføjede. Nederst er handlingerne: - Download PDF — Genererer og downloader en professionel A4-PDF, identisk med det, du ville sende. Genereres på serversiden efter behov. - Betal nu — Vises kun, når et betalingslink er tilgængeligt, og fakturaen ikke allerede er betalt eller annulleret (Pro — se Onlinebetaling nedenfor).

Samlet portalside (`/portal/{token}`): Et dashboard-lignende overblik for kunden på tværs af alle deres fakturaer hos dig: - Udestående saldo — Det samlede beløb, der stadig skyldes på tværs af hver ubetalt faktura (ikke kun den, de klikkede på), med et forfaldsflag, hvis nogen er forfaldne. - Kreditnotasaldo — Eventuel udstedt eller anvendt kredit, de har. - Fakturaliste — Deres seneste ikke-kladdefakturaer, opdelt på sider, hver med nummer, datoer, status, beløb og en betalingshandling.

Privatliv ved design: Portalen returnerer kun et sikkert delsæt af data. Interne id'er, selve delingstoken'et og alt, der ikke vedrører den kunde, fjernes fra svaret. Den samlede portal afgrænses strengt til den ene kunde, token'et tilhører. Portalsvar sendes med no-store-caching, så intet følsomt caches af mellemled.

Brandet fakturavisning

Logo, virksomhedsnavn, linjeposter, datoer, noter — vist rent, intet login.

Download PDF

A4-PDF efter behov, identisk med den version, du sender via e-mail.

Saldooverblik

Den samlede portal viser samlet udestående, forfaldsflag og kreditnotasaldo.

Kun sikre data

Interne id'er og token'et fjernes; portalen afgrænses til én kunde.

Tips
  • Send enkeltfaktura-linket til en engangsregning, og det samlede portal-link til en tilbagevendende kunde, der vil se alt ét sted
  • Kladder vises aldrig i portalen — kun fakturaer, du faktisk har udstedt
  • Den downloadede PDF genereres på ny hver gang, så den altid afspejler den aktuelle faktura

Onlinebetaling fra portalen (Pro)

På en Pro-plan med Stripe tilsluttet gør portalen en visning til en betaling. Kunden klikker på Betal nu og lander på Stripes sikre hostede checkout — Invotify rører aldrig deres kortoplysninger.

Sådan forløber en portalbetaling: 1. Kunden åbner sin faktura eller den samlede portal og klikker på Betal. 2. Invotify opretter en Stripe Checkout-session for den faktura og omdirigerer kunden til den. 3. Kunden betaler på Stripes hostede side. Deres e-mail er forudfyldt for en hurtigere checkout. 4. Ved succes føres de tilbage til en bekræftelsesside; hvis de annullerer, lander de pænt tilbage. 5. Stripe bekræfter betalingen, og fakturastatus opdateres til Betalt automatisk.

Fulde eller delvise betalinger: - Som standard betaler kunden hele den udestående saldo (det skyldige beløb, ikke kun den oprindelige total — så tidligere delbetalinger er medregnet). - Hvis du har aktiveret delbetalinger på fakturaen, kan kunden betale et mindre beløb. Invotify håndhæver enhver minimumsbetaling, du har angivet, og lader aldrig kunden betale mere, end der stadig skyldes.

Indbyggede værn: - Allerede betalte eller annullerede fakturaer kan ikke betales igen — Betal-knappen skjules, og anmodningen afvises på serversiden. - Portalens betalings-endpoint er hastighedsbegrænset for at forhindre misbrug. - Betalingsbeløbet valideres mod den aktuelle udestående saldo og Stripes minimumsgebyr, før en session oprettes.

Vigtigt: Onlinebetaling kræver en Pro-plan og en tilsluttet Stripe-konto. Uden Stripe tilsluttet virker portalen stadig til visning og download — der er bare ingen Betal-knap.

Stripe-checkout

Kunden betaler på Stripes hostede side. Invotify ser aldrig kortoplysninger.

Delbetalinger

Når aktiveret, kan kunder betale et depositum — afgrænset af dit minimum og saldoen.

Auto-statusopdatering

Fakturaen skifter til Betalt i det øjeblik, Stripe bekræfter betalingen.

Valideret og hastighedsbegrænset

Beløb tjekkes mod den aktuelle saldo; betalinger til betalte/annullerede fakturaer blokeres.

Vigtigt
  • Onlinebetaling fra portalen kræver en Pro-plan med Stripe tilsluttet
  • Delbetalinger tilbydes kun, hvis du har aktiveret dem på den specifikke faktura

Sporing af fakturavisninger

Slut med at undre dig over, om din kunde rent faktisk åbnede fakturaen. Hver gang en delt faktura vises, registrerer Invotify det — så du ved præcis hvornår de så den, hvor mange gange og hvorfra.

Hvad der registreres ved hver visning: - Tidsstempel — Hvornår visningen skete. - Kilde — Hvor visningen kom fra: link (et delt enkeltfaktura-link), email, portal eller api. Standard er link. - Seerens IP — Kundens IP-adresse (parset fra videresendelsesheaderen), så du kan skelne gentagne åbninger fra samme sted fra nye. - User-agent — Browser-/enhedsstrengen, afkortet til en sikker længde.

Samlede statistikker Invotify gemmer per faktura: - Visningsantal — Den løbende total af åbninger. - Først set — Præcis hvornår fakturaen første gang blev åbnet (stemplet én gang, aldrig overskrevet). - Sidst set — Den seneste åbning. - Unikke IP'er — Hvor mange distinkte IP-adresser har set den.

Hvor du ser det: Fakturaens visningsstatistik dukker op på fakturadetalje-siden — et kompakt badge viser visningsantallet, med tidsstempler for først- og sidst-set ved hover og en live-indikator, når fakturaen blev åbnet for nylig. Den fulde visningslog (hver enkelt åbning med dens kilde, IP og user-agent) er tilgængelig via fakturaens visningsdata, afgrænset til din virksomhed.

Misbrugsbeskyttelse: Sporings-endpoint'et er hastighedsbegrænset per IP og per token, så en enkelt kunde, der opdaterer gentagne gange, ikke kan oppuste dit visningsantal, og endpoint'et kan ikke hamres for at puste tallene op.

Hver åbning logget

En visningspost skrives, hver gang den delte faktura åbnes.

Kildetilskrivning

Sporer, om åbningen kom fra et link, e-mail, portal eller api.

IP + user-agent

Registrerer seerens IP og browser, så du kan skelne åbninger fra hinanden.

Først / sidst / antal

Løbende visningsantal plus tidsstempler for først-set og sidst-set per faktura.

Tips
  • En visning, men ingen betaling, er dit signal til at sende et venligt skub — de har set den
  • En stigning i visninger betyder ofte, at kunden gennemgår eller er ved at handle — god timing til at følge op
  • Antallet af unikke IP'er hjælper dig med at skelne "kunden bliver ved med at genåbne den" fra "de videresendte den rundt"

E-mailpræferencer og afmelding

Hver e-mail, Invotify sender en kunde, bærer et afmeldings-/præferencelink, så kunder altid bevarer kontrollen over, hvad der lander i deres indbakke. Linket virker uden noget login — selve afmeldingstoken'et beviser ejerskab af e-mailadressen.

Hvad kunder kan styre: - Dokument-e-mails — Fakturaer, tilbud og andre dokumenter sendt til dem. - Påmindelses-e-mails — Påmindelser om forfald og kommende betaling. - Markedsførings-e-mails — Enhver salgsfremmende eller meddelelsesbesked.

Hver kategori er en uafhængig til/fra-kontakt. En kunde, der kun vil have fakturaer, men ikke påmindelser, kan have netop det — det er ikke alt-eller-intet.

Afmelding med ét klik: Præferencesiden er den samme flade som afmeldingslinket i enhver e-mail. Kunder kan slå en enkelt kategori fra eller fravælge alt, ét sted. Ændringer gemmes med det samme og gælder for fremtidige afsendelser.

Sådan forbliver det sikkert: - Præference-endpoint'et kræver et gyldigt token (afvist, hvis for kort eller manglende), og det token alene giver tilladelse til at læse og opdatere præferencerne — ingen konto nødvendig. - Kun de kendte, tilladte præferencenøgler accepteres, og kun boolske værdier, så endpoint'et ikke kan tvinges til at ændre noget andet. - Læsninger og skrivninger er hastighedsbegrænset per IP.

At overholde disse præferencer holder dit afsenderomdømme sundt og holder dig på den rigtige side af anti-spam-reglerne — kunder, der valgte at fravælge, holder ganske enkelt op med at modtage den kategori.

Granulære kontakter

Separate kontakter for dokument-, påmindelses- og markedsførings-e-mails.

Afmelding med ét klik

Hver e-mail linker til præferencesiden — fravælg én kategori eller alle.

Token-autoriseret

Afmeldingstoken'et beviser ejerskab; intet login kræves for at administrere præferencer.

Låst endpoint

Kun kendte boolske nøgler accepteres, hastighedsbegrænsede læsninger og skrivninger.

Skal min kunde have en konto for at se eller betale en faktura?

Nej. Portalen er helt uden login. Et sikkert token i linket er den eneste legitimation, der kræves for at se fakturaen, downloade PDF'en, administrere e-mailpræferencer eller betale (på Pro).

Kan jeg se, om en kunde åbnede fakturaen?

Ja. Sporing af fakturavisninger logger hver åbning med et tidsstempel, kilde, IP og browser og holder et visningsantal per faktura plus tidsstempler for først- og sidst-set, som du kan se på fakturadetalje-siden.

Hvad sker der med et delingslink, hvis jeg tilbagekalder det?

Token'et ryddes, og URL'en holder øjeblikkeligt op med at virke — den returnerer "ikke fundet". For at dele igen skal du generere et nyt link, der danner et frisk token.

Er onlinebetaling fra portalen tilgængelig på alle planer?

Nej. Visning, download, visningssporing og e-mailpræferencer virker på alle planer. At betale online fra portalen kræver en Pro-plan med Stripe tilsluttet.

Tips
  • At respektere fravalg beskytter din leveringsevne — gentagne uønskede e-mails ødelægger dit afsenderomdømme
  • Påmindelser og dokument-e-mails er adskilte, så en kunde kan blive ved med at få fakturaer, mens de slår skub fra