I'm going on the assumption its microfiber. Clean it with your upholstery prespray then apply some StainZone or Stain Magic to it. Don't rinse the StainZone out, the stain will go away over the next couple hours. A second application of StainZone may be needed.
Generally, most microfiber used in large furniture pieces is a solution-dyed polyester than can take quite a pounding before it shows color loss. Do a test patch (if the sofa has skirts, do an area on the bottom of the skirt near the back of the sofa to be safe) and see if there's any bleaching effect. I tend to rinse peroxides out even when it's not technically necessary, just to be safe. Putting a hot damp towel over the spot once you apply the product will boost the reaction and may allow you to see results much more quickly.