Problemstilling
Vi er stødt på en problemstilling med den nuværende måde at håndtere kunder på, i forbindelse med en integration til e-conomic via REST-API. Eftersom at e-conomic er gået over til at påskrive DK/DE etc. foran cvr nr. automatisk på faktura osv. - såfremt er landet er stavet korrekt - kan vi gennem REST-API ikke længere verificere om en kunde eksistere i e-conomic basseret på deres cvr-nr. Dette skyldes at flere lande i EU har samme syntaks for cvr-nr. Derfor vil 2 kunder fra 2 forskellige lande kunne have samme cvr-nr i e-conomic.
Fordi at lande-feltet er et fritekst felt, kan dette ikke bruges til validering/søgning, da det ikke vides hvordan landet er skrevet ind. Tyskland kan i teorien indskrives som Tyskland, Germany, Deutschland, Deutchland. Alle vil være gyldige, inkl. den med stavefejl, men jeg kan ikke bruge det, da jeg reelt set ikke ved hvad sprog der kommer retur fra e-conomic eller om der er stavefejl.
Tag fx dette eksempel:
Tysk kunde i e-conomic |
Dansk kunde i e-conomic |
Kunde i webshop |
CVR: 240240240
Land: Deutschland |
CVR: 240240240
Land: Denmark |
CVR: 240240240
Land: Danmark |
Hvis jeg slår op i kunde kartoteket vil både den danske og tyske kunde komme retur, men jeg kan ikke lave en validering da kundens land i e-conomic står på engelsk mens den i webshoppen står på dansk. Dette vil resultere i at der blev oprettet en duplikat af den pågældende kunde.
Et andet eksempel er dette:
Tysk kunde i e-conomic |
Kunde i webshop |
CVR: 240240240
Land: Deutchland |
CVR: 240240240
Land: Deutschland |
Her kommer der selvfølgelig kun en kunde retur, men fordi at feltet er frit-tekst, så kan jeg igen ikke validere at det er samme kunde, da kunden i e-conomic har en stavefejl i landetnavn. I begge eksempler vil det i realiteten betyde at der bliver oprette duplikater af kunderne, hvilket ikke er en holdbar løsning i længden.
Dette er reelt et så stort issue, at det reelt set er en dealbreak i forhold til at kunne integrere eksterne systemer som webshops etc., som har kunder fra flere lande af, op til e-conomic da vi ikke længere kan verificere om kunden eksistere i e-conomic. Vi har fx en kunde, som nu er nødt til at gå igennem alle deres kunder og fjerne fx DE foran cvr-nr. Helt generelt virker denne idé med automatisk lande-kode foran cvr-nr helt malplaceret, som fx også bliver nævnt af thomas.knudstrup i denne tråd: ØV - CVR nummer ændring lavet uden omtanke ... ønske: Lav landekode og nummer konfigurerbart
Løsningsforslag
Den bedste løsning vil være at tilbagerulle det automatisk landekode, og istedet lade brugerne/integrationen have styr på det. Hvis det ikke er muligt så er det i min optik 3 andre løsningsmuligheder
- Fordi at lande-feltet er blevet styrende i forhold til hvad der skrives foran cvr-nr på fakturaen fx, er landefeltet nødt til at være standardiseret. Det er derfor mit forslag at lande-feltet ændres til en dropdown, og i REST-api skal der selvfølgelig returnes både landenavn + iso-kode for landet. Og her det især iso-koden som er vigtigt, for landenavn kan igen være på al verdens sprog, men iso-koden for lande er ikke afhængig af sprog.
- Hvis det ikke er muligt at ændre det til en dropdown, skal der enten være en anden måde at definere landet der skal sættes foran cvr nr, så man får en iso-kode retur i REST-api fx,
- Eller også skal der laves en mulighed for at disable den automatiske påfyldning af DK/DE etc. foran cvr-nr på faktura etc. For så kan cvr-nr defineres med DK/DE foran i integrationen, hvorved at de igen bliver unikke. Det vil selvfølgelg stadig give problemer hvis kunden er skrevet ind uden DK/DE foran.