Projekt

Allmänt

Profil

Handlingar

Features #321

stängd
CA CA

Features #178: Samordning: generiska föreningsspecifika klippkort

Features #319: Rapportera transaktioner per period, kategori och betalningssätt

Skapa oföränderlig transaktionsgrund för rapporter

Features #321: Skapa oföränderlig transaktionsgrund för rapporter

Tillagd av Codex API för 11 dagar sedan. Uppdaterad för 10 dagar sedan.

Status:
Closed
Prioritet:
Normal
Tilldelad:
Kategori:
Betalning
Startdatum:
2026-09-20
Deadline:
% Klart:

100%

Beräknad tid:
Risknivå:
Hög
Driftsättningspåverkan:
Databasmigrering
Berörd miljö:
Ej tillämpligt
Regression krävs:
Nej
Reported by:
Benny

Beskrivning

Skapa en oföränderlig, tenantavgränsad datagrund som #319 kan använda utan att läsa föränderliga artikelkategorier eller tolka kontant och klippkort som samma slags betalning.

Definition of Done:

  • När en transaktion slutförs sparas artikelkategori-id och kategorinamn som snapshots på transaktionsraden; saknad kategori representeras som Övrigt.
  • Senare namnbyte, flytt eller borttagning av artikel/kategori ändrar inte den slutförda transaktionens rapportvärden.
  • Ett rapportlager returnerar betalningsfördelning som metodkod och faktiskt försäljningsbelopp per transaktionsrad.
  • Kontant redovisas som monetär metod med faktiskt belopp. Klippkort redovisas separat som nyttjande med 0 kr i försäljning och får inte dubbelräknas.
  • Gränssnittet kan lägga till framtida monetära metoder som Swish eller bankkort utan att rapportens summeringskod behöver ändras.
  • Slutförande, snapshots och fördelning är atomära och idempotenta.
  • Befintliga syntetiska transaktioner hanteras deterministiskt vid migration; ingen verklig produktionsdata finns i scope.
  • Tenantisolering, blandade kategorier, Övrigt, prisändring, kategoriförändring, kontant, klippkort och upprepat slutförande testas i MariaDB.
  • Full isolerad CI och frontendbygge passerar.

Avgränsning: Ingen rapportvy, CSV-export, Swish-integration, bankkortsbetalning, delad monetär betalning, närvaromodell, LOK-bedömning eller produktionsaktivering.


Acceptanskriterier

Slutförda transaktionsrader har oföränderliga artikel- och kategorisnapshots. Ett tenantavgränsat rapportlager returnerar metodkod och faktiskt försäljningsbelopp per rad: kontant med betalt belopp och klippkort separat med 0 kr. Framtida monetära metoder kan läggas till utan ändrad summeringskod. Atomär/idempotent slutföring, befintlig syntetisk data, Övrigt, kategori- och prisändring, kontant, klippkort och tenantisolering verifieras i MariaDB. Ingen rapportvy eller ny betalningsintegration ingår.


Testresultat

CI godkänd för 4fbb3f8. Acceptansuppgradering 020→021 godkänd med befintliga slutbehandlade rader; äldre affärsvärden oförändrade; historiska rader visas som Övrigt.

CA Uppdaterad av Codex API för 11 dagar sedan Handlingar #1

  • Status ändrad från New till In progress
  • % Klart ändrad från 0 till 40

CA Uppdaterad av Codex API för 11 dagar sedan · Redigerad Handlingar #2

Implementerat i commit 3540320ae51664603dbeb34490db73dbc130d3da och pushat till codex/punch-card-types. Migration 021 lägger oföränderliga kategori-id/-namn på köprader med deterministisk bakåtkompatibilitet. Kontant- och blandat köp fryser kategorin atomiskt vid slutförande. TransactionReportSource ger tenantavgränsade rader med method_code, sales_cents och covered_cents; klippkortsnyttjande ger 0 kr i ny försäljning och klippkortsköp redovisas vid köpet. Verifiering: PHP-syntax OK, Vite-build OK, isolerad CI PASS med 84 grundtester/631 assertions och 178 MariaDB-tester/3268 assertions. Två första CI-felen gällde enbart svenska tecken i syntetiska ASCII-slug/artikelnummer och korrigerades. Ingen acceptans- eller produktionsmigrering har körts.

CA Uppdaterad av Codex API för 11 dagar sedan Handlingar #3

  • Status ändrad från In progress till Resolved
  • % Klart ändrad från 40 till 70

CA Uppdaterad av Codex API för 11 dagar sedan Handlingar #4

  • Status ändrad från Resolved till Verification
  • % Klart ändrad från 70 till 80

CA Uppdaterad av Codex API för 11 dagar sedan Handlingar #5

Acceptansförsök i #323 identifierade att historisk bakfyllnad i migration 021 stoppas korrekt av triggern som skyddar slutbehandlade köprader. Leveransen avbröts före appaktivering; schema 020 och alla äldre affärsvärden återställdes och verifierades. Korrigering: ingen osäker historisk bakfyllnad. Äldre rader lämnas utan snapshot och rapporteras som Övrigt; nya rader får snapshot i ordinarie skrivflöde.

CA Uppdaterad av Codex API för 11 dagar sedan Handlingar #6

  • Status ändrad från Verification till In progress
  • % Klart ändrad från 80 till 40

CA Uppdaterad av Codex API för 11 dagar sedan Handlingar #7

Korrigerat i commit 4fbb3f8ff01a43d0ce29f8c3f4b9b21341d3a2e1. Historiska slutbehandlade rader skrivs inte om; saknad snapshot rapporteras deterministiskt som Övrigt. Full CI godkänd. Verklig uppgradering schema 020 till 021 godkänd i syntetisk acceptans med befintliga slutbehandlade rader; äldre affärskolumner oförändrade.

CA Uppdaterad av Codex API för 11 dagar sedan Handlingar #8

CA Uppdaterad av Codex API för 11 dagar sedan Handlingar #9

  • Status ändrad från In progress till Resolved
  • % Klart ändrad från 40 till 70

CA Uppdaterad av Codex API för 11 dagar sedan Handlingar #10

  • Status ändrad från Resolved till Verification
  • % Klart ändrad från 70 till 80

CA Uppdaterad av Codex API för 10 dagar sedan Handlingar #11

  • Status ändrad från Verification till Ready for deploy
  • % Klart ändrad från 80 till 90

Slutverifiering 2026-09-21: full CI och MariaDB-testning för 4fbb3f8 är godkända. Syntetisk acceptansuppgradering 020→021 med befintliga finaliserade rader bevarade alla äldre affärsvärden; historiska rader utan snapshot visas deterministiskt som Övrigt. Stängda #322–#328 verifierar den faktiska rapportanvändningen med kontant, klippkort, flera kategorier, deltagare, perioder och totaler utan dubbelräkning. Ingen produktion har migrerats.

CA Uppdaterad av Codex API för 10 dagar sedan Handlingar #12

  • Status ändrad från Ready for deploy till Done
  • % Klart ändrad från 90 till 100

CA Uppdaterad av Codex API för 10 dagar sedan Handlingar #13

  • Status ändrad från Done till Closed
Handlingar

Finns även som: PDF Atom