Produkter og priser: Sådan fungerer salgskataloget
Forstå produkter, produktgrupper, priser og prisindeksering – og hvordan de styrer bogføring og moms.
Produktområdet er virksomhedens salgskatalog: alle de varer og ydelser du sælger, med tilhørende priser. Du finder det i venstremenuen under Stamdata > Produkter ("Records > Products") på siden /records/products.
Siden har tre faner: Produkter, Produktgrupper ("Product Groups") og Målere ("Meters"). Fanen Målere vises kun, hvis virksomheden har både Abonnement-licensen og Målte produkter-licensen, og din bruger har læseadgang til målte produkter.
Sådan hænger det sammen
Et produkt er alt, hvad virksomheden sælger – varer eller ydelser – identificeret ved et produktnummer og et navn. Det har en enhed (fritekst, fx "stk", "timer" eller "kg"), en valgfri beskrivelse og kostpris samt én eller flere salgspriser.
Hvert produkt tilhører præcis én produktgruppe, og gruppen forbinder kataloget med bogføringen: Gruppen indeholder de omsætningskonti, som salg af gruppens produkter bogføres på, opdelt efter kundens momszone (Indland, EU, Udland, Indland uden moms samt valgfri konti pr. land til OSS). Fordi momssatser i LedgerBee ligger på konti (via kontoens momskode), er det indirekte produktgruppen, der afgør, hvilken momssats en produktlinje får for en given kunde.
Priser er selvstændige objekter under et produkt. Ét produkt kan have flere priser (hver med et valgfrit kaldenavn som "Månedlig" eller "Enterprise"), og beløb gemmes som en dateret historik: En ændring omskriver aldrig fortiden. Udstedte fakturaer beholder præcis det beløb, de blev udstedt med, og kørende abonnementer beholder det beløb, der blev låst fast, da deres aktuelle faktureringsperiode blev bygget.
Området rummer også prisindeksering (en planlagt procentvis stigning, som et natligt job anvender på en valgt dato) og målere, som forbrugsbaserede priser fakturerer ud fra.
Centrale begreber
- Produkt – en katalogvare med produktnummer, navn, beskrivelse, enhed, produkttype (Varer eller Ydelser), produktgruppe, valgfri kostpris og en status (Aktiv/Inaktiv). Produkter kan også tagges og arkiveres.
- Produktnummer / gruppenummer – synlige identifikatorer; begge skal være unikke i virksomheden. Systemet validerer det med det samme, mens du taster.
- Produktgruppe – en samling produkter, der deler omsætningskonti: Indlandskonto ("Domestic Account"), EU-konto (rubrik B), Udlandskonto (rubrik C) og Konto for indland uden moms, plus en valgfri liste af konti Per land (OSS) til B2C-salg til bestemte EU-lande.
- Enhed – fritekst-måleenhed på produktet.
- Pris – en faktureringsdefinition under et produkt med kaldenavn, valuta, faktureringstype, prismodel, faktureringsperiode, beløb (eller trin), status og en standard-markering.
- Faktureringstype – Engangs ("One-time", opkræves én gang), Tilbagevendende ("Recurring", opkræves efter en fast plan: dagligt, ugentligt, månedligt, hver 3. måned, hver 6. måned, årligt eller brugerdefineret "hver N dage/uger/måneder/år") eller Forbrugsbaseret ("Usage-based", opkræves ud fra indrapporteret målerforbrug).
- Prismodel – Fast pris ("Flat Rate", én pris pr. enhed), Pakke ("Package", én bundtstørrelse og en pris pr. bundt, fx en 10-styks-pakke), Volumen ("Volume", alle enheder prissættes efter det trin, den samlede mængde lander i) eller Gradueret ("Graduated", hvert trins enheder prissættes til trinnets sats, fx de første 100 til én sats og resten til en lavere).
- Pristrin / pakkestørrelse – mængdegrænserne og beløbene pr. trin, som Volumen-, Gradueret- og Pakke-modellerne bruger.
- Prisstatus – Kladde, Aktiv, Inaktiv eller Arkiveret. Priser oprettet i appen starter som kladde; kladdepriser tilbydes ikke i kataloger og omregnes ikke til andre valutaer.
- Standardpris – den pris der er forvalgt for produktet; der er præcis én pr. produkt. Sættes med Sæt som standard ("Set as default").
- Låst pris – en pris der er brugt et sted (fakturalinje, kreditnotalinje, abonnementsplan eller aktivt kundeabonnement). Låsen beregnes automatisk ud fra brugen og kan ikke slås til eller fra manuelt.
- Prishistorik – hver beløbsændring gemmes som en ny dateret post pr. valuta; intet redigeres på plads.
- Prisindeksering – en planlagt procentvis stigning, der anvendes automatisk på ikrafttrædelsesdatoen.
- Omregnet pris (≈) – har en pris ikke et gemt beløb i den valuta, der bruges, viser appen et cirkabeløb omregnet til den aktuelle valutakurs, markeret med "≈". Ved indsendelse oprettes en rigtig pris i valutaen til dagskursen.
- Salgspris / kostpris / avance – produktlisten kan vise standardsalgsprisen mod kostprisen samt fortjenesten og avanceprocenten.
- Måler – en forbrugstæller (visningsnavn, målernøgle, enhed) med en aggregeringsmetode: Sum (fakturér summen af de indrapporterede værdier), Antal ("Count", fakturér antallet af hændelser) eller Seneste ("Last", fakturér den senest indrapporterede værdi, fx det aktuelle antal brugere).
De vigtigste regler
Produktgruppen styrer konto og moms
- Når et produkt sættes på en faktura (eller faktureres af et abonnement), vælges omsætningskontoen fra produktets gruppe ud fra kundens momszone: Indland bogføres på indlandskontoen, EU på EU-kontoen (rubrik B), Udland på udlandskontoen (rubrik C), og Indland uden moms på sin egen konto.
- Momssatsen på linjen kommer fra momskoden på den valgte konto. Produkter har ingen egen momssats – vil du ændre momsen på et produkts salg, ændrer du gruppens kontotildeling eller kontoens momskode.
- To grænseoverskridende regler kører automatisk: Omvendt betalingspligt (en erhvervskunde i et andet EU-land med momsnummer får 0 % moms og bogføres på EU-kontoen) og EU-forbruger (B2C) (en EU-kunde i et andet EU-land uden momsnummer faktureres med sælgers indenlandske sats på indlandskontoen, efter EU's momsregler).
- OSS (One Stop Shop): En kunde i en OSS-momszone pr. land faktureres med destinationslandets momssats. Omsætningen bogføres på gruppens OSS-konto for landet, hvis en er sat op, og ellers på EU-kontoen. Mangler destinationslandets momskode, fejler faktureringen med en tydelig fejl i stedet for stille at bruge 0 %.
- Kun indlandskontoen er obligatorisk på en gruppe. Kræver en kundes zone en konto, som gruppen ikke har, fejler handlingen med en valideringsfejl, der nævner gruppen – løsningen er at udfylde den manglende konto på gruppen. Det samme sker, hvis den valgte konto ikke har nogen momskode.
Priser låses, når de er brugt
- En pris bliver låst, i det øjeblik den refereres af en fakturalinje, en kreditnotalinje, en abonnementsplan eller et aktivt kundeabonnement.
- På en låst pris kan du stadig omdøbe den, arkivere den og opdatere beløbene pr. valuta (inklusive trinbeløb) – hver opdatering skriver en ny dateret post i historikken. Du kan ikke ændre faktureringsstrukturen (faktureringstype, interval, prismodel eller antallet af trin).
- En låst pris kan ikke slettes – arkivér den i stedet. Arkivering skjuler prisen for nye fakturaer.
- Standardprisen kan ikke slettes, deaktiveres eller arkiveres – sæt først en anden pris som standard. Når du sætter en standard, fjernes markeringen automatisk fra produktets øvrige priser.
- Trinvalidering: For Volumen og Gradueret skal det sidste trin være åbent (uden øvre grænse). For Pakke er der præcis én pakke; mængden skal være nul eller derover, og pakken skal have en pris.
Hvad en prisændring påvirker
- Udstedte fakturaer ændres aldrig – hver fakturalinje gemmer en reference til den præcise historiske prispost (og trinpost), den blev prissat med, samt selve enhedsprisen.
- Nye fakturaer bruger det nyeste beløb med det samme.
- Kørende abonnementer omprises ikke automatisk. Enhedsprisen låses fast, når abonnementets aktuelle faktureringsperiode bygges; en katalogprisændring (også et prisindeks) slår først igennem, næste gang en periode bygges – ved plantildeling, planredigering, planudskiftning eller et faseskift. Indtil da fakturerer abonnementet det låste beløb, og abonnementets detaljeskærm viser netop det beløb.
- En brugerdefineret pris på abonnementet vinder altid over katalogbeløbet – også en brugerdefineret pris på 0 (foræret produkt).
- Abonnementets valuta kommer fra abonnementet selv, ikke fra produktprisen.
Licenser og adgang
- At se siden kræver læseadgang til stamdata; at oprette, redigere og slette produkter, grupper og priser kræver skriveadgang.
- Tilbagevendende priser kræver Abonnement-licensen. Forbrugsbaserede priser kræver både Abonnement- og Målte produkter-licensen. Engangspriser er altid tilgængelige.
- Uden licensen afvises oprettelsen af den pågældende pristype med en licensfejl, og eksisterende priser af typen skjules i produktlisten – et produkt, hvis eneste priser er skjult, forsvinder helt fra listen.
Slet eller arkivér
- Sletning af et produkt er permanent (priser, trin og historik slettes med) og er kun mulig, så længe ingen af produktets priser er låst. Er en pris låst, er slettevalget deaktiveret – brug Arkivér i stedet; arkivering af et produkt arkiverer også alle dets priser.
- Et produkt, der er knyttet til en anlægsaktiv-opsætning, kan ikke slettes eller peges om, før opsætningen er fjernet først.
- En produktgruppe kan ikke slettes, mens den stadig indeholder produkter – flyt eller slet produkterne først.
Lister, massehandlinger og målere
- Fanen Produkter kan søges på navn og produktnummer og filtreres på gruppe og tags. Filtrene afspejles i URL'en, så visninger kan bogmærkes. Med masseudvælgelse kan du massearkivere, masseslette, masseopdatere (sæt produkttype, enhed og status for mange produkter ad gangen) og bruge Indekser alle produkter ("Index All Products"). Listen kan også eksporteres.
- En måler oprettes med visningsnavn, målernøgle (bruges i API-kald), enhed og aggregeringsmetode (Sum / Antal / Seneste). Aggregeringsmetoden kan ikke ændres, når der først er indrapporteret forbrug. Forbrug indrapporteres via API'et med en idempotensnøgle, og målerens detaljepanel indeholder en forespørgselsbygger, en hændelseslog med faktureret/ufaktureret-status og de API-nøgler, der må indrapportere forbrug. Arkiveres (deaktiveres) en måler, afvises nye hændelser med en fejl, mens allerede indrapporteret forbrug bevares – og måleren kan genaktiveres når som helst.