The ‘Bill to’ field is simple. Use regex like this one to get the value: (?<=Bill To:)(.*)
The table is a bit more difficult. If the table is always at the bottom I would split it as soon as you encounter the column names, then try to read it as a .csv like @Raymond_Hui suggested or also use regex to get the value for each row there. If you have a couple of rows each time both methods should be fine, but anything more I would recommend the .csv route.
Recognising the colum names: ^Code\s+Brand\s+Supplier\s+Bottle Size\s+Proof\s+Age\s+Bottles Per Case\s+Case Cost\s+Qty
There’s a very good chance any implementation could fail due to missing values.
Here’s my solution; please note it passes with the supplied sample only! I’ve tried to build some tolerance in; lack of enough sample data is a limitation though.