Gå til innhold

Økonomi-synk (FacToLink og St1)

Jobbene som fører eksterne økonomitransaksjoner som bilag i Visma Business. Alle skriver Voucher/VoucherLine via VBS.

Flyt (felles for økonomi-jobbene)

flowchart LR
    TS[Task Scheduler<br/>kjører flagg] --> CM[ConnectMonitor-jobb]
    CM --> WM[Les vannmerke<br/>StrFVar SistInnlest]
    WM --> EXT[Hent transaksjoner<br/>FacToLink / St1-CSV]
    EXT --> V[Lag bilag<br/>Voucher/VoucherLine via VBS]
    V --> OK{Bilag OK?}
    OK -->|ja| UP[Oppdater vannmerke]
    OK -->|nei| RT[Behold vannmerke<br/>→ prøv på nytt neste kjøring]

    classDef sys fill:#f8d7da,stroke:#b53b46
    class CM,WM,EXT,V,UP,RT sys
sequenceDiagram
    autonumber
    participant TS as Task Scheduler
    participant CM as ConnectMonitor
    participant DB as Visma (StrFVar/Voucher)
    participant EXT as FacToLink / St1
    TS->>CM: Kjør -f / -r / -i
    CM->>DB: SELECT Val1 FROM StrFVar (sist innlest)
    CM->>EXT: Hent transaksjoner siden vannmerke
    EXT-->>CM: Transaksjoner
    CM->>DB: CreateVismaVoucher (serie 310/320/951)
    alt Suksess
        CM->>DB: UPDATE StrFVar (nytt vannmerke)
    else Feil
        Note over CM,DB: Vannmerke uendret — rekjøres
    end

Flyt: FacToLink SOAP-tjeneste (factolink.no/service/factolinkio.asmx) → Visma-bilag.

Egenskap Verdi
Metode RunFactolink() / GetPayments() (Program.cs ~177–323)
Transaksjonstyper 25,26 (innbetaling/factoring)
Intervall Fra vannmerket, Visma_PaymentDayInterval dager frem (standard 1)
Bilagsserie OCRSerie = 310
Bilagstekst «FACTOLINK INNBETALINGER ‹dato›»
Vannmerke StrFVar Factolink/SistInnlest — oppdateres kun ved suksess

Konteringslogikk per transaksjon:

Beløp Debet Kredit
Negativt Bankkonto (Visma_BankAccount = 2900) Factoringkonto (Visma_FactoringAccount = 187810) — eller kundekonto (Kundenummer) hvis factoringkonto = 0
Positivt Bankkonto Factoringkonto

Hver linje får fakturanr, forfallsdato og tekst «‹Tekst› - ‹Kundenummer›». Samtidig oppdateres kundenes kredittstatus i Actor (Intad1 = FacToLink-URL/nøkkel, Inf3 = forfalt-flagg) fra FacToLinks kundestatus.

Egenskap Verdi
Metode GetInterestNotes() (~440–545)
Transaksjonstype 16 (rentenota)
Bilagsserie InterestSerie = 320
Vannmerke Factolink/SistInnlest_Rentenota

Kontering: per nota debiteres factoring-/kundekonto og krediteres rentekonto (Visma_InterestNoteAccount = 8055); til slutt én samlelinje «Rentenota ‹første›–‹siste›» som debiterer rentekonto og krediterer bank.

St1-fakturaer (-i)

Flyt: CSV-filer i overvåket mappe → Visma-bilag (kortoppgjør drivstoffkjøp).

Egenskap Verdi
Metode RunSt1Invoice() (~832–1115)
Inn-mappe / arkiv St1_InvoiceFolderPath / St1_ArchiveFolderPath
Parser InvoiceReader-biblioteket (egen assembly)
Bilagsserie St1_Serie = 951, tekst «ST1 FAKTURAER KORTOPPGJØR»
Duplikatvern Filbasert — filen arkiveres etter innlesing

Kontoer:

Konfignøkkel Standard Rolle
St1_DebitSupplier 294552 Leverandørkonto
St1_DebitInvoiceAccount 4310 Drivstoffkjøp
St1_DebitFee 7775 Gebyrer (transtype «Not available» + stasjon 0)
St1_CreditCustomer 10025 Kundemotkonto

Gruppering: ordinære fakturaer grupperes per (fakturanr, produktreferanse); kreditnotaer summeres per transaksjonstype («Real Fuel BB» = drivstoff, «Financial BB» = finans, «BB Fee» = gebyr, kortgebyr). Avdeling slås opp via R1.Inf2 (St1-stasjons-ID), produktgruppe via produktets eksterne produktnr. Ukjent produkt logges og varsles per e-post — innlesingen fortsetter.

Feilsøking

Symptom Sjekk
Innbetalinger mangler i Visma StrFVar Factolink/SistInnlest — står den fast, feilet bilagsføringen; se logg, rett og rekjør -f
Samme dag ført to ganger Skal ikke skje (vannmerke ved suksess) — kontroller bilagsserie 310 for duplikat
St1-bilag mangler avdeling Stasjons-ID mangler i R1.Inf2
St1-produkt ukjent Produkt mangler eksternt produktnr — e-postvarsel sendes automatisk

Relaterte sider