Package a VM built with Vagrant as an OVA appliance
I would use Packer. You can use many of the same provisioners as with Vagrant.
See e.g. the provisioner and VirtualBox Builder docs for more information. And you can find many template examples in Github.