Vouchers clash
A basket-wide code reduces the settlement once, at the moment the wallet is charged, and a second one is refused rather than queued. On a £45.00 basket the recorded equivalent of one 8% code is £3.60, and the refusal of the second code is not a fault: the engine evaluates one percentage row and one flat row, then stops.
1. Load both candidate codes against the same basket and attempt the settlement on one screen. 2. Read which row the engine kept rather than which code you typed first. 3. If the retained row is the smaller of the two, clear it and apply the larger one alone.
Collisions happen on the goods row alone, because freight, packing and the service fee sit below the reduction line, so the engine keeps one code against a base that never carries the £20.00 freight posted on our £120 order (Recorded). The snapshot we keep has three values: goods subtotal, the retained reduction and the chargeable weight, and the third one matters because the band table recorded across six lines moves from £26.40 at 3.8 kg to £31.80 at 5.1 kg and £34.80 at 6 kg, so a total that shifts by £5.40 between two weighings is often blamed on a code that never changed (Recorded). Storage is the second mover, since the free window starts at the inbound scan and overdue days are reported near £0.20 per item per day (Community-reported), with 8 of our 24 items running 1 to 14 days over and the longest adding roughly £2.80, a swing wider than the gap between most competing codes (Recorded). When both codes return the same total after that snapshot is clean, stop testing and log the date, the basket and the row that survived (Recorded).
Fixed meets 12%
The two shapes of code compete for the same place, so a £5.00 flat code and a 12% code cannot both land on one settlement. Test them against your own basket rather than against each other in the abstract: 12% of £45.00 is £5.40, which beats the flat £5.00 code by £0.40, while the same 12% on a £30.00 basket is £3.60 and loses to the flat code by £1.40.
1. Write the basket total before any reduction. 2. Multiply by the percentage code and set the result against the flat figure. 3. Keep whichever is larger on that specific basket, and re-test the pair whenever the basket changes by more than £10.00.
Flat against 12% comes down to one threshold on the goods row: divide the flat figure by 0.12 and compare the result with the goods subtotal, so on our £120 order a goods line of £84.60 carries £10.15 of percentage value and any flat code below that loses (Recorded). The same test flips on a cheap basket, because a £40 goods line holds only £4.80 of 12% value while the recorded settlement on that basket was £48.75, which is £8.75 above its headline figure (Recorded). Band movement is the exception that decides close calls, since 4 same-line first-weight rises appeared across 12 reviews logged from 2026-08-01 to 2026-10-02 and the largest was +£1.60 against a base first weight of £8.40, so the amount handed over grows while the goods base stays fixed (Recorded). Write the threshold beside the basket before settling and re-run it after any re-weigh or item swap, because the winner follows the goods figure: with the flat side set at £8.40, the first weight on the recorded band table, 12% needs a goods line of £70.00 before it wins (Recorded).
Allowance chain
Credit and codes are evaluated in a fixed sequence, and that sequence decides the final figure. Credit applies to the amount remaining after the code row, so a 10% credit on a £45.00 basket that already carries a £5.40 reduction is worth £3.96 rather than £4.50; the difference is £0.54 on one order and it widens with the size of the code.
Order the two deliberately. Put the percentage row first when it is larger, then let the credit percentage work on the smaller remainder, and note both figures so the next identical basket is predictable.
Sequence is decided by the rows that can still move after a code is chosen, and the working order we log is this: 1. settle the quality check first, because our 85 curated entries produced 23 flags, with 11 on labels, 6 on edges or borders and 5 of those traced to lighting artefacts, 4 on hardware and 2 on stitching, so a re-shoot can swap one item and re-price the goods row under a code already chosen; 2. request that re-shoot in explicit terms, since the 6 re-shoots booked with a named defect drew replies within 6 hours while vague requests took 2 days; 3. freeze the divisor and the chargeable weight before any settlement, because 3 of our 12 rate reviews carried no volumetric divisor and cannot be reproduced (Not verified). Then apply the code last, against a base that will not move again, and finish inside the free storage window, where overdue days run near £0.20 per item per day (Community-reported) and 8 of our 24 items drifted 1 to 14 days over (Recorded).
Carriage omitted
Freight, packing and handling sit outside the basket base on the codes we recorded, which means a percentage code never touches the largest row on a heavy parcel. On our £120 order record, goods came to £84.60 and freight to £20.00; an 8% code on the goods row returned £6.77, while the same percentage on the whole £104.60 settlement would have returned £8.37.
Check the base on a light, cheap basket first, where freight is proportionally small, and then decide whether a code is worth structuring the basket around. On a 0.8 kg parcel of £18.00 where freight is £8.20, an 8% goods-only code returns £1.44 against a settlement of £26.20, which is 5.5% of what you hand over.
Rebuild the total from rows instead of from a code headline: goods of £84.60 plus £20.00 of freight give £104.60, and the full set adds a £6.13 service fee, set at 6% of goods plus domestic freight, and £3.50 of packaging, which reaches £114.23 against a settled figure of £108.34 (Recorded). That £5.89 difference is measurable but unassigned in our notes, so it stays an unexplained reduction rather than evidence of a third code (Recorded for the arithmetic, Not verified for the cause). The other two records spread differently: a £40 basket settled at £48.75, and a £210 basket settled at £167.93, roughly 20% below its headline figure, so one rule set does not produce one predictable margin (Recorded). Domestic legs are quoted in renminbi, ¥12 plus ¥8 on the £120 parcel, and we keep them outside the sterling rows so the freight figure is not counted twice; when a total cannot be rebuilt from the rows you can see, log the difference rather than guessing which code caused it, and re-check the goods row first, since every other row is arithmetic on weight or a fixed percentage (Recorded).
Volumetric weight is the row that reopens a closed total, because chargeable weight takes the larger of the scale reading and length × width × height divided by 5000, 6000 or 8000, rounded up to the next 0.5 kg (Recorded), and the band it lands in is priced before any code is read: 1. divide one 40 × 30 × 25 cm parcel, 30,000 cubic centimetres, by each divisor, where 8000 returns 3.75 kg and rounds to 4.0 kg, 6000 returns 5.0 kg and 5000 returns 6.0 kg; 2. re-price the band, since 6 kg records at £34.80 while the boundaries that move a tier sit at 1, 2, 3, 5, 8 and 10 kg, and 8 kg and 8.5 kg both record at £43.60 while 10 kg and 11.5 kg both record at £54.60 (Recorded). Fourteen kilograms is still quoted on that same nine-tier structure across six lines (Recorded), and the reduction never follows the freight row, so a divisor correction can lift the settlement by £5.40 or more while the code value sits unchanged on the goods base (Recorded).
Cutoff countdown
Codes carry a stated expiry and account credit carries a window that starts when a refund settles rather than when you paid. Our record of 14 credit events shows the credit landing within 3 days on 9 of them and taking up to 11 days on the rest, so a code that expires in 7 days can be lost to processing time alone.
1. Set the code expiry against the date your parcel is expected to leave the warehouse, not the date you place the source order. 2. If the window is under 10 days, hold the code and settle goods and freight in one pass. 3. Keep the settlement screenshot, because the code row and the credit row are separate lines in the record and only one of them is reversible.
Aggregates rebuilt
Print the rows in the order the engine evaluates them and the whole thing stops being mysterious. Item price first, then the code row, then the credit row, then freight and any packing row, and the total underneath. On the £45.00 basket with the 12% code and the 10% credit, the acceptable sequence gives £45.00, minus £5.40, minus £3.96, plus £9.80 of freight, for a total of £45.44.
Any sequence that produces a different total is a different rule set, and the honest response is to record what you saw with the date. We do not publish a code rate as a standing fact, because 2 of the codes we tested in the recorded window were refused outright and we could not establish why from the visible rules (Not verified).
The data point behind this note
Across 14 recorded credit and coupon events between 2026-08-01 and 2026-09-30, a credit landed within 3 days on 9 of them and took up to 11 days on the remainder, so a 7-day expiry can pass before a refund settles (Recorded).
Rates last checked 2026-10-02. Where a figure is community-reported we say so; where we could not verify it, we write Not verified instead of estimating.