In a large heavy pot, heat the olive oil over medium-high heat. Add the chopped onions, bell peppers, garlic, and serrano peppers {optional}, and cook while stirring until soft {about 3 minutes}. Add the zucchini, corn, and mushrooms. Cook, while stirring, until soft and the vegetables give off their liquid and start to brown around the edges {about 6 minutes}. Add the chili powder, cumin, salt, and cayenne. Continue to cook while stirring until fragrant, about 30 seconds. Add the tomatoes and stir well. Add the beans, tomato sauce, and vegetable stock. Stir well and bring to a boil. Reduce the heat to medium-low and simmer, stirring occasionally, for about 20 minutes.