Flyt brugerrettet indholdsgenerering til Codex CLI, forbedr mobilflowet og ret CI-miljøets afhængigheder og testkonfiguration.
27 KiB
Status: tilbud på udskiftning af betontag, Røsevangen 44
Dato: 10. august 2026
Tilbudsgiver-projekt: 392
Kundereference: Ordrestyring kundenr. 3352
Status: review_pending — kladden er ikke sendt til Ordrestyring
Platformens nordstjerne og tømrer-mode
Tilbudsgivers vigtigste opgave er, at en tømrer på mobil hos kunden hurtigt kan registrere kunde, besigtigelse og omfang, få et fagligt brugbart tilbudsudkast, kontrollere økonomien og gøre tilbuddet klar til kunden uden efterfølgende dobbeltindtastning på kontoret.
Den faste metode er dokumenteret i Månedlig tømrergennemgang af hele Tilbudsgiver.
| Tømrer-mode tracking | Aktuel status |
|---|---|
| Seneste tekniske P0/P1-kontrol | 10. august 2026 |
| Seneste tidsmålte mobilkontrol (del-flow) | 10. august 2026 — kendt projekt genoptaget på 390 × 844 px |
| Tid til kunde valgt/oprettet | 0,16 sek. til kendt kunde/projekt valgt |
| Tid til smart tilbudsudkast | 5,06 sek. til gemt smart udkast indlæst |
| Tid til kontrolleret pris | 5,07 sek. til 177.781,60 kr. synlig og kontrollerbar |
| Tid til kundeklar PDF | 6,19 sek. til ny PDF genereret |
| Foreløbigt mål | Højst 10 minutter til et kontrollerbart tilbudsudkast for kendt kunde og almindelig opgave |
| Næste samlede månedskontrol | 10. september 2026 |
| Samlet platformsvurdering | KERNEFLOW BESTÅET / HELHED IKKE BESTÅET — kendt projekt til PDF er tidsmålt og grønt på mobil; nyt projekt, fysisk besigtigelse og alle øvrige platformssider mangler stadig samme fulde kontrol |
Ved hver fremtidig kontrol opdateres tiderne, enhed/skærmstørrelse, antal dobbeltindtastninger, største flaskehals og resultatet BESTÅET eller IKKE BESTÅET. Hvis et P2/P3-punkt viser sig at blokere feltflowet, flyttes det straks til P0 eller P1.
Fast regel for smartpakker
Tømreren skal hos kunden kunne indtaste mål og vælge én komplet smartpakke, eksempelvis “Komplet tagskift — betontag”. Pakken leverer materialer, opgaver, timer, byggepladsydelser, forbehold og projektgrundlag. AI må kun skrive tilbudsopstillingen fra disse faktalåste data; tømreren kontrollerer, godkender og afsender.
Er en smartpakke generelt utilstrækkelig inden for sit anvendelsesområde, udvides og testes den. Er konstruktionen eller arbejdsmetoden reelt anderledes, oprettes en ny pakke. Alle materialelinjer skal kobles til rigtige materialer i materialedatabasen via materiale-id eller varenummer; fritekst og placeholders må ikke godkendes.
Resultat
Der er oprettet en realistisk, men foreløbig tilbudskladde for komplet udskiftning af eksisterende betontagsten på Røsevangen 44, 3520 Farum.
Kundevendt pris efter den fælles, gemte økonomimodel:
| Post | Beløb ekskl. moms |
|---|---|
| Materialer og øvrige ydelser | 44.981,80 kr. |
| Stillads og kollektiv faldsikring | 14.000,00 kr. |
| Arbejde, 76 timer á 580 kr. | 44.080,00 kr. |
| Direkte subtotal | 103.061,80 kr. |
| Overhead, 15 % | 15.459,27 kr. |
| Dækningsbidrag, 20 % | 23.704,21 kr. |
| Pris ekskl. moms | 142.225,28 kr. |
| Moms, 25 % | 35.556,32 kr. |
| Tilbudspris inkl. moms | 177.781,60 kr. |
Prisen svarer til ca. 2.566 kr./m² tagflade inkl. moms. Den er egnet som internt budget og kundekladde, men bør ikke afgives som bindende fast pris før fysisk opmåling og fotodokumentation.
PDF-kladden er regenereret i Tilbud_Roesevangen_44_betontag_2026-08-10.pdf. Den er verificeret som en rå, læsbar A4-PDF på 9 sider med korrekte kunde-/projektfelter, materialenheder, tagbeklædningsareal, fælles økonomioversigt og uden de tidligere ikke-valgte asbest-/sternarbejder. Den er fortsat kun til internt review, indtil den fysiske besigtigelse er gennemført.
Besigtigelsesgrundlag og observationer
- Offentlige ejendomsdata beskriver adressen som et række-/kæde-/dobbelthus fra 1971 med betontagsten. Registreret bebygget areal for hovedbygningen er ca. 60 m². Kilder: DinGeo og Boligsiden.
- Foreløbig geometri er sat til sadeltag, 6,0 × 10,0 m og 30° hældning. Tilbudsgiver beregner 69,28 m² tagflade, 10 m rygning og 1,73 m fra stern til kip.
- Der er regnet med to tømrere og 76 timer i alt, svarende til ca. 38 timer pr. mand.
- Omfanget indeholder nedtagning og sortering, container/bortskaffelse, kontrol og mindre opretning, nyt diffusionsåbent undertag, kontra- og taglægter, nye betontagsten, fastgørelser, ventileret rygning, tagfod, skelovergang, mindre inddækninger, stillads, kranlevering og oprydning.
- Rækkehuset kræver særlig kontrol af skelovergang til nabotag samt aftale om adgang og eventuel berøring af naboens tag.
- Kran og stillads er forudsat placeret fra vej/indkørsel. Behov for vejmyndighedstilladelse, trafikafmærkning eller alternativ adgang er ikke medregnet.
- Tagrender, nedløb, skorsten, ovenlys, kviste og øvrige gennembrydninger er ikke registreret. De skal optælles på stedet.
- Skjult råd, svamp, spærskader, større opretning og konstruktive ændringer er ikke medregnet.
- Miljøfarlige stoffer kan ikke afgøres ud fra alder eller BBR. Eventuel miljøscreening og sanering skal håndteres som særskilt afklaring; betontagsten må ikke automatisk behandles som asbestaffald.
- Farve, producent, model, overflade og garantisystem for de nye betontagsten skal godkendes af kunden før bestilling.
Brug af historiske Ordrestyring-data
- Kunden findes som dublet: kundenr. 3352 har den korrekte adresse i Farum, mens kundenr. 3364 har samme vej/husnummer registreret i Køge. Projektet er koblet til 3352.
- Kundesøgningen markerer nu kundenr. 3352 og 3364 som mulige dubletter og kræver et aktivt valg af kundenummer/postadresse.
- Ingen af kundekortene har egne kompatible betontagssager. Historik bruges derfor ikke automatisk som pris- eller timegrundlag for projekt 392.
- Sag 2442, “betontegl til b&c 30”, har 374,5 registrerede timer og 144 materialelinjer. Sagen er langt større/anderledes og kan ikke skaleres direkte til dette tag.
- Historikfilteret fravælger nu 80 ikke-kompatible kandidater, herunder testsimulationer, 4000-adresser, B7/tegl/tagpap og ikke-tagarbejde. Der returneres 0 automatiske matches frem for at give falsk høj confidence.
- Ordrestyrings materialebeløb normaliseres fra øre til kroner ved integrationsgrænsen og returneres med
currency: DKK,minorUnit: 100, råt minor-beløb og normaliseret beløb.
Forbehold før et bindende tilbud
- Kontrolmål bredde, længde, hældning, udhæng, rygning, tagfod og samlet tagflade.
- Tag fotos af begge tagflader, tagfod, rygning, skelovergang, inddækninger, loftsrum og adgangsvej.
- Kontroller undertagets type og stand fra loft eller prøveåbning.
- Kontroller spær, lægter, stern/vindskeder og synlige tegn på fugt, råd eller skævheder.
- Optæl gennembrydninger, hætter, ovenlys, skorstene, tagrender og nedløb.
- Afklar om tagrender/nedløb, stern og vindskeder skal udskiftes eller genbruges.
- Afklar skel-/naboløsning skriftligt, før arbejdet planlægges.
- Indhent aktuelle leverandørpriser på den valgte betontagsten og systemspecifikt tilbehør.
- Indhent fast pris på stillads, container, affaldsmodtagelse og kranlevering.
- Afklar miljøscreening ud fra de faktiske eksisterende materialer.
Mulige forbedringer i Tilbudsgiver
P0 — skal løses før tilbud sendes
Løsningsstatus 10. august 2026: De fem P0-punkter er løst i kode og verificeret i drift efter genstart af PM2-processen. Projekt 392 er genberegnet som beregning 101, og PDF-kladden er regenereret gennem det aktive API-endpoint.
| P0 | Status | Implementeret kontrol |
|---|---|---|
| Fælles økonomimodel | ✅ Løst | Backend gemmer én versioneret model med 15 % overhead, 20 % dækningsbidrag og 25 % moms. Final Review, tilbudstekst, PDF og Ordrestyring bruger samme beregningsobjekt. |
| Labor efter reload | ✅ Løst | Labor-API'et returnerer ét objekt; frontend normaliserer kontrakten og gendanner opgaver/timer i packageData. Browser-reload er dækket af Playwright. |
| Rå PDF-data | ✅ Løst | Puppeteer-data konverteres til Buffer, og responsen valideres for %PDF- før den sendes som application/pdf. |
| Transparent PDF-regnestykke | ✅ Løst | PDF'en viser materialer, udlejning/øvrige ydelser, arbejdsløn, direkte subtotal, overhead, dækningsbidrag, pris ekskl. moms, moms og total. |
| Faktalåst PDF | ✅ Løst | Arbejdsomfang dannes kun fra projektbeskrivelsen, valgte opgaver/materialer/udlejning og eksplicitte forbehold. |
Testresultat: Backend: 33 suites / 159 tests bestået. Frontend: 4 suites / 9 tests bestået. Playwright: labor-reload 1/1 bestået. Frontend production build: bestået. Live-kontrol: labor returnerer ét objekt med 76 timer; PDF-endpointet returnerer application/pdf med %PDF-; gemt total og PDF-total er begge 177.781,60 kr.; stillads vises særskilt; faktalås bestået.
- Én fælles økonomimodel. Backend-beregningen viser 177.781,61 kr. inkl. moms, mens Final Review og PDF viser 141.174,70 kr. Forskellen på 36.606,91 kr. skyldes, at backend bruger 15 % overhead plus 20 % dækningsbidrag, mens Final Review bruger 20 % på materialer og 2 % på timer uden overhead. Beregning, review, tilbudstekst, PDF og Ordrestyring-payload skal bruge samme gemte beregning.
- Arbejdsløn forsvinder ved genindlæsning. Labor-API'et returnerer ét objekt, men
ProjectFlowtesterlaborData.labor.length > 0som om værdien var et array. Final Review viste derfor 0 timer efter genindlæsning, selv om databasen indeholdt 76 timer. Labor skal normaliseres til én kontrakt og dækkes af en reload-E2E-test. - PDF-download returnerer ikke rå PDF-data. Puppeteer returnerer en
Uint8Array, som Express serialiserer til et JSON-objekt med byteindekser. Browseren gemmer derfor oprindeligt ugyldig JSON med.pdf-endelse. Konverter tilBuffer.from(pdfBuffer)førres.send, og test%PDF--signatur samtContent-Type: application/pdf. - PDF'ens regnestykke er ikke transparent. Den viser materialer 44.981,80 kr. og arbejde 44.080,00 kr., men subtotal 103.061,80 kr. uden at vise stillads på 14.000,00 kr. Den viser heller ikke avancen på 9.877,96 kr.; de viste subtotal- og momslinjer kan derfor ikke summeres til totalen.
- PDF tilfører ikke-valgte arbejder. Skabelonen skriver bl.a. ansøgning om asbest-anvisningsplads samt udskiftning af stern/vindskeder, selv om det ikke er valgt. PDF-generering skal være faktalåst til projektets poster og forbehold.
P1 — høj prioritet
Løsningsstatus 10. august 2026: P1-punkterne 6–13 og P1-SP1 er løst, testet og verificeret i drift. Projekt 392 er genberegnet med roof_covering_area = 69,28 m² som eksplicit prisgrundlag, og den aktive anbefaling er betontag_renovering.
| P1 | Status | Implementeret kontrol |
|---|---|---|
| PDF-felter, opgavenavn og enheder | ✅ Løst | PDF viser Røsevangen 44, kundenr. 3352, særskilt opgavenavn/beskrivelse og de oprindelige enheder m², lbm og sum. |
| Særskilt betontagspakke | ✅ Løst | Ny pakke med betontagsten/Dobbelt-S, undertag, afstandslister, producentafhængige taglægter, bindere, ventileret rygning og tagfod. |
| Filtreret historik | ✅ Løst | Test/simulering, forkert postnummer/vejadresse, ikke-tagarbejde og inkompatible tag-/pakketyper fravælges med årsager i excludedMatches. |
| Ordrestyring-prisenheder | ✅ Løst | Øre normaliseres til kroner ved grænsen; API-kontrakten indeholder amount, currency, minorUnit og minorAmount. |
| Tagareal som prisgrundlag | ✅ Løst | Beregning, breakdown, Final Review og PDF bruger og mærker 69,28 m² som “Tagbeklædningsareal (prisgrundlag)”. |
| Kunde-dubletter | ✅ Løst | Ens normaliseret navn + vej/husnummer markeres; afvigende postnr./by kræver radiovalg og eksplicit bekræftelse. |
| P1-SP1 Smartpakke-integritet | ✅ Løst og verificeret | 419 aktive katalogposter er klassificeret og verificeret: 5 komplette tagpakker og 414 service-/udlejningsposter. Alle 38 aktive faglige materialelinjer har materiale-id og varenummer. 40 uverificerede legacy-delpakker er bevaret, men reversibelt arkiveret som blocked; auditten viser 0 aktive integritetsbrud. |
Smartpakke-verifikation: API'et afviser en komplet pakke med fritekstmateriale med HTTP 400. Alle fem tagpakker beregner 4–9 databasekoblede materialer og 51,96–83,14 timer ved 69,28 m²; betontag giver 9 materialer og 76,21 timer. integrity-report viser 419 aktive/verificerede katalogposter, 38 af 38 aktive faglige linjer med materiale-id og varenummer samt 0 violations. Backend: 36 suites / 176 tests bestået. Frontend: 7 suites / 16 tests bestået. Production build og månedligt mobilflow 1/1 bestået; slutmålingen var 6,18 sekunder fra kendt projekt til PDF på 390 × 844 px.
- Korrekte kunde- og projektfelter i PDF. PDF'en viser “Kunde adresse” i stedet for Røsevangen 44 og bruger projekt-id 392 som kundenummer. Final Review skal sende kundeadresse og kundenr. 3352 til PDF-servicen.
- Bevar opgavenavn og beskrivelse. PDF'en bruger opgavebeskrivelsen som opgavenavn, fx “Ca. 69,3 m² tagflade”, i stedet for “Montering af nye betontagsten og fastgørelse”.
- Bevar materialenheder. PDF'en viser alle materialer som “stk/enhed”, selv når appen har m², lbm eller sum.
- Betonsten er ikke vingetegl. Smart-pakken “Tegltag Renovering” opretter “Tegl vingetagsten”. Tilføj en særskilt pakke til betontagsten med relevante stentyper, lægteafstand, bindere, rygning og tagfod.
- Historik skal filtrere testdata. Anbefalingen med høj confidence valgte projektet “TEST – Komplet tagrenovering” og viste gamle simulationer med 4000 Roskilde. Testkunder, simulationer, forkert adresse og inkompatibel tagtype skal udelukkes eller markeres tydeligt.
- Pris-enheder fra Ordrestyring. Konverter øre til kroner ved integrationsgrænsen og returnér altid
currency,minorUnitog normaliseret beløb. Det aktuelle materialetotalfelt kan ellers læses som 29.171.529 kr. i stedet for 291.715,29 kr. - Tagareal som prisgrundlag. Backend gemmer
total_area = 60som grundareal og beregner 2.963 kr./m², selv om arbejdet udføres på 69,28 m² tagflade. Pris pr. m² skal mærkes og beregnes påroof_covering_areafor tagarbejde. - Kunde-dubletter. Tilføj dubletadvarsel på navn + vej/husnummer og kræv aktivt valg, når postnr./by er forskellige.
P2 — arbejdsgang og kvalitet
- Ny mobil besigtigelse uden eksisterende sag. “Mobil Ordre” kan kun starte fra en eksisterende Ordrestyring-sag. En tømrer hos en ny kunde bør kunne oprette en lokal besigtigelse fra kunde/adresse og senere koble den til en sag.
- Tag-specifik feltcheckliste. Tilføj obligatoriske felter for tagflader, skel/nabo, rygning, tagfod, gennembrydninger, tagrender/nedløb, adgang, stilladszone, kran, loftsadgang, undertag, træskader, miljøscreening og fotos.
- Foreløbig kontra opmålt status. Mål og priser bør have kilde (
BBR, visuelt skøn, fysisk opmålt, leverandørtilbud) og sikkerhedsniveau. Fast-pris-knappen bør blokeres, hvis kritiske mål stadig er foreløbige. - Komplet pakkekontrol. Tømreren skal kunne vælge én komplet pakke til opgaven. En standard tagpakke skal advare om manglende stillads, affald, transport/kran, tagfod, fastgørelse, rygning, inddækninger og slutkontrol. En generel mangel udvider grundpakken; en fagligt anden løsning får en ny pakke.
- Prislistens friskhed. Final Review viser, at Stark-prislisten senest er importeret 26. november 2025. Kræv genbekræftelse eller leverandørtilbud, før en fast pris kan markeres klar.
- Kortere kundepdf. Den aktuelle PDF bruger ni sider og gentager materiale- og standardtekst pr. opgave. Et normalt tagtilbud bør kunne præsenteres på 2–4 sider med samlet omfang, tydelige fravalg, hovedposter og én økonomioversigt.
- Automatisk PDF-kvalitetskontrol. Test at kundenavn, adresse, kundenummer, tagareal, timer, alle prisdele, avance, moms og total findes og summerer korrekt, og at PDF'en ikke indeholder ydelser, der mangler i input.
Mobil UX-bølge, 11. august 2026: Besigtigelsesvisningen starter nu med et aktivt valg mellem “Nyt tilbud” og en eksisterende Ordrestyring-sag; første historiske sag vælges ikke længere automatisk. Når en sag er valgt på mobil, skjules den lange sagliste, og tømreren får en fokuseret arbejdsflade med “Skift sag”, store ja/nej-knapper, én fast handlingsbjælke og sekundær historik samlet i et sammenklappeligt panel. Billeder er fremhævet som næste felttrin, og knappen “Nyt tilbud” fører direkte til projektflowet for ny kunde eller ny opgave.
Den målrettede kontrol fjernede samtidig dobbeltindtastning af tagareal: et påkrævet checklistespørgsmål i m² og feltets beregningsareal behandles nu som samme værdi og gemmes fortsat i begge nødvendige datadele. Frontend-testen dækker denne deduplikering. Production build og målrettede tests bestod; Playwright-kontrol på 390 × 844 px viste 0 px vandret overflow, 23 synlige primære kontroller og 0 kontroller under 44 × 44 px. Der blev ikke skrevet til en kundesag under browserkontrollen. P2-punkterne om fuld ny mobilbesigtigelse og offline/ustabil forbindelse er fortsat åbne, indtil et rigtigt feltforsøg er gennemført.
Codex CLI-migrering, 13. august 2026: Alle indholdsgenererende Platform API-kald er fjernet fra den aktive backendkode. Tilbudskladde, ældre tilbudsruter, tilbudsrevision, timeestimat, OCR-klassificering, dokument-parsing, generel projekttekst og SmartPakke-validering bruger nu den lokalt autentificerede codex exec-runner i read-only sandbox. OpenAI-administration og forbrugsvisning er bevaret som read-only API-funktioner. Tilbudskladden har fortsat faktalås og deterministisk fallback, mens Codex-fejl ikke falder tilbage til et betalt Platform-kald.
Verifikation: 18 målrettede Jest-tests og hele backendpakken med 38 suites / 187 tests bestod. En rigtig CLI-smoketest blev kørt med syntetiske tømrerdata for otte tekst- og JSON-flows. Første kørsel afdækkede, at Codex kræver et strengt output-schema; schemaet blev rettet, og OCR-klassificering, timeestimat og dokument-parsing bestod derefter med provider: codex-cli. Kildesøgning viser ingen resterende chat.completions.create eller responses.create i aktiv backendkode uden for tests og genererede coverage-filer. PM2-processen tilbudgivern-unified er genstartet, og /api/health/quick svarer grønt på port 4032.
Den metodiske gennemgang af samtlige pakker er beskrevet i Plan for gennemgang af alle smartpakker. Første bølge er komplette tagskiftspakker med betontag som reference; derefter tegl, B7, ståltag og tagpap.
P3 — løbende optimering og produktudvikling
P3 forbedrer hastighed, intelligens og kundeoplevelse, når det korrekte kerneflow fungerer. Statuslegende: ⬜ Planlagt, 🟡 I gang, ✅ Løst og verificeret, ⛔ Blokeret. Ejer og måldato skal udfyldes, når et punkt flyttes til 🟡 I gang.
Fase P3-A — mål først
Formål: Etablér en baseline, så forbedringer måles på tømrerens faktiske tid og arbejde frem for antal nye funktioner.
| ID | Initiativ | Status | Ejer | Måldato | Beståelseskriterium |
|---|---|---|---|---|---|
| 21 | Mål tiden til tilbud | ✅ Løst og verificeret | Platform | 10. august 2026 | Tidspunkter for projektstart, smart udkast, Final Review, PDF og klar til afsendelse kan rapporteres uden at gemme følsomt fritekstindhold. |
| 22 | Kontekstbaseret feedback | ✅ Løst og verificeret | Platform | 10. august 2026 | Tømreren kan sende en kort kommentar, mens side, projekttrin og teknisk kontekst vedlægges automatisk. |
| 35 | Ydelsesbudget | ✅ Løst og verificeret | Platform | 10. august 2026 | Der findes mål og automatiske kontroller for mobil indlæsningstid, API-svartid og gemmetid. |
| 40 | Månedligt produktscorekort | ✅ Løst og verificeret | Platform | 10. august 2026 | Rapporten viser tid til tilbud, færdiggørelsesgrad, manuelle rettelser, genåbninger, PDF-fejl og tømrerfeedback måned for måned. |
P3-A hurtig bølge, 10. august 2026: Flowet registrerer nu projektstart, kunde klar, geometri klar, smart udkast, Final Review, PDF og klar til afsendelse. Målingerne bruger kun tekniske id'er, tider, viewport og en allowlistet kilde; kundeoplysninger og fritekst gemmes ikke. Feedback-dialogen vedhæfter automatisk side, projekt-id, trin, URL uden query-parametre og skærmstørrelse. Ydelsesbudgetterne er 3.000 ms for mobil indlæsning, 1.000 ms for API-svar og 1.500 ms for gemmeoperationer.
Produktscorekortet er tilgængeligt på /api/product-telemetry/scorecard?days=30 og viser flowtider, PDF-/afsendelsesgrad, feedback, mobil indlæsning, API-/gemmeydelse, genåbninger, manuelle rettelser og PDF-fejl som samlet periode og månedsserie. Teknisk dokumentation og live-bevis findes i P3-A hurtig bølge, august 2026.
Verifikation: Backend 35 suites / 170 tests bestået; frontend 8 suites / 17 tests bestået; production build bestået; Playwright feedback-flow 1/1 bestået. Live-API'en gemte og rapporterede et kontrolleret mobilflow med alle seks milepæle samt en mobil indlæsning på 850 ms. En test afdækkede undervejs en dubletmåling ved en milepæl på præcis 0 ms; deduplikeringen blev rettet og regressionstestet.
Fase P3-B — hurtigere feltarbejde
Formål: Fjern dobbeltindtastning og gør kundebesøget robust på almindelig mobil og ustabil forbindelse.
| ID | Initiativ | Status | Ejer | Måldato | Beståelseskriterium |
|---|---|---|---|---|---|
| 23 | Tale til besigtigelsesnoter | ⬜ Planlagt | Ikke tildelt | Ikke fastsat | Diktering bliver til et redigerbart struktureret udkast, og intet anvendes uden tømrerens godkendelse. |
| 25 | Offline og dårlig forbindelse | ⬜ Planlagt | Ikke tildelt | Ikke fastsat | Kunde, mål og noter bevares offline og synkroniseres uden dubletter eller datatab. |
| 33 | Personlige standardvalg | ⬜ Planlagt | Ikke tildelt | Ikke fastsat | Godkendte præferencer for timepris, leverandør, standardopgaver og forbehold kan genbruges og ændres pr. projekt. |
| 34 | Mobil tilgængelighed | ✅ Løst og verificeret | Platform | 10. august 2026 | Hovedflowet fungerer med én hånd, store trykflader, tydelig kontrast og uden hover-afhængige handlinger. |
| 37 | Genbrug af besigtigelse | ⬜ Planlagt | Ikke tildelt | Ikke fastsat | Mål, fotos og noter kan genbruges i en tilbudsrevision uden manuel kopiering. |
Fase P3-C — smartere forslag med faglig kontrol
Formål: Systemet skal spare tid med relevante forslag uden at opfinde fakta, arbejde eller priser.
| ID | Initiativ | Status | Ejer | Måldato | Beståelseskriterium |
|---|---|---|---|---|---|
| 24 | Fotobaseret kladdehjælp | ⬜ Planlagt | Ikke tildelt | Ikke fastsat | Fotos giver tydeligt markerede forslag til synlige forhold; forslag kan afvises og behandles aldrig som fysisk opmålte fakta. |
| 26 | Læring fra godkendte tilbud | ⬜ Planlagt | Ikke tildelt | Ikke fastsat | Kun afsluttede, fagligt godkendte projekter indgår; test, simulation og afviste forslag er udelukket. |
| 32 | Leverandør- og prisautomatik | ⬜ Planlagt | Ikke tildelt | Ikke fastsat | Alle priser viser kilde og alder, og gamle priser kræver genbekræftelse før fast tilbud. |
| 38 | Kvalitetsscore før afsendelse | ⬜ Planlagt | Ikke tildelt | Ikke fastsat | Manglende mål, gamle priser, ukendte materialer og uløste forbehold vises som konkrete handlinger med forklaring. |
Fase P3-D — kundeklar tilbudsoplevelse
Formål: Gør det hurtigt at præsentere, revidere, godkende og følge op på tilbuddet.
| ID | Initiativ | Status | Ejer | Måldato | Beståelseskriterium |
|---|---|---|---|---|---|
| 27 | Hurtige tilbudsvarianter | ⬜ Planlagt | Ikke tildelt | Ikke fastsat | Basis, anbefalet og premium kan dannes fra samme besigtigelse med synlige forskelle og uden projektduplikering. |
| 28 | Versionshistorik og forskelle | ⬜ Planlagt | Ikke tildelt | Ikke fastsat | Ændringer i materialer, timer, forbehold og total kan sammenlignes mellem alle kundevendte versioner. |
| 29 | Digital kundegodkendelse | ⬜ Planlagt | Ikke tildelt | Ikke fastsat | Kunden accepterer en entydig tilbudsversion med tidspunkt og accepterede forbehold. |
| 30 | Automatisk opfølgning | ⬜ Planlagt | Ikke tildelt | Ikke fastsat | Påmindelser kan konfigureres, stoppes ved svar og sendes aldrig uden synligt samtykke/opsætning. |
| 36 | Kundevenligt tilbudslink | ⬜ Planlagt | Ikke tildelt | Ikke fastsat | Kunden kan læse tilbud, valgmuligheder, billeder, pris og forbehold på mobil uden at downloade PDF. |
Fase P3-E — fra tilbud til udførelse
Formål: Genbrug godkendte data sikkert videre i driften og bevar et revisionsspor.
| ID | Initiativ | Status | Ejer | Måldato | Beståelseskriterium |
|---|---|---|---|---|---|
| 31 | Fra accepteret tilbud til planlægning | ⬜ Planlagt | Ikke tildelt | Ikke fastsat | Et accepteret tilbud kan oprette arbejdssag, materialebehov og foreløbig bemanding uden genindtastning og med aktiv godkendelse. |
| 39 | Revisionsspor | ⬜ Planlagt | Ikke tildelt | Ikke fastsat | Systemet registrerer hvem der ændrede kunde, priser, timer, avance, forbehold og status samt hvornår. |
P3-gennemførelsesplan
- ✅ Etablér P3-A-målinger, feedback og ydelsesbudgetter, så feltforsøget kan registreres automatisk.
- ✅ Kør det tidsmålte mobile genoptagelsesflow og registrér baseline i en månedsrapport.
- ✅ Færdiggør P3-40 med manuelle rettelser, genåbninger, PDF-fejl og månedlig udvikling.
- Kør næste mobile feltforsøg fra helt ny kunde og fysisk besigtigelse; prioritér derefter P3-B efter de observerede flaskehalse.
- Implementér P3-C med faktalås, sporbar kilde og aktiv tømrerbekræftelse som faste krav.
- Implementér P3-D, når hovedflow og målinger er stabile.
- Implementér P3-E efter kundegodkendelse og versionsstyring er på plads.
- Tag højst ét større initiativ i gang pr. fase ad gangen, løs og verificér det, og opdatér denne tabel ved hver ændring.
- Ved hver månedskontrol revurderes prioritet, ejer, måldato, status og beståelseskriterium.
Anbefalet næste handling
Platform: Gennemfør næste tømrer-mode-feltforsøg fra helt ny kunde gennem fysisk besigtigelse på mobil via den nye “Nyt tilbud”-indgang. August-rapportens kendte-projekt-baseline og den første mobile UX-bølge er oprettet; næste kontrol skal især måle resterende manuel indtastning, offline-risiko og den åbne P2-checkliste.
Projekt 392: Behold projektet i review. Gennemfør fysisk besigtigelse, kontrolmål og fotodokumentation, og indhent aktuelle leverandør-/stilladspriser. Opdatér derefter de faktiske poster, regenerér PDF'en og udfør en sidste manuel kontrol, før tilbuddet markeres “Klar til Ordrestyring”.