Nyt site, webshop og tre specialudviklede systemer
RA Genbrug
Opkøb af ædelmetal og webshop med brugte smykker. Live metalpriser, fortjenstmargenordning i kurv og kasse, en skranke hvor handlen underskrives og låses, lager med revisionsspor — og AI til kameraaflæsning, produktfotos og varetekster.
RA Genbrug køber guld, sølv og ædelmetal af private og lader de fineste smykker få et nyt liv i stedet for at blive smeltet om. Sitet ligger på ra-genbrug.dk.
Opgaven var ikke en hjemmeside. Det var et nyt site, en webshop og de tre systemer, forretningen kører på til daglig: skranken, hvor en handel bliver underskrevet, lageret, hvor varerne lever bagefter, og det, der skal til for at få unika i shoppen uden at drukne i fotoarbejde. Jeg har bygget det hele.

Priserne følger markedet, uden at nogen taster dem ind
En guldpris, der er skrevet i hånden, er forkert i morgen. Derfor hentes metalpriserne som kroner pr. gram, ganges med varens renhed — karat for guld, finhed for sølv — og fratrækkes den margin, forretningen selv sætter.
Marginen kan sættes pr. metal og derefter finjusteres pr. renhed, så 14 karat kan behandles anderledes end 24 karat uden at røre resten. Falder hentningen ud, bruges den sidst kendte pris i stedet for at vise ingenting. Og hvor priserne vises — prisbånd, forside, fuld tabel — er et valg i administrationen, ikke noget der står i koden.
Resultatet er, at ingen i butikken skal holde øje med spotprisen. Den står på sitet, opdateret, hver dag.
Momsen, en standardshop ikke kan finde ud af
Brugte genstande sælges efter fortjenstmargenordningen: køberen har ikke fradrag for momsen, så varerne faktureres med 0 %. Fragt er derimod en almindelig ydelse med 25 %. Ingen webshop gør det af sig selv, og regner man forkert her, er det regnskabet, der betaler for det.
Derfor er momsvisningen skrevet ind i kurv, kasse, ordrebekræftelse og ordremail: nulsatslinjer markeres, totalen opsummeres efter de faktiske satser pr. linje, og en fodnote forklarer ordningen for kunden. Opdelingen regnes ud fra linjerne selv, så en vare med 25 % kan lægges ind senere uden at koden skal røres.

Skranken, hvor handlen bliver bindende
Når nogen sælger deres guld, skal der skrives under. Det er her, et system enten holder, eller også giver det problemer et år senere, når nogen spørger, hvad der egentlig blev aftalt.
En handel går fra kladde til afventende til underskrevet. Når den sendes til underskrift, fryses den: linjer, sælger, betaling og billeder kan ikke længere ændres, og der gemmes et aftryk af præcis det, kunden fik vist. Underskriften går kun igennem, hvis det viste, det gemte og det nuværende er ét og det samme. Aftalen bliver til en PDF med en kontrolsum, og den skrives aldrig over.
En underskrevet handel kan ikke slettes. Heller ikke af administratoren. Det er med vilje — dokumentationen er kun noget værd, hvis den ikke kan laves om bagefter.
Lageret, der kan gøres op på en hvilken som helst dato
Hvert underskrevet opkøb bliver automatisk til et batch, og hver linje til en vare med sit eget nummer. Varer kan deles op, flyttes sammen, skrives af, nedskrives og gives tilbage — alt sammen med kostpris og en kædet log, så lagerværdien kan trækkes for en hvilken som helst dato bagud. Det er den slags, en revisor spørger om én gang om året, og som er umuligt at rekonstruere, hvis det ikke blev skrevet ned, mens det skete.
Siden er bygget til at blive brugt med én hånd på en telefon ude i butikken: ét scanfelt øverst, store felter, og hver handling slutter med en kvittering i én sætning og en fortryd-knap. Ord som bevægelse, transaktion og SKU står aldrig på skærmen. Fire rettigheder afgør, hvem der må hvad, fra at lægge en vare i et batch til at afskrive den.
AI, hvor det sparer tid — og hvor det skal holdes i snor
Hver vare i shoppen findes i ét eksemplar. Det betyder sit eget foto og sin egen tekst, hver gang. Tre steder gør AI det arbejde hurtigere, og hvert sted er bygget med en kontrol, fordi en forkert maskinaflæsning koster mere, end den sparer.
Aflæsning med kameraet. Alle nummerfelter kan udfyldes med telefonens kamera. Kan telefonen selv læse stregkoden, gør den det. Ellers sendes kun udsnittet i rammen til en model, der også læser håndskrevne numre — og det var hele pointen, for etiketterne blev skrevet i hånden, før der var printer. Svaret kommer på under et sekund og skal altid bekræftes, før det bruges. Der gemmes ikke noget billede.
Produktfotos. En fritlægning fjerner baggrunden fra varefotoet, og et ekstra billede viser smykket båret. Modellen vurderer først, om varen overhovedet bæres, og hvor — finger, håndled, hals, øre — før der laves noget. Et sikkerhedsnet tjekker filen selv for, om baggrunden rent faktisk blev gennemsigtig, i stedet for at tro på svaret.
Produkttekster. Et API udstiller de halvfærdige varer, så en model kan læse varen med billeder, mål og kategorier og skrive beskrivelsen tilbage. Kun kladder udleveres, og det, der skrives tilbage, bliver stående som kladde. Publicering er et menneskes beslutning.
Og så den vigtige del: i en brugtforretning skal hovedbilledet vise den vare, kunden får. Patina og slidmærker er præcis det, der adskiller brugt fra nyt, og en generativ model har det med at pudse dem væk. Derfor kontrolleres et fritlagt billede mod originalen, før det bliver hovedbillede. Det er et trin i arbejdsgangen, ikke en god hensigt.
Én leverandør til hele kæden
Det usædvanlige ved opgaven er ikke en enkelt af delene. Det er, at de hænger sammen. Prisen på forsiden er den samme pris, skranken regner med. Et underskrevet opkøb bliver til et batch i lageret, uden at nogen taster det ind. En vare fra lageret bliver til en vare i shoppen med sit eget foto og sin egen tekst.
Den slags sammenhæng opstår sjældent, når tre leverandører bygger hver sit stykke og mødes ved en integration. Her er det samme hoved hele vejen igennem — fra designet på forsiden til revisionssporet i lageret — og derfor er der ingen steder, hvor det samme skal tastes ind to gange.
Skal vi tage en snak?
Fortæl kort om din opgave — så vender jeg tilbage med et ærligt bud på, hvad der giver mening.