To your first question:
You should do the GRN for the expected qty of material. The inspection lot is automatically created and results recorded. If the results fail, the truck is sent back. In the stock posting, you post the entire quantity to "Return to Vendor". If you are using standard as delivered SAP and haven't changed the movements for the stock postings, the material is removed from inventory and its as if the GR never happened. The PO remains open for a replacement tanker.
If they OK the unloading based on the results the tanker is unloaded and the truck is reweighed. The lab is notified of the actual quantity delivered. If the qty received is less than the expected amount, the lab posts the actual quantity to unrestricted stock and the difference to "Return to Vendor".
If the amount delivered is greater than expected, my preferred process would be for the UD to then be done by the lab. The receivers on the dock unloading the tanker than do an additional GR for the difference. A second lot is created for this difference. The lab can than force close the second lot and make the UD without recording any additional results.
An alternative to that is to have the lab adjust the inspection lot quantities in the inspection lot. That is not recommended because it might affect invoicing depending on the material and how you pay for it.
Also, check the SAP Chemical Solutions here: 905 – Quality Management in Procurement
Look at procurement for tank trucks. In this they recommend you create a manual inspection lot for the material, (89 inspection). It's not clear but I would assume results are recorded. A GR is then done for the actual amount of material delivered. This goes to unrestricted inventory I assume. (the slides are not clear). You then make the UD on the 89. I personally don't like that process and the slide and explanation leaves out a lot of details. You could alternatively have a second 01 inspection lot created at the GR. Then copy the results from the 89 to the 01 manually or via the copy results functionality. Then make the UD and post to stock.
Craig