Ø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
FacToLink innbetalinger (-f, evt. -o for OCR)¶
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.
FacToLink rentenotaer (-r)¶
| 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 |