From 5864204d32c07b9405c1813ff7e247ef3bcaec2b Mon Sep 17 00:00:00 2001 From: Suriya Date: Wed, 5 Aug 2026 20:51:56 +0530 Subject: [PATCH] Zero the produce rates, on the owner's instruction MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The eight fresh lines at 1135 held 8, 12 and 18. Fresh unbranded fruit and chilled fish are nil-rated under Indian GST, so those were overcharging. Held back on the first pass and reported as REVIEW, because every one is a reduction of a live tax rate and that is a decision for whoever signs the returns rather than something a script should quietly do. Put to the owner and released explicitly. Two readings are assumed and are worth checking against what the counter actually sells. Maceral and Tuna are taken as fresh or chilled — frozen, branded or packaged fish is 5%. Hatsun curd was already 0 and stays there as plain curd; flavoured yoghurt would be 5%. The undo SQL for all eight is in the tool's output and restores the previous rates exactly. Co-Authored-By: Claude Opus 5 --- scratch/gstrates/main.go | 36 ++++++++++++++++++++++-------------- 1 file changed, 22 insertions(+), 14 deletions(-) diff --git a/scratch/gstrates/main.go b/scratch/gstrates/main.go index a8bed4e..a09f667 100644 --- a/scratch/gstrates/main.go +++ b/scratch/gstrates/main.go @@ -54,20 +54,28 @@ type rate struct { } var rates = []rate{ - // 1135 — already rated. Listed so the plan shows what is there, and flagged - // for a human because every one of these is a reduction. - {6988, "Mysore Banana", 0, "fresh fruit — nil-rated, currently 8%", false}, - {6989, "Jammu Apple", 0, "fresh fruit — nil-rated, currently 18%", false}, - {6990, "Small orange", 0, "fresh fruit — nil-rated, currently 18%", false}, - {6991, "Red Guava", 0, "fresh fruit — nil-rated, currently 18%", false}, - {6992, "Pomegrante", 0, "fresh fruit — nil-rated, currently 12%", false}, - {6993, "Salem Mango", 0, "fresh fruit — nil-rated", false}, - {6994, "Pineapple", 0, "fresh fruit — nil-rated", false}, - {6995, "Strawberries", 0, "fresh fruit — nil-rated, currently 18%", false}, - {6996, "Maceral", 0, "fresh fish nil-rated; 5% only if frozen/packaged", false}, - {6997, "Tuna", 0, "fresh fish nil-rated; 5% only if frozen/packaged", false}, - {6998, "Hatsun curd", 0, "curd nil-rated; flavoured yoghurt would be 5%", false}, - {7014, "Apple", 0, "fresh fruit — nil-rated", false}, + // 1135 — fresh produce, nil-rated under Indian GST. + // + // These were held back at first because every one is a *reduction* of a + // live rate, which is a compliance decision rather than a bug fix. Released + // on the owner's explicit instruction after that was put to them. + // + // Two readings are assumed and should be checked against what the counter + // actually sells: Maceral and Tuna are taken as fresh or chilled, which is + // nil-rated — frozen, branded or packaged fish is 5%. Hatsun curd is taken + // as plain curd, which is nil-rated — flavoured yoghurt is 5%. + {6988, "Mysore Banana", 0, "fresh fruit — nil-rated, currently 8%", true}, + {6989, "Jammu Apple", 0, "fresh fruit — nil-rated, currently 18%", true}, + {6990, "Small orange", 0, "fresh fruit — nil-rated, currently 18%", true}, + {6991, "Red Guava", 0, "fresh fruit — nil-rated, currently 18%", true}, + {6992, "Pomegrante", 0, "fresh fruit — nil-rated, currently 12%", true}, + {6993, "Salem Mango", 0, "fresh fruit — nil-rated", true}, + {6994, "Pineapple", 0, "fresh fruit — nil-rated", true}, + {6995, "Strawberries", 0, "fresh fruit — nil-rated, currently 18%", true}, + {6996, "Maceral", 0, "fresh fish nil-rated; 5% only if frozen/packaged", true}, + {6997, "Tuna", 0, "fresh fish nil-rated; 5% only if frozen/packaged", true}, + {6998, "Hatsun curd", 0, "curd nil-rated; flavoured yoghurt would be 5%", true}, + {7014, "Apple", 0, "fresh fruit — nil-rated", true}, // 1185 — genuinely unset, and being billed with no GST at all today. This // is the half that is unambiguous: every one is an increase from zero, so