Features #313
stängdMaintenance #134: Refinement av betalning och avstämning
Inför spårbar rättelse av registrerat kontantköp
100%
Beskrivning
Gör det möjligt för behörig föreningsadministratör att rätta ett felaktigt registrerat kontantköp utan att ändra eller radera originalet.nnDefinition of Done:n- En rättelse sparas som en separat post med referens till originalköpet.n- Originalköpet och dess rader förblir oförändrade.n- Orsak, ansvarig användare, servertidpunkt och ekonomisk effekt är obligatoriska och kan granskas i efterhand.n- Åtkomst är begränsad till rätt förening och behörig roll; korsföreningsåtkomst testas.n- Samtidiga och upprepade anrop kan inte skapa oavsiktliga dubbla rättelser.n- Det framgår tydligt i administrationen att köpet har rättelser och vilket nettoutfall de ger.nnAvgränsning: Ingen återbetalningsintegration, Swish, bokföringsexport eller kassavstämning ingår. Funktionen levereras och verifieras i acceptans innan eventuell produktionsaktivering.
Acceptanskriterier
Behörig föreningsadministratör kan registrera en beloppsbegränsad kontant rättelse mot en befintlig transaktionsrad med obligatorisk orsak. Originalköp och originalrader ändras inte. Rättelsen sparar förening, köp, rad, belopp, ansvarig användare och servertid och är oföränderlig. Rapport och CSV visar brutto, rättelser och netto per rad, kategori, betalsätt och hela rapporten. Korsföreningsåtkomst, fel betalningssätt, överrättning samt parallella och upprepade anrop avvisas eller blir idempotenta.
Testresultat
Isolerad CI PASS för 6d1ec08. Acceptans på schema 023: original/brutto 25,00 kr bevarat, rättelse 5,00 kr med orsak, ansvarig och servertid, netto 20,00 kr; kategori och rapporttotal uppdaterades korrekt; klippkort kunde inte rättas; autentiserad CSV överensstämde. Produktion oförändrad.
CA Uppdaterad av Codex API för 12 dagar sedan
- Relaterar till Features #144: Självbetjänat kontantköp med låst registrering och interaktiv bekräftelse tillagd
CA Uppdaterad av Codex API för 9 dagar sedan
- Status ändrad från New till In progress
- Tilldelad satt till Codex API
- Prioritet ändrad från Normal till High
- % Klart ändrad från 0 till 40
- Acceptanskriterier uppdaterad (skillnader)
- Risknivå ändrad från Normal till Hög
- Driftsättningspåverkan satt till Flera områden
Arbete påbörjat. Lösningen utformas som en append-only rättelseliggare för kontantbelopp, med idempotent tjänst, föreningsbunden administratörsåtkomst och nettoredovisning i rapport/CSV. Avgränsningen omfattar inte återbetalningsintegration, Swish, bokföringsexport eller kassavstämning.
CA Uppdaterad av Codex API för 9 dagar sedan
Första implementationen klar i arbetskopian: append-only rättelseliggare, föreningsbunden POST-åtgärd, idempotens och beloppslåsning, brutto/rättat/netto i webb och CSV samt tester för behörighet, oföränderlighet och samtidighet. Lokalt godkänt: PHP-syntax, git diff --check och Vite-produktionsbygge. Full MariaDB/integrationstestning inväntar commit och isolerad CI.
CA Uppdaterad av Codex API för 9 dagar sedan
Implementationen är pushad på main (71878b8 med testkorrigeringar 1e7936c och e30d48f). Isolerad CI för e30d48f9714470a86074015b12d23e9496e5334c passerade: databasmigration och integritetstest, PHP-testsviter samt Vite-bygge. Releaseartefakt: /home/bj/.local/share/foreningskiosk-ci/runs/e30d48f9714470a86074015b12d23e9496e5334c.jjOzJe/release.tar.gz. Ärendet flyttas genom Resolved till Verification. Kvar före Ready for deploy är användarnära acceptans av rättelseflödet och rapportens brutto/rättat/netto.
CA Uppdaterad av Codex API för 9 dagar sedan
Acceptans godkänd 2026-09-22. Den isolerade acceptansmiljön uppgraderades till e30d48f9714470a86074015b12d23e9496e5334c och schema 023 med privat fördump, minsta SELECT/INSERT-behörigheter och bevarad befintlig data. Syntetisk rättelse på Rapporttest - Vatten: original/brutto 25,00 kr kvar, rättat 5,00 kr, netto 20,00 kr, orsak/ansvarig/servertid synliga. Kategori: 95,00/5,00/90,00 kr. Hela rapporten: 1 225,00/5,00/1 220,00 kr. Klippkortsrader saknade rättelseåtgärd. Autentiserad CSV visade samma belopp, orsak, ansvarig, tid och SEK. En gammal kompilerad Blade-vy identifierades och rättades genom view:clear i leveransskriptet. Leveransbevis och återgångsläge finns i commit 6d1ec08; isolerad CI för 6d1ec081b3d1a81ca4f4eebaf432056905b746d5 passerade. Produktion ändrades inte.
CA Uppdaterad av Codex API för 9 dagar sedan
- Testresultat uppdaterad (skillnader)
CA Uppdaterad av Codex API för 9 dagar sedan
Slutlig oberoende regression i #336 godkänd 2026-09-22 på exakt kandidat 11c23f4: kontantköp, append-only rättelse, brutto/rättat/netto i rapport samt autentiserad CSV passerade. Den reproducerbara verifieringen är pushad på main i 17aa9ce. Produktionsmiljön är oförändrad.