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.)