calculatePosCartTotals() overschreef de stukprijs van elke regel met
priceForUser() zodra er een klant aan de kassabon hing. Dat is er ooit
bij gekomen voor de prijsgroepen en deed het goede werk, alleen zonder
uitzondering: een prijs die de kassamedewerker zelf had ingetypt viel
daarmee terug op de catalogusprijs.
Vandaar het grillige beeld. Het treft alleen bonnen met een echte klant,
en dat is precies wat "Kopiëren naar kassa" met klantgegevens oplevert:
ConceptOrderService zet dan customer_user_id op de winkelwagen. Zonder
gekoppelde klant werkte het handmatig aanpassen gewoon.
Dit zat niet alleen in het scherm. Het afrekenen loopt langs dezelfde
berekening, dus de klant werd ook werkelijk het oude bedrag in rekening
gebracht.
De klantprijs slaat een regel nu over zodra die isCustomPrice of
customProduct draagt. Die vlaggen staan alleen op een regel waar een mens
de prijs heeft ingevoerd; een regel die uit de catalogus in de bon komt
draagt ze niet, dus prijsgroepen blijven werken. Dat laatste staat als
eigen toets in het nieuwe testbestand.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Wwq9UAKPRWrQzAcnXHP6pe