Hi,
To have Odoo create a 'Receipt' operation from a sales order, you can create a new route
1. Create a new route.. Inventory > Configuration > Route
2. Rule - Action - Push To; Operation Type - Receipt; Source Location - Partner Locations/Customer; Destination Location - WH/Stock
3. Select this route on the product (gallons) where this route requires to be applied
Expected behavior - On sales order confirmation, 'Receipt' operation is created for this product with customer in the "receive from" field. Delivery orders will be created as you have it currently (1step, 2step. 3 step or as you have it configured)
The above is a concept which you might require to modify specific to your business and process needs. For e.g you could define a 'Filled Water' gallon as a KIT of 'water' in volume + empty gallon. Each time you sell "filled water' delivery note is created for water + empty gallon and a receipt for empty gallon.
Hope this helps!
Best regards