Hopp til innhold
↑ ↓ navigerEnter åpneEsc lukk
Kunde

Fra 14 dager til 20 minutter: slik gjorde Tallgruppen det

Regnskapsbyrået Tallgruppen bygde ny kundeonboarding på Oppslag, Signering og Faktura. Her er flyten steg for steg, med kode.

Sara Lindqvist · Produktsjef, Signering 8 min lesing

Tallgruppen er et regnskapsbyrå i Bergen med 120 ansatte og 2 400 kunder. I fjor tok de inn mellom 30 og 50 nye kunder hver måned, og hver av dem tok to uker å få i gang. I dag tar det tjue minutter. Dette innlegget går gjennom flyten de bygde, med kode fra deres egen integrasjon (gjengitt med tillatelse).

Steg 1: organisasjonsnummer inn

Alt starter med at en rådgiver taster inn organisasjonsnummeret til den nye kunden i Tallgruppens kundesystem (skrevet i .NET). Ett kall henter alt:

var v = await spire.Virksomheter.HentAsync(orgnr, new HentParams {
    Utvid = ["roller", "rettighetshavere", "underenheter"]
});

kunde.Navn = v.Navn;
kunde.Organisasjonsform = v.Organisasjonsform;
kunde.Fakturaadresse = v.Postadresse ?? v.Forretningsadresse;
kunde.MvaPliktig = v.MvaRegistrert;
kunde.Bransje = v.Naering.Tekst;
kunde.KanMottaEhf = v.KanMottaEhf;

Rådgiveren ser kundekortet ferdig utfylt og retter det som eventuelt er feil, i stedet for å skrive alt. Det tar under et minutt.

Steg 2: kundekontroll

Hvitvaskingsloven krever at byrået kjenner kundens eiere og ledelse. Tidligere ble det gjort med skjermbilder fra tre registre. Nå lagres det strukturert:

kunde.DagligLeder = v.Roller.DagligLeder;
kunde.Styre = v.Roller.Styre;
kunde.ReelleRettighetshavere = v.Rettighetshavere;
kunde.KundekontrollUtfort = DateTime.UtcNow;
kunde.KundekontrollRequestId = v.RequestId;  // revisjonsspor

RequestId er Spire-Request-Id. Revisor kan slå den opp og se nøyaktig hva Spire svarte den dagen. Tallgruppens revisor godkjente den nye kundekontrollen uten merknader.

Steg 3: oppdragsavtale til riktig person

Oppdragsavtalen genereres fra kundekortet som PDF. Det nye er hvem den sendes til: ikke «kontaktpersonen», men den som ifølge registeret har signaturrett.

var signatarer = v.Roller.Signaturberettigede.First();  // første gyldige kombinasjon

var jobb = await spire.Signeringer.OpprettAsync(new SigneringParams {
    Tittel = $"Oppdragsavtale {v.Navn}",
    Dokument = pdf,
    Nivaa = "eid",
    Parter = signatarer.Select(navn => new Part {
        Navn = navn,
        Epost = kunde.EpostFor(navn),
        Rolle = "oppdragsgiver"
    }).Concat([new Part { Navn = radgiver.Navn, Epost = radgiver.Epost, Rolle = "byrå", Rekkefolge = 2 }]).ToList(),
    Frist = DateTime.Today.AddDays(14),
    Paaminnelser = [1, 3, 7],
    LagringDager = 3650,
});

Kunden signerer med eID. Rådgiveren signerer etterpå (rekkefølge 2). Webhooken signering.fullfort arkiverer PDF-en i kundemappen og setter kunden som aktiv.

96 prosent av avtalene signeres innen 24 timer. Før kom 8 prosent aldri tilbake.

Steg 4: hold kundekortet ferskt

Det som før var en årlig gjennomgang, er nå en webhook:

// POST /spire-webhook
var hendelse = spire.Webhooks.Verifiser(kropp, signatur, hemmelighet);
if (hendelse.Type == "virksomhet.roller_endret") {
    var kunde = await db.Kunder.FindAsync(hendelse.Data.Orgnr);
    await kø.LeggTil(new GjennomgaKundekontroll(kunde.Id, hendelse.Id));
}

Når en kunde bytter daglig leder eller styre, havner kunden i en kø for gjennomgang samme dag. Tallgruppen vet nå om endringer før kundene selv forteller om dem.

Steg 5: honorar som EHF

Den siste biten er byråets egne fakturaer. kunde.KanMottaEhf fra steg 1 avgjør kanalen, men i praksis trenger de ikke tenke på det: Faktura velger selv.

var f = await spire.Fakturaer.OpprettAsync(new FakturaParams {
    Mottaker = new Mottaker { Orgnr = kunde.Orgnr },
    Forfall = DateTime.Today.AddDays(14),
    Linjer = honorar.Linjer,
    Purreløp = "standard",
}, idempotencyKey: $"honorar-{kunde.Id}-{periode}");
await spire.Fakturaer.SendAsync(f.Id);

Tallene

FørEtter
Tid til signert avtale (median)14 dager20 minutter
Avtaler som aldri kom tilbake8 %under 1 %
Manuell registrering per årca. 1 100 timerca. 0
KundekontrollÅrlig skippertakLøpende

Integrasjonen tok to utviklere tre uker. Tallgruppen er på Skala med omtrent 180 000 kall i måneden.

«Før Spire brukte vi to uker på å få en ny kunde i gang. Nå taster en rådgiver inn organisasjonsnummeret, og oppdragsavtalen er signert før kaffen er kald.» Ingrid Åsheim, daglig leder

Hele historien ligger under kunder. Vil dere bygge noe lignende? Regnskapsbyrå-løsningen beskriver flyten, og vi hjelper gjerne til.

Første kall på under fem minutter

Opprett en gratis konto, hent en testnøkkel og gjør ditt første oppslag i sandkassen. Ingen kredittkort, ingen binding.