KID og faktura i Shopify: slik fakturerer du norske bedriftskunder
Shopify er bygget for butikker der kunden betaler i kassen. Bedriftskunder i Norge vil heller ha faktura med KID, og etter hvert EHF. Her er hvordan du får det til å henge sammen, og hva du bør passe på.
Kort fortalt
- B2B-salg i Shopify starter ofte som et utkast. Da må fakturaen og ordren ha samme KID.
- KID kan lagres som metafelt på ordren og hentes inn i malene dine med Liquid.
- Fra 2027 trenger du også EHF til kunder som kan motta det, og da må du ha kundens organisasjonsnummer.
- Test hele flyten med en ekte innbetaling før du starter.
Utfordringen
En norsk bedriftskunde forventer normalt dette: faktura med riktige firmaopplysninger, forfallsdato, MVA per sats, KID og kontonummer. Kunden betaler i nettbanken eller regnskapssystemet flere uker senere. Shopifys standardflyt er ikke laget rundt dette, så du må selv sørge for at KID, faktura og betaling henger sammen.
Den typiske flyten
- Du lager et ordreutkast for kunden, eller kunden bestiller via B2B-kanalen.
- Utkastet får et KID. Det må skje før fakturaen går ut.
- Utkastet blir en ordre. Betalingen er fortsatt ventende.
- Du lager fakturaen som PDF, EHF eller begge deler.
- Kunden betaler med KID-en, og pengene kommer inn på kontoen din.
- Du registrerer betalingen i Shopify og regnskapet.
Fallgruve 1: Utkastet har ikke ordrenummer
Et utkast har ikke fått ordrenummer ennå. Er KID-en bygget på ordrenummeret, har du to dårlige valg: å vente med å sende faktura, eller å lage et KID som endrer seg når utkastet blir en ordre. Da stemmer ikke betalingen med fakturaen kunden allerede har fått.
Løsningen er enkel: Bruk et løpenummer som ikke er avhengig av ordrenummeret, og la ordren arve KID-en fra utkastet.
Fallgruve 2: Samme ordre behandles to ganger
Shopify kan sende samme webhook flere ganger. Lager en løsning et nytt KID hver gang, kan samme ordre få flere numre. En god løsning sjekker om ordren allerede har et KID. Databasen bør også hindre at samme KID blir brukt to ganger. Har du laget noe selv, er dette verdt å teste.
Slik lagres KID i Shopify
Metafelt er et naturlig sted. Da vises verdien på ordresiden i admin, og du kan hente den inn i maler. Med navnerommet kid_ehf ser det slik ut i en Liquid-mal, for eksempel i en ordrebekreftelse:
{%- if order.metafields.kid_ehf.kid -%}
<p><strong>KID:</strong> {{ order.metafields.kid_ehf.kid }}<br>
<strong>Kontonummer:</strong> {{ shop.metafields.kid_ehf.account_number }}</p>
{%- endif -%}
Kodeeksempelet gjelder ordrer. Mal for utkastfaktura kan ha et annet objekt enn order, så test i din egen butikk før du lover det til kundene. Metafeltene må også finnes, så navnet ovenfor virker først når appen eller oppsettet ditt har laget dem.
Hvor kundens organisasjonsnummer skal ligge
Du trenger nummeret for å sende EHF, og fra 2028 på alle salgsdokumenter til bokføringspliktige. I Shopify kan B2B-firmaets eksterne ID være et praktisk sted, særlig hvis du fyller det ut likt hver gang. Bruker du ikke B2B-firmaer, må du finne en annen fast plass, for eksempel et metafelt på kunden eller et eget felt når du lager fakturaen.
Sjekk gjerne nummeret med kontrollverktøyet før du legger det inn. Det fanger opp skrivefeil.
PDF, EHF eller begge deler?
De fleste Shopify-butikker som selger til bedrifter, kommer til å trenge begge deler i noen år. Her er reglene. Sørg for at beløpene er identiske. Shopify regner ofte MVA per linje, mens e-fakturastandarden EN 16931 regner per sats. Har du priser inkludert MVA, kan det gi avvik på noen øre mellom Shopify og fakturaen. Det er ikke farlig, men vær forberedt på det i avstemmingen.
Hvordan betalingen registreres
KID gjør at betalingen kan matches i bank og regnskap. Skjer ikke dette automatisk tilbake til Shopify, må noen merke ordren som betalt der. Avtal hvem som gjør det, og hvor ofte. Betalingsstatus i Shopify og regnskap bør stemme, spesielt hvis du sender varene før betaling.
Sjekkliste før første faktura
- Du har bankavtale for KID, med riktig lengde og metode.
- Firmaopplysningene er riktige, inkludert «MVA» og eventuelt «Foretaksregisteret». Se kravene.
- Du har testet utkast til ordre, og KID-en er den samme.
- Fakturaene har fortløpende nummer.
- En testbetaling fra en annen konto kom inn med riktig KID.
- En EHF-testfil er godkjent i en validator, og du har prøvd å sende til en kunde som kan motta.
- Du vet hvordan fakturaene lagres, og at regnskapsføreren får dem.
- Du har en plan for kreditnotaer og returer.
Bygge selv eller bruke en app?
Et KID er raskt å programmere. Det tar lengre tid å håndtere webhook-duplikater, utkast som blir ordrer, fakturanummerserier, MVA-regler, EHF-validering, Peppol, personvern og oppbevaring. Har du utviklere og spesielle behov, kan det være riktig å bygge selv. Ellers er det stort sett billigere å bruke en ferdig løsning. Sammenlign gjerne det regnskapssystemet ditt allerede tilbyr. Kanskje det er enklere å sende fakturaene derfra, med en kobling til Shopify.

Kilder
- KID og EHF i Shopify App Store
- Skatteetaten: Plikt til å sende e-faktura
- Lovdata: Bokføringsforskriften, kapittel 5
- Demo av appen på YouTube
KID og EHF er vårt eget produkt, så vi har en interesse i temaet. Artikkelen gir generell informasjon per 3. november 2026 og er ikke juridisk rådgivning eller regnskapsrådgivning. Sjekk gjerne med banken eller regnskapsføreren din.
Relaterte artikler
Slik velger du KID-format og setter opp avtalen med banken
Løpenummer, ordrenummer eller kundenummer? Slik velger du KID-format som passer bankavtalen og ikke går tomt for tall når bedriften vokser.
3 min lesingKrav til faktura i Norge: dette må salgsdokumentet inneholde
Hva må stå på en norsk faktura? Her er kravene i bokføringsforskriften § 5-1-1 forklart, med eksempel, MVA, Foretaksregisteret og endringen i 2028.
3 min lesingKrav om e-faktura fra 1. januar 2027: dette må bedriften gjøre
Fra 1. januar 2027 må bokføringspliktige sende e-faktura til kunder som kan motta den. Se datoene, unntakene, dispensasjon og hva du må gjøre nå.
3 min lesing