Etikettkalkyl

Verktyget är internt. Logga in med ditt jobbkonto för att komma vidare.

Öppet för konton på
tbprint.se och tidtryck.com

Etikettkalkyl

Synkad
Maskin
MaskinKonica (toner) eller Epson (inkjet)
Mått & Stans
Vald stansform, sökning och hela listan i menyn
Detaljer och ritning
Nytt stansverktygbocka i för att konfigurera nytt verktyg
Antal etiketter & Rullar
Antal etiketterbeställd volym
st
Etiketter per rullevälj i tabellen nedan eller skriv in
st
Bästa rullstorlekarna för stansen (9 alternativ med minst tilltryck):
Antal versioner st
Ordertyp
Material
Materialrullekvalitet och rullbredd
Detaljer och produktblad
Fråga om materialval
Svaren är förslag från AI-agenten och bör stämmas av mot produktbladet.
Lack
Lackeringläggs på etikettytan, prissätts per m² i Inställningar
Totalt utpris
–
– per etikett · – per 1 000
Självkostnad
–
TB
–
Täckningsgrad
–
Maskinjämförelse
Materialandel av utpriset
––
Substrat plus klick eller bläck, i självkostnad, delat med utpriset. Lack ingår inte.
Kostnad, påslag och utpris per post
PostKostnadPåslagUtpris
Så här blir rullen
Produktion
Stansar / Mallar
Förrådet
En stans bestämmer etikettmått, antal spår och stigning. Måtten går inte att ändra i kalkylen — de är egenskaper hos verktyget.
Material
Lagervärde
Värderat till senaste inköpspris. Restlängderna kommer från de registrerade rullarna.

Prepress

Prepress
Manuellt och prepress-timpris kr/h
Prepress och beredning (ny order)filkontroll, färghantering, steg-och-repetera, RIP min
Prepress (repeat) min
Prepresstillägg per extra version min
Prepressen görs vid en dator, inte vid en press. Tiden låg förut i varje maskinprofil för sig, vilket betydde att samma arbete kunde ha två olika längder beroende på vilken maskin ordern råkade hamna i.

Maskiner

Maskinprofiler
Vald maskin Konica AccurioLabel 230 · Torrtoner
Körhastighet m/min
Produktionstimprismaskin + operatör kr/h
OEE / utnyttjandegrad %
Max banbredd i pressen mm
Minimidebitering kr
Klickprisfast, oavsett färgtäckning kr/m
Ändringar i dessa fält sparas i den valda maskinens profil.
Färgtäckning — Epson L-4733AW
Nivåkr/mHast.faktor
Nivån väljs per order i kalkylen; kronorna hör till maskinen och sätts här. Räknas på hela banan, makulaturen inräknad. Hastighetsfaktorn sänker farten — opakt vitt kör långsammare.
Ställtider och makulatur — Konica AL 230
Ställ och injustering (ny order) min
Makulatur (ny order) m
Ställ och injustering (repeat) min
Makulatur (repeat) m
Ställtillägg per extra version min

Stans

Stans — GM330
Körhastighetnominell, ingen OEE m/min
Produktionstimprismaskin + operatör kr/h
Ställ min
Injustering min
Rullbyteper inkommande tryckt rulle min
Kostnad bobinper färdig rulle ut kr
Ställtid per snittknivinställning, ett snitt per spårgräns min
Ta av alla spår samtidigtdifferentialaxel — annars en rulle i taget
Tid per avtagning min
Matt lack kr/m²
Blank lack kr/m²
Stansningen är ett eget moment efter trycket, med egen hastighet och eget timpris. Hela banan passerar — makulaturen inräknad. Ställ, injustering, knivinställning, rullbyten och avtagning ligger alla på maskinens timpris.
Lacken räknas på den tryckta ytan, samma yta som bläcket — alltså etiketterna, inte kantremsan.

Material, verktyg och rulle

Debitering av material
Debiteringssätt
Materialspill %
Restbitsvarning under m
Löpande meter: restbiten går tillbaka till lagret. Hel rulle: hela rullen belastar ordern.
Verktyg
Stansverktyg kr
Kantmarginalobetryckt kant på var sida av banan mm
Färdig rulle
Hylsdiameter mm
Materialtjocklekfacestock + lim + liner mm
Max ytterdiameter mm
Hylsvikt kg

Påslag

Påslag per post
A Prepress %
B Ställ %
C Körning %
D Stans %
Substrat %
Bläck / klick %
Lacksyns bara i kalkylen när ordern har lack %
Stansverktyg %
Husets satser. Gäller alla i organisationen och alla nya kalkyler. Procentrutan i Kalkyl-flikens posttabell ändrar bara den ordern — den rör inte de här värdena, och avvikelsen följer med när kalkylen sparas.

Övrigt

AI & Stansavläsning
Google Cloud Vertex AIAutomatisk avläsning av form & mått från PDF-ritningar ● Aktiv (GCP Vertex AI)
Autentisering och analys hanteras i molnet under ert Google Cloud-projekt (EU-multiregion). Inga manuella nycklar krävs. Agentens egna inställningar — instruktioner, modell och källor — finns under Admin → AI-agenten.
Egna instruktioner
Läggs till efter grundinstruktionen och väger därför tyngst när de säger emot varandra. Gäller alla i organisationen och slår igenom vid nästa fråga — ingen deploy behövs.
Källor agenten får använda
Fråga iBrainhämtar produktionskunskap ur kunskapsbasen vid varje fråga
Bifoga databladföljer med frågan som avskrift när den finns, annars som PDF
Prov: smal kontextmätreglage — utelämnar satser, prishistorik och inköpspris, samma omfång som A2A
Materialregistret, stansregistret och anteckningarna följer alltid med. Slå av en källa om den ligger nere eller gör svaren långsamma.
Smal kontext är till för latensmätning: den tar bort de ~5 000 in-tokens som skiljer appen från A2A, och raden i loggen märks kanal app (smal). Lämna den av i vanligt arbete — agenten kan då inte förklara ett pris eller svara på hur ett materialpris utvecklats.
Databladens avskrifter
En PDF tolkas om sida för sida vid varje fråga, även när den ligger i cachen — uppmätt golv: elva sekunder per svar. Tolkas bladet en gång vid uppladdning skickas avskriften i stället, och svaren blir ungefär dubbelt så snabba utan att någon teknisk uppgift går förlorad. Nya blad tolkas automatiskt; knappen är för dem som laddades upp innan funktionen fanns, och för att göra om en tolkning som blivit fel.
Modell
Chatt och materialfrågor
Stansavläsningläser mått ur ritningar
Tankenivå i chattenhögre tänker mer, svarar långsammare
Svarslängdvarje utskriven rad kostar tid — cirka 5–7 ms per ord
Gemini 2.5 slutar serveras 31 mars 2027 och finns därför inte i listan. Tankenivån gäller bara chatten; stansavläsningen kör alltid på modellens förval, eftersom den ska tänka. Svarslängden styr bara formen, aldrig vilka fakta som kommer med — den förkortar svaret, den utelämnar inga uppgifter. Uppmätt: svarstiden följer svarets längd nära nog rakt av sedan databladen blev avskrifter.
Grundinstruktion skrivskyddad
Hämtar …
Det här är vad agenten faktiskt får, ord för ord, hämtat från molnfunktionen. Den ligger i koden därför att den innehåller kalkylmodellen — ändras den här skulle den kunna glida isär från Inställningar. Behöver den ändras är det en kodändring och en deploy.

Kalkylen går alltid samma väg: geometrin bestämmer hur lång banan blir, banlängden bestämmer tiden och materialåtgången, och först därefter läggs påslaget på — post för post. Varje siffra i appen går att följa tillbaka hit.

Kedjan

Geometrispår, stigning, banlängd
→
TidA prepress, B ställ, C körning, D efterarbete
Materialsubstrat, bläck eller klick
Verktygstansverktyg
→
Utpriskostnad + påslag per post

1 · Geometri

Stansen bestämmer allt

Stansen sitter i pressen. Etikettens mått, antalet spår och stigningen är därför egenskaper hos verktyget, inte något kalkylen räknar fram ur önskade mått. Det går inte heller att vända stansen — läget i banan är givet. All geometri läses alltså rakt av ur stansregistret.

Etikettbredd  = stansens mått tvärs banan          [mm]
Etiketthöjd   = stansens mått i banriktningen     [mm]
S             = stansens antal spår
P             = stansens stigning                  [mm]
Gap           = P − Etiketthöjd                    (följer av stansen)
Snitt         = S − 1

Vill du ha ett annat format väljer du en annan stans — eller beställer en ny. Appen jämför automatiskt med de övriga stansar som är godkända för maskinen och visar i ett eget kort om någon av dem ger ett lägre pris för samma antal etiketter.

Stansen måste passa banan

Varje stans är gjord för en viss banbredd. Är materialet smalare går jobbet inte att köra alls; är det bredare fungerar det, men den överskjutande remsan blir obetryckt spill som ändå betalas.

Banbredd < stansens banbredd  → fel, jobbet går inte
Banbredd > stansens banbredd  → varning, mellanskillnaden är spill
Banbredd > maskinens maxbredd → fel, materialet går inte in

En stans gäller som standard för båda maskinerna. Under fliken Stansar kan enskilda stansar kryssas ur för en viss maskin — då försvinner de ur valet när den maskinen är vald.

· · · snitt snitt Banbredd 330 mm Stigning P ur stansen = 53 mm 100 mm banriktning · här mäts banlängden 3 spår ger 3 färdiga rullar ur ett och samma pass
Stansen Standard 100 × 50, 3-up på sin 330 mm breda bana: 3 spår, 2 snitt, och banan blir en tredjedel så lång som med en enspårig stans.

Rullarna styr längden

Banlängden räknas inte ur antalet etiketter rakt av, utan ur hur många färdiga rullar maskinen måste producera. En rulle kan bara tas av hel, och med differentialaxel kommer alla spårens rullar av samtidigt — en tre-spårig stans levererar alltså tre rullar per avtagning, vare sig du beställt tre eller inte.

Beställda rullar      = TAK(Antal etiketter / Etiketter per rulle)
Rullar av samtidigt   = Differentialaxel ? S : 1
Avtagningar           = TAK(Beställda rullar / Rullar av samtidigt)
Rullar ut ur maskin   = Avtagningar × Rullar av samtidigt
Faktiskt tryckt antal = Rullar ut ur maskin × Etiketter per rulle

Blir Rullar ut fler än Beställda rullar är mellanskillnaden överproduktion — den trycks, den kostar, och appen varnar för den. Beställer du 10 rullar på en 3-spårig stans krävs 4 avtagningar, alltså 12 rullar.

Hur lång banan blir

Makulaturen är inkörningskassationen och läggs på som en fast sträcka. Materialspillet är däremot en procentsats ovanpå allt.

Meter per färdigrulle = Etiketter per rulle × P / 1000      [m]
Tryckt bana           = Avtagningar × Meter per färdigrulle  [m]
L                     = Tryckt bana + Makulatur              [m]

Förbrukad meter       = L × (1 + Spill/100)                  [m]
Tryckt yta            = Tryckt bana × S × Etikettbredd / 1000 [m²]

Materialrullar in     = TAK(Förbrukad meter / Rullängd)
Restbit               = Materialrullar × Rullängd − Förbrukad meter  [m]

L är den sträcka som passerar pressen och är basen för både körtiden, substratet och bildkostnaden. Tryckt yta används numera bara till lacken: makulaturen lackas inte, och kantremsan i sidled får ingen lack heller.

2 · Tid

Fyra block och tre timpriser. A görs vid en dator och debiteras det manuella timpriset. B och C binder upp pressen och debiteras dess produktionstimpris. D sker i stansmaskinen efter trycket och debiteras dess timpris — knivinställningen hör dit, inte till pressens ställtid.

A Prepress = (Prepresstid + (Versioner − 1) × Tillägg) / 60      × Timpris manuellt
B Ställ    = (Ställtid + (Versioner − 1) × Tillägg) / 60        × Timpris pressen
C Körning  = L / v_eff / 60                                    × Timpris pressen
D Stans    = (Ställ + Injustering
               + Snitt × Tid per snitt
               + L / Stansens körhastighet
               + Inkommande rullar × Rullbyte
               + Avtagningar × Tid per avtagning) / 60                × Timpris stansen

v_eff = Körhastighet × OEE/100 × Hastighetsfaktor för färgtäckningen

Stansens hastighet är nominell — ingen OEE, till skillnad från pressens. Hela banan passerar stansen, makulaturen inräknad.

Prepress- och ställtiderna har separata värden för ny order och repeat. Hastighetsfaktorn är 1 för allt utom opakt vitt, som sänker farten — därför blir vitt dyrt två gånger om, både i kr/m och i maskintid. En maskin med fast klickpris har ingen täckningsnivå att hämta faktorn ur och kör alltid full fart.

3 · Material

Substrat, löpande meter = Förbrukad meter × (Rullpris / Rullängd)
Substrat, hela rullar   = Materialrullar × Rullpris

Bild  = L × kr/m                                   (Klick på Konica, Bläck på Epson)
Lack  = Tryckt yta × kr/m² för matt eller blank    (0 om ingen lack)

Löpande meter är standardläget och förutsätter att restbiten går tillbaka till lagret. Hela rullar används när restbiten inte kommer till användning — skillnaden kan vara stor på specialmaterial.

Bildkostnaden räknas per löpmeter bana i båda pressarna, men kronorna kommer till på olika sätt. Konican har ett fast klickpris: täckningen spelar ingen roll, en helyta och en textetikett kostar lika mycket per meter. Epson trappas efter färgtäckning i sju steg:

FärgtäckningTypiskt jobbkr/m
Mycket lågnästan bara vitt papper1,00
Lågtext och logotyp2,00
Medelsnittet om man slår alla jobb över ett år3,00
Högmycket svart4,00
Mycket höghelyta i mörka färger5,00
Färg + vitt, mellanopakt vitt under trycket6,00
Färg + vitt, högopakt vitt under hög täckning7,00

Inom en nivå kostar metern lika mycket oavsett vad som står på etiketten. Kostnaden går på hela banan inklusive makulaturen — pressen räknar meter som passerat, inte meter som blev sålda. Nivån väljs per order i kalkylen; kronorna hör till maskinens avtal och sätts i maskinprofilen under Inställningar, där Konican i stället har ett enda fast klickpris.

Lacken räknas på etikettytan, inte på banmetern. Bildkostnaden gör tvärtom: den bryr sig inte om hur banan utnyttjas, så den obetryckta kantremsan i sidled kostar full peng. Därför lönar sig ett fullt utnyttjat spårantal dubbelt upp.

Varje material har egna kryssrutor för maskinerna, precis som stansarna. Ett material gäller båda maskinerna om inget annat anges; kryssas det ur för en maskin försvinner det ur materialvalet när den maskinen är vald, och det räknas inte heller med när appen letar efter en billigare bredd.

4 · Verktyg

Verktyg = Nytt stansverktyg ? Verktygspris : 0

Hela verktygskostnaden läggs på den första ordern. Det gör förstagångsjobbet dyrt och repeatordern billig — i räkneexemplet nedan är skillnaden nästan dubbla styckpriset.

5 · Påslag och utpris

Varje kostnadspost bär sin egen påslagsprocent. Påslaget redovisas i kronor på samma rad som kostnaden, så att procenten går att bedöma mot ett belopp.

Påslag  per post = Kostnad × postens påslagsprocent / 100
Utpris  per post = Kostnad + Påslag

Självkostnad = Σ alla kostnader
Utpris       = Σ alla utpriser
Utpris       = MAX(Utpris, Minimidebitering)

Summeringsraderna Tid och Material har ingen egen procent. De visar den sammanvägda procenten, alltså vad posterna faktiskt gav tillsammans:

Vägd procent = Summa påslag / Summa kostnad

Det gör att du kan sätta 10 % på ställtiden och 60 % på körningen och ändå se var tidsblocket landar som helhet.

6 · Nyckeltal

NyckeltalFormel
Pris per etikettUtpris / Antal etiketter
Pris per 1 000Pris per etikett × 1000
TäckningsbidragUtpris − Självkostnad
TäckningsgradTB / Utpris
MaterialutnyttjandeS × Etikettbredd / Banbredd
Kapacitetv_eff × 60 × 1000 × S / Petiketter per timme

7 · Räkneexempel

50 000 etiketter med stansen Standard 100 × 50, 3-up, semigloss 330 mm × 1 000 m à 1 485 kr, ny order, en version, 5 000 per rulle, nytt stansverktyg à 4 500 kr. Körs på Konica AL 230 med klickpriset 2,50 kr/m.

S = stansens spår                                 = 3 spår
P = stansens stigning                             = 53 mm

Beställda rullar     = TAK(50 000 / 5 000)        = 10 rullar
Avtagningar          = TAK(10 / 3)                = 4 st
Rullar ut ur maskin  = 4 × 3                      = 12 rullar  ← 2 extra
Faktiskt tryckt      = 12 × 5 000                 = 60 000 et  ← +20 %

Meter per färdigrulle = 5 000 × 53 / 1000         = 265 m
Tryckt bana           = 4 × 265                   = 1 060 m
L                     = 1 060 + 40                = 1 100 m
Förbrukad meter       = 1 100 × 1,03              = 1 133 m
v_eff                 = 20 × 0,80 × 1,0           = 16 m/min

Överproduktionen är själva poängen med att räkna på rullar och inte på etiketter: tio beställda rullar går inte att ta ut ur en tre-spårig stans utan att tolv blir tryckta. Appen varnar, och de två extra rullarna bärs av ordern.

PostKostnadPåslagUtpris
A Prepress50 min × 700 kr/h583 kr233 kr+40 %817 kr
B Ställ45 min × 1 750 kr/h1 313 kr525 kr+40 %1 837 kr
C Körning1 100 / 16 = 69 min × 1 750 kr/h2 005 kr802 kr+40 %2 807 kr
D Stans20 + 20 ställ + 2 snitt × 3 + 1 100 / 30 + 2 rullbyten × 5 + 4 avtagningar × 5 = 113 min × 500 kr/h939 kr376 kr+40 %1 314 kr
Tid4 840 kr1 936 kr40,0 % vägt6 776 kr
Substrat1 133 m × 1,485 kr/m1 683 kr337 kr+20 %2 019 kr
Klick1 100 m × 2,50 kr/m, fast taxa2 750 kr550 kr+20 %3 300 kr
Bobiner12 färdiga rullar × 7 kr84 kr17 kr+20 %101 kr
Material4 517 kr903 kr20,0 % vägt5 420 kr
Verktygnytt stansverktyg4 500 kr675 kr+15 %5 175 kr
Totalt13 856 kr3 514 kr25,4 % vägt17 371 kr
Totalt utpris
17 371 kr
0,347 kr per etikett · 347 kr per 1 000 · täckningsgrad 20,2 %
Samma order som repeat och utan nytt verktyg: 9 493 kr, 0,190 kr per etikett, täckningsgrad 22,1 %. Siffrorna här är hämtade ur appen med just de här indata, inte räknade för hand — stämmer de inte med din egen kalkyl är det en inställning som skiljer. På Epson byts Klick-raden mot Bläck = L × kr/m för vald färgtäckning, och den lägre körhastigheten gör körtiden till den tunga posten i stället för verktyget.

8 · När appen varnar

  • Restbiten är för kort Utlöses när Restbit < varningsgränsen och materialet debiteras per löpmeter. Kommer restbiten inte till användning bör hela rullen belasta ordern.
  • Ställtiden är längre än körtiden Utlöses när B / (B + C) > 50 %. Ordern är då för liten i förhållande till riggen, och priset styrs av förberedelserna snarare än av upplagan.
  • En annan bredd är billigare Appen räknar om hela kalkylen för varje annan bredd av samma materialtyp i prislistan och säger till om någon ger ett lägre utpris.
  • Stansen passar inte banan Är materialet smalare än stansens banbredd går jobbet inte att köra — det blir ett fel, inte en varning. Är det bredare blir mellanskillnaden obetryckt spill, och appen räknar ut hur många millimeter det gäller.
  • Stansen eller materialet är inte inställt för maskinen Både stansar och material gäller båda maskinerna om inget annat anges. Är posten urkryssad för den valda maskinen stoppas kalkylen. Materialvalet byter automatiskt till något maskinen klarar när du byter maskin.
  • Stigningen är mindre än etiketthöjden Då är gapet negativt, vilket inte går. Uppgifterna i stansregistret behöver rättas.
  • Minimidebiteringen slog in Det beräknade priset understeg golvet, så utpriset är golvet.

Pris-API:t räknar vad ett etikettjobb kostar med exakt samma kod och samma satser som kalkylen på den här sidan. Ett svar härifrån och ett pris i appen kan inte skilja sig åt.

Behörighet

Funktionen är satt till invoker: "private". Google Cloud gör behörighetskontrollen innan anropet når koden — funktionen innehåller noll rader säkerhetskod. Sätt den aldrig till public: då kan vem som helst fråga vad jobben kostar och räkna baklänges till marginalerna.

Ge varje anropande system ett eget tjänstekonto, inte projektets standardkonto. Ger man rollen till standardkontot får varje VM och varje Cloud Run-tjänst i projektet rätt att fråga, behörigheten går inte att dra in för ett system i taget, och loggen visar inte vem som frågade.

gcloud iam service-accounts create prisapi-erp \
  --display-name="Pris-API: affärssystemet"

gcloud functions add-invoker-policy-binding prisApi \
  --region=europe-west1 \
  --member="serviceAccount:prisapi-erp@tbprint-etikettkalkyl.iam.gserviceaccount.com"

Anroparen hämtar sin token från metadataservern och skickar den som Authorization: Bearer <token>:

curl "http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default/identity?audience=FUNKTIONS_URL" \
     -H "Metadata-Flavor: Google"

audience måste vara exakt den URL man postar till, samma sträng inklusive protokoll. Stämmer den inte svarar tjänsten 403 utan att förklara varför. Det är det vanligaste felet vid uppsättningen.

Kommer anropet från Cloud Scheduler, Pub/Sub push eller Eventarc konfigurerar man i stället oidcToken med samma tjänstekonto och samma audience — de bifogar token åt en.

Anropet måste gå från serversidan. cors är avstängt, och en webbläsarflik kör som användaren, inte som ett tjänstekonto. Ett internt system med webbgränssnitt frågar alltså via sin backend.

En app utanför Google Cloud, till exempel i AWS

Använd workload identity federation. AWS-appens egen IAM-roll växlas in mot ett Google-token, och Google fortsätter göra behörighetskontrollen. Ingen nyckelfil behövs — konfigurationsfilen nedan innehåller ingen hemlighet, bara adresser. Det är den väg som ska väljas före ett eget relä.

Ett tjänstekonto för systemet, precis som för de interna:

gcloud iam service-accounts create prisapi-extern-erp \
  --display-name="Pris-API: affärssystemet i AWS"

gcloud functions add-invoker-policy-binding prisApi \
  --region=europe-west1 \
  --member="serviceAccount:prisapi-extern-erp@tbprint-etikettkalkyl.iam.gserviceaccount.com"

En pool och en AWS-leverantör, låst till det AWS-konto som får fråga:

gcloud iam workload-identity-pools create extern \
  --location=global --display-name="Externa system"

gcloud iam workload-identity-pools providers create-aws aws-erp \
  --location=global --workload-identity-pool=extern \
  --account-id=AWS_KONTO_ID

Låt bara den AWS-roll appen faktiskt kör som få låna tjänstekontot. Bind mot rollen, inte mot hela kontot — annars räcker det att vilken funktion som helst i AWS-kontot kompromissas.

gcloud iam service-accounts add-iam-policy-binding \
  prisapi-extern-erp@tbprint-etikettkalkyl.iam.gserviceaccount.com \
  --role=roles/iam.workloadIdentityUser \
  --member="principalSet://iam.googleapis.com/projects/PROJEKTNUMMER/locations/global/\
workloadIdentityPools/extern/attribute.aws_role/arn:aws:sts::AWS_KONTO_ID:assumed-role/ROLLNAMN"

Skapa konfigurationsfilen och lägg den hos appen:

gcloud iam workload-identity-pools create-cred-config \
  projects/PROJEKTNUMMER/locations/global/workloadIdentityPools/extern/providers/aws-erp \
  --service-account=prisapi-extern-erp@tbprint-etikettkalkyl.iam.gserviceaccount.com \
  --aws --output-file=gcp-cred.json

Sätt GOOGLE_APPLICATION_CREDENTIALS=gcp-cred.json. Biblioteket sköter hela kedjan — AWS-signatur, federerat token, tjänstekontot, ID-token:

const { GoogleAuth } = require("google-auth-library");

const adress = "https://europe-west1-tbprint-etikettkalkyl.cloudfunctions.net/prisApi";
const klient = await new GoogleAuth().getIdTokenClient(adress);

const svar = await klient.request({ url: adress, method: "POST", data: fraga });

Det ska vara ett ID-token, inte ett access-token. Cloud Run tar bara emot ID-token, och getIdTokenClient ger rätt sort. Konfigurationsfilen måste därför peka ut tjänstekontot — utan den delen kan biblioteket inte ge något ID-token alls.

Om avsändaren varken kan det ena eller det andra

En tjänst som bara erbjuder en URL-ruta och kanske en header — en webhook ur ett affärssystem, Zapier, en e-handelsplattform — kan inte signera ett Google-token. Då byggs ett litet relä i Google Cloud som tar emot anropet, verifierar en delad hemlighet eller HMAC-signatur och frågar vidare med sitt eget tjänstekonto. Gör aldrig funktionen publik i stället.

Ett relä ska smalna av svaret, inte skicka det vidare som det är. Det interna svaret bär sjalvkostnad_kr, poster före påslag och paslagna. Ingen utanför huset ska se det. Skicka pris_kr, pris_per_etikett_kr, uppslag, fel och varningar — resten stannar.

Att tänka på innan ett pris används

  • Läs alltid uppslag. Där står vilken stans och vilket material API:t faktiskt räknade på. En felaktig uppslagning syns bara där — priset i sig ser lika rimligt ut.
  • En icke-tom fel-lista betyder att priset inte går att lita på, även om det finns ett tal i pris_kr.
  • satser_version följer med varje svar. Ändras timpriser eller påslag höjs räknaren, och samma fråga ger ett annat pris. Ska ett lämnat pris vara bindande måste svaret sparas tillsammans med sin version.
  • Utan maskin räknas båda pressarna och den billigaste returneras; jamforelse visar båda.
Etikettexperten
Etikettexperten

Fråga om material och lim, val mellan maskinerna, stansning och avgitring, eller om den kalkyl du har uppe just nu.

Med Skicka med kalkylen påslaget följer vald maskin, stans, material och pris med frågan — annars svarar jag allmänt.

Enter skickar · Skift + Enter ger ny rad
Svaren kommer från Gemini 2.5 Flash och kan bli fel. Stäm av mot era egna material- och stansuppgifter innan något går vidare till kund.

Andra agenter — iBrain, Gemini Enterprise — kan fråga Etikettexperten om pris, material, stansar och lager. Det är samma expert som svarar i AI-fliken, samma kalkyl och samma register; bara vägen in är en annan.

Dynamiska påslag

Testlabb. Påslagen följer jobbets totala banlängd: korta serier bär mer, långa mindre. Kalkylen påverkas inte, och ingenting sparas.

Laddar… Självkostnad – · konstant i hela simuleringen
Dagens pris · fasta påslag
–
–
Simulerat · –
–
–
Skillnad
–
–
m
Gränser 25 · 150–300 · 500 m

Under min-gränsen gäller topppåslaget rakt av, över max-gränsen det lägsta. Däremellan glider det linjärt.

Påslag per post +35 % kort · −25 % långt
+35 %
−25 %

Två reglage i stället för tjugofyra rutor. Baspåslagen sätts i Inställningar → Påslag per post — inte här. Två ställen att sätta samma påslag på blir förr eller senare två olika sanningar. Behöver en enskild post avvika, skriv över den i tabellen; den märks då med en prick och följer inte längre reglagen. Töm rutan för att lämna tillbaka posten till reglagen.

Post Självkostnad Vid min Bas Vid max Nu

Poster utan kostnad i det här jobbet är nedtonade. Baskolumnen är låst och speglar husets satser i Inställningar — ändrar du ett baspåslag där slår det igenom här vid nästa ritning. En enskild orders avvikelse räknas inte in; labbet prövar husets modell, inte ett jobb någon redan rabatterat.

Styckepris över banlängd

Vad en etikett kostar kunden vid olika banlängder, med det här jobbets kostnader. Det enda som rör sig är påslaget.

Påslaget bakom kurvan

Samma x-axel. Vägt snitt över alla poster, i procent av självkostnaden.

Sifferunderlag kurvan som tabell
Banlängd Zon Vägt påslag Styckepris Utpris Mot idag
Utkast. Kronorna per löpmeter och timkostnaden för produktion bör stämmas av mot avtal och verkliga jobb innan modellen används skarpt.
Emballage, hylsor och frakt ingår inte i kalkylen.
Version 2026-09-29.06 · Produktionsbygge
📐 Bläddra efter stans
Filtrera bland stansarna i registret
🔍
Form:
Bana:
Spår:
Sortera:
Visar 0 stansar