Gå til innholdet

Koble returdata mellom nettbutikk, ERP og betalingssystem

En utfylt datakontrakt kobler ordrelinje, varemottak i ERP og tilbakebetaling. Separate statuser hindrer feil visning av lager og betaling.

Lena Fischer2 min lesetid
Lukket eske med rød returpil, rød tape og en strekkodeetikett.

Når du kobler nettbutikk, ERP og betalingsleverandør, trenger en retur mer enn et felles felt for «ferdig». Integrasjonen må vise hvilken linje som kommer tilbake, hva som skjer med beholdningen, og hvilken status tilbakebetalingen har. Fastsett relasjonene før grensesnittene bygges.

Koble sammen et helt tilfelle

En fiktiv nettbutikk med boligtilbehør har levert to vaser med ordre O-86 og mottatt betaling. En vase kommer tilbake med et skår i kanten. I eksemplet er det avtalt en tilbakebetaling på 24 EUR for denne vasen. Teamet planlegger følgende kobling:

System

Referanse og fakta

Forventet status

Nettbutikk

OL-86-A: 2 levert, 1 returnert.

Den andre vasen blir hos kunden; den opprinnelige leverte mengden skal kunne spores.

ERP

DL-86-A: 1 mottatt, skade bekreftet ved kontroll.

Tilgang til salgbar beholdning: 0 stykker.

Betalingsleverandør

PAY-86: avtalt tilbakebetalingsbeløp.

Forespurt og bekreftet gjennomført er egne statuser.

Koblingen bruker linje- og transaksjonsreferanser. Samme produktnavn eller varenummer er ikke nok når samme vare finnes i flere ordre.

Fastsett en intern integrasjonsmodell

Følgende post er et eget modellforslag for dette fiktive tilfellet, ikke et API-kall til en leverandør. Mengdene gjelder returen; beløpet er angitt i EUR-cent.

{
  "returnId": "R-86",
  "orderReference": "O-86",
  "shopOrderLine": "OL-86-A",
  "shopFulfillmentLine": "FL-86-A",
  "erpDeliveryLine": "DL-86-A",
  "receivedQuantity": 1,
  "saleableStockDelta": 0,
  "refund": {
    "paymentReference": "PAY-86",
    "amountMinor": 2400,
    "currency": "EUR",
    "state": "requested"
  }
}

Referansene kobler nettbutikkens ordrelinje, dens leveringslinje og den opprinnelige leveringslinjen i ERP til betalingen. Lagre også leverandørens tilbakebetalingsreferanse på saken. Hvis linjen ikke kan kobles entydig, skal posten vente på avklaring i stedet for å bokføres automatisk gjennom navnesammenligning.

Bruk riktig kilde for hver endring

I eksemplet gir nettbutikken koblingen til den kjøpte linjen. ERP bekrefter mottak, kontrollresultat og frigivelse av beholdning. Betalingsleverandøren gir tilbakebetalingsstatus. Ansvarsfordelingen står i datakontrakten; en annen systemfordeling kan kreve andre tildelinger.

Shopifys ReturnLineItem peker på en Shopify-leveringslinje; integrasjonen må opprette koblingen til ERP-linjen. Dokumentasjonen for Refund påpeker eksplisitt at en post alene ikke bekrefter en gjennomført pengeoverføring. Stripe beskriver også egne hendelser for opprettelse, endring og feil. Integrasjonen må koble den valgte leverandørens faktiske statuser til sin interne modell.

En gjennomført tilbakebetaling skal derfor bare endre betalingsstatus i eksemplet. Den gjør ikke den skadde vasen salgbar. Varemottak gjør heller ikke automatisk tilbakebetalingen gjennomført.

Kontroller det forventede resultatet

Kontroller tilfellet i et egnet testmiljø: delreturen tilhører riktig linje, lagerendringen forblir 0, og 2400 cent tilhører riktig betaling. Når tilbakebetalingen er bekreftet gjennomført, endres dens status mens varen forblir sperret. Et uklart betalingssvar skal være synlig som uavklart. En gjentatt statusmelding skal oppdatere samme sak. Teknisk behandling av nye forsøk krever også en passende idempotensstrategi.

Kilder

Skrevet av

  • Lena FischerRedaktør for netthandelLena Fischer har ansvaret for ASES' artikler om netthandel. Hun skriver om nettbutikksystemer og hvordan de kobles til andre applikasjoner, og forklarer de tekniske prosessene bak netthandel.

Følg ASES

Les videre

Alle artikler

E-handel med ASES

Nettbutikker, markedsplasser og B2B-portaler