OdorExit and Kilz Primer. This is what a friend of mine uses to rehab houses after fires, It works.
TSP wash down, followed by blocker paint. Clean all surfaces, wash carpets, clean carpet.
Kilz works great, but make sure you get the right version - oil based. There may be some drying issues. Consult with a paint pro and not some hack at Home Depot. If you want, I can ask my expert on Monday.
Somepeople recommend getting air ducts cleaned.
Some people recommend ozone generators, but they can damage plastic and you absolutely dont want to be in side when they are treating.
I had a light problem that I managed with one coat of Valspar Stainblocker/Super Adhesive Latex, but I dont kmow if that will work with heavy smoke.
EDIT:
I read that some people use white vinegar to wipe down.
Dont forget the ceiling for wipedown and paint.
The paint job can be very big. It took me 6 long days to do a 2000 sq ft 4 bedroom home using rollers. I would hire professionals with sprayers.