This is very possible using the following:
- A Document Content Type holding all the fields you want to have appear in your document
- A Template library that holds your document template and is using the
above content type
- A second document library that will have the above content type and has the
template document above as its document template (advanced
settings under Document Library Settings - Content Type Name)
- A custom list that has the same fields as those used in your content type.
- A SharePoint Designer workflow that will run on the creation of an
item in your custom list above.
Once you upload your template to the template library, open the template from SharePoint and in Word (assuming 2013 but could be 2010 also) and go to Insert -> QuickParts -> Document Property. You should see the other content type fields appear here. Add them to the document and save it back to SharePoint when ready.
In the second document library add the same content type and make sure that it's template refers to the template document you uploaded above.
In SharePoint designer, create a workflow that will run against the custom list you will create. The workflow only needs to do one thing, create a new item in the secondary library above.
In the workflow action, make sure you specify the correct content type, and you map the fields from your custom list to the related content type fields. Ensure the workflow will run on the creation of an item.
Then whenever a user adds an item to your custom list, the workflow will fire and create a new document in your secondary document library. It will also copy the custom item values that the user entered to the secondary document library.
When a user opens the new document it will pull those values in as per your template.
I hope this helps, I know it is a bit convoluted but I wanted to show you how you can do this more or less out of the box.