Heat the oil in a large pot over medium heat.
Add onions, carrots, celery, peppers and garlic and cook 10 to 12 minutes, until vegetables are softened.
Add chipotles, if using, oregano, cumin, chili powder and salt. Stir and cook until fragrant, about 30 seconds.
Add tomatoes, tomato sauce and 4 cups of water. Gently simmer over low heat, uncovered, for 45 minutes.
Add beans and simmer an additional 10-15 minutes.
Garnish individual bowls with green onions, jalapenos, and avocados, if desired.