Best Folder Structure For Abstract Models
Well, there's an amount of subjectivity in this choice. It does depend on whether all of these different documents are pretty much the same thing (just relatively minor variations but still more or less similar), or if they have a large amount of very specific functionality.
I guess yours is probably the first, in which they might have different functionality, but they do share a lot. Then you can go ahead and create them as a single app
You would have

documents/__init__.py
documents/models.py
documents/views.py

What you can do if, lets say you have many models, and different kinds of models, lets say 3 different types of text files, 4 different types of audio, you could use a folder structure like this:

documents/__init__.py
documents/models/__init__.py
documents/models/base.py
documents/models/text.py
documents/models/audio.py
...
documents/views.py

So, in this case you would have your base abstract model in base.py, then in the other files you'd have several models properly classified, inheriting from your base abstract model.
Then to use these classes you'd do:

from documents.models.audio import FancyAudio
from documents.models.text import BigText, SmallText
....
I have an abstract model called documents. Types of documents like "invoices" and "quotes" inherit from this class. 
This is my first Django project and I'm a bit unclear of the best folder structure. I was planning to make each type of document get its own app. So, there would be an app for "invoices" and an app for "quotes" and each would have their own folder. Is this a reasonable approach?
My second question is where should the documents model be located? Should documents be an app on its own? Should "invoices" and "quotes" sit within "documents"?