There are MANY North American clients that implement this function. Most use a custom batch process to get it done.
Ellipse Workflow module COULD do it. But,(sigh) the out-of-the-box solution does not include Receipts; only Work Orders, Work Requests, and Leave Requests.