Batch Code? I think what you often see is Lot Number instead. The two are pretty much the same and should not be confused with.
You should have it embedded in your product. Even if it is hand written with ball-pen or broad pen, or price tag style. They are easy to tamper but you have a minimum control at least. The recommended method is by hot ribbon method. They are not fool proof but provides higher degree of protection. Hot ribbon encoder are cheap and recommended for every production area.
There are several reasons why you should implement batch coding.
1) It is a tracking code. It helps you monitor. Who are the wholesaler you entrusted your product with and where it goes.
2) Customer feedback. In case someone complains, you can easily check its batch code and review what went wrong and do corrective actions. If a particular batch became extremely awesome, then, it is good. However, you still need to check what caused it. Some of your err employees might have added too much flavoring. While it is good in customer point of view, it is bad to your costing.
3) Product recall. Imagine a bunch of customers complained and product recall becomes necessary. It is easy to recall products back if you have a well managed batch coding system. You must recall all the products available if coding system is not implemented at all. It is a major disaster.
4) Quality focused and minimizing losses. If all the production output for the whole day was summed up as one whole batch. Then, one fatal mistake will overthrow all the produce for that day. If divided to three separate batches. Each could be inspected for error and the good batches will be safe. Also, separating batches per production shift and raw material source is recommended. It provides an easy way to pinpoint which personnel and ingredients are to blame in case problem arises.