Ordreinngang (EnergiApp og GasNet)¶
Jobbene som skaper Visma-ordrer automatisk — det er disse som mater Ordrer-modulen i appen med kundebestillinger.
Flyt¶
flowchart LR
subgraph energi["EnergiApp (-e)"]
EA[Birks-API] --> SJ{ID > vannmerke<br/>og ikke i Ord.DelAd3?}
SJ -->|ja| MAP[Map produkt via Prod.Inf6]
MAP --> NO[CreateVismaOrder]
NO --> APP[Vises i appens ordreliste]
end
subgraph gass["AutoOrder gass (-a)"]
MET[Målerstander<br/>sp_Connect_GetGasNetCustomerMeterData] --> KV{Riktig kvartal?}
KV -->|ja| GO[Opprett gassordre<br/>produkt 1010/1011]
end
classDef sys fill:#f8d7da,stroke:#b53b46
class EA,SJ,MAP,NO,APP,MET,KV,GO sys
sequenceDiagram
autonumber
participant CM as ConnectMonitor
participant B as EnergiApp (Birks)
participant DB as Visma (Ord)
CM->>DB: Les StrFVar EnergiAppOrdre (sist sjekket/ID)
CM->>B: GET /API/ordrer/‹id›/‹sist sjekket›
B-->>CM: Bestillinger
loop Per bestilling
CM->>DB: Finnes i Ord.DelAd3? (duplikatsjekk)
CM->>DB: CreateVismaOrder (produkt via Prod.Inf6)
end
CM->>DB: UPDATE StrFVar (tidspunkt + siste ID)
EnergiApp-ordrer (-e)¶
Flyt: Kundenes bestillingsapp (Birks-API) → Visma-ordrer.
| Egenskap | Verdi |
|---|---|
| Metode | RunEnergiAppOrders() (~1294–1414) |
| Endepunkt | {EnergiApp_API}API/ordrer/{EnergiApp_ID}/{sist sjekket} (Basic auth) |
| Vannmerke | StrFVar ConnectMonitor/EnergiAppOrdre (Val1 = tidspunkt, Val2 = siste ordre-ID) |
| Duplikatvern | ID må være > Val2 og ikke finnes i Ord.DelAd3 (LIKE '%‹id›%') |
| Ordreoppretting | vbs.CreateVismaOrder() |
Feltmapping bestilling → Visma-ordre:
| EnergiApp-felt | Visma-felt | Merknad |
|---|---|---|
kundenr |
CustomerID |
Må være gyldig Visma-kundenr |
id |
Ordrebeskrivelse + DelAd3 («Bestilt via app. Ordre: ‹id›») + ExternalOrderLineNo |
Brukes til duplikatkontroll og sporing |
date |
Ordredato | |
delivery_date |
Linjens leveringsdato + Information2/Information4 |
«snarest» eller uparserbar → i morgen (Now+1 dag) |
delivery_contact (+ telefon) |
YourReference, Information1, Information5 |
|
product |
Produktoppslag via Prod.Inf6 (EnergiApp-produktnr) |
Ukjent produkt → logg + e-postvarsel, ordren hoppes over |
volume |
Linjeantall | |
navn / delivery_addr |
Leveringsnavn / -adresse | DeliveryActorNo settes ikke (0) |
project |
CustomerPurchaseOrderNo |
|
order_memo |
Fakturatekst | |
| (fast) | OrderGroup1 = 2, OrderGroup11 = 2 |
Bulkordre |
AutoOrder gass — GasNet (-a)¶
Flyt: målerstander i Visma (Metering) → automatiske fakturaordrer for gassnett-kunder. Hardkodet selskap 368 (Nærenergi).
| Egenskap | Verdi |
|---|---|
| Metode | CreateGasNetOrders(368) (~1469–1726) |
| Datakilde | vbs.Metering.GetCustomerMetaData() (prosedyren sp_Connect_GetGasNetCustomerMeterData) |
| Periodisering | Kvartalsvis; halvår faktureres kun i Q2, årlig kun i Q4 |
| Ordre | OrderType 2, merket «GASSNETT», én ordre per kunde |
Linjelogikk:
| Linje | Produkt | Når | Antall |
|---|---|---|---|
| Nettleie | 1010 («Nettleie propan ‹kvartal›») | Fakturatype med nettleie | InvoiceFeeCount (mangler den: 1 + feilrapport) |
| Forbruk | 1011 («Forbruk propan - avlest/stipulert - ‹målertype› måler») | Fakturatype med forbruk | Se under |
Forbruksberegning: (MålerNå − MålerForrige) × faktor, der m³ × 2,5 og
kWh ÷ 12,8 (til kg propan). Er siste avlesning eldre enn perioden, brukes
stipulering (forrige forbruk, eller 10 som nødverdi + feilrapport).
Etter kjøring sendes HTML-rapport til NotifyEmail med antall fakturert,
stipulert og feil.
GasNet varsel (-x) og purring (-y)¶
Ber gassnett-kunder sende målerstand. Hardkodet selskap 368.
| Egenskap | Varsel | Purring |
|---|---|---|
| Utvalg | Alle målerkunder med varsling | Varslet for > 35 dager siden uten svar |
| Kanal | SMS (LinkSMS) hvis mobil; ellers e-post | samme |
| Meldingsmal | «Hei! Det er nå tid for avlesning … Send GASS MÅLERSTAND …» | «Hei igjen! En liten påminnelse … Ved manglende tilbakemelding stipulerer vi forbruket.» |
| Mangler kontaktinfo | Samles og rapporteres til NotifyEmail |
samme |
Kundens svar-SMS («GASS 1234») mottas av Connect API-ets SMSController
(webhook), som validerer og registrerer målerstanden i Visma — se
Integrasjoner.
Feilsøking¶
| Symptom | Sjekk |
|---|---|
| Bestilling fra EnergiApp mangler i appen | Logg for «Could not find EnergiApp product no» (mangler Prod.Inf6); StrFVar EnergiAppOrdre-vannmerket; finnes ordren alt (Ord.DelAd3 LIKE '%‹id›%')? |
| Bestilling fikk feil leveringsdato | «snarest» → neste dag er forventet oppførsel |
| Gassordre uteblir | Riktig kvartal for kundens fakturafrekvens? Avlesning registrert? |
| Kunde fikk ikke varsel | Mangler mobil/e-post — se «uten kontaktinfo»-listen i rapport-e-posten |
Relaterte sider¶
- ConnectMonitor: Oversikt
- Ordrer — der ordrene dukker opp