SHOCKED at what Buddy just did!!!!

He POOPED on our brand new sofa (sofa is two weeks old)!!!!!!!!

Buddy has been
completely housetrained for a couple of months. If he has ever had an accident he does it directly by the backdoor and I never fuss because I know he was trying to get outside. Even when he was a baby he NEVER pooped on furniture. Why would he do such a thing? I am in shock!!! Its not like he had not been outside this morning....he has already been out twice. (he pooped outside too) What do I do? I want him to know that this is completely unacceptable!! Right now I have him gated in the mudroom (this is where his food & crate are kept). He is use to roaming the house so he is crying right now. What do I do? I hate feeling this way...I am so mad at him but I feel like this has to be my fault. What did I do wrong? Please help!!!