A few questions for you:
1. In the give function do you have the commands that remove the recipe and advancement from the player?
2. Do you have the reward of the advancement set to your give function?
3. When the recipe is changed to work in a crafting table instead does the crafting recipe work?