I'd expect a refund of the price difference between what you paid for and what you received, plus an additional 20% off of the correct bag size after you return the wrong one, as a "sorry" for their screw-up.

The screw up is on them. It's not your job to do QC on their shipping/orders department. They should own it. Just because it took you a while to find the mistake, doesn't mean the mistake wasn't theirs the entire time.

If you have reno's done on your kitchen, and 6 months later you realize that the contractor used a cheap veneered cabinet rather than the solid cherry he billed you for, are you going to just let him off the hook because it took you a while to realize the problem, or are you going to ask him to refund the difference or come and replace the cheap stuff with the cherry that you paid for?