Modulkatalog/return-flow-agent
Modul, Kunddialog

Returflöde-agent

RMA till fraktsedel och kreditering. Tillägg i helpdesk.

10/10
Tester godkända
7
Block per bundle
Ed25519
Signering
Produktion
Status
Ladda ner exempel-bundleVerifiera bundleBoka demo
Vad modulen gör

Returflöde-agent

Modul-ID: return-flow-agent Version: 1.0.0 Voice: kapaciti (svensk B2B-ton) Modell: claude-haiku-4-5

Vad gör modulen

Returflöde-agenten tar emot en strukturerad RMA-förfrågan (Return Merchandise Authorization) från en e-handel och producerar ett komplett returbeslut. Den bedömer förfrågan mot kundens returvillkor, räknar ut krediteringsbeloppet inklusive eventuell restocking-avgift, bestämmer om en fraktsedel ska skickas och vad den ska kosta, samt flaggar bedrägeri-signaler för manuell granskning. Output är dels ett maskinläsbart nyckel-värde-block för helpdesken och ERP-integrationen, dels ett färdigt kundsvar på svenska som handläggaren kan godkänna och skicka direkt.

Modulen är byggd som ett tillägg ovanpå befintliga helpdesk-system. Den ersätter inte agenten, den förbereder beslutet. Varje körning producerar en signerad audit-bundle med hash-chain enligt kapaciti-modules-standarden, så att beslutet kan auditeras i efterhand.

Indata

{
  rma_request_id: "string",
  customer: { id: "string", email: "string", name: "string?" },
  order: {
    order_id: "string",
    purchased_at: "ISO-datum",
    items: [{ sku, name, qty, price_sek, returnable: boolean }]
  },
  return_request: {
    item_skus: ["sku"],
    reason_code: "string",
    reason_text: "string?",
    condition: "oppen | oanvand | skadad | annat"
  },
  return_policy: {
    days_window: 14,
    restocking_fee_pct: 0,
    free_shipping: boolean,
    fraud_threshold_sek: 5000
  },
  prior_returns_count_90d: number
}

Validering sker i validateInput. Saknas något obligatoriskt fält kastas ett fel innan modellen anropas, så att felaktiga RMA-förfrågningar fångas tidigt och loggas i audit-chain som ett input_received-block med en följande error-output.

Utdata

Modellen returnerar plain text i en fast struktur. Helpdesken parsar nycklarna och plockar ut värdena. SVARSUTKAST_TILL_KUND är 200-400 ord svensk prosa, redo att skickas efter mänskligt godkännande.

RMA_BESLUT: godkand
NEKAD_ANLEDNING: n/a
RETURBARA_ITEMS: TSH-BLK-L
KREDITERING_SEK: 299
KREDITERING_METOD: ursprunglig
FRAKTSEDEL_KRAVS: ja
FRAKTSEDEL_KOSTNAD_SEK: 0
BEDRAGERIRISK: lag
SVARSUTKAST_TILL_KUND:
<kundsvar>
INTERNA_NOTERINGAR:
- <bullets>

Beslutsregler

Returfönstret är hårt. Köp äldre än days_window kalenderdagar nekas, även vid annars giltigt skick. Artiklar med returnable=false nekas alltid. Vid skick skadad eller annat krävs konkret motivering i reason_text. Saknas motivering eller är den vag, godkänns returen partiellt och eskaleras till manuell granskning.

Restocking-avgiften dras av krediteringsbeloppet om varan inte är oanvand. Vid free_shipping=true är fraktsedeln gratis för kunden, annars bär kunden frakten. Krediteringsmetoden är som standard ursprungligt betalsätt. Presentkort används bara om kunden uttryckligen ber om det. Bankgiroöverföring används när det ursprungliga betalsättet är ogiltigt, till exempel ett utgånget kort.

Bedrägeririsk

Risksignaler kombineras till en samlad bedömning: lag, medel eller hog. Signaler:

  • Fler än 5 returer på 90 dagar
  • Totalt krediteringsbelopp över fraud_threshold_sek
  • Skick annat med vag eller saknad motivering
  • Nyligen levererad order där artikeln returneras inom 3 dagar i kombination med andra signaler
  • Hög-värde artikel märkt skadad utan foto-bevis

Vid hog risk skrivs det in i både kundsvaret och de interna noteringarna att ärendet eskaleras till manuell granskning. Krediteringen pausas tills en handläggare godkänt.

Refund-tidsangivelse

Svenska standardtider för återbetalning anges alltid i kundsvaret. Kortbetalningar 3-5 bankdagar, Swish 1-3 bankdagar, bankgiro 5-10 bankdagar. Modellen får inte lova snabbare än så.

Audit-chain

Varje körning bygger en audit-trail med blocken:

  1. input_received
  2. context_loaded
  3. agent_call
  4. output_generated
  5. voice_validated
  6. output_validated
  7. audit_sealed

Buntan signeras med kapaciti-modules Ed25519-nyckel och kan verifieras med kapaciti-site/scripts/verify-audit-bundle.mjs eller lib/audit-chain.mjs::verifyBundle. Hash-kedjan är genesis-baserad, så att ett enda manipulerat block bryter verifieringen från och med det blocket.

Voice-profil

Output passerar validateAgainstVoice("kapaciti"). Förbjudna ord: ensure, crucial, journey, delve, dive, navigate, sammanfattningsvis, TL;DR. Förbjudna tecken: tankstreck. Modellen instrueras att använda komma eller punkt istället.

Användning

import { ReturnFlowAgent } from "kapaciti-modules/modules/return-flow-agent.mjs";

const agent = new ReturnFlowAgent();
const res = await agent.run(rmaInput, { writeBundle: "./bundles/rma-001.json" });

if (res.error === "usage_cap") {
  // Claude Code usage-cap, retry senare
}

console.log(res.output);
console.log("Audit-bundle:", res.bundle.run_id, "blocks:", res.bundle.entries.length);

Begränsningar

Agenten ser inte foton. Om policyn kräver foto-bevis vid skadad måste integrationen själv kontrollera bilagor innan modulen anropas. Vid saknat foto bör reason_text antingen innehålla en hänvisning till foto-id eller flagga att foto saknas, vilket triggar bedrägeririsk-medel.

Modulen läser inte order-historik utöver prior_returns_count_90d. För djupare återköpsmönster kopplas modulen mot fraud-rules-agenten (modul 12) i ett senare steg.

v1.1 TODO

  • Stöd för delreturer med olika skick per SKU
  • Foto-validering via vision-API-integration
  • Auto-routing till manuell kö när hog bedrägeririsk plus kundkommentar
  • Memory-card för att tracka eskalerade RMA per kund-id
  • Multi-språkstöd för norska och danska e-handlare
Prova live

Kör returflöde-agent i webbläsaren.

Justera input-objektet eller använd starter-värdena. När du trycker på Kör modulen anropas samma agent som i produktion. Audit-kedjan byggs framför dig och hela sessionen signeras med Ed25519 i samma format som exempel-bundlen ovan.

Input (return-flow-agent schema)

JSON-payload som matchar modulens validateInput. Starter-värdena kommer från en riktig produktionskörning. Max 12 000 tecken.

Tecken: 935 / 12 000
Audit-kedja, live

Audit-kedjan visas här när scenariot körs

● Nyhetsbrev

EU AI Act, sandbox-status och svensk AI-infrastruktur.

En sammanfattning ungefär en gång i månaden. Vad förändrats i regelverket, vilka pilot-cases vi sett och vilka vendor-shifts som påverkar svenska bolag. Skickas av oss, inte av en automation som låtsas vara oss.

Uppgifterna används endast för nyhetsbrevet. Inga utskick utöver det utan separat samtycke. Avregistrera när som helst via länk i mailet.