Territory based tracking for transactions & contacts

Territory based tracking for transactions & contacts

how can i achieve this in the current system?  i know its not a feature, but how can i adapt to achieve the desired results?

i need every transaction & contact to have an assigned territory. then i need to be able to filter & organize my reports by territory. this field should be per line item on the transactions for max flexiblity, but a transaction level field is fine too if it means the solution is available sooner.

additionally i want to control user permissions by territory too (but that can come later).