From what it sounds like, the archive for your “portfolio” custom post type works if it lists all portfolio posts, but if you click on your custom taxonomy within a post, it goes to the default archive.php.
Since this is custom taxonomy, it’s not going to use your archive-portfolio.php because all that does is apply to the listing of all your portfolio posts, not their taxonomy. So what you likely need is a taxonomy template:
If you look at the Template Hierarchy section on the Codex, you’ll see that when WordPress gets to an archive – it looks for several files before defaulting to archive.php. That order is:
- archive.php <– Where you’re defaulting because the above templates do not exist
Hope that helps! 🙂