Gå til hovedinnhold

Konfigurasjon av utvidelse

Når du konfigurerer Rossum-utvidelsen, er det noen alternativer du kan justere for å tilpasse fakturaflyten slik at den passer bedre til din organisasjon. Disse konfigurasjonsalternativene angis i utvidelsesinnstillingene via Rossum-brukergrensesnittet.

Disse skal skrives i JSON-format.

info

De fleste parametrene her er valgfrie, med unntak av invoiceDocumentTypes og erpVersion. Hvis andre parametere ikke er spesifisert, bruker vi standardinnstillingene.

Det eneste andre unntaket er ei02Variant, som er påkrevd hvis du bruker ERP7 / ERPCR-versjonen av koblingen.

Parameterdefinisjoner og bruk

Systemoppsett

clientId

string

{ "clientId": "ABC" }

Hvis angitt, vil ALLE ERP-forespørsler være begrenset til denne klient-ID-en.

Hvis ikke angitt, vil vi forsøke å lese dette per dokument fra dataene i Rossum-brukergrensesnittet. Hvis det ikke er angitt, vil det bli gjort et forsøk på å bestemme klient-ID-en fra de avdekkede PO-detaljene.

De fleste påfølgende oppslag vil mislykkes hvis vi ikke kan fastslå en klient-ID, og vi anbefaler derfor å spesifisere dette i konfigurasjonen når det er mulig, da det har stor betydning for systemets pålitelighet.

legalEntityIndex

nummer

{"legalEntityIndex": 7 }

Bør settes til dimensjonsnummeret for den juridiske enheten for klienten.

Hvis dette er angitt, vil systemet prøve å identifisere juridiske enhetskoder og bruke disse på regnskapsinformasjon for fakturaer som ikke er innkjøpsordrer.

erpVersion

'erpx' | 'erp7' | 'erpcr'

{ "erpVersion": "erp7" }

ERP-versjonen er viktig for at vi skal vite hvilke endepunkter vi skal bruke for å hente data fra og sende data til.

  • ERPx Unit4s ERPx-system
  • ERPCR Unit4s ERP CR-system. Du bruker sannsynligvis dette systemet hvis du bruker Unit4 Cloud.
  • ERP7 Dette er mest sannsynlig den versjonen du bruker hvis serverne dine ikke er hostet av Unit4.

transactionType

string

{ "transactionType": "T1" }

Dette er ERP-transaksjonstypekoden som vi vil sende til ERP-systemet ditt når vi sender fakturaen, enten direkte i JSON for ERPx eller som parameter for innkommende fakturatransaksjonstype på EI02 for ERP7 / CR

ei02Variant

number

{ "ei02Variant": 0 }

Dette er nødvendig for milepæl syv. Dette er EI02-rapportvarianten som vil kjøres når fakturaen blir lagt inn.

invoiceDocumentTypes:

string[]

{ "invoiceDocumentTypes": ["IINV", "XYZ"] }

Dette er listen over dokumenttyper som vi aksepterer som fakturaer. Hvis det bare er én type, vil vi håndheve den, hvis ikke vil vi bruke den første som standard, men tillate brukeren å endre den i brukergrensesnittet.

For helautomatiserte prosesser betyr dette at docType ALLTID vil være den første i listen. Hvis du trenger manuell kontroll, må du sørge for at automatisk behandling er deaktivert.

locale

'en' | 'no' | 'sv' | 'es' | 'fr' | 'cy'

{ "locale": "en" }

Bare disse eksakte strengene vil bli akseptert som gyldige språk. Hvis ikke angitt, vil vi bruke en.

Noen meldinger kan ikke oversettes, da vi må dekode og validere hendelsen før vi kan bruke språket. Så hvis vi mislykkes før det, vil feilmeldinger være på engelsk.

erpHeaders

Record<string, string="">

{
"erpHeaders": {
"X-ACME-RequestOrigin": "ERP Apps OCR",
"X-ACME-UUID": "0c12f153-36f7-4b76-962c-e97c82a491e8"
}
}

Hvis dette er angitt, vil vi videresende disse overskriftene til ERP-systemet.

Dette kan være nyttig hvis du for eksempel har et selvhostet ERP-system som du ønsker å kontrollere tilgangen til.

Du kan bruke dette til å angi en forhåndsdefinert overskrift som kan brukes på en lastbalanser eller omvendt proxy for å kontrollere tilgangen til ERP-systemet.

Hvis det sendes en forespørsel til ERP-systemet uten denne overskriften, kan den avvises av lastbalanseren eller omvendt proxy uten å nå selve serveren.

Du kan også bruke dette til analyse- eller loggføringsformål.

attachMessagesDocument

none | warning | all

{ "attachMessagesDocument": "all" }

Hvilke meldinger skal legges ved transaksjonen i ERP som et sekundært dokument. (Dette vil bli lagt ved som zzzz_messages....) Dette er kopier av meldingene vi sender til Rossum UI, slik at ERP-brukere har langvarig tilgang til de samme meldingene.

  • none vil aldri legge ved meldinger.
  • warning vil legge ved meldinger på advarselsnivå eller høyere.
  • all vil legge ved alle meldinger, inkludert informasjon.

Hvis ikke angitt, er standardinnstillingen all.

ERP-tilkoblingskonfigurasjon

warning

Merk at disse tilkoblingsinnstillingene nå kan angis i utvidelseshemmeligheter (der de tidligere var) ELLER her i innstillingene (for bedre synlighet).

Hvis noen av disse verdiene er angitt begge steder, vil den som er angitt her i innstillingene ha forrang.

erpConnectionSettings

{ unit4ApiUrl?: string, unit4SoapUrl?: string, erpxHost?: string, erpIdsHost?: string

{
"erpConnectionSettings" :{
"unit4ApiUrl": "https://example.unit4cloud.com",
"unit4SoapUrl": "https://example.unit4cloud.com" ,
"erpxHost": "https://example.unit4cloud.com",
"erpIdsHost": "https://example.unit4cloud.com"
}
}

unit4ApiUrl og unit4SoapUrl er påkrevd for ERP7-/ERPCR-systemer.

erpxHost er påkrevd på et ERPx-system.

erpIdsHost er påkrevd på alle systemer som bruker IDS for autentisering.

Dokumentbehandling

manualTaxCodeIds

string[]

{ "manualTaxCodeIds": ["0", "1", "11"] }

Hvis angitt, vil vi begrense skattekodene for ikke-PO-linjer (AP / ekstra PO-linjer / ikke-PO-fakturalinjer) til kun de som er oppført her.

Fakturalinjer som samsvarer med en innkjøpsordrelinje, vil fortsatt bruke skattekodene fra innkjøpsordren som angitt.

allowedTaxRates

number[]

{ "allowedTaxRates": [0.2, 0.05] }

Hvis angitt, vil vi begrense skattesatsene til kun de som er oppført her. Hvis vi avrunder nær en av disse, vil vi "snappe" til den. Hvis vi avrunder til en sats som ikke er på denne listen, vil vi ignorere den og anta at det er en OCR- eller fakturafeil.

noPurchaseOrder

{ base: 'allow' | 'reject'; perSupplier: 'allow' | 'reject' | null; }

{
"noPurchaseOrder": {
"base": "allow",
"perSupplier": "supppoctrl/no_po_no_pay_fx"
}
}

Dette brukes til å avgjøre om vi kan utstede fakturaer uten innkjøpsordre. Hvis base er 'reject', vil vi avvise alle fakturaer uten innkjøpsordre. Hvis base er 'allow' , vil vi tillate fakturaer uten innkjøpsordre.

Hvis perSupplier er spesifisert, vil vi se etter et customField (flexifield) på leverandøren, og hvis vi finner det, vil vi behandle verdien som basisverdien for den leverandøren. Denne verdien bør være enten allow eller reject (eller ikke til stede), så flexifield bør konfigureres med disse alternativene. Et eksempel på en verdi for feltet perSupplier kan være noe som supppoctrl/no_po_no_pay_fx. Hvis det ikke blir funnet, vil vi bruke basisverdien.

validPOStatus

string[]

{ "validPOStatus": ["O","F"] }

Hvis denne innstillingen ikke er angitt i konfigurasjonen, vil vårt standardfilter status NOT IN (N, P, T) bli brukt

Dette brukes til å angi status for innkjøpsordren header som anses som gyldig for samsvar. Hvis dette er angitt og en innkjøpsordre returneres, men ikke har en av de identifiserte statusene, vil den ikke brukes til samsvar og vil ikke sendes til ERP med fakturadataene. Brukeren vil få en advarsel-melding hvis en innkjøpsordre ble funnet av OCR, men ikke samsvarte.

validSupplierStatus

string[]

{ "validSupplierStatus": ["N","P","C","T"] }

Hvis denne innstillingen ikke er angitt i konfigurasjonen, vil vårt standardfilter status = N bli brukt

Noen kunder har bedt om at ikke-aktive leverandører skal matches i OCR, men at det skal oppstå en feilmelding hvis dette er tilfelle. De ønsker for eksempel å vite at leverandøren eksisterer og var det beste treffet, men at den er nedlagt.

For å unngå å endre vår opprinnelige funksjonalitet, lar denne nye statusen deg angi gyldig status for leverandører som vil bli brukt når leverandører hentes fra ERP-API-et.

Du kan få feilmeldingen SU_017 hvis leverandøren ikke har status N eller P, og advarselen SU_018 hvis leverandøren har status P. SU_018 kan også oppgraderes til en feil.

apDefaultDims

{ dim1?: string|number, dim3?: string|number, dim3?: string|number, dim4?: string|number, dim5?: string|number, dim6?: string|number, dim7?: string|number }

{
"apDefaultDims": {
"dim1": 3000,
"dim2": "ABC",
"dim4": "Custom value"
}
}

Vi bruker disse standardinnstillingene for å muliggjøre automatisk innsending.

På AP-linjen henter vi kontoen fra leverandørgruppen og fyller deretter ut alle gyldige dimensjoner med dimensjonene herfra.

Hvis disse ikke er oppgitt, må de fylles ut manuelt i brukergrensesnittet.

glDefaultDims

{ account?: string, dim1?: string|number, dim3?: string|number, dim3?: string|number, dim4?: string|number, dim5?: string|number, dim6?: string|number, dim7?: string|number }

{
"glDefaultDims": {
"dim1": 3001,
"dim2": "ABC",
"dim6": "Custom value",
"account": "3000"
}
}

For fakturaer uten innkjøpsordre vil vi bruke disse standardverdiene for å muliggjøre automatisk innsending.

Hvis disse ikke er oppgitt, må de fylles ut manuelt i brukergrensesnittet.

defaultQuantity

tall

{ "defaultQuantity": 1 }

Hvis vi ikke kan lese mengden for en linje, vil vi falle tilbake på denne verdien.

defaultSupplierId

streng

{ "defaultSupplierId": "1000" }

Hvis vi ikke kan finne en leverandør, vil vi falle tilbake til denne verdien.

Før vi bruker dette, vil vi sjekke innkjøpsordren for en leverandør, og deretter søke i feltene for organisasjonsnummer, momsnummer og bankopplysninger for en leverandør. Hvis vi finner en match på noen av disse, vil vi bruke den. Hvis ikke, vil vi bruke denne verdien når den er angitt.

defaultAccountable

string

{ "defaultAccountable": "101" }

Vi prøver å matche den aktive Rossum-brukeren med en ERP-bruker. Hvis det lykkes, vil vi angi den ERP-brukeren som ansvarlig person for denne fakturaen.

Hvis vi ikke lykkes med å matche brukeren, vil vi falle tilbake til denne verdien når den er angitt.

Denne verdien vil til slutt vises i ext_ref-feltet på fakturatransaksjonen.

ignoreTax

boolean

{ "ignoreTax": false }

Dette medfører ingen store endringer i brukergrensesnittet, men når fakturaen sendes til ERP, vil vi bare sende bruttoverdier og sette all skatt til null.

Dette er en sjelden brukt innstilling for spesielle typer organisasjoner som aldri håndterer merverdiavgift eller andre skattesatser og bare administrerer bruttoverdier internt. Vi opprettholder skatten i brukergrensesnittet selv når den er satt for å sikre at fakturalinjene stemmer overens med overskriften, men vi sender ikke skatten til ERP.

ignoreZeroRows

boolean

{ "ignoreZeroRows": true }

Hvis true, vil en null-rad vise en informasjonsmelding, men deretter bli filtrert ut før den sendes til ERP.

Hvis false, vil en null-rad vise en feilmelding og blokkere innsendingen til den er manuelt korrigert i brukergrensesnittet.

ignoreDueDate

boolean

{ "ignoreDueDate": true }

Ignorer forfallsdatoen på fakturaen og la Unit4 beregne den ved hjelp av standardoppsettet.

firstLineAsDescription

boolean

{ "firstLineAsDescription": true }

Hvis satt til true, vil beskrivelsen på den første fakturalinjen brukes som den generelle fakturabeskrivelsen (dette er beskrivelsen på AP-linjen). Hvis ikke til stede eller false, vil en tidsstempel legges inn som beskrivelse.

payRecipientCheck

boolean

{ "payRecipientCheck": true }

Hvis dette er satt til true, vil systemet merke en INFO-melding mot den samsvarende leverandøren, hvis en betalingsmottaker (faktorselskap) er identifisert som angitt i leverandørregisteret. Dette vil bli oppgradert til en WARNING-melding hvis betalingsmottakeren ikke har status N.

payRecipientBankCheck

boolean

{ "payRecipientBankCheck": true }

Hvis dette er satt til true, vil systemet matche bankopplysningene OG valutaen fra fakturaen med de fra betalingsmottakeren (i stedet for de i leverandørens hovedfil).

Caching

cacheTime

number

{ "cacheTime": 3600 }

Hvis ingen verdi er angitt, vil standardverdien på 3600 sekunder (én time) brukes.

Tiden (i sekunder) som data (for eksempel leverandører, innkjøpsordrer, regnskapsinformasjon) fra Unit4 vil bli lagret i hurtigbufferen. Jo lenger tid dette er, desto færre API-forespørsler må gjøres, og desto raskere vil tjenesten kjøre. Ulempen med en lengre cache-tid er at det vil ta lengre tid før dataene "vises" i OCR-systemet.

cacheSuffix

streng

{ "cacheSuffix": true }

En tilfeldig streng som kan brukes på slutten av cache-nøklene i systemet. Hvis ingen verdi angis, brukes default. Du kan definere en verdi her for å tvinge en cache-oppdatering i systemet tidligere enn cacheTime. Hver gang denne verdien endres, vil gamle cache-verdier ikke lenger brukes, og dataene vil hentes på nytt. Det bør ikke være nødvendig å gjøre dette regelmessig, da dette kan tyde på at cacheTime er for lang.

elevateWarnings

string[]

{ ”elevateWarnings”: [’ACL_003’,”SU_007”] }

En rad koder som vanligtvis genererar varningar, men som organisationen vill uppgradera till fel.

Om du lägger till poster här kommer fältet override_warnings att visa ett felmeddelande om det finns varningsmeddelanden i listan över uppgraderade varningar. För mer information, se dokumentationen om varningar

Se listan över varningar som kan uppgraderas.

Eksempel på konfigurasjon

Siden JSON-syntaks og typedefinisjonene som brukes ovenfor kanskje ikke er kjent for alle, følger her et eksempel på konfigurasjon.

warning

Dette MÅ redigeres/reduseres til bare de nøklene og alternativene du trenger.

{
"clientId": "ABC",
"legalEntityIndex": 7,
"erpVersion": "erp7",
"erpConnectionSettings" :{
"unit4ApiUrl": "https://example.unit4cloud.com",
"unit4SoapUrl": "https://example.unit4cloud.com" ,
"erpxHost": "https://example.unit4cloud.com",
"erpIdsHost": "https://example.unit4cloud.com"
},
"transactionType": "T1",
"ei02Variant": 0,
"invoiceDocumentTypes": ["IINV", "XYZ"],
"manualTaxCodeIds": ["0", "1", "11"],
"allowedTaxRates": [0.2, 0.05],
"noPurchaseOrder": {
"base": "allow",
"perSupplier": "xocrconfig/nopurchaseorder"
},
"validPOStatus":["O"],
"apDefaultDims": {
"dim1": 3000,
"dim2": "ABC",
"dim4": "Custom value"
},
"glDefaultDims": {
"dim1": 3001,
"dim2": "ABC",
"dim6": "Custom value",
"account": "3000"
},
"defaultQuantity": 1,
"defaultSupplierId": "1000",
"defaultAccountable": "101",
"payRecipientCheck" : true,
"payRecipientBankCheck" : true,
"ignoreTax": false,
"ignoreZeroRows": true,
"ignoreDueDate": true,
"firstLineAsDescription": true,
"cacheTime": 3600,
"cacheSuffix": "",
"elevateWarnings": ["ACL_003","SU_007"],
"locale": "en",
"erpHeaders": {
"X-ACME-RequestOrigin": "ERP Apps OCR",
"X-ACME-UUID": "0c12f153-36f7-4b76-962c-e97c82a491e8"
}
}