What is the best way to remove Billing Details from checkout page?
How can I remove billing details completely from from checkout page?
Or swap them?
First of all, you need to override some of our checkout pages like - onepage.blade.php, customer-info.blade.php and review.blade.php.
When you see onepage.blade.php, will get below line -
turn it to false on your override view file.
Now, you need to remove billing section from rest of two files.
The above things are remove it from view, now it comes on functionality level.
here, you need to create your controller which will save order address of customer so for it, create a same name route for address but it will call your package controller for address save.
Now you need to remove validation as well so create a new address validation file according to your need and it will be done.
The above mentioned procedure will be done on separate package, don't do in core one.
To not show billing in admin section, you can override admin view also.