Gå til innhold

Flyt: Ny kunde og lead

To ulike datastier: ny kunde skrives til Visma (Actor), mens lead lagres i FormsDB (ikke Visma).

Ny kunde

flowchart TD
    A[NY KUNDE: skriv navn] --> B{Treff internt?}
    B -->|nei| C[BREG-oppslag<br/>data.brreg.no]
    B -->|ja| D[Fyll ut + leveringsadresser]
    C --> D
    D --> E[CreateCustomer]
    E --> F[Visma Actor:<br/>kunde CustNo]
    E --> G[Visma Actor:<br/>leveringsadresser DelToAct]
    E --> H{Aktiver i datahost?}
    H -->|ja| I[FreeInf1 InfCatNo=990]
    F --> J[Returnerer CustomerNo/ErpID]

    classDef bruker fill:#cfe2ff,stroke:#3b6db5
    classDef sys fill:#f8d7da,stroke:#b53b46
    class A,D bruker
    class C,E,F,G,H,I,J sys

Datalag (Visma Actor): kunden får CustNo (returneres som CustomerNo), Nm (navn), Ad1/Ad2/Pno (adresse), bsno (org.nr.), CustPrGr (prisavtale), og Gr3 = 10 hvis «Aktiver for bestillingsapp». Hver leveringsadresse er en egen Actor-rad med DelToAct = kundens nr., Gr5 = adressetype og PictFNm = lat,long (GPS). «Aktiver i datahost» skriver en FreeInf1-rad (InfCatNo = 990, Val1 = 1).

Lead (potensiell kunde)

flowchart TD
    A[Kundelead: fyll ut] --> B[SaveCustomerLead]
    B --> C[FormsDB: Form<br/>FormTypeId=1]
    C --> D[Lead<br/>Award, StatusId, AssignedUser]
    D --> E[LeadsProduct<br/>per produktinteresse]
    D --> F[Message<br/>ved kommentar]
    D --> G[Leadoppfølging:<br/>status, tildeling, meldinger]

Datalag (FormsDB): Form (FormTypeId = 1), Lead (Award økes med 1 hvis telefon ≥ 8 tegn, e-post inneholder «@», eller «Har avtalt kundekontakt»; StatusId, AssignedUserId), LeadsProduct (én per produktinteresse), og Message (ved kommentar). Leads ligger ikke i Visma.

Samspill (ny kunde)

sequenceDiagram
    autonumber
    actor B as Bruker
    participant App as Connect-app
    participant API as Connect API
    participant BR as BREG
    participant V as Visma (Actor)
    B->>App: Skriv kundenavn
    App->>API: CustomerSearch
    alt Ingen interne treff
        App->>BR: data.brreg.no oppslag
        BR-->>App: Firmadata
    end
    B->>App: Fyll ut + lagre
    App->>API: POST /User/CreateCustomer
    API->>V: INSERT Actor (kunde + adresser)
    API-->>App: CustomerNo / ErpID

Avvik og reversering

Symptom Årsak Tiltak
«Kunden er sperret» CustomerBlockedStatus > 0 i Visma Avklar med økonomi
BREG gir ingenting DisableBREG på, eller feil navn Fyll inn manuelt
GPS godtas ikke Må være lat,long med punktum F.eks. 59.41,5.28
Lead lagres ikke Ugyldig e-postformat, eller avtalt kontakt uten kontaktperson Rett feltet

(Verifisert i UserController.CreateCustomer/SaveCustomerLead, jhlVismaAPI BasicDataController (Actor), forms.core/FormRepository.)

Relaterte sider