Gå til hovedinnhold

Konfigurasjon av utvidelsen

Når du konfigurerer Rossum-utvidelsen, finnes det noen alternativer du kan justere for å tilpasse fakturaprosessen 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 statementDocumentType og erpVersion. Hvis ingen andre parametere er angitt, vil vi bruke standardinnstillingene våre.

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 tilgjengelige PO-detaljene.

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

erpVersion

'erpx' | 'erp7' | 'erpcr'

{ "erpVersion": "erp7" }

ERP-versjonen. Dette 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 versjonen du bruker hvis serverne dine ikke er hostet av Unit4.

locale

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

{ "locale": "en" }

Bare disse eksakte strengene godtas som gyldige språkinnstillinger. Hvis ikke angitt, bruker vi en

Noen meldinger blir kanskje ikke oversatt, da vi må dekode og validere hendelsen før vi kan bruke språkinnstillingen. Så hvis vi mislykkes før det, vil feilmeldingene 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 for eksempel være nyttig hvis du 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å ønske å bruke dette til analyse- eller loggingsformål.

attachMessagesDocument

none | warning | all

{ "attachMessagesDocument": "all" }

Hvilke meldinger som 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-brukergrensesnittet, 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 info

Hvis ikke angitt, er standardinnstillingen all.

statementDocumentType

{ "statementDocumentType": "STATREP" }

Dokumenttypen som rapporten skal skrives tilbake til. Må være en gyldig dokumenttype knyttet til leverandøren.

statementReportFormat

**pdf | spreadsheet | both **

{ "statementReportFormat": "pdf" }

Formatet rapporten skal skrives tilbake i. Hvis ikke angitt, vil systemet sette dette til pdf.

ERP-tilkoblingskonfigurasjon

warning

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

Hvis noen av disse verdiene er angitt begge steder, vil den 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

elevateWarnings

string[]

{ "elevateWarnings": ["ACL_003","SU_007"] }

En matrise med koder som vanligvis genererer advarsler, men som organisasjonen ønsker å oppgradere til feil.

Hvis du legger til elementer her, vil skjemafeltet override_warnings gi en feilmelding hvis det finnes advarsler som står på listen over oppgraderte advarsler. For mer informasjon, se dokumentasjonen om advarsler

Se listen over advarsler som kan oppgraderes

Sammenligningskonfigurasjon

Sammenligningskonfigurasjonen er reglene som linjene fra uttalelsen kan sammenlignes med leverandørtransaksjonene etter

Reglene defineres som matchCodes, og matchCodes defineres deretter i en matchSequence

Dette lar deg opprette en hierarki av samsvaringsalternativer fra mest kontrollert til minst kontrollert for å prøve å oppnå et samsvar.

Samsvarssekvenser kan også brukes på en spesifikk APAR-ID i tilfeller der en bestemt leverandør/kunde trenger en spesifikk samsvaringslogikk

Det finnes et par innstillinger på systemnivå som kan være nyttige for å redusere mengden data systemet må hente:

maxHistoricalDays

number

{ "maxHistoricalDays": 180 }

Hvor mange dager skal hentes fra historiske fakturaer i matchedSupplierInvoices (status C) basert på invoiceDate fra API-et. Merk at registeredItems (A-status) og unmatchedSupplierInvoices (B-status) fakturaer alltid hentes.

Hvis denne verdien ikke er angitt, vil standardverdien være 180.

ignoreTransactionTypes

string[]

{ "ignoreTransactionTypes": ["MM","SM"] }

Disse transaksjonstypene vil bli ekskludert fra API-forespørselen. Dette bør fylles ut med alle transaksjonstyper du ikke ønsker å matche mot kontoutskriftslinjene.

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 stengt.

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 motta feilmelding SU_017 hvis leverandøren ikke har status N eller P, og advarsel SU_018 hvis leverandøren har status P. SU_018 kan også oppgraderes til en feil.

matchCodes

{ "matchCodeId" : "CODE1",
"description" : "Valgfri beskrivelse",
"amountTolerance" : 1,
"invNo" : "withinAny",
"transDate" : "either",
"toleranceDays" : 7,
"historicDays" : 180,
"cleanText" : "SIN-|INV|INV #|A/R Invoices -|SI[rx]^00"}

Dette er reglene som linjene fra kontoutskriften kan matches mot leverandørtransaksjonene etter

De består av følgende egenskaper

matchCodeId

string

{ "matchCodeId" : "CODE1"}

En unik kode for samsvaret. Denne MÅ være unik i konfigurasjonen din, og systemet vil gi en QSET_006-feil hvis den ikke er det.

description

string | null

{ "description" : "Valgfri beskrivelse"}

Fri tekstbeskrivelse for å dokumentere hva koden er ment for.

amountTolerance

number

{ "amountTolerance" : 0.01}

Den absolutte tillatte forskjellen mellom kontoutskriftsbeløpet og transaksjonsbeløpet. Dette vil bli sjekket mot transaksjonens valutabeløp.

Hvis ikke angitt, vil standardverdien være 0,01

invNo

off | withinAny | exactAny | withinInvoiceNumber | exactInvoiceNumber

{ "invNo" : "off"}

Brukes til å kontrollere hvordan kontoutskriftsfakturareferanser samsvarer med transaksjonsfakturareferanser. Mulige alternativer er:

  • off: Ignorer: bruk kun dato og beløp
  • withinAny: ERP-fakturanummer (ekst. fakturaref.) må være INNENFOR et hvilket som helst felt (Int / Trans-nummer, beskrivelse, referanse)
  • exactAny: Sammenlign ERP-fakturanummer (ekst. fakturareferanse) med et hvilket som helst kontoutskriftsfelt (Int/Trans-nummer, beskrivelse, referanse)
  • withinInvoiceNumber: Kontoutskriftsfaktura-/transaksjonsnummer må være INNENFOR ERP-fakturanummeret (ekst. fakturareferanse)
  • exactInvoiceNumber: Kontoutskriftsfaktura-/transaksjonsnummer må samsvare med ERP-fakturanummeret (ekst. fakturareferanse)

Hvis ikke angitt, vil standardverdien være off

transDate

either | voucherDate | transDate

{ "transDate" : "either"}

Brukes til å definere hvilket ERP-felt kontoutskriftens transaksjonsdato skal samsvare med.

Mulige alternativer er:

  • either: Prøv begge datoene
  • voucherDate: Bruk bilagets dato
  • transDate: Bruk transaksjonsdatoen

Hvis ikke angitt, vil standardverdien være either

toleranceDays

tall

{ "toleranceDays" : 7}

Knyttet til transaksjonsdatoen, definerer hvor mange dagers forskjell det kan være mellom kontoutskriftsdatoen fra feltet og datofeltet/-feltene definert av innstillingen for transaksjonsdato ovenfor.

Hvis ikke angitt, vil standardverdien være 0

historicDays

tall

{ "historicDays" : 180}

Antall dager som matchedSupplierInvoices (transaksjoner med status C) skal lastes inn for. Merk at hvis dette feltet er satt til 0, vil kønivåverdien maxhistoricaldays brukes. Enhver annen verdi vil overstyre systeminnstillingsverdien.

cleanText

string | null

{ "cleanText" : "SIN-|INV|INV #|A/R Invoices -|SI|[rx]^00"}

Dette fungerer i kombinasjon med Innstillingen for fakturanummer ovenfor.

Disse kan brukes til å fjerne bestemt tekst fra kontoutskriftsfeltene (fakturanummer, referanse, beskrivelse) for å forbedre samsvaret med transaksjonene.

For eksempel kan en leverandør legge til spesifikk tekst til et fakturanummer på kontoutskriften, men ikke på den opprinnelige fakturaen. Dette bør være en liste med verdier atskilt med vertikalstrek, og du kan også bruke regulære uttrykk i dette feltet, som bør innledes med [rx] slik at vi vet at det er et regulært uttrykk.

Vær oppmerksom på at regulære uttrykk blir «forhåndsrenset» av sikkerhetshensyn. Hvis du oppdager et bestemt mønster som ikke fungerer, ber vi deg gi oss beskjed via de vanlige supportkanalene.

Regulære uttrykk kan heller ikke inneholde vertikalt strek-symbolet |, da dette brukes som skilletegn i listen. Hvis du trenger å bruke dette, ber vi deg gi oss beskjed via de vanlige supportkanalene.

I det gitte eksemplet, hvis fakturanummeret på kontoutskriften hadde et av følgende formater:

  • SIN-1234599A
  • INV1234599A
  • 1234599AINV
  • INV #1234599A
  • A/R-fakturaer -1234599A
  • SI1234599A
  • 001234599A

Det vil bli matchet mot ERP-transaksjonen med (fakturanummer, referanse, beskrivelse) satt til 1234599A

matchSequences

Disse brukes til å gruppere matchkoder og fortelle systemet i hvilken rekkefølge de skal kjøres.

Dette lar deg opprette en hierarki av matchingsalternativer fra mest kontrollert til minst kontrollert for å prøve å få en match.

{ "matchSequenceId" : "RUN1",
"description" : "Valgfri beskrivelse",
"supplierId" : null,
"matchingConfiguration": [
{
"matchOrder": 1,
"matchCodeId": "CODE1"
},
{
"matchOrder": 2,
"matchCodeId": "CODE2"
}
]
}

matchSequenceId

string

{ "matchSequenceId" : "RUN1"}

En unik kode for sekvensen. Denne MÅ være unik i konfigurasjonen din, og systemet vil gi en QSET_007-feil hvis den ikke er det.

beskrivelse

string | null

{ "beskrivelse" : "Valgfri beskrivelse"}

Fri tekstbeskrivelse for å dokumentere hva koden er ment for.

supplierId

string

{ "supplierId" : "12399"}

Hvis dette er inkludert, vil denne matchsekvensen kun kjøres når uttalelsen samsvarer med den angitte leverandør-ID-en.

Hvis dette ikke er inkludert, vil matchsekvensen kjøres mot alle leverandører.

matchingConfiguration

{ "matchingConfiguration": [
{
"matchOrder": 1,
"matchCodeId": "CODE1"
},
{
"matchOrder": 2,
"matchCodeId": "CODE2"
}
]
}

Er en matrise av objekter hvor hvert objekt inneholder:

matchOrder

tall

{ "matchOrder" : "12399"}

Rekkefølgen som den inkluderte samsvarskoden skal kjøres i sekvensen.

matchCodeId

streng

{ "matchCodeId" : "12399"}

En gyldig matchkode-ID som skal brukes. Systemet vil gi en QSET_010-feil hvis den inkluderte matchkoden ikke er definert i innstillingen for matchkoder.

Caching

cacheTime

tall

{ "cacheTime": 3600 }

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

Hvor lenge (i sekunder) data (for eksempel leverandører, innkjøpsordrer, regnskapsinformasjon) fra Unit4 skal lagres i cachen. Jo lenger tid dette er, desto færre API-forespørsler må sendes, og desto raskere vil tjenesten kjøre. Ulempen med en lengre cache-tid er at det vil ta lengre tid før dataene «dukker opp» i OCR-systemet.

cacheSuffix

streng

{ "cacheSuffix": "custom-suffix" }

En tilfeldig streng som kan legges til 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 din cacheTime. Hver gang denne verdien endres, vil gamle cache-verdier ikke lenger brukes, og dataene 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.

testExtensionSettings

Se dokumentasjonen for testutvidelsen

Eksempel på konfigurasjon

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

warning

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


{
"clientId": "ABC",
"erpVersion": "erp7",
"locale": "en",
"attachMessagesDocument": "all",
"erpConnectionSettings" :{
"unit4ApiUrl": "https://example.unit4cloud.com",
"unit4SoapUrl": "https://example.unit4cloud.com",
"erpxHost": "https://example.unit4cloud.com",
"erpIdsHost": "https://example.unit4cloud.com"
},
"statementDocumentType": "STATREP",
"statementReportFormat": "pdf",
"elevateWarnings": ["SM_004"],
"maxHistoricalDays": 180,
"ignoreTransactionTypes": ["MM","SM"],
"validSupplierStatus": ["N","P","C","T"],
"matchCodes" : [
{ "matchCodeId" : "CODE1",
"description" : "Optional Description",
"amountTolerance" : 1,
"invNo" : "off",
"transDate" : "either",
"toleranceDays" : 7,
"historicDays" : 180,
"cleanText" : "SIN-|INV|INV #|A/R Invoices -|SI[rx]^00"
}
],

"matchSequences" : [{ "matchSequenceId" : "RUN1",
"description" : "Optional Description",
"supplierId" : null,
"matchingConfiguration": [
{
"matchOrder": 1,
"matchCodeId": "CODE1"
}
]
}
],

"cacheTime": 3600,
"cacheSuffix": "custom-suffix"
}