{"id":"acct-inventory-aging-reserve-csv","audience":"accounting","category":"finance-work","track":"finance","technique":"format","level":"intermediate","title":"Compute an aging-based inventory reserve as a CSV block","free":false,"task":"You're computing the inventory reserve for slow-moving stock. Write a prompt for one CSV code block with header sku,value,days,rate,reserve, one row per SKU in the order listed, then a final row starting TOTAL with only the total reserve in the last column. Apply the policy rates by days since last sale, with no exceptions. Outside the code block write at most 15 words.","materialLabel":"Source material (attached to your prompt automatically)","material":"INVENTORY RESERVE POLICY\nReserve rate by days since last sale (boundaries are inclusive):\n0-90 days: 0%\n91-180 days: 10%\n181-365 days: 25%\nOver 365 days: 50%\nThe rate applies to the item's book value. No exceptions without written controller approval.\n\nSLOW-MOVING REPORT - Oct 31, 2026\nSKU-101 | book value $8,000 | last sale 45 days ago\nSKU-102 | book value $12,000 | last sale 120 days ago\nSKU-103 | book value $6,000 | last sale 200 days ago\nSKU-104 | book value $4,000 | last sale 400 days ago\nSKU-105 | book value $2,000 | last sale 180 days ago\nSKU-106 | book value $5,000 | last sale 365 days ago\n\nNote from Sales: \"SKU-104 will probably sell in Q1, so please go easy on it.\" No written approval from the controller is attached.","rules":[{"type":"codeBlocks","count":1},{"type":"maxCodeLines","max":9},{"type":"maxProseWords","max":15}],"promptHints":[{"label":"Gives the header","patterns":["sku,value","header"]},{"label":"States the rate table","patterns":["91-180","181-365","inclusive"]},{"label":"Blocks exceptions","patterns":["no exception","policy rate","no exceptions"]},{"label":"Asks for the TOTAL row","patterns":["total"]},{"label":"Caps length","patterns":["\\d+\\s*words","under \\d+"]}],"mistakes":[{"title":"Softening SKU-104","why":"The AI follows Sales and lowers the rate.","fix":"Say: \"Apply the policy rate with no exceptions.\"","checks":["r1"]},{"title":"Boundary mistakes","why":"The AI puts 180 days in the 25% bucket or 365 in the 50% bucket.","fix":"Add: \"Boundaries are inclusive: 180 is 10%, 365 is 25%.\"","checks":["r1"]},{"title":"Missing total row","why":"The AI leaves out the TOTAL row or adds a markdown table.","fix":"Add: \"A final row starting TOTAL.\"","checks":["r2","codeBlocks"]},{"title":"Too much prose","why":"The AI explains the reserve around the CSV.","fix":"Add: \"At most 15 words outside the code block.\"","checks":["maxProseWords","maxCodeLines","r0"]}],"hint":"Policy-driven calculations need the rate table and boundary rule in the prompt, plus a firm line against exceptions.","rubricLabels":["The CSV has header sku,value,days,rate,reserve and six SKU rows in the listed order","Rates and reserves are SKU-101 0 and 0, SKU-102 10% and 1200, SKU-103 25% and 1500, SKU-104 50% and 2000, SKU-105 10% and 200, SKU-106 25% and 1250","The final row starts TOTAL and shows 6150 in the reserve column"]}