Gå til innhold

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