FoodOS · inköpsläge V5

En lista som följer riktiga butiker och priser.

Butiksväljaren läser FoodOS retail catalog, val sparas lokalt, avprickning fungerar offline och verifierade pris-snapshots kan slå igenom direkt i kassen.

Status

Läser lokal lista

Startar

Kampanjkasse

276,00 kr

Ordinarie 411,00 kr

Besparing

135,00 kr

33% rabatt totalt

Kvar

276,00 kr

9 varor kvar · 0% klart

Prisdata

0/9

0 verifierade snapshots

Databasbutiker

Butikskatalog startar

Visar max 30 träffar. Sök för att hitta rätt butik när hela kedjeimporten fylls på.

Sync & trygghet

Listan fungerar lokalt utan konto. Inloggad användare kan spara till Supabase och hämta samma lista på annan enhet.

Inte synkad ännu

Hemköp Gnesta

Databasbutik. Butiksgångar använder kedjans layoutmall tills full butiksplan importeras.

Hemköp · Adress saknas

Avprickat

0%

Frukt & grönt

Gång 1 · fruktbord

Spara 17,00 kr

Bröd

Gång 2 · bröd

Spara 10,00 kr

Mejeri

Gång 3 · mejeri

Spara 11,00 kr

Kött, fisk & protein

Gång 4 · kyckling

Spara 40,00 kr

Torrvaror

Gång 5 · pasta & ris

Spara 25,00 kr

Konserver & skafferi

Gång 6 · konserver

Spara 21,00 kr

Frys

Frys · grönsaker

Spara 11,00 kr

FoodOS receptmotor

Recept som räknar kronor, procent och portion direkt.

Recepten använder verifierade FoodOS-prissnapshots när de finns och faller tillbaka per ingrediens. Användaren ser både vad det kostar att köpa allt och vad receptet faktiskt förbrukar per portion.

Recept laddas

FoodOS förbereder kostnad per portion.

FoodOS veckokasse · shared packages

En inköpslista för hela veckan, inte sju separata recept.

FoodOS slår ihop ingredienser med samma JAN/EAN, köper hela förpackningar en gång och visar vad som blir kvar. Det ger en mer ärlig budget än att räkna varje recept för sig.

Aktiv inköpslista

Ingen inköpslista skapad ännu.

Kvar att plocka: 0,00 kr

AI-förklaring

Snåla veckan · full

Fyra måltider per dag. En gemensam budget.

FoodOS räknar 7 frukostar, 7 luncher, 7 middagar och 7 mellanmål, återanvänder samma förpackningar över hela veckan och visar direkt om 500 kr håller.

Snåla veckan · matlådor

Middag blir lunch – och butiksstopp väljs bara när de lönar sig.

FoodOS skalar upp middagsrecepten till matlådor, drar bort det som finns hemma och kan därefter jämföra trusted butikspriser innan aktiv lista sparas.

Gå till aktiv lista

Matlådesäkerhet

Kyl, frys och följ matlådan hela vägen.

FoodOS planerar snabb avsvalning, kyl runt 4 °C och infrysning när en matlåda ligger längre fram. Sparad status synkas per aktiv lista: planerad, lagrad, äten eller kasserad.

Synkad status

Aktuell aktiv lista

Åtgärda 0 · lagrade 0 · ätna 0 · kasserade 0

Ingen sparad säkerhetsplan hittades ännu. Synka planen ovan för att kunna följa status mellan enheter.

Matlådepåminnelser

Tider som följer samma synkade matlådor.

FoodOS sparar reminder-underlag för lagring efter middag och planerad lunch. Det är ett synkbart underlag för appnotiser senare, inte en garanti för livsmedelssäkerhet.

Full vecka → aktiv lista

Gör hela Snåla veckan handlingsbar i butik.

Knappen räknar om fullveckan på servern, drar av det som redan finns hemma, jämför extra butiker när store-aware är aktivt och sparar allt i samma shopping-list-tabeller.

Gå till aktiv lista

Full vecka · store-aware

Låt hela veckan välja butik – men bara när stoppet lönar sig.

FoodOS räknar 28 måltider, drar av pantry, jämför samma JAN/EAN över trusted butikspriser och sparar en aktiv lista där varje vara vet om den hör till huvudbutik eller extra stopp.

Gå till aktiv lista

FoodOS pantry · jag har hemma

Dra av det kunden redan har hemma innan inköpslistan synkas.

Pantry sparar basvaror med JAN/EAN, plats och hur stor del av förpackningen som finns kvar. När veckokassen synkas kan servern räkna om kassan och ta bort sådant som redan finns hemma.

Mejeri

Grekisk yoghurt

JAN/EAN 7300000000042

Kyl

Torrvaror

Pasta

JAN/EAN 7300000000066

Skafferi

Torrvaror

Ris

JAN/EAN 7300000000073

Skafferi

Konserver & skafferi

Krossade tomater

JAN/EAN 7300000000080

Skafferi

Frys

Frysta grönsaker

JAN/EAN 7300000000097

Frys

Pantry-preview · före synk

Se vad du slipper köpa innan listan skapas.

FoodOS räknar samma veckokasse före och efter pantry. Previewen använder lokala “jag har hemma”-rader och visar hur mycket kassakostnaden sjunker innan aktiv inköpslista synkas.

Pantry-matchningar

Inga matchningar laddade ännu.

Lokal preview · servern räknar om vid sync

Inget pantry-avdrag ännu

Lägg till varor i Pantry eller tryck “Fyll test-pantry”. När JAN/EAN matchar veckokassen visas avdraget här.

FoodOS butiksmart optimering

Flera butiker bara när sparandet är värt stoppet.

FoodOS utgår från vald butik/kedja, jämför varje JAN/EAN mot trusted snapshots och flyttar bara varor när en extra butik passerar både spartröskel och stoppkostnad.

En butik räcker just nu

FoodOS hittade ingen extra butik som passerade spartröskeln. Användaren får en enklare handling utan onödiga stopp.

Veckokasse → aktiv lista

Gör AI-veckokassen till listan du handlar med.

Servern räknar om planen från registrerade priskällor, drar av det du har hemma och kan föreslå butiksstopp. Overifierade kundrapporter används inte.

Kasse

0,00 kr

Kvar budget

0,00 kr

Varor

0

Källa

Lokal fallback

Synkas till samma shopping-tabeller

Aktiv lista får JAN/EAN, avdelning, pris, avprickning och store-aware stop metadata per rad.

Ansluter

Aktiv-listan kan lyssna på Supabase Realtime.

När serverlistan finns prenumererar FoodOS på ändringar i listan och varuraderna. Vid Realtime-fel ligger interval/focus-refresh kvar som fallback, så synken fortsätter även i sämre nät.

Aktiv inköpslista · live sync

Handla i rätt ordning – även när nätet strular.

Den aktiva listan hämtas från FoodOS shopping-tabeller, grupperas per huvudbutik/extra stopp och uppdateras vid avprickning, fokus, synlighet, intervall, Realtime-signal och offline-replay.

Kasse

0,00 kr

Ordinarie 0,00 kr

Kvar att plocka

0,00 kr

0 varor kvar

Avprickat

0%

0/0 varor

Offline-kö

0

0 misslyckade · 0 totalt

Ingen fjärrändring ännu.

Ingen aktiv lista ännu

Skapa en veckokasse och tryck “Synka som aktiv lista”. Om du inte är inloggad kan panelen visa lokal veckokasse när en sådan finns sparad.

Prisrättelse · JAN/EAN-kontroll

Låt kunder rätta priser utan att fel data går rakt in.

Kunden anger kedja, butik, JAN/EAN, produktnamn och pris. FoodOS kontrollerar format, kontrollsiffra, prisrimlighet och skickar rapporten till granskning innan den kan bli verifierad prisdata.

Kedjor

5 aktiva

Butiksmål

2 578+ butiker

Fyll i pris, butik, produkt och JAN/EAN så gör FoodOS kontrollerna direkt.

Prisbevis · privat lagring

Lägg till kvitto, hyllkant eller produktbild.

Prisbevis laddas upp till en privat Supabase Storage-bucket. Kunden ser sina egna filer och Bynex/HQ kan granska dem via säkra tidsbegränsade länkar.

Bevisstatus

Skicka en prisrapport först. Sedan kan kunden lägga till hyllkant, kvitto eller produktbild som bevis.

OCR-kö · privat prisbevis

Förbered AI-läsning av kvitto och hyllkant.

Kön sparar bara kandidatfält och lägger nu även en säkerhetsspärr på varje fil. OCR-worker får inte behandla privat bevis förrän scanning är godkänd, och Bynex/HQ måste fortfarande verifiera allt.

Säker status

När prisbevis finns kan FoodOS förbereda OCR-kö för pris, produkt, butik och JAN/EAN.

Nästa worker-lager ska först uppdatera säkerhetsscanningen till clean. Därefter får OCR läsa filen internt och bara föreslå kandidatfält för HQ-diff.

Functional E2E

Fungerar kärnflödet i riktig runtime?

Den här panelen kör server-side no-store kontroller mot FoodOS API: butiker/priser, recept, veckokasse, fullvecka, matlådor, skyddade listor och alla fail-closed releaseytor.

Server-side · no-store

Kör testet när appen är öppen i rätt runtime. Vercel/browser-E2E är fortfarande separat och måste bli grönt innan release kan kallas 100% fungerande.

Functional E2E är ett runtime-självtest. Det ersätter inte inloggad tvåanvändar-E2E, riktig retailer-import, native/push eller final release approval.

Retailer ingestion

Prisimport får inte bli grön av misstag.

FoodOS kräver rättigheter, villkorsgranskning, färskhets-SLA, JAN/EAN-checksum och verifierad snapshot-output innan en kedja räknas som testklar.

Fail-closed · no-store

Nästa kritiska importåtgärder

  • Retailer ingestion API kunde inte läsas — behandla prisimport som blockerad.

Inga retailer-källor kunde läsas. Retailer ingestion API kunde inte läsas — behandla prisimport som blockerad.

Security fixtures

Staff/HQ och två kunder måste vara testade på riktigt.

FoodOS kräver aktiv staff-fixture, kund A, kund B, HQ-review, cross-user RLS-isolering, evidence access och pris-promotering innan säkerhetsdelen får bli grön.

Fail-closed · no-store

Staff fixture

Kund A

Kund B

HQ-review

Cross-user RLS

Evidence access

Pris → trusted

Security-blockerare

  • Security fixture API kunde inte läsas — behandla staff/HQ + user-A/user-B E2E som blockerad.

Minimikrav för security-fixture gate

    Fallback är fail-closed.

    Scanner/OCR readiness

    Prisbevis får inte gå till halvkopplad automation.

    FoodOS kräver antingen verifierad worker med malware scan, OCR provider, clean-only-regel och karantän — eller en explicit feature gate där HQ granskar manuellt under test.

    Fail-closed · no-store

    Worker

    Malware scanner

    OCR provider

    Privat bucket

    Clean-only

    Karantän

    HQ manuell review

    Error paths

    Scanner/OCR-blockerare

    • Scanner/OCR readiness API kunde inte läsas — behandla automation som blockerad.

    Testrelease med worker eller feature gate

      Publik release kräver riktig automation

        Fallback är fail-closed.

        FoodOS Release Candidate

        Stoppa fel release innan kunden märker det.

        Den här panelen läser serverns release-gates och faller säkert till blockerad status om runtime inte svarar. Målet är att FoodOS inte ska kallas färdig förrän data, E2E, security fixtures och release-lager faktiskt är gröna.

        Target: nativePASS 0PARTIAL 0BLOCKER 1

        Nästa kritiska actions

        Release-gate API kunde inte läsas. Kontrollera runtime innan FoodOS markeras testklar.

        runtime

        Release readiness API

        BLOCKER

        Klienten kunde inte läsa /api/foodos/release-readiness.

        Nästa: Fixa runtime/API innan releasebeslut.

        Alla gates

        Release readiness API

        BLOCKER

        Klienten kunde inte läsa /api/foodos/release-readiness.

        client fallback

        Release readiness faller säkert till blockerad när API:t inte kan läsas.

        Final release certification

        Sista spärren innan någon kallar FoodOS 100 % releaseklar.

        Den här panelen samlar release-readiness, retailer-ingestion, runtime, säkerhet, native/commercial gates och explicit godkännande. Den är fail-closed om API:t eller någon gate saknas.

        100 % inte uppnått No-store · fail-closed

        Blockerare som hindrar vald release

        • Final release certification API kunde inte läsas — behandla release som blockerad.

        Minimikrav för kontrollerad testrelease

          Minimikrav för publik 100 %-release

            Fallback är fail-closed.